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.
     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]		Search permission is denied for a component of the
			path prefix, or the object exists and the process does
			not have appropriate access rights.
     [EBADF]		The fd argument is not a valid file descriptor.
     [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.
     [ENAMETOOLONG]	A component of a pathname exceeded 255 characters, or
			an entire path name exceeded 1023 characters.
     [ENOENT]		The named object does not exist, or the path_p argument
 points to an empty string.
     [ENOMEM]		Insufficient memory available to fulfill request.
     [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.
     [EOPNOTSUPP]	The file system does not support ACL retrieval.
     [EROFS]		This function requires modification of a file system
			which is currently read-only.
     acl(3), acl_delete(3), acl_get(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
FreeBSD 5.2.1		       December 29, 2002		 FreeBSD 5.2.1  [ Back ] |