|VOP_ATTRIB(9)||FreeBSD Kernel Developer's Manual||VOP_ATTRIB(9)|
NAMEVOP_GETATTR, VOP_SETATTR — get and set attributes on a file or directory
SYNOPSIS#include < sys/param.h>
#include < sys/vnode.h>
VOP_GETATTR( struct vnode *vp, struct vattr *vap, struct ucred *cred);
VOP_SETATTR( struct vnode *vp, struct vattr *vap, struct ucred *cred);
DESCRIPTIONThese entry points manipulate various attributes of a file or directory, including file permissions, owner, group, size, access time and modification time.
The arguments are:
- The vnode of the file.
- The attributes of the file.
- 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.
LOCKSVOP_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 VALUESVOP_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.
- [ EPERM]
- The file is immutable.
- [ EACCES]
- The caller does not have permission to modify the file or directory attributes.
- [ EROFS]
- The file system is read-only.
AUTHORSThis manual page was written by .
|August 29, 2008||FreeBSD|