1.\"- 2.\" Copyright (c) 2008, 2009 Edward Tomasz Napierala 3.\" 4.\" This software was developed by Robert Watson for the TrustedBSD Project. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25.\" SUCH DAMAGE. 26.\" 27.\" $FreeBSD$ 28.\" 29.Dd June 25, 2009 30.Dt ACL_STRIP_NP 3 31.Os 32.Sh NAME 33.Nm acl_strip_np 34.Nd strip extended entries from an ACL 35.Sh LIBRARY 36.Lb libc 37.Sh SYNOPSIS 38.In sys/types.h 39.In sys/acl.h 40.Ft acl_t 41.Fn acl_strip_np "const acl_t acl" "int recalculate_mask" 42.Sh DESCRIPTION 43The 44.Fn acl_strip_np 45function returns a pointer to a trivial ACL computed from the ACL pointed 46to by the argument 47.Va acl . 48.Pp 49This function may cause memory to be allocated. 50The caller should free any 51releasable memory, when the new ACL is no longer required, by calling 52.Xr acl_free 3 53with the 54.Va (void*)acl_t 55as an argument. 56.Pp 57Any existing ACL pointers that refer to the ACL referred to by 58.Va acl 59shall continue to refer to the ACL. 60.Sh RETURN VALUES 61Upon successful completion, this function shall return a pointer to the 62newly allocated ACL. 63Otherwise, a value of 64.Va (acl_t)NULL 65shall be returned, and 66.Va errno 67shall be set to indicate the error. 68.Sh ERRORS 69If any of the following conditions occur, the 70.Fn acl_init 71function shall return a value of 72.Va (acl_t)NULL 73and set 74.Va errno 75to the corresponding value: 76.Bl -tag -width Er 77.It Bq Er EINVAL 78Argument 79.Va acl 80does not point to a valid ACL. 81.It Bq Er ENOMEM 82The 83.Va acl_t 84to be returned requires more memory than is allowed by the hardware or 85system-imposed memory management constraints. 86.El 87.Sh SEE ALSO 88.Xr acl 3 , 89.Xr acl_is_trivial_np 3 , 90.Xr posix1e 3 91.Sh STANDARDS 92POSIX.1e is described in IEEE POSIX.1e draft 17. 93Discussion 94of the draft continues on the cross-platform POSIX.1e implementation 95mailing list. 96To join this list, see the 97.Fx 98POSIX.1e implementation 99page for more information. 100.Sh HISTORY 101POSIX.1e support was introduced in 102.Fx 4.0 . 103The 104.Fn acl_strip_np 105function was added in 106.Fx 8.0 . 107.Sh AUTHORS 108.An Edward Tomasz Napierala Aq Mt trasz@FreeBSD.org 109