acl_dup — duplicate an ACL

Library

Linux Access Control Lists library (libacl, -lacl).

Synopsis

#include <sys/types.h>
#include <sys/acl.h>

acl_t
acl_dup(acl_t acl);

Description

The acl_dup() function returns a pointer to a copy of the ACL pointed to by acl.

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 the (void*)acl_t returned by acl_dup() as an argument.

Return Value

On success, this function returns a pointer to the working storage. On error, a value of (acl_t)NULL is returned, and errno is set appropriately.

Errors

If any of the following conditions occur, the acl_dup() function returns a value of (acl_t)NULL and sets errno to the corresponding value:

[EINVAL]

The argument acl is not a valid pointer to an ACL.

[ENOMEM]

The acl_t to be returned 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_free(3), acl_get_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⟩.

Referenced By

acl(5), acl_free(3).

March 23, 2002