ACL_CREATE_ENTRY(3) Library Functions Manual ACL_CREATE_ENTRY(3)

acl_create_entry, acl_create_entry_npcreate a new ACL entry

Standard C Library (libc, -lc)

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

int
acl_create_entry(acl_t *acl_p, acl_entry_t *entry_p);

int
acl_create_entry_np(acl_t *acl_p, acl_entry_t *entry_p, int entry_index);

The () function is a POSIX.1e call that creates a new ACL entry in the ACL pointed to by acl_p. The function will return in entry_p a descriptor for this ACL entry.

The () function is a non-portable extension which allows the caller to specify the position of the created entry within the ACL. If entry_index is ACL_FIRST_ENTRY the entry will be created at the head of the ACL. If entry_index is ACL_LAST_ENTRY the entry will be created at the end of the ACL. After inserting an ACL entry with an entry_index other than ACL_LAST_ENTRY the behaviour of any acl_entry_t's previously obtained from the ACL by acl_create_entry() or () is undefined.

The acl_create_entry() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

The acl_create_entry() and acl_create_entry_np() functions fail if:

[]
Argument acl_p does not point to a pointer to a valid ACL.
[]
The ACL working storage requires more memory than is allowed by the hardware or system-imposed memory management constraints.
[]
The entry_index argument to acl_create_entry_np() is greater than the number of entries in the ACL.

acl(3), acl_delete_entry(3), acl_get_entry(3), posix1e(3)

POSIX.1e is described in IEEE POSIX.1e draft 17.

Michael Smith
Chris D Fulhaber

March 16, 2001 macOS 14.6