acl_get_perm(3) — Linux manual page


ACL_GET_PERM(3)       BSD Library Functions Manual       ACL_GET_PERM(3)

NAME         top

     acl_get_perm — test for a permission in an ACL permission set

LIBRARY         top

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

SYNOPSIS         top

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

     acl_get_perm(acl_permset_t permset_d, acl_perm_t perm);

DESCRIPTION         top

     The acl_get_perm() function tests if the permission specified by
     the argument perm (one of ACL_READ, ACL_WRITE, ACL_EXECUTE) is
     contained in the ACL permission set pointed to by the argument

     Any existing descriptors that refer to permset_d continue to refer
     to that permission set.

RETURN VALUE         top

     If successful, the acl_get_perm() function returns 1 if the
     permission specified by perm is contained in the ACL permission set
     permset_d, and 0 if the permission is not contained in the
     permission set. Otherwise, the value -1 is returned and the global
     variable errno is set to indicate the error.

ERRORS         top

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

     [EINVAL]           The argument permset_d is not a valid descriptor
                        for a permission set within an ACL entry.

                        The argument perm is not a valid acl_perm_t

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_add_perm(3), acl_clear_perms(3), acl_delete_perm(3),
     acl_get_permset(3), acl_set_permset(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