/ posix1e / acl_get_qualifier.3
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