| |
 |
 |
|
|
|
|
|
|
VOP_OPEN
VOP_OPEN(9) FreeBSD Kernel Developer's Manual VOP_OPEN(9)
NAME
VOP_OPEN, VOP_CLOSE -- open or close a file
SYNOPSIS
#include <sys/param.h>
#include <sys/vnode.h>
int
VOP_OPEN(struct vnode *vp, int mode, struct ucred *cred,
struct thread *td, int fdidx);
int
VOP_CLOSE(struct vnode *vp, int mode, struct ucred *cred,
struct thread *td);
DESCRIPTION
The VOP_OPEN() entry point is called before a file is accessed by a
process and the VOP_CLOSE() entry point is called after a file is fin-
ished with by the process.
The arguments are:
vp The vnode of the file.
mode The access mode required by the calling process.
td The thread which is accessing the file.
Additionally, VOP_OPEN() can accept a file descriptor number in fdidx;
this is useful for file systems which require such information, e.g.,
fdescfs(5).
The access mode is a set of flags, including FREAD, FWRITE, O_NONBLOCK,
O_APPEND.
LOCKS
VOP_OPEN() expects vp to be locked on entry and will leave it locked on
return.
VOP_CLOSE() expects at least a reference to be associated with the vnode
and does not care whether the vnode is locked or not. The lock and ref-
erence state is left unchanged on return. Note that vn_close expects an
unlocked, referenced vnode and will dereference the vnode prior to
returning.
IMPLEMENTATION NOTES
The fdidx argument to VOP_OPEN() is currently unused, use `-1' for the
meantime; however, this will change in future.
RETURN VALUES
Zero is returned on success, otherwise an error code is returned.
PSEUDOCODE
int
vop_open(struct vnode *vp, int mode, struct ucred *cred, struct thread *td)
{
/*
* Most file systems don't do much here.
*/
return 0;
}
SEE ALSO
vnode(9), VOP_LOOKUP(9)
AUTHORS
This manual page was written by Doug Rabson.
FreeBSD 6.2 July 24, 1996 FreeBSD 6.2
|
|
Copyright ©2006 TheBestISP.com |
|
|
|
 |
|