vop_listextattr(9)
NAME
- VOP_LISTEXTATTR - retrieve a list of named extended at
- tribute from a
vnode
SYNOPSIS
#include <sys/param.h>
#include <sys/vnode.h>
#include <sys/extattr.h>
int
VOP_LISTEXTATTR(struct vnode *vp, int attrnamespace, struct
uio *uio,
size_t *size, struct ucred *cred, struct thread
*td);
DESCRIPTION
- This vnode call may be used to retrieve a list of named ex
- tended
attributes from a specified namespace on a file or directo
- ry.
- Its arguments are:
- vp The vnode of the file or directory.
- attrnamespace Integer constant indicating which extend
- ed attribute
- namespace the attribute name is present
- in.
- 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 contain
- ing the length
of the attribute name, followed by the
- attribute name.
The attribute name is not terminated by
- ASCII NUL.
- size If not NULL, on return it will contain
- the number of
- bytes required to read the list. In most
- cases uio
will be NULL when size is not, and vise
- versa.
- cred The user credentials to use in authoriz
- ing the
- request.
- td The thread requesting the extended at
- tribute.
- The cred pointer may be NULL to indicate that access control
- checks are
not to be performed, if possible. This cred setting might
- be used to
allow the kernel to authorize extended attribute retrieval
- that the
active process might not be permitted to do.
- Extended attribute semantics may vary by file system imple
- menting the
call. More information on extended attributes may be found
- in
extattr(9).
LOCKS
- The vnode will be locked on entry and should remain locked
- on return.
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.
ERRORS
- [EACCES] The caller does not have the appropriate
- privilege.
- [ENXIO] The request was not valid in this file
- system for the
- specified vnode and attribute name.
- [ENOMEM] Sufficient memory is not available to
- fulfill the
- request.
- [EFAULT] The uio structure refers to an invalid
- userspace
- address.
- [EINVAL] The namespace or uio argument is invalid.
- [EOPNOTSUPP] The file system does not support
VOP_LISTEXTATTR
SEE ALSO
- extattr(9), vnode(9), VOP_GETEXTATTR(9), VOP_SETEXTATTR(9)
- BSD August 19, 2005