The acl_get_entry function is a POSIX.1e call that retrieves a descriptor for an ACL entry specified by the argument entry_d 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 acl_get_entry 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 acl_create_entry, acl_delete_entry, acl_dup, acl_from_text, acl_get_fd, acl_get_file, acl_set_fd, acl_set_file, or acl_valid, then the result is unspecified.
If the acl_get_entry function successfuly obtains an ACL entry, a value of 1 is returned. If the ACL has no ACL entries, the acl_get_entry returns a value of 0. If 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, a value of 0 will be returned until a successful call with entry_id of ACL_FIRST_ENTRY is made. Otherwise, a value of -1 will be returned and the global variable errno will be set to indicate the error.
The acl_get_entry fails if: