acl_set_fdacl_set_fd_npacl_set_fileacl_set_link_np
- set an ACL for a file
LIBRARY
Lb libc
SYNOPSIS
#include <sys/types.h>
#include <sys/acl.h> int
acl_set_fd (int fd acl_t acl); int
acl_set_fd_np (int fd acl_t acl acl_type_t type); int
acl_set_file (const char *path_p acl_type_t type acl_t acl); int
acl_set_link_np (const char *path_p acl_type_t type acl_t acl);
DESCRIPTION
The
acl_set_fd (,);
acl_set_fd_np (,);
acl_set_file (,);
and
acl_set_link_np ();
each associate an ACL with an object referred to by
fd
or
path_p
The
acl_set_fd_np ();
and
acl_set_link_np ();
functions are not POSIX.1e calls.
The
acl_set_fd ();
function allows only the setting of ACLs of type ACL_TYPE_ACCESS
where as
acl_set_fd_np ();
allows the setting of ACLs of any type.
The
acl_set_link_np ();
function acts on a symlink rather than its target, if the target of the
path is a symlink.
IMPLEMENTATION NOTES
Fx Ns 's
support for POSIX.1e interfaces and features is still under
development at this time.
RETURN VALUES
Rv -std
ERRORS
If any of the following conditions occur, these functions shall return
-1 and set
errno
to the corresponding value:
Bq Er EACCES
Search permission is denied for a component of the path prefix, or the
object exists and the process does not have appropriate access rights.
Bq Er EBADF
The
fd
argument is not a valid file descriptor.
Bq Er EINVAL
Argument
acl
does not point to a valid ACL for this object, or the ACL type
specified in
type
is invalid for this object, or both.
Bq Er ENAMETOOLONG
A component of a pathname exceeded 255 characters, or an
entire path name exceeded 1023 characters.
Bq Er ENOENT
The named object does not exist, or the
path_p
argument points to an empty string.
Bq Er ENOMEM
Insufficient memory available to fulfill request.
Bq Er ENOSPC
The directory or file system that would contain the new ACL cannot be
extended, or the file system is out of file allocation resources.
Bq Er EOPNOTSUPP
The file system does not support ACL retrieval.
Bq Er EROFS
This function requires modification of a file system which is currently
read-only.
POSIX.1e is described in IEEE POSIX.1e draft 17.
Discussion
of the draft continues on the cross-platform POSIX.1e implementation
mailing list.
To join this list, see the
Fx POSIX.1e implementation
page for more information.
HISTORY
POSIX.1e support was introduced in
Fx 4.0 ,
and development continues.