NAME
VOP_GETATTR, VOP_SETATTR — get and set attributes on a file or directorySYNOPSIS
#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.
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
- [
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.
SEE ALSO
VFS(9), vnode(9), VOP_ACCESS(9)AUTHORS
This manual page was written by Doug Rabson.August 29, 2008 | Debian |