xref: /freebsd/lib/libc/posix1e/acl_get_qualifier.3 (revision 1b6c76a2fe091c74f08427e6c870851025a9cf67)
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.Fd #include <sys/types.h>
38.Fd #include <sys/acl.h>
39.Ft void *
40.Fn acl_get_qualifier "acl_entry_t entry_d"
41.Sh DESCRIPTION
42.Fn acl_get_qualifier
43is a POSIX.1e call that retrieves the qualifier of the tag for
44the ACL entry indicated by the argument
45.Fa entry_d
46into working storage and returns a pointer to that storage.
47.Pp
48If the value of the tag type in the ACL entry referred to by
49.Fa entry_d
50is
51.Dv ACL_USER ,
52then the value returned by
53.Fn acl_get_qualifier
54will be a pointer to type
55.Vt uid_t .
56.Pp
57If the value of the tag type in
58the ACL entry referred to by
59.Fa entry_d
60is
61.Dv ACL_GROUP ,
62then the value returned by
63.Fn acl_get_qualifier
64will be a pointer to type
65.Vt gid_t .
66.Pp
67If the value of the tag type in the ACL enty referred to by
68.Fa entry_d
69is
70.Dv ACL_UNDEFINED_TAG , ACL_USER_OBJ , ACL_GROUP_OBJ ,
71.Dv ACL_OTHER , ACL_MASK ,
72or an implementation-defined value for which a qualifier
73is not supported, then
74.Fn acl_get_qualifier
75will return a value of
76.Vt ( void * ) Ns Dv NULL
77and the function will fail.
78.Pp
79This function may cause memory to be allocated.  The caller should
80free any releasable memory, when the new qualifier is no longer
81required, by calling
82.Fn acl_free
83with
84.Vt void *
85as the argument.
86.Sh RETURN VALUES
87The
88.Fn acl_get_qualifier
89function returns a pointer to the allocated storage if successful;
90otherwise a
91.Dv NULL
92pointer is returned and the global variable
93.Va errno
94is set to indicate the error.
95.Sh ERRORS
96The
97.Fn acl_get_qualifier
98fails if:
99.Bl -tag -width Er
100.It Bq Er EINVAL
101Argument
102.Fa entry_d
103does not point to a valid descriptor for an ACL entry.  The
104value of the tag type in the ACL entry referenced by argument
105.Fa entry_d
106is not
107.Dv ACL_USER
108or
109.Dv ACL_GROUP .
110.It Bq Er ENOMEM
111The value to be returned requires more memory than is allowed
112by the hardware or system-imposed memory management constraints.
113.El
114.Sh SEE ALSO
115.Xr acl 3 ,
116.Xr acl_create_entry 3 ,
117.Xr acl_free 3 ,
118.Xr acl_get_entry 3 ,
119.Xr acl_get_tag_type 3 ,
120.Xr acl_set_qualifier 3 ,
121.Xr acl_set_tag_type 3 ,
122.Xr posix1e 3
123.Sh STANDARDS
124POSIX.1e is described in IEEE POSIX.1e draft 17.
125.Sh HISTORY
126POSIX.1e support was introduced in
127.Fx 4.0 .
128The
129.Fn acl_get_qualifier
130function was added in
131.Fx 5.0 .
132.Sh AUTHORS
133The
134.Fn acl_get_qualifier
135function was written by
136.An Chris D. Faulhaber Aq jedgar@fxp.org .
137