acl_equiv_mode_np3
Check if acl can be represented as unix permissions
Usage
#include <sys/types.h>
#include <sys/acl.h>
int
acl_equiv_mode_np(acl_t acl, mode_t* mode_p);
Library
Standard C Library (libc, -lc)
Overview
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.
Releases
Unchanged in 9 releases since FreeBSD 14.0-RELEASE.