acl_get_perm — test for a permission in an ACL permission set

Library

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

Synopsis

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

int
acl_get_perm(acl_permset_t permset_d, acl_perm_t perm);

Description

The 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

If successful, the acl_get_perm() 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

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

[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

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

acl_add_perm(3), acl_clear_perms(3), acl_delete_perm(3), acl_get_permset(3), acl_set_permset(3), acl(5)

Author

Written by Andreas Gruenbacher ⟨a.gruenbacher@bestbits.at⟩.

Referenced By

acl(5), acl_add_perm(3), acl_clear_perms(3), acl_delete_perm(3), acl_get_permset(3), acl_set_permset(3).

March 23, 2002