xref: /freebsd/lib/libc/posix1e/acl_cmp_np.3 (revision d21e322d563e0fd1f92c22205c2ced4bcd22dc23)
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