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
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout