acl_get_fd(3C)

acl_get_fd, acl_set_fd - get or set the ACL associated with an open file

As shipped in IRIX 6.5.30. Unchanged since IRIX 6.5.

NAME
     acl_get_fd, acl_set_fd - get or set the ACL associated with an open file

SYNOPSIS
     #include <sys/acl.h>

     struct acl * acl_get_fd(int fd);
     int acl_set_fd(int fd, struct acl *aclp);

DESCRIPTION
     acl_get_fd returns a pointer to an allocated struct acl associated with
     the open file referred to by fd.  If _POSIX_MAC is in effect, then the
     process must have MAC read access to the object.

     acl_set_fd sets the ACL for the open file referred to by fd from the
     struct acl pointed to by aclp.  The effective UID of the process must
     match the owner of the object or the process must have appropriate
     privilege to set the access ACL on the object. If _POSIX_CAP is in
     effect, then the appropriate capability must include CAP_FOWNER.  In
     addition, if _POSIX_MAC is in effect, then the process must have MAC
     write access to the object.  acl_set_fd function will succeed only if the
     ACL is valid as defined by the acl_valid(3c) function.

RETURN VALUES
     acl_get_fd returns a pointer to an allocated struct acl if successful,
     NULL otherwise.  The storage should be freed with a call to acl_free with
     the returned pointer as an argument when it is no longer needed.

     acl_set_fd returns 0 if successful, -1 otherwise.

ERRORS
     acl_get_fd:

     EACCESS         Access to the object is denied.

     EBADF           fd is not a valid file descriptor.

     ENOMEM          allocation of the struct acl failed.

     ENOSYS          ACL support is not available (not installed).

     acl_set_fd:

     EACCESS         Access to the object is denied.

     EBADF           fd is not a valid file descriptor.

     EINVAL          The ACL is not valid or too large (too many entries).

     ENOSPC          The file system is full or some other resource needed for
                     the ACL storage is not available.
     ENOSYS          ACL support is not available (not installed).

     EPERM           The process does not have appropriate privilege to
                     perform the operation to set the ACL.

     EROFS           This function requires modification of a file system
                     which is currently read-only.

SEE ALSO
     acl(4)