ACL\_GET\_PERM(3) Library Functions Manual ACL\_GET\_PERM(3)

# [NAME](#NAME)

`acl_get_perm` — test for a permission in an ACL permission set

# [LIBRARY](#LIBRARY)

Linux Access Control Lists library (libacl, -lacl).

# [SYNOPSIS](#SYNOPSIS)

`#include <sys/types.h>`  
`#include <acl/libacl.h>`

`int`  
`acl_get_perm`(`acl_permset_t permset_d`, `acl_perm_t perm`);

# [DESCRIPTION](#DESCRIPTION)

The [`acl_get_perm`](#acl_get_perm)() function tests if the permission specified by the argument `perm` (one of ACL\_READ, ACL\_WRITE, ACL\_EXECUTE) is contained in the ACL permission set pointed to by the argument `permset_d`.

Any existing descriptors that refer to `permset_d` continue to refer to that permission set.

# [RETURN VALUE](#RETURN_VALUE)

If successful, the [`acl_get_perm`](#acl_get_perm~2)() function returns `1` if the permission specified by `perm` is contained in the ACL permission set `permset_d`, and `0` if the permission is not contained in the permission set. Otherwise, the value `-1` is returned and the global variable `errno` is set to indicate the error.

# [ERRORS](#ERRORS)

If any of the following conditions occur, the `acl_get_perm`() function returns `-1` and sets `errno` to the corresponding value:

\[[`EINVAL`](#EINVAL)]

The argument `permset_d` is not a valid descriptor for a permission set within an ACL entry.

The argument `perm` is not a valid `acl_perm_t` value.

# [STANDARDS](#STANDARDS)

This is a non-portable, Linux specific extension to the ACL manipulation functions defined in IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned).

# [SEE ALSO](#SEE_ALSO)

[acl\_add\_perm(3)](/man/os/acl/acl_add_perm.3), [acl\_clear\_perms(3)](/man/os/acl/acl_clear_perms.3), [acl\_delete\_perm(3)](/man/os/acl/acl_delete_perm.3), [acl\_get\_permset(3)](/man/os/acl/acl_get_permset.3), [acl\_set\_permset(3)](/man/os/acl/acl_set_permset.3), [acl(5)](/man/os/acl/acl.5)

# [AUTHOR](#AUTHOR)

Written by Andreas Gruenbacher ⟨andreas.gruenbacher@gmail.com⟩.

March 23, 2002 Linux ACL

---

Document: acl_get_perm(3) from acl 2.4.0-r3 (Chainguard OS)
Source: https://git.savannah.nongnu.org/git/acl.git
