/share/man/man9/VOP_LISTEXTATTR.9
https://bitbucket.org/freebsd/freebsd-head/ · Unknown · 136 lines · 136 code · 0 blank · 0 comment · 0 complexity · 8548a9e34d3e4d3e6868c507be5a2bb0 MD5 · raw file
- .\"-
- .\" Copyright (c) 2003 Network Associates Technology, Inc.
- .\" All rights reserved.
- .\"
- .\" This software was developed for the FreeBSD Project in part by Network
- .\" Associates Laboratories, the Security Research Division of Network
- .\" Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"),
- .\" as part of the DARPA CHATS research program.
- .\"
- .\" Redistribution and use in source and binary forms, with or without
- .\" modification, are permitted provided that the following conditions
- .\" are met:
- .\" 1. Redistributions of source code must retain the above copyright
- .\" notice, this list of conditions and the following disclaimer.
- .\" 2. Redistributions in binary form must reproduce the above copyright
- .\" notice, this list of conditions and the following disclaimer in the
- .\" documentation and/or other materials provided with the distribution.
- .\"
- .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- .\" SUCH DAMAGE.
- .\"
- .\" $FreeBSD$
- .\"
- .Dd August 19, 2005
- .Dt VOP_LISTEXTATTR 9
- .Os
- .Sh NAME
- .Nm VOP_LISTEXTATTR
- .Nd retrieve a list of named extended attribute from a vnode
- .Sh SYNOPSIS
- .In sys/param.h
- .In sys/vnode.h
- .In sys/extattr.h
- .Ft int
- .Fo VOP_LISTEXTATTR
- .Fa "struct vnode *vp"
- .Fa "int attrnamespace"
- .Fa "struct uio *uio"
- .Fa "size_t *size"
- .Fa "struct ucred *cred"
- .Fa "struct thread *td"
- .Fc
- .Sh DESCRIPTION
- This vnode call may be used to retrieve a list of named extended attributes
- from a specified namespace on a file or directory.
- .Pp
- Its arguments are:
- .Bl -tag -width ".Fa attrnamespace"
- .It Fa vp
- The vnode of the file or directory.
- .It Fa attrnamespace
- Integer constant indicating which extended attribute namespace the attribute
- name is present in.
- .It Fa uio
- The location of the data to be read.
- The resulting data will be a list of attribute names.
- Each list entry consists of a single byte containing the length of
- the attribute name, followed by the attribute name.
- The attribute name is not terminated by
- .Tn ASCII
- .Dv NUL .
- .It Fa size
- If not
- .Dv NULL ,
- on return it will contain the number of bytes required to read the list.
- In most cases
- .Fa uio
- will be
- .Dv NULL
- when
- .Fa size
- is not, and vice versa.
- .It Fa cred
- The user credentials to use in authorizing the request.
- .It Fa td
- The thread requesting the extended attribute.
- .El
- .Pp
- The
- .Fa cred
- pointer may be
- .Dv NULL
- to indicate that access control checks are not to be performed, if possible.
- This
- .Fa cred
- setting might be used to allow the kernel to authorize extended attribute
- retrieval that the active process might not be permitted to do.
- .Pp
- Extended attribute semantics may vary by file system implementing the call.
- More information on extended attributes may be found in
- .Xr extattr 9 .
- .Sh LOCKS
- The vnode will be locked on entry and should remain locked on return.
- .Sh RETURN VALUES
- On success, zero will be returned, and the
- .Fa uio
- structure will be updated to
- reflect the list read.
- Otherwise, an appropriate error code is returned.
- .Sh ERRORS
- .Bl -tag -width Er
- .It Bq Er EACCES
- The caller does not have the appropriate privilege.
- .It Bq Er ENXIO
- The request was not valid in this file system for the specified vnode and
- attribute name.
- .It Bq Er ENOMEM
- Sufficient memory is not available to fulfill the request.
- .It Bq Er EFAULT
- The
- .Fa uio
- structure refers to an invalid userspace address.
- .It Bq Er EINVAL
- The
- .Fa namespace
- or
- .Fa uio
- argument is invalid.
- .It Bq Er EOPNOTSUPP
- The file system does not support
- .Fn VOP_LISTEXTATTR .
- .El
- .Sh SEE ALSO
- .Xr extattr 9 ,
- .Xr vnode 9 ,
- .Xr VOP_GETEXTATTR 9 ,
- .Xr VOP_SETEXTATTR 9