acl_valid - validate an ACL
Linux Access Control Lists library (libacl, -lacl).
The acl_valid() function checks the ACL referred to by the argument acl
The three required entries ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER
must exist exactly once in the ACL. If the ACL contains any ACL_USER or
ACL_GROUP entries, then an ACL_MASK entry is also required. The ACL may
contain at most one ACL_MASK entry.
The user identifiers must be unique among all entries of type ACL_USER.
The group identifiers must be unique among all entries of type ACL_GROUP.
The acl_valid() function returns the value 0 if successful; otherwise the
value -1 is returned and the global variable errno is set to indicate the
If any of the following conditions occur, the acl_valid() function
returns -1 and sets errno to the corresponding value:
[EINVAL] The argument acl is not a valid pointer to an ACL.
The argument acl does not point to a valid ACL.
One or more of the required ACL entries is not present
The ACL contains entries that are not unique.
IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned)
acl_check(3), acl_set_file(3), acl(5)
Derived from the FreeBSD manual pages written by Robert N M Watson
〈rwatson@FreeBSD.org〉, and adapted for Linux by Andreas Gruenbacher