FreeBSD Manual Pages
VOP_ATTRIB(9) FreeBSD 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); int VOP_STAT(struct vnode *vp, struct stat *sb, struct ucred *active_cred, struct ucred *file_cred, struct thread *td); DESCRIPTION These entry points manipulate various attributes of a file or directory, including file permissions, owner, group, size, access time and modifica- tion time. VOP_STAT() returns data in a format suitable for the stat(2) system call and by default is implemented as a wrapper around VOP_GETATTR(). Filesystems may want to implement their own variant for performance rea- sons. For VOP_GETATTR() and VOP_SETATTR() the arguments are: vp The vnode of the file. vap The attributes of the file. cred The user credentials of the calling thread. For VOP_STAT() the arguments are: vp The vnode of the file. sb The attributes of the file. active_cred The user credentials of the calling thread. file_cred The credentials installed on the file description pointing to the vnode or NOCRED. td The calling thread. 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 Both VOP_GETATTR() and VOP_STAT() expect 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 appropri- ate error is returned. VOP_STAT() returns 0 if it was able to retrieve the attribute data *sb, 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. FreeBSD 13.0 August 8, 2020 FreeBSD 13.0
NAME | SYNOPSIS | DESCRIPTION | LOCKS | RETURN VALUES | ERRORS | SEE ALSO | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=VOP_STAT&sektion=9&manpath=FreeBSD+13.2-RELEASE+and+Ports>