The acl_init function allocates and initializes the working storage for an ACL of at least count ACL entries. A pointer to the working storage is returned. The working storage allocated to contain the ACL is freed by a call to acl_free(3). When the area is first allocated, it shall contain an ACL that contains no ACL entries.
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) with the (void*)acl_t as an argument.
.Fx Ns s support for POSIX.1e interfaces and features is still under development at this time.
Upon successful completion, this function shall return a pointer to the working storage. Otherwise, a value of (acl_t)NULL shall be returned, and errno shall be set to indicate the error.
If any of the following conditions occur, the acl_init function shall return a value of (acl_t)NULL and set errno to the corresponding value: