acl_get_entry(3)

acl_get_entry3

Retrieve an acl entry from an acl

Usage

#include <sys/types.h>

#include <sys/acl.h>

int

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

Library

Standard C Library (libc, -lc)

Overview

The acl_get_entry() 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 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.

Return values

If the acl_get_entry() function successfully 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.

Errors

The acl_get_entry() function fails if:

[EINVAL]

Argument acl does not point to a valid ACL. Argument entry_id is neither ACL_FIRST_ENTRY nor ACL_NEXT_ENTRY.

Releases

56 releases since FreeBSD 5.0-RELEASE; the text changed 38 times.

  1. 5.0
  2. 5.1–5.2.1
  3. 5.3–5.4
  4. 5.5
  5. 6.0–6.3
  6. 6.4
  7. 7.0
  8. 7.1
  9. 7.2
  10. 7.3
  11. 7.4
  12. 8.0
  13. 8.1
  14. 8.2
  15. 8.3
  16. 8.4
  17. 9.0
  18. 9.1
  19. 9.2
  20. 9.3
  21. 10.0
  22. 10.1
  23. 10.2
  24. 10.3
  25. 10.4
  26. 11.0
  27. 11.1
  28. 11.2
  29. 11.3
  30. 11.4
  31. 12.0
  32. 12.1
  33. 12.2
  34. 12.3
  35. 12.4
  36. 13.0–13.2
  37. 13.3–13.5
  38. 14.0
  39. 14.1–16.0

Standards

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

History

POSIX.1e support was introduced in FreeBSD 4.0. The acl_get_entry() function was added in FreeBSD 5.0.

Authors

The acl_get_entry() function was written by Chris D. Faulhaber ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.