NAME
acl_create_entry - create a new ACL entry
LIBRARY
Linux Access Control Lists library (libacl, -lacl).
SYNOPSIS
#include <sys/types.h>
#include <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
〈a.gruenbacher@bestbits.at〉.