ACL_CALC_MASK(3) BSD Library Functions Manual ACL_CALC_MASK(3)
NAME acl_calc_mask - calculate the file group class mask
LIBRARY Linux Access Control Lists library (libacl, -lacl).
SYNOPSIS #include <sys/types.h> #include <sys/acl.h>
int acl_calc_mask(acl_t *acl_p);
DESCRIPTION The acl_calc_mask() function calculates and sets the permissions associ- ated with the ACL_MASK ACL entry of the ACL referred to by acl_p. The value of the new permissions is the union of the permissions granted by all entries of tag type ACL_GROUP, ACL_GROUP_OBJ, or ACL_USER. If the ACL referred to by acl_p already contains an ACL_MASK entry, its permis- sions are overwritten; if it does not contain an ACL_MASK entry, one is added.
If the ACL referred to by acl_p does not contain enough space for the new ACL entry, then additional working storage may be allocated. If the work- ing storage cannot be increased in the current location, then it may be relocated and the previous working storage is released and a pointer to the new working storage is returned via acl_p.
The order of existing entries in the ACL is undefined after this func- tion.
Any existing ACL entry descriptors that refer to entries in the ACL con- tinue to refer to those entries. Any existing ACL pointers that refer to the ACL referred to by acl_p continue to refer to the ACL.
RETURN VALUE The acl_calc_mask() function returns the value 0 if successful; 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_calc_mask() function returns -1 and sets errno to the corresponding value:
[EINVAL] The argument acl is not a valid pointer to an ACL.
[ENOMEM] The acl_calc_mask() function is unable to allocate the memory required for an ACL_MASK ACL entry.
STANDARDS IEEE Std 1003.1e draft 17 (POSIX.1e, abandoned)
SEE ALSO acl_check(3), acl_get_entry(3), acl_valid(3), acl(5)
AUTHOR Derived from the FreeBSD manual pages written by Robert N M Watson rwatson@FreeBSD.org , and adapted for Linux by Andreas Gruenbacher firstname.lastname@example.org.
Linux ACL March 23, 2002 Linux ACL