acl_copy_ext, acl_copy_int - copy ACL from system to user space or from
user to system space
ssize_t acl_copy_ext(void *bufp, struct acl *aclp, ssize_t size);
struct acl *acl_copy_int(void *bufp);
acl_copy_ext sets *bufp to *aclp if the arguments are valid. acl_copy_int
allocates a struct acl and copies the struct acl pointed to by *bufp into
it, if the arguments are valid. The storage should be freed by calling
acl_free(3c) when no longer needed.
In the POSIX specifications, the internal form of an ACL may be different
from the external form, hence the need for these functions. In IRIX,
both forms are the same.
acl_copy_ext returns sizeof(struct acl) in the normal case, or -1 if aclp
acl_copy_int returns aclp in the normal case or (struct acl *)0 if the
arguments are invalid.
EINVAL aclp is null or bufp is null or size is 0 or negative.
ERANGE size is less than sizeof(struct acl)
EINVAL bufp is null
ENOMEM memory allocation failure
PPPPaaaaggggeeee 1111 [ Back ]