1*86d7f5d3SJohn Marino.\"- 2*86d7f5d3SJohn Marino.\" Copyright (c) 2000 Robert N. M. Watson 3*86d7f5d3SJohn Marino.\" All rights reserved. 4*86d7f5d3SJohn Marino.\" 5*86d7f5d3SJohn Marino.\" Redistribution and use in source and binary forms, with or without 6*86d7f5d3SJohn Marino.\" modification, are permitted provided that the following conditions 7*86d7f5d3SJohn Marino.\" are met: 8*86d7f5d3SJohn Marino.\" 1. Redistributions of source code must retain the above copyright 9*86d7f5d3SJohn Marino.\" notice, this list of conditions and the following disclaimer. 10*86d7f5d3SJohn Marino.\" 2. Redistributions in binary form must reproduce the above copyright 11*86d7f5d3SJohn Marino.\" notice, this list of conditions and the following disclaimer in the 12*86d7f5d3SJohn Marino.\" documentation and/or other materials provided with the distribution. 13*86d7f5d3SJohn Marino.\" 14*86d7f5d3SJohn Marino.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15*86d7f5d3SJohn Marino.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16*86d7f5d3SJohn Marino.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17*86d7f5d3SJohn Marino.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18*86d7f5d3SJohn Marino.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19*86d7f5d3SJohn Marino.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20*86d7f5d3SJohn Marino.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21*86d7f5d3SJohn Marino.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22*86d7f5d3SJohn Marino.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23*86d7f5d3SJohn Marino.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24*86d7f5d3SJohn Marino.\" SUCH DAMAGE. 25*86d7f5d3SJohn Marino.\" 26*86d7f5d3SJohn Marino.\" $FreeBSD: src/lib/libposix1e/acl_dup.3,v 1.2.2.5 2001/12/20 16:27:06 ru Exp $ 27*86d7f5d3SJohn Marino.\" $DragonFly: src/lib/libposix1e/acl_dup.3,v 1.3 2004/03/11 12:28:52 hmp Exp $ 28*86d7f5d3SJohn Marino.\" 29*86d7f5d3SJohn Marino.Dd January 28, 2000 30*86d7f5d3SJohn Marino.Dt ACL_DUP 3 31*86d7f5d3SJohn Marino.Os 32*86d7f5d3SJohn Marino.Sh NAME 33*86d7f5d3SJohn Marino.Nm acl_dup 34*86d7f5d3SJohn Marino.Nd duplicate an ACL 35*86d7f5d3SJohn Marino.Sh LIBRARY 36*86d7f5d3SJohn Marino.Lb libposix1e 37*86d7f5d3SJohn Marino.Sh SYNOPSIS 38*86d7f5d3SJohn Marino.In sys/types.h 39*86d7f5d3SJohn Marino.In sys/acl.h 40*86d7f5d3SJohn Marino.Ft acl_t 41*86d7f5d3SJohn Marino.Fn acl_dup "acl_t acl" 42*86d7f5d3SJohn Marino.Sh DESCRIPTION 43*86d7f5d3SJohn MarinoThe 44*86d7f5d3SJohn Marino.Fn acl_dup 45*86d7f5d3SJohn Marinofunction returns a pointer to a copy of the ACL pointed to by the argument 46*86d7f5d3SJohn Marino.Va acl . 47*86d7f5d3SJohn Marino.Pp 48*86d7f5d3SJohn MarinoThis function may cause memory to be allocated. The caller should free any 49*86d7f5d3SJohn Marinoreleasable memory, when the new ACL is no longer required, by calling 50*86d7f5d3SJohn Marino.Xr acl_free 3 51*86d7f5d3SJohn Marinowith the 52*86d7f5d3SJohn Marino.Va (void*)acl_t 53*86d7f5d3SJohn Marinoas an argument. 54*86d7f5d3SJohn Marino.Pp 55*86d7f5d3SJohn MarinoAny existing ACL pointers that refer to the ACL referred to by 56*86d7f5d3SJohn Marino.Va acl 57*86d7f5d3SJohn Marinoshall continue to refer to the ACL. 58*86d7f5d3SJohn Marino.Sh IMPLEMENTATION NOTES 59*86d7f5d3SJohn Marino.Dx Ns 's 60*86d7f5d3SJohn Marinosupport for POSIX.1e interfaces and features is still under 61*86d7f5d3SJohn Marinodevelopment at this time. 62*86d7f5d3SJohn Marino.Sh RETURN VALUES 63*86d7f5d3SJohn MarinoUpon successful completion, this function shall return a pointer to the 64*86d7f5d3SJohn Marinoduplicate ACL. Otherwise, a value of 65*86d7f5d3SJohn Marino.Va (acl_t)NULL 66*86d7f5d3SJohn Marinoshall be returned, and 67*86d7f5d3SJohn Marino.Va errno 68*86d7f5d3SJohn Marinoshall be set to indicate the error. 69*86d7f5d3SJohn Marino.Sh ERRORS 70*86d7f5d3SJohn MarinoIf any of the following conditions occur, the 71*86d7f5d3SJohn Marino.Fn acl_init 72*86d7f5d3SJohn Marinofunction shall return a value of 73*86d7f5d3SJohn Marino.Va (acl_t)NULL 74*86d7f5d3SJohn Marinoand set 75*86d7f5d3SJohn Marino.Va errno 76*86d7f5d3SJohn Marinoto the corresponding value: 77*86d7f5d3SJohn Marino.Bl -tag -width Er 78*86d7f5d3SJohn Marino.It Bq Er EINVAL 79*86d7f5d3SJohn MarinoArgument 80*86d7f5d3SJohn Marino.Va acl 81*86d7f5d3SJohn Marinodoes not point to a valid ACL. 82*86d7f5d3SJohn Marino.It Bq Er ENOMEM 83*86d7f5d3SJohn MarinoThe 84*86d7f5d3SJohn Marino.Va acl_t 85*86d7f5d3SJohn Marinoto be returned requires more memory than is allowed by the hardware or 86*86d7f5d3SJohn Marinosystem-imposed memory management constraints. 87*86d7f5d3SJohn Marino.El 88*86d7f5d3SJohn Marino.Sh SEE ALSO 89*86d7f5d3SJohn Marino.Xr acl 3 , 90*86d7f5d3SJohn Marino.Xr acl_free 3 , 91*86d7f5d3SJohn Marino.Xr acl_get 3 , 92*86d7f5d3SJohn Marino.Xr posix1e 3 93*86d7f5d3SJohn Marino.Sh STANDARDS 94*86d7f5d3SJohn MarinoPOSIX.1e is described in IEEE POSIX.1e draft 17. Discussion 95*86d7f5d3SJohn Marinoof the draft continues on the cross-platform POSIX.1e implementation 96*86d7f5d3SJohn Marinomailing list. To join this list, see the 97*86d7f5d3SJohn Marino.Fx 98*86d7f5d3SJohn MarinoPOSIX.1e implementation 99*86d7f5d3SJohn Marinopage for more information. 100*86d7f5d3SJohn Marino.Sh HISTORY 101*86d7f5d3SJohn MarinoPOSIX.1e support was introduced in 102*86d7f5d3SJohn Marino.Fx 4.0 , 103*86d7f5d3SJohn Marinoand development continues. 104*86d7f5d3SJohn Marino.Sh AUTHORS 105*86d7f5d3SJohn Marino.An Robert N M Watson 106*86d7f5d3SJohn Marino.Sh BUGS 107*86d7f5d3SJohn MarinoThese features are not yet fully implemented. In particular, the shipped 108*86d7f5d3SJohn Marinoversion of UFS/FFS does not support storage of additional security labels, 109*86d7f5d3SJohn Marinoand so is unable to (easily) provide support for most of these features. 110