acl_delete3
Delete an acl from a file
Usage
#include <sys/types.h>
#include <sys/acl.h>
int
acl_delete_def_file(const char *path_p);
int
acl_delete_def_link_np(const char *path_p);
int
acl_delete_fd_np(int filedes, acl_type_t type);
int
acl_delete_file_np(const char *path_p, acl_type_t type);
int
acl_delete_link_np(const char *path_p, acl_type_t type);
Library
Standard C Library (libc, -lc)
Overview
The acl_delete_def_file(), acl_delete_def_link_np(), acl_delete_fd_np(), acl_delete_file_np(), and acl_delete_link_np() each allow the deletion of an ACL from a file. The acl_delete_def_file() function is a POSIX.1e call that deletes the default ACL from a file (normally a directory) by name; the remainder of the calls are non-portable extensions that permit the deletion of arbitrary ACL types from a file/directory either by path name or file descriptor. The _file() variations follow a symlink if it occurs in the last segment of the path name; the _link() variations operate on the symlink itself.
Implementation notes
FreeBSD's support for POSIX.1e interfaces and features is still under development at this time.
Return values
The acl_delete_def_file() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
Errors
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]
-
The ACL type passed is invalid for this file object.
- [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.
- [ENOTDIR]
-
A component of the path prefix is not a directory.
Argument path_p must be a directory, and is not.
- [EOPNOTSUPP]
-
The file system does not support ACL deletion.
- [EPERM]
-
The process does not have appropriate privilege to perform the operation to delete an ACL.
- [EROFS]
-
The file system is read-only.
Releases
70 releases since FreeBSD 4.0-RELEASE; the text changed 38 times.