xref: /freebsd/lib/libc/posix1e/acl_get_qualifier.3 (revision f8376ccd461b1a8f47eb5d17d9abbe21c81fcd4d)
14bf60dfaSChris D. Faulhaber.\"-
24bf60dfaSChris D. Faulhaber.\" Copyright (c) 2001 Chris D. Faulhaber
34bf60dfaSChris D. Faulhaber.\" All rights reserved.
44bf60dfaSChris D. Faulhaber.\"
54bf60dfaSChris D. Faulhaber.\" Redistribution and use in source and binary forms, with or without
64bf60dfaSChris D. Faulhaber.\" modification, are permitted provided that the following conditions
74bf60dfaSChris D. Faulhaber.\" are met:
84bf60dfaSChris D. Faulhaber.\" 1. Redistributions of source code must retain the above copyright
94bf60dfaSChris D. Faulhaber.\"    notice, this list of conditions and the following disclaimer.
104bf60dfaSChris D. Faulhaber.\" 2. Redistributions in binary form must reproduce the above copyright
114bf60dfaSChris D. Faulhaber.\"    notice, this list of conditions and the following disclaimer in the
124bf60dfaSChris D. Faulhaber.\"    documentation and/or other materials provided with the distribution.
134bf60dfaSChris D. Faulhaber.\"
144bf60dfaSChris D. Faulhaber.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
154bf60dfaSChris D. Faulhaber.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
164bf60dfaSChris D. Faulhaber.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
174bf60dfaSChris D. Faulhaber.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR THE VOICES IN HIS HEAD BE
184bf60dfaSChris D. Faulhaber.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
194bf60dfaSChris D. Faulhaber.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
204bf60dfaSChris D. Faulhaber.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
214bf60dfaSChris D. Faulhaber.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
224bf60dfaSChris D. Faulhaber.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
234bf60dfaSChris D. Faulhaber.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
244bf60dfaSChris D. Faulhaber.\" POSSIBILITY OF SUCH DAMAGE.
254bf60dfaSChris D. Faulhaber.\"
264bf60dfaSChris D. Faulhaber.\" $FreeBSD$
274bf60dfaSChris D. Faulhaber.\"
284bf60dfaSChris D. Faulhaber.Dd March 13, 2001
294bf60dfaSChris D. Faulhaber.Dt ACL_GET_QUALIFIER 3
304bf60dfaSChris D. Faulhaber.Os
314bf60dfaSChris D. Faulhaber.Sh NAME
324bf60dfaSChris D. Faulhaber.Nm acl_get_qualifier
33f8376ccdSRuslan Ermilov.Nd retrieve the qualifier from an ACL entry
344bf60dfaSChris D. Faulhaber.Sh LIBRARY
354bf60dfaSChris D. Faulhaber.Lb libposix1e
364bf60dfaSChris D. Faulhaber.Sh SYNOPSIS
374bf60dfaSChris D. Faulhaber.Fd #include <sys/types.h>
384bf60dfaSChris D. Faulhaber.Fd #include <sys/acl.h>
39f8376ccdSRuslan Ermilov.Ft void *
404bf60dfaSChris D. Faulhaber.Fn acl_get_qualifier "acl_entry_t entry_d"
414bf60dfaSChris D. Faulhaber.Sh DESCRIPTION
424bf60dfaSChris D. Faulhaber.Fn acl_get_qualifier
434bf60dfaSChris D. Faulhaberis a POSIX.1e call that retrieves the qualifier of the tag for
444bf60dfaSChris D. Faulhaberthe ACL entry indicated by the argument
45f8376ccdSRuslan Ermilov.Fa entry_d
464bf60dfaSChris D. Faulhaberinto working storage and returns a pointer to that storage.
474bf60dfaSChris D. Faulhaber.Pp
484bf60dfaSChris D. FaulhaberIf the value of the tag type in the ACL entry referred to by
49f8376ccdSRuslan Ermilov.Fa entry_d
50f8376ccdSRuslan Ermilovis
51f8376ccdSRuslan Ermilov.Dv ACL_USER ,
52f8376ccdSRuslan Ermilovthen the value returned by
534bf60dfaSChris D. Faulhaber.Fn acl_get_qualifier
54f8376ccdSRuslan Ermilovwill be a pointer to type
55f8376ccdSRuslan Ermilov.Vt uid_t .
564bf60dfaSChris D. Faulhaber.Pp
574bf60dfaSChris D. FaulhaberIf the value of the tag type in
584bf60dfaSChris D. Faulhaberthe ACL entry referred to by
59f8376ccdSRuslan Ermilov.Fa entry_d
60f8376ccdSRuslan Ermilovis
61f8376ccdSRuslan Ermilov.Dv ACL_GROUP ,
62f8376ccdSRuslan Ermilovthen the value returned by
634bf60dfaSChris D. Faulhaber.Fn acl_get_qualifier
64f8376ccdSRuslan Ermilovwill be a pointer to type
65f8376ccdSRuslan Ermilov.Vt gid_t .
664bf60dfaSChris D. Faulhaber.Pp
674bf60dfaSChris D. FaulhaberIf the value of the tag type in the ACL enty referred to by
68f8376ccdSRuslan Ermilov.Fa entry_d
69f8376ccdSRuslan Ermilovis
70f8376ccdSRuslan Ermilov.Dv ACL_UNDEFINED_TAG , ACL_USER_OBJ , ACL_GROUP_OBJ ,
71f8376ccdSRuslan Ermilov.Dv ACL_OTHER , ACL_MASK ,
72f8376ccdSRuslan Ermilovor an implementation-defined value for which a qualifier
734bf60dfaSChris D. Faulhaberis not supported, then
744bf60dfaSChris D. Faulhaber.Fn acl_get_qualifier
75f8376ccdSRuslan Ermilovwill return a value of
76f8376ccdSRuslan Ermilov.Vt ( void * ) Ns Dv NULL
77f8376ccdSRuslan Ermilovand the function will fail.
784bf60dfaSChris D. Faulhaber.Pp
794bf60dfaSChris D. FaulhaberThis function may cause memory to be allocated.  The caller should
804bf60dfaSChris D. Faulhaberfree any releasable memory, when the new qualifier is no longer
814bf60dfaSChris D. Faulhaberrequired, by calling
824bf60dfaSChris D. Faulhaber.Fn acl_free
83f8376ccdSRuslan Ermilovwith
84f8376ccdSRuslan Ermilov.Vt void *
85f8376ccdSRuslan Ermilovas the argument.
864bf60dfaSChris D. Faulhaber.Sh RETURN VALUES
87f8376ccdSRuslan ErmilovThe
884bf60dfaSChris D. Faulhaber.Fn acl_get_qualifier
89f8376ccdSRuslan Ermilovfunction returns a pointer to the allocated storage if successful;
90f8376ccdSRuslan Ermilovotherwise a
91f8376ccdSRuslan Ermilov.Dv NULL
92f8376ccdSRuslan Ermilovpointer is returned and the global variable
934bf60dfaSChris D. Faulhaber.Va errno
94f8376ccdSRuslan Ermilovis set to indicate the error.
95f8376ccdSRuslan Ermilov.Sh ERRORS
96f8376ccdSRuslan ErmilovThe
97f8376ccdSRuslan Ermilov.Fn acl_get_qualifier
98f8376ccdSRuslan Ermilovfails if:
994bf60dfaSChris D. Faulhaber.Bl -tag -width Er
1004bf60dfaSChris D. Faulhaber.It Bq Er EINVAL
1014bf60dfaSChris D. FaulhaberArgument
102f8376ccdSRuslan Ermilov.Fa entry_d
1034bf60dfaSChris D. Faulhaberdoes not point to a valid descriptor for an ACL entry.  The
1044bf60dfaSChris D. Faulhabervalue of the tag type in the ACL entry referenced by argument
105f8376ccdSRuslan Ermilov.Fa entry_d
106f8376ccdSRuslan Ermilovis not
107f8376ccdSRuslan Ermilov.Dv ACL_USER
108f8376ccdSRuslan Ermilovor
109f8376ccdSRuslan Ermilov.Dv ACL_GROUP .
1104bf60dfaSChris D. Faulhaber.It Bq Er ENOMEM
1114bf60dfaSChris D. FaulhaberThe value to be returned requires more memory than is allowed
1124bf60dfaSChris D. Faulhaberby the hardware or system-imposed memory management constraints.
1134bf60dfaSChris D. Faulhaber.El
1144bf60dfaSChris D. Faulhaber.Sh SEE ALSO
1154bf60dfaSChris D. Faulhaber.Xr acl 3 ,
1164bf60dfaSChris D. Faulhaber.Xr acl_create_entry 3 ,
1174bf60dfaSChris D. Faulhaber.Xr acl_free 3 ,
1184bf60dfaSChris D. Faulhaber.Xr acl_get_entry 3 ,
1194bf60dfaSChris D. Faulhaber.Xr acl_get_tag_type 3 ,
1204bf60dfaSChris D. Faulhaber.Xr acl_set_qualifier 3 ,
1214bf60dfaSChris D. Faulhaber.Xr acl_set_tag_type 3 ,
1224bf60dfaSChris D. Faulhaber.Xr posix1e 3
1234bf60dfaSChris D. Faulhaber.Sh STANDARDS
1244bf60dfaSChris D. FaulhaberPOSIX.1e is described in IEEE POSIX.1e draft 17.
1254bf60dfaSChris D. Faulhaber.Sh HISTORY
1264bf60dfaSChris D. FaulhaberPOSIX.1e support was introduced in
1274bf60dfaSChris D. Faulhaber.Fx 4.0 .
1284bf60dfaSChris D. FaulhaberThe
1294bf60dfaSChris D. Faulhaber.Fn acl_get_qualifier
1304bf60dfaSChris D. Faulhaberfunction was added in
1314bf60dfaSChris D. Faulhaber.Fx 5.0 .
1324bf60dfaSChris D. Faulhaber.Sh AUTHORS
1334bf60dfaSChris D. FaulhaberThe
1344bf60dfaSChris D. Faulhaber.Fn acl_get_qualifier
1354bf60dfaSChris D. Faulhaberfunction was written by
1364bf60dfaSChris D. Faulhaber.An Chris D. Faulhaber Aq jedgar@fxp.org .
137