acl_size — get the size of the external representation of an ACL


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


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

acl_size(acl_t acl);


The acl_size() function return the size, in bytes, of the buffer required to hold the exportable, contiguous, persistent form of the ACL pointed to by the argument acl, when converted by acl_copy_ext().

Any existing ACL entry descriptors that refer to entries in acl continue to refer to the same entries. Any existing ACL pointers that refer to the ACL referred to by acl continue to refer to the ACL. The order of ACL entries within acl remains unchanged.

Return Value

On success, the acl_size() function returns the size in bytes of the contiguous, persistent form of the ACL. On error, a value of (ssize_t)-1 is returned and errno is set appropriately.


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


The argument acl is not a valid pointer to an ACL.


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

See Also

acl_copy_ext(3), acl(5)


Derived from the FreeBSD manual pages written by Robert N M Watson ⟨⟩, and adapted for Linux by Andreas Gruenbacher ⟨⟩.

Referenced By

acl(5), acl_copy_ext(3).

March 23, 2002