xref: /freebsd/lib/libc/posix1e/acl_get_qualifier.3 (revision d37ea99837e6ad50837fd9fe1771ddf1c3ba6002)
1.\"-
2.\" Copyright (c) 2001 Chris D. Faulhaber
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR THE VOICES IN HIS HEAD BE
18.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24.\" POSSIBILITY OF SUCH DAMAGE.
25.\"
26.\" $FreeBSD$
27.\"
28.Dd March 13, 2001
29.Dt ACL_GET_QUALIFIER 3
30.Os
31.Sh NAME
32.Nm acl_get_qualifier
33.Nd retrieve the qualifier from an ACL entry
34.Sh LIBRARY
35.Lb libc
36.Sh SYNOPSIS
37.In sys/types.h
38.In sys/acl.h
39.Ft void *
40.Fn acl_get_qualifier "acl_entry_t entry_d"
41.Sh DESCRIPTION
42The
43.Fn acl_get_qualifier
44function
45is a POSIX.1e call that retrieves the qualifier of the tag for
46the ACL entry indicated by the argument
47.Fa entry_d
48into working storage and returns a pointer to that storage.
49.Pp
50If the value of the tag type in the ACL entry referred to by
51.Fa entry_d
52is
53.Dv ACL_USER ,
54then the value returned by
55.Fn acl_get_qualifier
56will be a pointer to type
57.Vt uid_t .
58.Pp
59If the value of the tag type in
60the ACL entry referred to by
61.Fa entry_d
62is
63.Dv ACL_GROUP ,
64then the value returned by
65.Fn acl_get_qualifier
66will be a pointer to type
67.Vt gid_t .
68.Pp
69If the value of the tag type in the ACL entry referred to by
70.Fa entry_d
71is
72.Dv ACL_UNDEFINED_TAG , ACL_USER_OBJ , ACL_GROUP_OBJ ,
73.Dv ACL_OTHER , ACL_MASK ,
74or an implementation-defined value for which a qualifier
75is not supported, then
76.Fn acl_get_qualifier
77will return a value of
78.Vt ( void * ) Ns Dv NULL
79and the function will fail.
80.Pp
81This function may cause memory to be allocated.  The caller should
82free any releasable memory, when the new qualifier is no longer
83required, by calling
84.Fn acl_free
85with
86.Vt void *
87as the argument.
88.Sh RETURN VALUES
89The
90.Fn acl_get_qualifier
91function returns a pointer to the allocated storage if successful;
92otherwise a
93.Dv NULL
94pointer is returned and the global variable
95.Va errno
96is set to indicate the error.
97.Sh ERRORS
98The
99.Fn acl_get_qualifier
100fails if:
101.Bl -tag -width Er
102.It Bq Er EINVAL
103Argument
104.Fa entry_d
105does not point to a valid descriptor for an ACL entry.  The
106value of the tag type in the ACL entry referenced by argument
107.Fa entry_d
108is not
109.Dv ACL_USER
110or
111.Dv ACL_GROUP .
112.It Bq Er ENOMEM
113The value to be returned requires more memory than is allowed
114by the hardware or system-imposed memory management constraints.
115.El
116.Sh SEE ALSO
117.Xr acl 3 ,
118.Xr acl_create_entry 3 ,
119.Xr acl_free 3 ,
120.Xr acl_get_entry 3 ,
121.Xr acl_get_tag_type 3 ,
122.Xr acl_set_qualifier 3 ,
123.Xr acl_set_tag_type 3 ,
124.Xr posix1e 3
125.Sh STANDARDS
126POSIX.1e is described in IEEE POSIX.1e draft 17.
127.Sh HISTORY
128POSIX.1e support was introduced in
129.Fx 4.0 .
130The
131.Fn acl_get_qualifier
132function was added in
133.Fx 5.0 .
134.Sh AUTHORS
135The
136.Fn acl_get_qualifier
137function was written by
138.An Chris D. Faulhaber Aq jedgar@fxp.org .
139