xref: /freebsd/share/man/man9/VOP_GETACL.9 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
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