acl_calc_mask(3) — Linux manual page


ACL_CALC_MASK(3)      BSD Library Functions Manual      ACL_CALC_MASK(3)

NAME         top

     acl_calc_mask — calculate the file group class mask

LIBRARY         top

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

SYNOPSIS         top

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

     acl_calc_mask(acl_t *acl_p);

DESCRIPTION         top

     The acl_calc_mask() function calculates and sets the permissions
     associated with the ACL_MASK ACL entry of the ACL referred to by
     acl_p.  The value of the new permissions is the union of the
     permissions granted by all entries of tag type ACL_GROUP,
     ACL_GROUP_OBJ, or ACL_USER.  If the ACL referred to by acl_p
     already contains an ACL_MASK entry, its permissions are
     overwritten; if it does not contain an ACL_MASK entry, one is

     If the ACL referred to by acl_p does not contain enough space for
     the new ACL entry, then additional working storage may be
     allocated. If the working storage cannot be increased in the
     current location, then it may be relocated and the previous working
     storage is released and a pointer to the new working storage is
     returned via acl_p.

     The order of existing entries in the ACL is undefined after this

     Any existing ACL entry descriptors that refer to entries in the ACL
     continue to refer to those entries. Any existing ACL pointers that
     refer to the ACL referred to by acl_p continue to refer to the ACL.

RETURN VALUE         top

     The acl_calc_mask() function returns the value 0 if successful;
     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_calc_mask()
     function returns -1 and sets errno to the corresponding value:

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

     [ENOMEM]           The acl_calc_mask() function is unable to
                        allocate the memory required for an ACL_MASK ACL

STANDARDS         top

     IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned)

SEE ALSO         top

     acl_check(3), acl_get_entry(3), acl_valid(3), acl(5)

AUTHOR         top

     Derived from the FreeBSD manual pages written by Robert N M Watson
     <>, and adapted for Linux 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-06-23.  (At that
     time, the date of the most recent commit that was found in the
     repository was 2022-12-30.)  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