xref: /freebsd/lib/libc/posix1e/acl_init.3 (revision ed403116940cbbd5dad8a3d1c3aa0e1e9771a4e9)
1a889d1fbSRobert Watson.\"-
2a889d1fbSRobert Watson.\" Copyright (c) 2000 Robert N. M. Watson
3a889d1fbSRobert Watson.\" All rights reserved.
4a889d1fbSRobert Watson.\"
5a889d1fbSRobert Watson.\" Redistribution and use in source and binary forms, with or without
6a889d1fbSRobert Watson.\" modification, are permitted provided that the following conditions
7a889d1fbSRobert Watson.\" are met:
8a889d1fbSRobert Watson.\" 1. Redistributions of source code must retain the above copyright
9a889d1fbSRobert Watson.\"    notice, this list of conditions and the following disclaimer.
10a889d1fbSRobert Watson.\" 2. Redistributions in binary form must reproduce the above copyright
11a889d1fbSRobert Watson.\"    notice, this list of conditions and the following disclaimer in the
12a889d1fbSRobert Watson.\"    documentation and/or other materials provided with the distribution.
13a889d1fbSRobert Watson.\"
14a889d1fbSRobert Watson.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15a889d1fbSRobert Watson.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16a889d1fbSRobert Watson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17a889d1fbSRobert Watson.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18a889d1fbSRobert Watson.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19a889d1fbSRobert Watson.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20a889d1fbSRobert Watson.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21a889d1fbSRobert Watson.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22a889d1fbSRobert Watson.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23a889d1fbSRobert Watson.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24a889d1fbSRobert Watson.\" SUCH DAMAGE.
25a889d1fbSRobert Watson.\"
26a889d1fbSRobert Watson.\" $FreeBSD$
27a889d1fbSRobert Watson.\"
28a889d1fbSRobert Watson.Dd January 28, 2000
29a889d1fbSRobert Watson.Dt ACL_INIT 3
30ed403116SRuslan Ermilov.Os FreeBSD
31a889d1fbSRobert Watson.Sh NAME
32a889d1fbSRobert Watson.Nm acl_init
33f75b050cSAlexey Zelkin.Nd initialize ACL working storage
34f75b050cSAlexey Zelkin.Sh LIBRARY
35f75b050cSAlexey Zelkin.Lb libposix1e
36a889d1fbSRobert Watson.Sh SYNOPSIS
37a889d1fbSRobert Watson.Fd #include <sys/types.h>
38a889d1fbSRobert Watson.Fd #include <sys/acl.h>
39a889d1fbSRobert Watson.Ft acl_t
40a889d1fbSRobert Watson.Fn acl_init "int count"
41a889d1fbSRobert Watson.Sh DESCRIPTION
42a889d1fbSRobert WatsonThe
43a889d1fbSRobert Watson.Fn acl_init
44a889d1fbSRobert Watsonfunction allocates and initializes the working storage for an ACL of at
45a889d1fbSRobert Watsonleast
46a889d1fbSRobert Watson.Va count
47a889d1fbSRobert WatsonACL entries.  A pointer to the working storage is returned.  The working
48a889d1fbSRobert Watsonstorage allocated to contain the ACL is freed by a call to
49a889d1fbSRobert Watson.Xr acl_free 3 .
50a889d1fbSRobert WatsonWhen the area is first allocated, it shall contain an an ACL that contains
51a889d1fbSRobert Watsonno ACL entries.
52a889d1fbSRobert Watson
53c32381adSMike PritchardThis function may cause memory to be allocated.  The caller should free any
54c32381adSMike Pritchardreleasable memory, when the new ACL is no longer required, by calling
55a889d1fbSRobert Watson.Xr acl_free 3
56a889d1fbSRobert Watsonwith the
57a889d1fbSRobert Watson.Va (void*)acl_t
58a889d1fbSRobert Watsonas an argument.
59a889d1fbSRobert Watson.Sh IMPLEMENTATION NOTES
60b5c508fbSRuslan Ermilov.Fx Ns 's
61b5c508fbSRuslan Ermilovsupport for POSIX.1e interfaces and features is still under
62a889d1fbSRobert Watsondevelopment at this time.
63a889d1fbSRobert Watson.Sh RETURN VALUES
64a889d1fbSRobert WatsonUpon successful completion, this function shall return a pointer to the
65a889d1fbSRobert Watsonworking storage.  Otherwise, a value of
66a889d1fbSRobert Watson.Va (acl_t)NULL
67a889d1fbSRobert Watsonshall be returned, and
68a889d1fbSRobert Watson.Va errno
69a889d1fbSRobert Watsonshall be set to indicate the error.
70a889d1fbSRobert Watson.Sh ERRORS
71a889d1fbSRobert WatsonIf any of the following conditions occur, the
72a889d1fbSRobert Watson.Fn acl_init
73a889d1fbSRobert Watsonfunction shall return a value of
74a889d1fbSRobert Watson.Va (acl_t)NULL
75a889d1fbSRobert Watsonand set
76a889d1fbSRobert Watson.Va errno
77a889d1fbSRobert Watsonto the corresponding value:
78a889d1fbSRobert Watson.Bl -tag -width Er
79a889d1fbSRobert Watson.It Bq Er EINVAL
80a889d1fbSRobert WatsonThe value of count is less than zero.
81a889d1fbSRobert Watson.It Bq Er ENOMEM
82a889d1fbSRobert WatsonThe
83a889d1fbSRobert Watson.Va acl_t
84a889d1fbSRobert Watsonto be returned requires more memory than is allowed by the hardware or
85a889d1fbSRobert Watsonsystem-imposed memory management constraints.
86a889d1fbSRobert Watson.El
87a889d1fbSRobert Watson.Sh SEE ALSO
88a889d1fbSRobert Watson.Xr acl 3 ,
89a889d1fbSRobert Watson.Xr acl_free 3 ,
90a889d1fbSRobert Watson.Xr posix1e 3
91a889d1fbSRobert Watson.Sh STANDARDS
92a889d1fbSRobert WatsonPOSIX.1e is described in IEEE POSIX.1e draft 17.  Discussion
93a889d1fbSRobert Watsonof the draft continues on the cross-platform POSIX.1e implementation
94c32381adSMike Pritchardmailing list.  To join this list, see the
95c32381adSMike Pritchard.Fx
96c32381adSMike PritchardPOSIX.1e implementation
97a889d1fbSRobert Watsonpage for more information.
98a889d1fbSRobert Watson.Sh HISTORY
99c32381adSMike PritchardPOSIX.1e support was introduced in
100c32381adSMike Pritchard.Fx 4.0 ,
101c32381adSMike Pritchardand development continues.
102a889d1fbSRobert Watson.Sh AUTHORS
103c32381adSMike Pritchard.An Robert N M Watson
104a889d1fbSRobert Watson.Sh BUGS
105f4286d47SRobert WatsonThese features are not yet fully implemented.
106