1937f807aSGleb Popov.\"- 2937f807aSGleb Popov.\" Copyright (c) 2021 Gleb Popov 3937f807aSGleb Popov.\" All rights reserved. 4937f807aSGleb Popov.\" 5937f807aSGleb Popov.\" Redistribution and use in source and binary forms, with or without 6937f807aSGleb Popov.\" modification, are permitted provided that the following conditions 7937f807aSGleb Popov.\" are met: 8937f807aSGleb Popov.\" 1. Redistributions of source code must retain the above copyright 9937f807aSGleb Popov.\" notice, this list of conditions and the following disclaimer. 10937f807aSGleb Popov.\" 2. Redistributions in binary form must reproduce the above copyright 11937f807aSGleb Popov.\" notice, this list of conditions and the following disclaimer in the 12937f807aSGleb Popov.\" documentation and/or other materials provided with the distribution. 13937f807aSGleb Popov.\" 14937f807aSGleb Popov.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15937f807aSGleb Popov.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16937f807aSGleb Popov.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17937f807aSGleb Popov.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18937f807aSGleb Popov.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19937f807aSGleb Popov.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20937f807aSGleb Popov.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21937f807aSGleb Popov.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22937f807aSGleb Popov.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23937f807aSGleb Popov.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24937f807aSGleb Popov.\" SUCH DAMAGE. 25937f807aSGleb Popov.\" 26937f807aSGleb Popov.Dd January 20, 2021 27937f807aSGleb Popov.Dt ACL_CMP_NP 3 28937f807aSGleb Popov.Os 29937f807aSGleb Popov.Sh NAME 30937f807aSGleb Popov.Nm acl_cmp 31937f807aSGleb Popov.Nd compare between two ACLs 32937f807aSGleb Popov.Sh LIBRARY 33937f807aSGleb Popov.Lb libc 34937f807aSGleb Popov.Sh SYNOPSIS 35937f807aSGleb Popov.In sys/types.h 36937f807aSGleb Popov.In sys/acl.h 37937f807aSGleb Popov.Ft int 38937f807aSGleb Popov.Fn acl_cmp_np "acl_t acl1" "acl_t acl2" 39937f807aSGleb Popov.Sh DESCRIPTION 40937f807aSGleb PopovThe 41937f807aSGleb Popov.Fn acl_cmp_np 42937f807aSGleb Popovfunction is a non-portable call that checks if ACLs pointed to by 43937f807aSGleb Popov.Va acl1 44937f807aSGleb Popovand 45937f807aSGleb Popov.Va acl2 46937f807aSGleb Popovare equivalent. 47937f807aSGleb PopovThe two ACLs are considered equal when they contain the same 48937f807aSGleb Popoventries with matching tag types, qualifiers and permissions. 49937f807aSGleb Popov.Sh RETURN VALUES 50937f807aSGleb PopovUpon successful completion, this function returns 0 if the given ACLs are 51937f807aSGleb Popovequivalent and 1 if they differ. 52937f807aSGleb PopovOtherwise, the value -1 is returned, and 53937f807aSGleb Popov.Va errno 54937f807aSGleb Popovindicates the error. 55937f807aSGleb Popov.Sh ERRORS 56937f807aSGleb PopovIf any of the following conditions occur, the 57937f807aSGleb Popov.Fn acl_cmp_np 58937f807aSGleb Popovfunction shall return a value of 59937f807aSGleb Popov.Va -1 60937f807aSGleb Popovand set 61937f807aSGleb Popov.Va errno 62937f807aSGleb Popovto the corresponding value: 63937f807aSGleb Popov.Bl -tag -width Er 64937f807aSGleb Popov.It Bq Er EINVAL 65937f807aSGleb PopovEither first or second argument does not point to a valid ACL. 66*d21e322dSGraham Percival.El 67937f807aSGleb Popov.Sh SEE ALSO 68937f807aSGleb Popov.Xr acl 3 , 69937f807aSGleb Popov.Xr posix1e 3 70937f807aSGleb Popov.Sh STANDARDS 71937f807aSGleb PopovPOSIX.1e is described in IEEE POSIX.1e draft 17. 72937f807aSGleb PopovDiscussion 73937f807aSGleb Popovof the draft continues on the cross-platform POSIX.1e implementation 74937f807aSGleb Popovmailing list. 75937f807aSGleb PopovTo join this list, see the 76937f807aSGleb Popov.Fx 77937f807aSGleb PopovPOSIX.1e implementation 78937f807aSGleb Popovpage for more information. 79937f807aSGleb Popov.Sh HISTORY 80937f807aSGleb PopovPOSIX.1e support was introduced in 81937f807aSGleb Popov.Fx 4.0 , 82937f807aSGleb Popovand development continues. 83937f807aSGleb Popov.Sh AUTHORS 84937f807aSGleb Popov.An Gleb Popov 85