acl_create_entry(3) — Linux manual page
ACL_CREATE_ENTRY(3) Library Functions Manual ACL_CREATE_ENTRY(3)
NAME
acl_create_entry — create a new ACL entry
LIBRARY
Linux Access Control Lists library (libacl, -lacl).
SYNOPSIS
<sys/types.h> <sys/acl.h> int acl_create_entry(acl_t *acl_p,
acl_entry_t *entry_p)
DESCRIPTION
The acl_create_entry() function creates a new ACL entry in the
ACL pointed to by the contents of the pointer argument acl_p. On
success, the function returns a descriptor for the new ACL entry
via entry_p.
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 (void*)*acl_p as an
argument. If the ACL working storage cannot be increased in the
current location, then the working storage for the ACL pointed to
by acl_p may be relocated and the previous working storage is
released. A pointer to the new working storage is returned via
acl_p.
The components of the new ACL entry are initialized in the
following ways: the ACL tag type component contains
ACL_UNDEFINED_TAG, the qualifier component contains
ACL_UNDEFINED_ID, and the set of permissions has no permissions
enabled. Any existing ACL entry descriptors that refer to entries
in the ACL continue to refer to those entries.
RETURN VALUE
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.
ERRORS
If any of the following conditions occur, the acl_create_entry()
function returns -1 and sets errno to the corresponding value:
[EINVAL] The argument acl_p is not a valid pointer to
an ACL.
[ENOMEM] The ACL working storage requires more memory
than is allowed by the hardware or system-
imposed memory management constraints.
STANDARDS
IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned)
SEE ALSO
acl_init(3), acl_delete_entry(3), acl_free(3),
acl_create_entry(3), acl(5)
AUTHOR
Derived from the FreeBSD manual pages written by Robert N M
Watson <rwatson@FreeBSD.org>, and adapted for Linux by Andreas
Gruenbacher <andreas.gruenbacher@gmail.com>.
COLOPHON
This page is part of the acl (manipulating access control lists)
project. Information about the project can be found at
http://savannah.nongnu.org/projects/acl. If you have a bug
report for this manual page, see
⟨http://savannah.nongnu.org/bugs/?group=acl⟩. This page was
obtained from the project's upstream Git repository
⟨git://git.savannah.nongnu.org/acl.git⟩ on 2024-06-14. (At that
time, the date of the most recent commit that was found in the
repository was 2024-04-25.) If you discover any rendering
problems in this HTML version of the page, or you believe there
is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
man-pages@man7.org