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