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 30a889d1fbSRobert Watson.Os FreeBSD 4.0 31a889d1fbSRobert Watson.Sh NAME 32a889d1fbSRobert Watson.Nm acl_init 33a889d1fbSRobert Watson.Nd Initialize ACL working storage 34a889d1fbSRobert Watson.Sh SYNOPSIS 35a889d1fbSRobert Watson.Fd #include <sys/types.h> 36a889d1fbSRobert Watson.Fd #include <sys/acl.h> 37a889d1fbSRobert Watson.Ft acl_t 38a889d1fbSRobert Watson.Fn acl_init "int count" 39a889d1fbSRobert Watson.Sh DESCRIPTION 40a889d1fbSRobert WatsonThe 41a889d1fbSRobert Watson.Fn acl_init 42a889d1fbSRobert Watsonfunction allocates and initializes the working storage for an ACL of at 43a889d1fbSRobert Watsonleast 44a889d1fbSRobert Watson.Va count 45a889d1fbSRobert WatsonACL entries. A pointer to the working storage is returned. The working 46a889d1fbSRobert Watsonstorage allocated to contain the ACL is freed by a call to 47a889d1fbSRobert Watson.Xr acl_free 3 . 48a889d1fbSRobert WatsonWhen the area is first allocated, it shall contain an an ACL that contains 49a889d1fbSRobert Watsonno ACL entries. 50a889d1fbSRobert Watson 51c32381adSMike PritchardThis function may cause memory to be allocated. The caller should free any 52c32381adSMike Pritchardreleasable memory, when the new ACL is no longer required, by calling 53a889d1fbSRobert Watson.Xr acl_free 3 54a889d1fbSRobert Watsonwith the 55a889d1fbSRobert Watson.Va (void*)acl_t 56a889d1fbSRobert Watsonas an argument. 57a889d1fbSRobert Watson.Sh IMPLEMENTATION NOTES 58a889d1fbSRobert WatsonFreeBSD's support for POSIX.1e interfaces and features is still under 59a889d1fbSRobert Watsondevelopment at this time. 60a889d1fbSRobert Watson.Sh RETURN VALUES 61a889d1fbSRobert WatsonUpon successful completion, this function shall return a pointer to the 62a889d1fbSRobert Watsonworking storage. Otherwise, a value of 63a889d1fbSRobert Watson.Va (acl_t)NULL 64a889d1fbSRobert Watsonshall be returned, and 65a889d1fbSRobert Watson.Va errno 66a889d1fbSRobert Watsonshall be set to indicate the error. 67a889d1fbSRobert Watson.Sh ERRORS 68a889d1fbSRobert WatsonIf any of the following conditions occur, the 69a889d1fbSRobert Watson.Fn acl_init 70a889d1fbSRobert Watsonfunction shall return a value of 71a889d1fbSRobert Watson.Va (acl_t)NULL 72a889d1fbSRobert Watsonand set 73a889d1fbSRobert Watson.Va errno 74a889d1fbSRobert Watsonto the corresponding value: 75a889d1fbSRobert Watson.Bl -tag -width Er 76a889d1fbSRobert Watson.It Bq Er EINVAL 77a889d1fbSRobert WatsonThe value of count is less than zero. 78a889d1fbSRobert Watson.It Bq Er ENOMEM 79a889d1fbSRobert WatsonThe 80a889d1fbSRobert Watson.Va acl_t 81a889d1fbSRobert Watsonto be returned requires more memory than is allowed by the hardware or 82a889d1fbSRobert Watsonsystem-imposed memory management constraints. 83a889d1fbSRobert Watson.El 84a889d1fbSRobert Watson.Sh SEE ALSO 85a889d1fbSRobert Watson.Xr acl 3 , 86a889d1fbSRobert Watson.Xr acl_free 3 , 87a889d1fbSRobert Watson.Xr posix1e 3 88a889d1fbSRobert Watson.Sh STANDARDS 89a889d1fbSRobert WatsonPOSIX.1e is described in IEEE POSIX.1e draft 17. Discussion 90a889d1fbSRobert Watsonof the draft continues on the cross-platform POSIX.1e implementation 91c32381adSMike Pritchardmailing list. To join this list, see the 92c32381adSMike Pritchard.Fx 93c32381adSMike PritchardPOSIX.1e implementation 94a889d1fbSRobert Watsonpage for more information. 95a889d1fbSRobert Watson.Sh HISTORY 96c32381adSMike PritchardPOSIX.1e support was introduced in 97c32381adSMike Pritchard.Fx 4.0 , 98c32381adSMike Pritchardand development continues. 99a889d1fbSRobert Watson.Sh AUTHORS 100c32381adSMike Pritchard.An Robert N M Watson 101a889d1fbSRobert Watson.Sh BUGS 102a889d1fbSRobert WatsonThese features are not yet fully implemented. In particular, the shipped 103a889d1fbSRobert Watsonversion of UFS/FFS does not support storage of additional security labels, 104a889d1fbSRobert Watsonand so is unable to (easily) provide support for most of these features. 105