Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VOP_SETEXTATTR(9)	 BSD Kernel Developer's	Manual	     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 containing the	attri-
	   bute	name.

     uio   The location	of the data to be read or written.

     cred  The user credentials	to use in authorizing the request.

     td	   The thread setting the extended attribute.

     The uio structure is used in a manner similar to the argument of the same
     name in VOP_WRITE(9).  However, as	extended attributes provide a strict
     "name=value" semantic, non-zero offsets will be rejected.

     The uio pointer may be NULL to indicate that the specified	extended at-
     tribute 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 al-
     low 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 implementing 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 appropriate 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 ad-
			dress.

     [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			   BSD

NAME | SYNOPSIS | DESCRIPTION | LOCKS | RETURN VALUES | ERRORS | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=VOP_SETEXTATTR&sektion=9&manpath=FreeBSD+8.2-RELEASE>

home | help