acl_copy_ext, acl_copy_int - copy ACL from system to user space or from user to system space
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(3) 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 is null.
acl_copy_int returns aclp in the normal case or (struct acl *)0 if the arguments are invalid.
|
acl_copy_ext: |
||||
|
EINVAL ERANGE acl_copy_int: |
aclp is null or bufp is null or size is 0 or negative. size is less than sizeof(struct acl) |
|||
|
EINVAL ENOMEM |
bufp is null memory allocation failure |