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 April 13, 2001 29.Dt ACL_GET_ENTRY 3 30.Os 31.Sh NAME 32.Nm acl_get_entry 33.Nd retrieve an ACL entry from an ACL 34.Sh LIBRARY 35.Lb libc 36.Sh SYNOPSIS 37.In sys/types.h 38.In sys/acl.h 39.Ft int 40.Fn acl_get_entry "acl_t acl" "int entry_id" "acl_entry_t *entry_p" 41.Sh DESCRIPTION 42The 43.Fn acl_get_entry 44function 45is a POSIX.1e call that retrieves a descriptor for an ACL entry 46specified by the argument 47.Fa entry_d 48within the ACL indicated by the argument 49.Fa acl . 50.Pp 51If the value of 52.Fa entry_id 53is 54.Dv ACL_FIRST_ENTRY , 55then the function will return in 56.Fa entry_p 57a descriptor for the first ACL entry within 58.Fa acl . 59If a call is made to 60.Fn acl_get_entry 61with 62.Fa entry_id 63set to 64.Dv ACL_NEXT_ENTRY 65when there has not been either an initial successful call to 66.Fn acl_get_entry , 67or a previous successfull call to 68.Fn acl_create_entry , 69.Fn acl_delete_entry , 70.Fn acl_dup , 71.Fn acl_from_text , 72.Fn acl_get_fd , 73.Fn acl_get_file , 74.Fn acl_set_fd , 75.Fn acl_set_file , 76or 77.Fn acl_valid , 78then the result is unspecified. 79.Sh RETURN VALUES 80If the 81.Fn acl_get_entry 82function successfully obtains an ACL entry, a value of 1 is returned. 83If the ACL has no ACL entries, the 84.Fn acl_get_entry 85returns a value of 0. 86If the value of 87.Fa entry_id 88is 89.Dv ACL_NEXT_ENTRY 90and the last ACL entry in the ACL has already been returned by a 91previous call to 92.Fn acl_get_entry , 93a value of 0 will be returned until a successful call with 94.Fa entry_id 95of 96.Dv ACL_FIRST_ENTRY 97is made. 98Otherwise, a value of -1 will be returned and 99the global variable 100.Va errno 101will be set to indicate the error. 102.Sh ERRORS 103The 104.Fn acl_get_entry 105fails if: 106.Bl -tag -width Er 107.It Bq Er EINVAL 108Argument 109.Fa acl 110does not point to a valid ACL. 111Argument 112.Fa entry_id 113is neither 114.Dv ACL_FIRST_ENTRY 115nor 116.Dv ACL_NEXT_ENTRY . 117.El 118.Sh SEE ALSO 119.Xr acl 3 , 120.Xr acl_calc_mask 3 , 121.Xr acl_create_entry 3 , 122.Xr acl_delete_entry 3 , 123.Xr acl_dup 3 , 124.Xr acl_from_text 3 , 125.Xr acl_get_fd 3 , 126.Xr acl_get_file 3 , 127.Xr acl_init 3 , 128.Xr acl_set_fd 3 , 129.Xr acl_set_file 3 , 130.Xr acl_valid 3 , 131.Xr posix1e 3 132.Sh STANDARDS 133POSIX.1e is described in IEEE POSIX.1e draft 17. 134.Sh HISTORY 135POSIX.1e support was introduced in 136.Fx 4.0 . 137The 138.Fn acl_get_entry 139function was added in 140.Fx 5.0 . 141.Sh AUTHORS 142The 143.Fn acl_get_entry 144function was written by 145.An Chris D. Faulhaber Aq jedgar@fxp.org . 146