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.Dd January 28, 2000 29a889d1fbSRobert Watson.Dt ACL_FROM_TEXT 3 30a307d598SRuslan Ermilov.Os 31a889d1fbSRobert Watson.Sh NAME 32a889d1fbSRobert Watson.Nm acl_from_text 33f75b050cSAlexey Zelkin.Nd create an ACL from text 34f75b050cSAlexey Zelkin.Sh LIBRARY 3531acc836SRuslan Ermilov.Lb libc 36a889d1fbSRobert Watson.Sh SYNOPSIS 3732eef9aeSRuslan Ermilov.In sys/types.h 3832eef9aeSRuslan Ermilov.In sys/acl.h 3997d186bcSBruce Evans.Ft acl_t 40a889d1fbSRobert Watson.Fn acl_from_text "const char *buf_p" 41a889d1fbSRobert Watson.Sh DESCRIPTION 42a889d1fbSRobert WatsonThe 43a889d1fbSRobert Watson.Fn acl_from_text 44a889d1fbSRobert Watsonfunction converts the text form of an ACL referred to by 45a889d1fbSRobert Watson.Va buf_p 46a889d1fbSRobert Watsoninto the internal working structure for ACLs, appropriate for applying to 47a889d1fbSRobert Watsonfiles or manipulating. 4842635956SRuslan Ermilov.Pp 491a0a9345SRuslan ErmilovThis function may cause memory to be allocated. 501a0a9345SRuslan ErmilovThe caller should free any 51a889d1fbSRobert Watsonreleasable memory, when the new ACL is no longer required, by calling 52a889d1fbSRobert Watson.Xr acl_free 3 53a889d1fbSRobert Watsonwith the 54a889d1fbSRobert Watson.Va (void *)acl_t 55a889d1fbSRobert Watsonas an argument. 56a889d1fbSRobert Watson.Sh IMPLEMENTATION NOTES 57b5c508fbSRuslan Ermilov.Fx Ns 's 58b5c508fbSRuslan Ermilovsupport for POSIX.1e interfaces and features is still under 59a889d1fbSRobert Watsondevelopment at this time. 60a889d1fbSRobert Watson.Sh RETURN VALUES 61a889d1fbSRobert WatsonUpon successful completion, the function shall return a pointer to the 621a0a9345SRuslan Ermilovinternal representation of the ACL in working storage. 631a0a9345SRuslan ErmilovOtherwise, a value 64a889d1fbSRobert Watsonof 65a889d1fbSRobert Watson.Va (acl_t)NULL 66a889d1fbSRobert Watsonshall be returned, and 67a889d1fbSRobert Watson.Va errno 68a889d1fbSRobert Watsonshall be set to indicate the error. 69a889d1fbSRobert Watson.Sh ERRORS 70a889d1fbSRobert WatsonIf any of the following conditions occur, the 71a889d1fbSRobert Watson.Fn acl_from_text 72a889d1fbSRobert Watsonfunction shall return a value of 73a889d1fbSRobert Watson.Va (acl_t)NULL 74a889d1fbSRobert Watsonand set 75a889d1fbSRobert Watson.Va errno 76a889d1fbSRobert Watsonto the corresponding value: 77a889d1fbSRobert Watson.Bl -tag -width Er 78a889d1fbSRobert Watson.It Bq Er EINVAL 79a889d1fbSRobert WatsonArgument 80a889d1fbSRobert Watson.Va buf_p 81a889d1fbSRobert Watsoncannot be translated into an ACL. 82a889d1fbSRobert Watson.It Bq Er ENOMEM 83a889d1fbSRobert WatsonThe ACL working storage requires more memory than is allowed by the 84a889d1fbSRobert Watsonhardware or system-imposed memory management constraints. 85a889d1fbSRobert Watson.El 86a889d1fbSRobert Watson.Sh SEE ALSO 87a889d1fbSRobert Watson.Xr acl 3 , 88a889d1fbSRobert Watson.Xr acl_free 3 , 89a889d1fbSRobert Watson.Xr acl_get 3 , 90a889d1fbSRobert Watson.Xr acl_to_text 3 , 91a889d1fbSRobert Watson.Xr posix1e 3 92a889d1fbSRobert Watson.Sh STANDARDS 931a0a9345SRuslan ErmilovPOSIX.1e is described in IEEE POSIX.1e draft 17. 941a0a9345SRuslan ErmilovDiscussion 95a889d1fbSRobert Watsonof the draft continues on the cross-platform POSIX.1e implementation 961a0a9345SRuslan Ermilovmailing list. 971a0a9345SRuslan ErmilovTo join this list, see the 98c32381adSMike Pritchard.Fx 99c32381adSMike PritchardPOSIX.1e implementation 100a889d1fbSRobert Watsonpage for more information. 101a889d1fbSRobert Watson.Sh HISTORY 102c32381adSMike PritchardPOSIX.1e support was introduced in 103c32381adSMike Pritchard.Fx 4.0 , 104c32381adSMike Pritchardand development continues. 105a889d1fbSRobert Watson.Sh AUTHORS 106c32381adSMike Pritchard.An Robert N M Watson 107a889d1fbSRobert Watson.Sh BUGS 1081fae73b1SRuslan ErmilovThe 109a889d1fbSRobert Watson.Fn acl_from_text 110a889d1fbSRobert Watsonand 111a889d1fbSRobert Watson.Fn acl_to_text 1121fae73b1SRuslan Ermilovfunctions 113a889d1fbSRobert Watsonrely on the 114a889d1fbSRobert Watson.Xr getpwent 3 115a889d1fbSRobert Watsonlibrary calls to manage username and uid mapping, as well as the 116a889d1fbSRobert Watson.Xr getgrent 3 1171a0a9345SRuslan Ermilovlibrary calls to manage groupname and gid mapping. 1181a0a9345SRuslan ErmilovThese calls are not 119a889d1fbSRobert Watsonthread safe, and so transitively, neither are 120a889d1fbSRobert Watson.Fn acl_from_text 121a889d1fbSRobert Watsonand 122a889d1fbSRobert Watson.Fn acl_to_text . 123a889d1fbSRobert WatsonThese functions may also interfere with stateful 124a889d1fbSRobert Watsoncalls associated with the 125a889d1fbSRobert Watson.Fn getpwent 126a889d1fbSRobert Watsonand 127a889d1fbSRobert Watson.Fn getgrent 128a889d1fbSRobert Watsoncalls. 129