FreeBSD manual

download PDF document: acl_equiv_mode_np.3.pdf

ACL_EQUIV_MODE_NP(3) FreeBSD Library Functions Manual ACL_EQUIV_MODE_NP(3)
NAME acl_equiv_mode_np - check if ACL can be represented as UNIX permissions
LIBRARY Standard C Library (libc, -lc)
SYNOPSIS #include <sys/types.h> #include <sys/acl.h>
int acl_equiv_mode_np(acl_t acl, mode_t* mode_p);
DESCRIPTION The acl_equiv_mode_np() function is a non-portable call which checks that entries contained in the acl argument use only the ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER tag types, and that permissions contained in these entries consist only of ACL_READ, ACL_WRITE and ACL_EXECUTE. If the check succeeds, the ACL can be represented as traditional UNIX file permissions bits set.
If mode_p is not NULL and the check succeeds, the function fills the argument with a mode value corresponding to permissions contained in the ACL.
RETURN VALUES Upon successful completion, the function returns 0 if the ACL can be represented as UNIX permissions and 1 if it is not possible. Otherwise, a value of -1 is returned, and errno is set to indicate the error.
ERRORS If any of the following conditions occur, the acl_equiv_mode_np() function returns a value of -1 and set errno to the corresponding value:
[EINVAL] Argument acl does not point to a valid ACL.
SEE ALSO acl(3), acl_from_mode_np(3), posix1e(3)
STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. Discussion of the draft continues on the cross-platform POSIX.1e implementation mailing list. To join this list, see the FreeBSD POSIX.1e implementation page for more information.
HISTORY POSIX.1e support was introduced in FreeBSD 4.0, and development continues.
AUTHORS Gleb Popov
FreeBSD 14.0-RELEASE-p11 January 20, 2021 FreeBSD 14.0-RELEASE-p11