acl_set_file, acl_set_fd, acl_set_fd_np, acl_set_link_np(3) | set an ACL for a file |
acl_set, acl_set_fd, acl_set_fd_np, acl_set_file, acl_set_link_np(3) | set an ACL for a file |
acl_set_fd, acl_set_fd_np, acl_set_file, acl_set_link_np(3) | set an ACL for a file |
acl_set_fd_np, acl_set_fd, acl_set_file, acl_set_link_np(3) | set an ACL for a file |
acl_set_link_np, acl_set_fd, acl_set_fd_np, acl_set_file(3) | set an ACL for a file |
ACL_SET(3) | MidnightBSD 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_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.
Valid values for the type argument are:
ACL_TYPE_ACCESS | POSIX.1e access ACL |
ACL_TYPE_DEFAULT | POSIX.1e default ACL |
ACL_TYPE_NFS4 | NFSv4 ACL |
Trying to set ACL_TYPE_NFS4 with acl branded as POSIX.1e, or ACL_TYPE_ACCESS or ACL_TYPE_DEFAULT with ACL branded as NFSv4, will result in error.
FreeBSD's support for POSIX.1e interfaces and features is still under development at this time.
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
]acl(3), acl_delete(3), acl_get(3), acl_get_brand_np(3), acl_valid(3), posix1e(3)
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 FreeBSD POSIX.1e implementation page for more information.
POSIX.1e support was introduced in FreeBSD 4.0, and development continues.
Robert N M Watson
June 25, 2009 | midnightbsd-3.1 |