acl_equiv_mode(3) — Linux manual page


ACL_EQUIV_MODE(3)     BSD 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

     #include <sys/types.h>
     #include <acl/libacl.h>

     acl_equiv_mode(acl_t acl, mode_t *mode_p);

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 ACL.

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 appropriately.

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 2021-08-27.  (At that
     time, the date of the most recent commit that was found in the
     repository was 2021-03-16.)  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                    Linux ACL