acl_create_entry — create a new ACL entry
Contents
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.
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.
Library
Linux Access Control Lists library (libacl, -lacl).
Name
acl_create_entry — create a new ACL entry
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.
See Also
acl_init(3), acl_delete_entry(3), acl_free(3), acl_create_entry(3), acl(5)
Standards
IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned)
Synopsis
#include<sys/types.h>#include<sys/acl.h>intacl_create_entry(acl_t*acl_p, acl_entry_t*entry_p);
