VOP_ATTRIB(9FREEBSD) - man page online | system kernel interfaces
Get and set attributes on a file or directory.
August 29, 2008
VOP_ATTRIB(9) BSD 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> int VOP_GETATTR(struct vnode *vp, struct vattr *vap, struct ucred *cred); int VOP_SETATTR(struct vnode *vp, struct vattr *vap, struct ucred *cred);
DESCRIPTIONThese entry points manipulate various attributes of a file or directory, including file per‐ missions, 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.
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.
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 ALSOVFS(9), vnode(9), VOP_ACCESS(9)
BSD August 29, 2008 BSD
AUTHORSThis manual page was written by Doug Rabson.
|This manual||Reference||Other manuals|
|VOP_ATTRIB(9freebsd)||referred by||vnode(9freebsd) | VOP_GETATTR(9freebsd) | VOP_SETATTR(9freebsd)|
|refer to||VFS(9freebsd) | vnode(9freebsd) | VOP_ACCESS(9freebsd)|