acl_create_entry

ACL_CREATE_ENTRY(3)       BSD 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
     #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
     <andreas.gruenbacher@gmail.com>.

Linux ACL                        March 23, 2002                        Linux ACL