ACL_EQUIV_MODE(3) BSD Library Functions Manual ACL_EQUIV_MODE(3)
acl_equiv_mode -- check for an equivalent ACL
Linux Access Control Lists library (libacl, -lacl).
acl_equiv_mode(acl_t acl, mode_t *mode_p);
The acl_equiv_mode() function checks if the ACL pointed to by the argument acl contains only
the required ACL entries of tag types ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER, and con-
tains no permissions other that ACL_READ, ACL_WRITE or ACL_EXECUTE. If the ACL has this
form, it can can be fully represented with the traditional file permission bits, and is con-
sidered equivalent with the traditional file permission bits.
If acl is an equivalent ACL and the pointer mode_p is not NULL, the value pointed to by
mode_p is set to the value that defines the same owner, group and other permissions as con-
tained in the ACL.
Upon successful completion, this function returns the value 0 if acl is an equivalent ACL,
and the value 1 if acl is not an equivalent ACL. Otherwise, the value -1 is returned, and
errno is set to indicate the error.
If any of the following conditions occur, the acl_equiv_mode() function returns the value -1
and sets errno to the corresponding value:
[EINVAL] The argument acl is not a valid pointer to an ACL.
This is a non-portable, Linux specific extension to the ACL manipulation functions defined
in IEEE Std 1003.1e draft 17 ("POSIX.1e", abandoned).
Written by Andreas Gruenbacher <firstname.lastname@example.org>.
Linux ACL March 23, 2002 Linux ACL