ACL_PERMSET_MASK(3)

NAME
acl_permset_mask - Manipulate ACL permissions using bitmasks

LIBRARY
libc

SYNOPSIS
#include <sys/types.h>
#include <sys/acl.h>
int
acl_maximal_permset_mask_np(acl_permset_mask_t * mask_p);
int
acl_get_permset_mask_np(acl_entry_t entry_d, acl_permset_mask_t * mask_p);
int
acl_set_permset_mask_np(acl_entry_t entry_d, acl_permset_mask_t mask);

DESCRIPTION
The acl_permset_mask_t functions are a Darwin extension to the POSIX.1e ACL standard which allow manipulation of permissions in an acl_entry_t using a bitmask of type acl_permset_mask_t rather than a constructed acl_permset_t (as done by acl_get_permset(3) and acl_set_permset(3)).

acl_permset_mask_t values may be constructed using bitwise operations over acl_perm_t values.

acl_maximal_permset_mask_np() sets the value pointed to by mask_p to a bitmask of all valid acl_perm_t values.

acl_get_permset_mask_np() returns via mask_p a bitmask of permissions set on the ACL entry entry_d.

acl_set_permset_mask_np() sets the permissions of ACL entry entry_d to match the permission bitmask provided by mask.

RETURN VALUES

ERRORS
The acl_get_permset_mask_np() function fails if:

[EINVAL]
    Argument entry_d is not a valid descriptor for an ACL entry.

The acl_set_permset_mask_np() function fails if:

[EINVAL]
    Argument entry_d is not a valid descriptor for an ACL entry.

[EINVAL]
    Argument mask is not a valid bitmask of ACL permissions.

SEE ALSO
acl(3), acl_add_perm(3), acl_clear_perms(3), acl_delete_perm(3), acl_get_permset(3), acl_set_permset(3), posix1e(3)

AUTHORS
Jeremy Huddleston