Go to main content

man pages section 3: Extended Library Functions, Volume 4

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

acl_check(3SEC)

Name

acl_check - check the validity of an ACL

Synopsis

cc [ flag… ] file–lsec [ library… ] 
#include <sys/acl.h>

int acl_check(acl_t *aclp, int isdir);

Description

The acl_check() function checks the validity of an ACL pointed to by aclp. The isdir argument checks the validity of an ACL that will be applied to a directory. The ACL can be either a POSIX draft ACL as supported by UFS or NFSv4 ACL as supported by ZFS or NFSV4.

When the function verifies a POSIX draft ACL, the rules followed are described in aclcheck(3SEC). For NFSv4 ACL, the ACL is verified against the following rules:

  • The inheritance flags are valid.

  • The ACL must have at least one ACL entry and no more than the maximum number of entries (see acl(7)).

  • The permission field contains only supported permissions.

  • The entry type is valid.

  • The flag fields contain only valid flags as supported by NFSv4/ZFS.

If any of the above rules are violated, the function fails with errno set to EINVAL.

Return Values

If the ACL is valid, acl_check() returns 0. Otherwise errno is set to EINVAL and the return value is set to one of the following:

EACL_INHERIT_ERROR

There are invalid inheritance flags specified.

EACL_FLAGS_ERROR

There are invalid flags specified on the ACL that don't map to supported flags in NFSV4/ZFS ACL model.

EACL_ENTRY_ERROR

The ACL contains an unknown value in the type field.

EACL_MEM_ERROR

The system cannot allocate any memory.

EACL_INHERIT_NOTDIR

Inheritance flags are only allowed for ACLs on directories.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See Also

acl(2), aclcheck(3SEC), aclsort(3SEC), acl(7), attributes(7)