ACL_SET(3) | Library Functions Manual | ACL_SET(3) |
acl_set_fd
,
acl_set_fd_np
, acl_set_file
,
acl_set_link_np
— set an ACL
for a file
Standard C Library (libc, -lc)
#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);
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_EXTENDED 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. In the case of a symlink, this function will return an error
because ACLs are not currently supported on symlinks. Note that the
implementation is not atomic, and so the target could change between the
time it is checked as not being a symlink, and the time the ACL is set.
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
If any of the following conditions occur, these functions shall return -1 and set errno to the corresponding value:
EACCES
]EBADF
]EINVAL
]ENAMETOOLONG
]ENOENT
]ENOMEM
]ENOSPC
]EOPNOTSUPP
]EROFS
]POSIX.1e is described in IEEE POSIX.1e draft 17.
Michael Smith
Robert N M Watson
December 29, 2002 | macOS 15.0 |