ACL\_SIZE(3) Library Functions Manual ACL\_SIZE(3)

# [NAME](#NAME)

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

# [LIBRARY](#LIBRARY)

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

# [SYNOPSIS](#SYNOPSIS)

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

`ssize_t`  
`acl_size`(`acl_t acl`);

# [DESCRIPTION](#DESCRIPTION)

The [`acl_size`](#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`](#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](#RETURN_VALUE)

On success, the [`acl_size`](#acl_size~2)() 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.

# [ERRORS](#ERRORS)

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:

\[[`EINVAL`](#EINVAL)]

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

# [STANDARDS](#STANDARDS)

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

# [SEE ALSO](#SEE_ALSO)

[acl\_copy\_ext(3)](/man/os/acl/acl_copy_ext.3), [acl(5)](/man/os/acl/acl.5)

# [AUTHOR](#AUTHOR)

Derived from the FreeBSD manual pages written by Robert N M Watson ⟨rwatson@FreeBSD.org⟩, and adapted for Linux by Andreas Gruenbacher ⟨andreas.gruenbacher@gmail.com⟩.

March 23, 2002 Linux ACL

---

Document: acl_size(3) from acl 2.4.0-r5 (Chainguard OS)
Source: https://git.savannah.nongnu.org/git/acl.git
