Manual Page Result
0
Command: VOP_STAT | Section: 9 | Source: FreeBSD | File: VOP_STAT.9.gz
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, flags, 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, flags, struct, ucred,
*active_cred, struct, ucred, *file_cred);
DESCRIPTION
These entry points manipulate various attributes of a file or directory,
including file permissions, owner, group, size, access time and
modification 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
reasons.
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.
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
appropriate 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 14.1-RELEASE-p8 October 2, 2021 FreeBSD 14.1-RELEASE-p8