acl_get_qualifier.3
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: src/lib/libc/posix1e/acl_get_qualifier.3,v 1.6 2002/12/27 12:15:28 schweikh Exp $ 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 42 The 43 .Fn acl_get_qualifier 44 function 45 is a POSIX.1e call that retrieves the qualifier of the tag for 46 the ACL entry indicated by the argument 47 .Fa entry_d 48 into working storage and returns a pointer to that storage. 49 .Pp 50 If the value of the tag type in the ACL entry referred to by 51 .Fa entry_d 52 is 53 .Dv ACL_EXTENDED_ALLOW 54 or 55 .Dv ACL_EXTENDED_DENY 56 The value returned by 57 .Fn acl_get_qualifier 58 will be a pointer to type 59 .Vt guid_t . 60 .Pp 61 If the value of the tag type in the ACL entry referred to by 62 .Fa entry_d 63 is 64 .Dv ACL_UNDEFINED_TAG , 65 a tag type specified by POSIX.1e but not supported 66 or an implementation-defined value for which a qualifier 67 is not supported, then 68 .Fn acl_get_qualifier 69 will return a value of 70 .Vt ( void * ) Ns Dv NULL 71 and the function will fail. 72 .Pp 73 This function may cause memory to be allocated. The caller should 74 free any releasable memory, when the new qualifier is no longer 75 required, by calling 76 .Fn acl_free 77 with 78 .Vt void * 79 as the argument. 80 .Sh RETURN VALUES 81 The 82 .Fn acl_get_qualifier 83 function returns a pointer to the allocated storage if successful; 84 otherwise a 85 .Dv NULL 86 pointer is returned and the global variable 87 .Va errno 88 is set to indicate the error. 89 .Sh ERRORS 90 The 91 .Fn acl_get_qualifier 92 fails if: 93 .Bl -tag -width Er 94 .It Bq Er EINVAL 95 Argument 96 .Fa entry_d 97 does not point to a valid descriptor for an ACL entry. The 98 value of the tag type in the ACL entry referenced by argument 99 .Fa entry_d 100 is not 101 .Dv ACL_EXTENDED_ALLOW 102 or 103 .Dv ACL_EXTENDED_DENY . 104 .It Bq Er ENOMEM 105 The value to be returned requires more memory than is allowed 106 by the hardware or system-imposed memory management constraints. 107 .El 108 .Sh SEE ALSO 109 .Xr acl 3 , 110 .Xr acl_create_entry 3 , 111 .Xr acl_free 3 , 112 .Xr acl_get_entry 3 , 113 .Xr acl_get_tag_type 3 , 114 .Xr acl_set_qualifier 3 , 115 .Xr acl_set_tag_type 3 , 116 .Xr posix1e 3 117 .Sh STANDARDS 118 POSIX.1e is described in IEEE POSIX.1e draft 17. 119 .Sh AUTHORS 120 .An Michael Smith 121 .An Chris D. Faulhaber