vop_setextattr(9)
NAME
VOP_SETEXTATTR - set named extended attribute for a vnode
SYNOPSIS
#include <sys/param.h> #include <sys/vnode.h> #include <sys/extattr.h> int VOP_SETEXTATTR(struct vnode *vp, int attrnamespace, const char *name, struct uio *uio, struct ucred *cred, struct thread *td);
DESCRIPTION
- This vnode call may be used to set specific named extended
- attribute for
a file or directory. - Its arguments are:
- vp The vnode of the file or directory.
- attrnamespace
- Integer constant indicating which extended attribute
- namespace the
attribute name is present in. - name Pointer to a null-terminated character string contain
- ing the
- attribute name.
- uio The location of the data to be read or written.
- cred The user credentials to use in authorizing the re
- quest.
- td The thread setting the extended attribute.
- The uio structure is used in a manner similar to the argu
- ment of the same
name in VOP_WRITE(9). However, as extended attributes pro - vide a strict
"name=value" semantic, non-zero offsets will be rejected. - The uio pointer may be NULL to indicate that the specified
- extended
attribute should be deleted. - 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 changes - that the active
process might not be permitted to make. - 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
- If the extended attribute is successfully set, then zero is
- returned.
Otherwise, an appropriate error code is returned.
ERRORS
- [EACCES] The the caller does not have the appro
- priate privi
- lege.
- [ENXIO] The request was not valid in this file
- system for the
- specified vnode and attribute name.
- [ENOMEM] Insufficient memory available to fulfill
- request
- [EFAULT] The uio structure refers to an invalid
- userspace
- address.
- [EINVAL] The name, namespace, or uio argument is
- invalid.
- [EOPNOTSUPP] The file system does not support
VOP_SETEXTATTR
[ENOSPC] The file system is out of space.
[EROFS] The file system is read-only.
SEE ALSO
extattr(9), vnode(9), VOP_GETEXTATTR(9), VOP_LISTEXTATTR(9)
AUTHORS
- This manual page was written by Robert Watson.
- BSD December 23, 1999