---
name: "acl_is_trivial_np"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/acl_is_trivial_np"
---

# acl\_is\_trivial\_np(3)

determine whether ACL is trivial

## NAME

**acl\_is\_trivial\_np** – determine whether ACL is trivial

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<sys/types.h\>**

**#include \<sys/acl.h\>**

*int*\

**acl\_is\_trivial\_np**(*const acl\_t aclp*, *int \*trivialp*);

## DESCRIPTION

The **acl\_is\_trivial\_np**() function determines whether the ACL pointed to by the argument *acl* is trivial. Upon successful completion, the location referred to by the argument *trivialp* will be set to 1, if the ACL *aclp* points to is trivial, or 0 if it's not.

ACL is trivial if it can be fully expressed as a file mode without losing any access rules. For POSIX.1e ACLs, ACL is trivial if it has the three required entries, one for owner, one for owning group, and one for other. For NFSv4 ACLs, ACL is trivial if it is identical to the ACL generated by [acl\_strip\_np(3)](/acl_strip_np/3.md). Files that have non-trivial ACL have a plus sign appended after mode bits in "ls -l" output.

## RETURN VALUES

The **acl\_is\_trivial\_np()** function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

## SEE ALSO

[acl(3)](/acl/3.md), [acl\_strip\_np(3)](/acl_strip_np/3.md), [posix1e(3)](/posix1e/3.md)

## 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. The **acl\_is\_trivial\_np**() function was added in FreeBSD 8.0.

## AUTHORS

Edward Tomasz Napierala ⟨*trasz@FreeBSD.org*⟩
