xref: /freebsd/lib/libc/posix1e/acl_from_mode_np.3 (revision 02e9120893770924227138ba49df1edb3896112a)
1.\"-
2.\" Copyright (c) 2021 Gleb Popov
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.Dd January 20, 2021
27.Dt ACL_FROM_MODE_NP 3
28.Os
29.Sh NAME
30.Nm acl_from_mode_np
31.Nd create an ACL from status information
32.Sh LIBRARY
33.Lb libc
34.Sh SYNOPSIS
35.In sys/types.h
36.In sys/acl.h
37.Ft acl_t
38.Fn acl_from_mode_np "const mode_t mode"
39.Sh DESCRIPTION
40The
41.Fn acl_from_mode_np
42function is a non-portable call that converts the permissions set referred to by
43.Va mode
44into the corresponding minimal ACL structure, appropriate for applying to
45files or manipulating.
46.Pp
47This function causes memory to be allocated.
48The caller should free any
49free-able memory, when the new ACL is no longer required, by calling
50.Xr acl_free 3
51with the
52.Va (void *)acl_t
53as an argument.
54.Sh RETURN VALUES
55Upon successful completion, the function returns a pointer to the
56internal representation of the ACL in working storage.
57Otherwise, a value
58of
59.Va (acl_t)NULL
60is returned, and
61.Va errno
62is set to indicate the error.
63.Sh ERRORS
64If any of the following conditions occur, the
65.Fn acl_from_mode_np
66function returns a value of
67.Va (acl_t)NULL
68and set
69.Va errno
70to the corresponding value:
71.Bl -tag -width Er
72.It Bq Er ENOMEM
73The ACL working storage requires more memory than is allowed by the
74hardware or system-imposed memory management constraints.
75.El
76.Sh SEE ALSO
77.Xr acl 3 ,
78.Xr acl_free 3 ,
79.Xr acl_from_text 3 ,
80.Xr posix1e 3
81.Sh STANDARDS
82POSIX.1e is described in IEEE POSIX.1e draft 17.
83Discussion
84of the draft continues on the cross-platform POSIX.1e implementation
85mailing list.
86To join this list, see the
87.Fx
88POSIX.1e implementation
89page for more information.
90.Sh HISTORY
91POSIX.1e support was introduced in
92.Fx 4.0 ,
93and development continues.
94.Sh AUTHORS
95.An Gleb Popov
96