VOP_OPEN(9)

NAME
VOP_OPEN, VOP_CLOSE - open or close a file

SYNOPSIS
#include <sys/vnode.h>
int
VOP_OPEN(struct vnode *vp, int mode, struct ucred *cred, struct proc *p);
int
VOP_CLOSE(struct vnode *vp, int mode, struct ucred *cred, struct proc *p);

DESCRIPTION
The VOP_OPEN(9) entry point is called before a file is accessed by a process and the VOP_CLOSE(9) entry point is called after a file is finished with by the process.

The arguments are:

vp  the vnode of the file

mode
    the access mode required by the calling process

p   the process which is accessing the file

The access mode is a set of flags, including FREAD, FWRITE, O_NONBLOCK, O_APPEND.

LOCKS
The vnode vp should be locked on entry and will still be locked on exit for VOP_OPEN(9) and unlocked on entry and exit for VOP_CLOSE(9).

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 proc *p)
    {
        /*
         * Most filesystems don't do much here.
         */
        return 0;
    }

SEE ALSO
vnode(9), VOP_LOOKUP(9)

AUTHORS
This man page was written by Doug Rabson.