ACL_GET_ENTRY(3) Library Functions Manual ACL_GET_ENTRY(3)

acl_get_entryretrieve an ACL entry from an ACL

Standard C Library (libc, -lc)

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

int
acl_get_entry(acl_t acl, int entry_id, acl_entry_t *entry_p);

The () function is a POSIX.1e call that retrieves a descriptor for an ACL entry specified by the argument entry_id within the ACL indicated by the argument acl.

If the value of entry_id is ACL_FIRST_ENTRY, then the function will return in entry_p a descriptor for the first ACL entry within acl. If a call is made to () with entry_id set to ACL_NEXT_ENTRY when there has not been either an initial successful call to acl_get_entry(), or a previous successful call to (), (), (), (), (), (), (), (), or (), then the result is unspecified.

The caller may also set entry_id to the index of the desired entry within the ACL. This is a non-portable extension. A subsequent call with entry_id set to ACL_NEXT_ENTRY will return the entry following the previously nominated entry and so forth.

If the acl_get_entry() function successfully obtains an ACL entry, a value of 0 is returned. Otherwise, a value of -1 will be returned and the global variable errno will be set to indicate the error.

The acl_get_entry() function fails if:

[]
Argument acl does not point to a valid ACL. Argument entry_id is neither ACL_FIRST_ENTRY, ACL_NEXT_ENTRY or a valid entry index.
[]
The value of entry_id is ACL_NEXT_ENTRY and the last ACL entry in the ACL has already been returned by a previous call to acl_get_entry().

acl(3), acl_calc_mask(3), acl_create_entry(3), acl_delete_entry(3), acl_dup(3), acl_from_text(3), acl_get_fd(3), acl_get_file(3), acl_init(3), acl_set_fd(3), acl_set_file(3), acl_valid(3), posix1e(3)

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

Michael Smith
Chris D. Faulhaber

September 21, 2023 macOS 15.2