acl_copy_int — copy an ACL from external to internal representation

Library

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

Synopsis

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

acl_t
acl_copy_int(const void *buf_p);

Description

The acl_copy_int() function copies an exportable, contiguous, persistent form of an ACL, pointed to by buf_p, to the internal representation.

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_copy_int() as an argument.

Return Value

Upon success, the acl_copy_int() function returns a pointer that references the ACL in 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_copy_int() function returns a value of (acl_t)NULL and sets errno to the corresponding value:

[EINVAL]

The buffer pointed to by the argument buf_p does not contain a valid external form 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_copy_ext(3), acl_get_entry(3), acl_free(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_copy_ext(3), acl_free(3).

March 23, 2002