| VNSUBR(9) | Kernel Developer's Manual | VNSUBR(9) |
vnsubr, vn_bwrite,
vn_close, vn_default_error,
vn_isunder, vn_lock,
vn_markexec, vn_marktext,
vn_rdwr, vn_open,
vn_stat, vn_writechk —
#include <sys/param.h>
#include <sys/lock.h>
#include <sys/vnode.h>
int
vn_bwrite(void
*ap);
int
vn_close(struct
vnode *vp, int
flags, kauth_cred_t
cred);
int
vn_default_error(void
*v);
int
vn_isunder(struct
vnode *dvp, struct vnode
*rvp, struct lwp
*l);
int
vn_lock(struct
vnode *vp, int
flags);
void
vn_markexec(struct
vnode *vp);
void
vn_marktext(struct
vnode *vp);
int
vn_open(struct
nameidata *ndp, int
fmode, int
cmode);
int
vn_rdwr(enum uio_rw rw,
struct vnode *vp, void *base,
int len, off_t offset,
enum uio_seg segflg, int ioflg,
kauth_cred_t cred, size_t
*aresid, struct lwp *l);
int
vn_readdir(file_t
*fp, char *buf,
int segflg,
u_int count,
int *done,
struct lwp *l,
off_t **cookies,
int *ncookies);
int
vn_stat(struct
vnode *vp, struct stat
*sb);
int
vn_writechk(struct
vnode *vp);
vn_bwrite(ap)vn_close(vp,
flags, cred)vn_close() simply locks the vnode, invokes the
vnode operation
VOP_CLOSE(9) and calls
vput() to return the vnode to the freelist or
holdlist. Note that vn_close() expects an
unlocked, referenced vnode and will dereference the vnode prior to
returning. If the operation is successful zero is returned, otherwise an
appropriate error is returned.vn_default_error(v)vn_isunder(dvp,
rvp, l)vn_isunder() is intended
to be used in chroot(2),
chdir(2),
fchdir(2), etc., to ensure
that chroot(2) actually
means something. If the operation is successful zero is returned,
otherwise 1 is returned.vn_lock(vp,
flags)If the operation is successful zero is returned, otherwise an appropriate error code is returned.
vn_lock() must not be called when the
vnode's reference count is zero.
vn_markexec(vp)vn_marktext(vp)vn_open(ndp,
fmode, cmode)vn_open() checks
permissions and invokes the
VOP_OPEN(9) or
VOP_CREATE(9) vnode
operations. If the operation is successful zero is returned and the vnode
is locked, otherwise an appropriate error code is returned.vn_rdwr(rw,
vp, base,
len, offset,
segflg, ioflg,
cred, aresid,
l)UIO_READ) or write
(UIO_WRITE) operation. The vnode is specified by
vp. The arguments l and
cred are the calling lwp and its credentials. If
ioflg contains
IO_NODELOCKED, it is expected that the vnode is
locked. ioflg will be passed to
VOP_READ()/VOP_WRITE().
The remaining arguments specify the uio parameters. For further
information on these parameters see
uiomove(9).vn_readdir(fp,
buf, segflg,
count, done,
l, cookies,
ncookies)NULL if
they aren't required to be returned by
vn_readdir(). If the operation is successful zero
is returned, otherwise an appropriate error code is returned.vn_stat(vp,
sb)vn_stat()
basically calls the vnode operation
VOP_GETATTR(9) and
transfers the contents of a vattr structure into a struct stat. If the
operation is successful zero is returned, otherwise an appropriate error
code is returned.vn_writechk(vp)| January 2, 2017 | NetBSD 9.2 |