table of contents
| VOP_ATTRIB(9) | Kernel Developer's Manual | VOP_ATTRIB(9) |
NAME¶
VOP_GETATTR,
VOP_SETATTR — get and set
attributes on a file or directory
SYNOPSIS¶
#include
<sys/param.h>
#include <sys/vnode.h>
int
VOP_GETATTR(struct
vnode *vp, struct vattr
*vap, struct ucred
*cred);
int
VOP_SETATTR(struct
vnode *vp, struct vattr
*vap, struct ucred
*cred);
DESCRIPTION¶
These entry points manipulate various attributes of a file or directory, including file permissions, owner, group, size, access time and modification time.
The arguments are:
- vp
- The vnode of the file.
- vap
- The attributes of the file.
- cred
- The user credentials of the calling process.
Attributes which are not being modified by
VOP_SETATTR()
should be set to the value VNOVAL;
VATTR_NULL()
may be used to clear all the values, and should generally be used to reset
the contents of *vap prior to setting specific
values.
LOCKS¶
VOP_GETATTR()
expects the vnode to be locked on entry and will leave the vnode locked on
return. The lock type can be either shared or exclusive.
VOP_SETATTR()
expects the vnode to be locked on entry and will leave the vnode locked on
return. The lock type must be exclusive.
RETURN VALUES¶
VOP_GETATTR() returns 0 if it was able to
retrieve the attribute data via *vap, otherwise an
appropriate error is returned. VOP_SETATTR() returns
zero if the attributes were changed successfully, otherwise an appropriate
error is returned.
ERRORS¶
SEE ALSO¶
AUTHORS¶
This manual page was written by Doug Rabson.
| August 29, 2008 | Debian |