summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2003-06-05 14:20:48 +0000
committerrwatson <rwatson@FreeBSD.org>2003-06-05 14:20:48 +0000
commitb4d5efdf4a00e7ace0f7daf6333b05dac1fe9ddb (patch)
treea2a524c2b95e39137cdd5784c4b35f9e35b81471
parentf18163545f2849da88e3255bdba9e948b60e649c (diff)
downloadFreeBSD-src-b4d5efdf4a00e7ace0f7daf6333b05dac1fe9ddb.zip
FreeBSD-src-b4d5efdf4a00e7ace0f7daf6333b05dac1fe9ddb.tar.gz
Document VOP_LISTEXTATTR(9).
Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
-rw-r--r--share/man/man9/Makefile4
-rw-r--r--share/man/man9/VOP_GETEXTATTR.91
-rw-r--r--share/man/man9/VOP_LISTEXTATTR.9126
-rw-r--r--share/man/man9/VOP_SETEXTATTR.91
-rw-r--r--share/man/man9/extattr.94
5 files changed, 133 insertions, 3 deletions
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index 522414c..5d26313 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -15,8 +15,8 @@ MAN= BUF_LOCK.9 BUF_LOCKFREE.9 BUF_LOCKINIT.9 BUF_REFCNT.9 \
VOP_ACLCHECK.9 VOP_ADVLOCK.9 VOP_ATTRIB.9 VOP_BWRITE.9 \
VOP_CREATE.9 VOP_FSYNC.9 VOP_GETACL.9 VOP_GETEXTATTR.9 \
VOP_GETPAGES.9 VOP_GETVOBJECT.9 VOP_INACTIVE.9 VOP_IOCTL.9 \
- VOP_LEASE.9 VOP_LINK.9 VOP_LOCK.9 VOP_LOOKUP.9 VOP_OPENCLOSE.9 \
- VOP_PATHCONF.9 VOP_PRINT.9 VOP_RDWR.9 VOP_READDIR.9 \
+ VOP_LEASE.9 VOP_LINK.9 VOP_LISTEXTATTR.9 VOP_LOCK.9 VOP_LOOKUP.9 \
+ VOP_OPENCLOSE.9 VOP_PATHCONF.9 VOP_PRINT.9 VOP_RDWR.9 VOP_READDIR.9 \
VOP_READLINK.9 VOP_REALLOCBLKS.9 VOP_REMOVE.9 VOP_RENAME.9 \
VOP_REVOKE.9 VOP_SETACL.9 VOP_SETEXTATTR.9 VOP_STRATEGY.9 \
accept_filter.9 accf_data.9 accf_http.9 acl.9 atomic.9 \
diff --git a/share/man/man9/VOP_GETEXTATTR.9 b/share/man/man9/VOP_GETEXTATTR.9
index 73f123d..544481e 100644
--- a/share/man/man9/VOP_GETEXTATTR.9
+++ b/share/man/man9/VOP_GETEXTATTR.9
@@ -123,6 +123,7 @@ The file system does not support
.Sh SEE ALSO
.Xr extattr 9 ,
.Xr vnode 9 ,
+.Xr VOP_LISTEXTATTR 9
.Xr VOP_SETEXTATTR 9
.Sh BUGS
By passing in the empty string as the attribute name, some file systems
diff --git a/share/man/man9/VOP_LISTEXTATTR.9 b/share/man/man9/VOP_LISTEXTATTR.9
new file mode 100644
index 0000000..14ed6a0
--- /dev/null
+++ b/share/man/man9/VOP_LISTEXTATTR.9
@@ -0,0 +1,126 @@
+.\"-
+.\" 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 June 5, 2003
+.Os
+.Dt VOP_LISTEXTATTR 9
+.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
+.It Fa size
+if not
+.Dv NULL ,
+on return it will contain the number of bytes required to read the list.
+The resulting data will be a ASCII nul-separted list of strings.
+In most cases
+.Fa uio
+will be
+.Dv NULL
+when
+.Fa size
+is not, and vise 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 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 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 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
diff --git a/share/man/man9/VOP_SETEXTATTR.9 b/share/man/man9/VOP_SETEXTATTR.9
index a3b1455..8384d45 100644
--- a/share/man/man9/VOP_SETEXTATTR.9
+++ b/share/man/man9/VOP_SETEXTATTR.9
@@ -113,6 +113,7 @@ The file system is read-only.
.Xr extattr 9 ,
.Xr vnode 9 ,
.Xr VOP_GETEXTATTR 9
+.Xr VOP_LISTEXTATTR 9
.Sh AUTHORS
This man page was written by
.An Robert Watson .
diff --git a/share/man/man9/extattr.9 b/share/man/man9/extattr.9
index 434126b..808d250 100644
--- a/share/man/man9/extattr.9
+++ b/share/man/man9/extattr.9
@@ -73,13 +73,15 @@ specific new attributes may be defined.
Extended attributes are named using a null-terminated character string.
Depending on underlying file system semantics, this name may or may not be
case-sensitive. Appropriate vnode extended attribute calls are:
-.Xr VOP_GETEXTATTR 9
+.Xr VOP_GETEXTATTR 9 ,
+.Xr VOP_LISTEXTATTR 9 ,
and
.Xr VOP_SETEXTATTR 9 .
.Sh SEE ALSO
.Xr VFS 9 ,
.Xr VFS_EXTATTRCTL 9 ,
.Xr VOP_GETEXTATTR 9 ,
+.Xr VOP_LISTEXTATTR 9 ,
.Xr VOP_SETEXTATTR 9
.Sh AUTHORS
This man page was written by
OpenPOWER on IntegriCloud