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

# [NAME](#NAME)

`acl_init` — initialize ACL working storage

# [LIBRARY](#LIBRARY)

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

# [SYNOPSIS](#SYNOPSIS)

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

`acl_t`  
`acl_init`(`int count`);

# [DESCRIPTION](#DESCRIPTION)

The [`acl_init`](#acl_init)() function allocates and initializes the working storage for an ACL of at least `count` ACL entries. The ACL created initially contains no ACL entries. A pointer to the working storage is returned.

This function may cause memory to be allocated. The caller should free any releasable memory, when the new ACL is no longer required, by calling [acl\_free(3)](/man/os/acl/acl_free.3) with the `(void*)acl_t` returned by [`acl_init`](#acl_init~2)() as an argument.

# [RETURN VALUE](#RETURN_VALUE)

On success, this function returns a pointer to the working storage. On error, a value of `(acl_t)NULL` is returned, and `errno` is set appropriately.

# [ERRORS](#ERRORS)

If any of the following conditions occur, the `acl_init`() function returns a value of `(acl_t)NULL` and sets `errno` to the corresponding value:

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

The value of count is less than zero.

\[[`ENOMEM`](#ENOMEM)]

The `acl_t` to be returned requires more memory than is allowed by the hardware or system-imposed memory management constraints.

# [STANDARDS](#STANDARDS)

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

# [SEE ALSO](#SEE_ALSO)

[acl\_get\_file(3)](/man/os/acl/acl_get_file.3), [acl\_free(3)](/man/os/acl/acl_free.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_init(3) from acl 2.4.0-r5 (Chainguard OS)
Source: https://git.savannah.nongnu.org/git/acl.git
