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. If the value of 86.Fa entry_id 87is 88.Dv ACL_NEXT_ENTRY 89and the last ACL entry in the ACL has already been returned by a 90previous call to 91.Fn acl_get_entry , 92a value of 0 will be returned until a successful call with 93.Fa entry_id 94of 95.Dv ACL_FIRST_ENTRY 96is made. Otherwise, a value of -1 will be returned and 97the global variable 98.Va errno 99will be set to indicate the error. 100.Sh ERRORS 101The 102.Fn acl_get_entry 103fails if: 104.Bl -tag -width Er 105.It Bq Er EINVAL 106Argument 107.Fa acl 108does not point to a valid ACL. Argument 109.Fa entry_id 110is neither 111.Dv ACL_FIRST_ENTRY 112nor 113.Dv ACL_NEXT_ENTRY . 114.El 115.Sh SEE ALSO 116.Xr acl 3 , 117.Xr acl_calc_mask 3 , 118.Xr acl_create_entry 3 , 119.Xr acl_delete_entry 3 , 120.Xr acl_dup 3 , 121.Xr acl_from_text 3 , 122.Xr acl_get_fd 3 , 123.Xr acl_get_file 3 , 124.Xr acl_init 3 , 125.Xr acl_set_fd 3 , 126.Xr acl_set_file 3 , 127.Xr acl_valid 3 , 128.Xr posix1e 3 129.Sh STANDARDS 130POSIX.1e is described in IEEE POSIX.1e draft 17. 131.Sh HISTORY 132POSIX.1e support was introduced in 133.Fx 4.0 . 134The 135.Fn acl_get_entry 136function was added in 137.Fx 5.0 . 138.Sh AUTHORS 139The 140.Fn acl_get_entry 141function was written by 142.An Chris D. Faulhaber Aq jedgar@fxp.org . 143