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