132900e82SRobert Watson.\"- 2e2cd9aedSRobert Watson.\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson 332900e82SRobert Watson.\" All rights reserved. 432900e82SRobert Watson.\" 532900e82SRobert Watson.\" Redistribution and use in source and binary forms, with or without 632900e82SRobert Watson.\" modification, are permitted provided that the following conditions 732900e82SRobert Watson.\" are met: 832900e82SRobert Watson.\" 1. Redistributions of source code must retain the above copyright 932900e82SRobert Watson.\" notice, this list of conditions and the following disclaimer. 1032900e82SRobert Watson.\" 2. Redistributions in binary form must reproduce the above copyright 1132900e82SRobert Watson.\" notice, this list of conditions and the following disclaimer in the 1232900e82SRobert Watson.\" documentation and/or other materials provided with the distribution. 1332900e82SRobert Watson.\" 1432900e82SRobert Watson.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1532900e82SRobert Watson.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1632900e82SRobert Watson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1732900e82SRobert Watson.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1832900e82SRobert Watson.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1932900e82SRobert Watson.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2032900e82SRobert Watson.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2132900e82SRobert Watson.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2232900e82SRobert Watson.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2332900e82SRobert Watson.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2432900e82SRobert Watson.\" SUCH DAMAGE. 2532900e82SRobert Watson.\" 2632900e82SRobert Watson.Dd December 23, 1999 2732900e82SRobert Watson.Dt VOP_GETACL 9 28aa12cea2SUlrich Spörlein.Os 2932900e82SRobert Watson.Sh NAME 3032900e82SRobert Watson.Nm VOP_GETACL 31eb083802SRuslan Ermilov.Nd retrieve access control list for a vnode 3232900e82SRobert Watson.Sh SYNOPSIS 3332eef9aeSRuslan Ermilov.In sys/param.h 3432eef9aeSRuslan Ermilov.In sys/vnode.h 3532eef9aeSRuslan Ermilov.In sys/acl.h 3632900e82SRobert Watson.Ft int 37c2508101SAndrew R. Reiter.Fn VOP_GETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct thread *td" 3832900e82SRobert Watson.Sh DESCRIPTION 3932900e82SRobert WatsonThis vnode call may be used to retrieve the access control list (ACL) from a 4032900e82SRobert Watsonfile or directory. 4132900e82SRobert Watson.Pp 4232900e82SRobert WatsonIts arguments are: 4332900e82SRobert Watson.Bl -tag -width type 44e2cd9aedSRobert Watson.It Fa vp 450a57ea7dSRuslan ErmilovThe vnode of the file or directory. 46e2cd9aedSRobert Watson.It Fa type 470a57ea7dSRuslan ErmilovThe type of ACL to retrieve. 48e2cd9aedSRobert Watson.It Fa aclp 490a57ea7dSRuslan ErmilovA pointer to an ACL structure to receive the ACL data. 50e2cd9aedSRobert Watson.It Fa cred 510a57ea7dSRuslan ErmilovThe user credentials to use in authorizing the request. 52c2508101SAndrew R. Reiter.It Fa td 530a57ea7dSRuslan ErmilovThe thread requesting the ACL. 5432900e82SRobert Watson.El 5532900e82SRobert Watson.Pp 5632900e82SRobert WatsonThe 5732900e82SRobert Watson.Fa cred 58e2cd9aedSRobert Watsonpointer may be 59e2cd9aedSRobert Watson.Dv NULL 60fdabcac6SKazuo Horikawato indicate that access control checks are not to be performed, if possible. 61e2cd9aedSRobert WatsonThis cred setting might be used to allow the kernel to authorize ACL 62e2cd9aedSRobert Watsonretrieval that the active process might not be permitted to do. 6332900e82SRobert Watson.Pp 6432900e82SRobert WatsonThe vnode ACL interface defines the syntax, and not semantics, of file and 65c1c03d49SHiten Pandyadirectory ACL interfaces. 66c1c03d49SHiten PandyaMore information about ACL management in kernel may be found in 6732900e82SRobert Watson.Xr acl 9 . 6832900e82SRobert Watson.Sh LOCKS 6928994ea0SRobert WatsonThe vnode will be locked on entry and should remain locked on return. 7032900e82SRobert Watson.Sh RETURN VALUES 7132900e82SRobert WatsonIf the 7232900e82SRobert Watson.Fa aclp 73c1c03d49SHiten Pandyapointer will point to a valid ACL, then zero is returned. 74c1c03d49SHiten PandyaOtherwise, an appropriate error code is returned. 7532900e82SRobert Watson.Sh ERRORS 7632900e82SRobert Watson.Bl -tag -width Er 7732900e82SRobert Watson.It Bq Er EINVAL 78cc258457SDon LewisThe ACL type passed is invalid for this vnode. 7932900e82SRobert Watson.It Bq Er EACCES 80*0dded339SGlen BarberThe caller does not have the appropriate privilege. 8132900e82SRobert Watson.It Bq Er ENOMEM 8281f8d226SDon LewisSufficient memory is not available to fulfill the request. 8332900e82SRobert Watson.It Bq Er EOPNOTSUPP 84e2cd9aedSRobert WatsonThe file system does not support 85cc258457SDon Lewis.Fn VOP_GETACL . 8632900e82SRobert Watson.El 8732900e82SRobert Watson.Sh SEE ALSO 8832900e82SRobert Watson.Xr acl 9 , 8932900e82SRobert Watson.Xr vnode 9 , 9032900e82SRobert Watson.Xr VOP_ACLCHECK 9 , 9132900e82SRobert Watson.Xr VOP_SETACL 9 9232900e82SRobert Watson.Sh AUTHORS 93571dba6eSHiten PandyaThis manual page was written by 9432900e82SRobert Watson.An Robert Watson . 95