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 |