xref: /netbsd-src/lib/libc/posix1e/acl_delete.3 (revision 1b3734281f17fd86d3db0e29f84ea9985be6fe06)
1.\" $NetBSD: acl_delete.3,v 1.2 2020/06/18 19:46:34 wiz Exp $
2.\"-
3.\" Copyright (c) 2000, 2002 Robert N. M. Watson
4.\" All rights reserved.
5.\"
6.\" This software was developed by Robert Watson for the TrustedBSD Project.
7.\"
8.\" Redistribution and use in source and binary forms, with or without
9.\" modification, are permitted provided that the following conditions
10.\" are met:
11.\" 1. Redistributions of source code must retain the above copyright
12.\"    notice, this list of conditions and the following disclaimer.
13.\" 2. Redistributions in binary form must reproduce the above copyright
14.\"    notice, this list of conditions and the following disclaimer in the
15.\"    documentation and/or other materials provided with the distribution.
16.\"
17.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27.\" SUCH DAMAGE.
28.\"
29.\" $FreeBSD: head/lib/libc/posix1e/acl_delete.3 131635 2004-07-05 17:12:53Z ru $
30.\"
31.Dd December 29, 2002
32.Dt ACL_DELETE 3
33.Os
34.Sh NAME
35.Nm acl_delete_def_file ,
36.Nm acl_delete_def_link_np ,
37.Nm acl_delete_fd_np ,
38.Nm acl_delete_file_np ,
39.Nm acl_delete_link_np
40.Nd delete an ACL from a file
41.Sh LIBRARY
42.Lb libc
43.Sh SYNOPSIS
44.In sys/types.h
45.In sys/acl.h
46.Ft int
47.Fn acl_delete_def_file "const char *path_p"
48.Ft int
49.Fn acl_delete_def_link_np "const char *path_p"
50.Ft int
51.Fn acl_delete_fd_np "int filedes" "acl_type_t type"
52.Ft int
53.Fn acl_delete_file_np "const char *path_p" "acl_type_t type"
54.Ft int
55.Fn acl_delete_link_np "const char *path_p" "acl_type_t type"
56.Sh DESCRIPTION
57The
58.Fn acl_delete_def_file ,
59.Fn acl_delete_def_link_np ,
60.Fn acl_delete_fd_np ,
61.Fn acl_delete_file_np ,
62and
63.Fn acl_delete_link_np
64each allow the deletion of an ACL from a file.
65The
66.Fn acl_delete_def_file
67function
68is a POSIX.1e call that deletes the default ACL from a file (normally a
69directory) by name; the remainder of the calls are non-portable extensions
70that permit the deletion of arbitrary ACL types from a file/directory
71either by path name or file descriptor.
72The
73.Fn _file
74variations follow a symlink if it occurs in the last segment of the
75path name; the
76.Fn _link
77variations operate on the symlink itself.
78.Sh IMPLEMENTATION NOTES
79.Fx Ns 's
80support for POSIX.1e interfaces and features is still under
81development at this time.
82.Sh RETURN VALUES
83.Rv -std
84.Sh ERRORS
85If any of the following conditions occur, these functions shall return -1
86and set
87.Va errno
88to the corresponding value:
89.Bl -tag -width Er
90.It Bq Er EACCES
91Search permission is denied for a component of the path prefix, or the
92object exists and the process does not have appropriate access rights.
93.It Bq Er EBADF
94The
95.Va fd
96argument is not a valid file descriptor.
97.It Bq Er EINVAL
98The ACL type passed is invalid for this file object.
99.It Bq Er ENAMETOOLONG
100A component of a pathname exceeded 255 characters, or an
101entire path name exceeded 1023 characters.
102.It Bq Er ENOENT
103The named object does not exist, or the
104.Va path_p
105argument points to an empty string.
106.It Bq Er ENOMEM
107Insufficient memory available to fulfill request.
108.It Bq Er ENOTDIR
109A component of the path prefix is not a directory.
110.Pp
111Argument
112.Va path_p
113must be a directory, and is not.
114.It Bq Er EOPNOTSUPP
115The file system does not support ACL deletion.
116.It Bq Er EPERM
117The process does not have appropriate privilege to perform the operation
118to delete an ACL.
119.It Bq Er EROFS
120The file system is read-only.
121.El
122.Sh SEE ALSO
123.Xr acl 3 ,
124.Xr acl_get 3 ,
125.Xr acl_set 3 ,
126.Xr posix1e 3
127.Sh STANDARDS
128POSIX.1e is described in IEEE POSIX.1e draft 17.
129Discussion
130of the draft continues on the cross-platform POSIX.1e implementation
131mailing list.
132To join this list, see the
133.Fx
134POSIX.1e implementation
135page for more information.
136.Sh HISTORY
137POSIX.1e support was introduced in
138.Fx 4.0 ,
139and development continues.
140.Sh AUTHORS
141.An Robert N M Watson
142