acl_equiv_mode(3) — Linux manual page


ACL_EQUIV_MODE(3)        Library Functions Manual      ACL_EQUIV_MODE(3)

NAME         top

       acl_equiv_mode — check for an equivalent ACL

LIBRARY         top

       Linux Access Control Lists library (libacl, -lacl).

SYNOPSIS         top

       <sys/types.h> <acl/libacl.h> int acl_equiv_mode(acl_t acl, mode_t

DESCRIPTION         top

       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 contains 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 considered 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 contained in the

RETURN VALUE         top

       On success, this function returns the value 0 if acl is an
       equivalent ACL, and the value 1 if acl is not an equivalent ACL.
       On error, the value -1 is returned, and errno is set

ERRORS         top

       If any of the following conditions occur, the acl_equiv_mode()
       function returns the value -1 and sets errno to the corresponding

       [EINVAL]           The argument acl is not a valid pointer to an

STANDARDS         top

       This is a non-portable, Linux specific extension to the ACL
       manipulation functions defined in IEEE Std 1003.1e draft 17
       (“POSIX.1e”, abandoned).

SEE ALSO         top

       acl_from_mode(3), acl(5)

AUTHOR         top

       Written by Andreas Gruenbacher <>.

COLOPHON         top

       This page is part of the acl (manipulating access control lists)
       project.  Information about the project can be found at  If you have a bug
       report for this manual page, see
       ⟨⟩.  This page was
       obtained from the project's upstream Git repository
       ⟨git://⟩ on 2023-12-22.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2023-12-01.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

Linux ACL                    March 23, 2002            ACL_EQUIV_MODE(3)