/* * Warning: This file is generated automatically. * (Modifications made here may easily be lost!) * * Created from the file: * OpenBSD: vnode_if.src,v 1.32 2007/01/16 17:52:18 thib Exp * by the script: * OpenBSD: vnode_if.sh,v 1.15 2006/01/02 05:05:11 jsg Exp */ /* * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ extern struct vnodeop_desc vop_default_desc; #include "systm.h" struct vop_islocked_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; }; extern struct vnodeop_desc vop_islocked_desc; int VOP_ISLOCKED(struct vnode *); struct vop_lookup_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct vnode **a_vpp; struct componentname *a_cnp; }; extern struct vnodeop_desc vop_lookup_desc; int VOP_LOOKUP(struct vnode *, struct vnode **, struct componentname *); struct vop_create_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct vnode **a_vpp; struct componentname *a_cnp; struct vattr *a_vap; }; extern struct vnodeop_desc vop_create_desc; int VOP_CREATE(struct vnode *, struct vnode **, struct componentname *, struct vattr *); struct vop_mknod_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct vnode **a_vpp; struct componentname *a_cnp; struct vattr *a_vap; }; extern struct vnodeop_desc vop_mknod_desc; int VOP_MKNOD(struct vnode *, struct vnode **, struct componentname *, struct vattr *); struct vop_open_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; int a_mode; struct ucred *a_cred; struct proc *a_p; }; extern struct vnodeop_desc vop_open_desc; int VOP_OPEN(struct vnode *, int, struct ucred *, struct proc *); struct vop_close_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; int a_fflag; struct ucred *a_cred; struct proc *a_p; }; extern struct vnodeop_desc vop_close_desc; int VOP_CLOSE(struct vnode *, int, struct ucred *, struct proc *); struct vop_access_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; int a_mode; struct ucred *a_cred; struct proc *a_p; }; extern struct vnodeop_desc vop_access_desc; int VOP_ACCESS(struct vnode *, int, struct ucred *, struct proc *); struct vop_getattr_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct vattr *a_vap; struct ucred *a_cred; struct proc *a_p; }; extern struct vnodeop_desc vop_getattr_desc; int VOP_GETATTR(struct vnode *, struct vattr *, struct ucred *, struct proc *); struct vop_setattr_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct vattr *a_vap; struct ucred *a_cred; struct proc *a_p; }; extern struct vnodeop_desc vop_setattr_desc; int VOP_SETATTR(struct vnode *, struct vattr *, struct ucred *, struct proc *); struct vop_read_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct uio *a_uio; int a_ioflag; struct ucred *a_cred; }; extern struct vnodeop_desc vop_read_desc; int VOP_READ(struct vnode *, struct uio *, int, struct ucred *); struct vop_write_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct uio *a_uio; int a_ioflag; struct ucred *a_cred; }; extern struct vnodeop_desc vop_write_desc; int VOP_WRITE(struct vnode *, struct uio *, int, struct ucred *); struct vop_ioctl_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; u_long a_command; void *a_data; int a_fflag; struct ucred *a_cred; struct proc *a_p; }; extern struct vnodeop_desc vop_ioctl_desc; int VOP_IOCTL(struct vnode *, u_long, void *, int, struct ucred *, struct proc *); struct vop_poll_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; int a_events; struct proc *a_p; }; extern struct vnodeop_desc vop_poll_desc; int VOP_POLL(struct vnode *, int, struct proc *); struct vop_kqfilter_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct knote *a_kn; }; extern struct vnodeop_desc vop_kqfilter_desc; int VOP_KQFILTER(struct vnode *, struct knote *); struct vop_revoke_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; int a_flags; }; extern struct vnodeop_desc vop_revoke_desc; int VOP_REVOKE(struct vnode *, int); struct vop_fsync_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct ucred *a_cred; int a_waitfor; struct proc *a_p; }; extern struct vnodeop_desc vop_fsync_desc; int VOP_FSYNC(struct vnode *, struct ucred *, int, struct proc *); struct vop_remove_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct vnode *a_vp; struct componentname *a_cnp; }; extern struct vnodeop_desc vop_remove_desc; int VOP_REMOVE(struct vnode *, struct vnode *, struct componentname *); struct vop_link_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct vnode *a_vp; struct componentname *a_cnp; }; extern struct vnodeop_desc vop_link_desc; int VOP_LINK(struct vnode *, struct vnode *, struct componentname *); struct vop_rename_args { struct vnodeop_desc *a_desc; struct vnode *a_fdvp; struct vnode *a_fvp; struct componentname *a_fcnp; struct vnode *a_tdvp; struct vnode *a_tvp; struct componentname *a_tcnp; }; extern struct vnodeop_desc vop_rename_desc; int VOP_RENAME(struct vnode *, struct vnode *, struct componentname *, struct vnode *, struct vnode *, struct componentname *); struct vop_mkdir_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct vnode **a_vpp; struct componentname *a_cnp; struct vattr *a_vap; }; extern struct vnodeop_desc vop_mkdir_desc; int VOP_MKDIR(struct vnode *, struct vnode **, struct componentname *, struct vattr *); struct vop_rmdir_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct vnode *a_vp; struct componentname *a_cnp; }; extern struct vnodeop_desc vop_rmdir_desc; int VOP_RMDIR(struct vnode *, struct vnode *, struct componentname *); struct vop_symlink_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct vnode **a_vpp; struct componentname *a_cnp; struct vattr *a_vap; char *a_target; }; extern struct vnodeop_desc vop_symlink_desc; int VOP_SYMLINK(struct vnode *, struct vnode **, struct componentname *, struct vattr *, char *); struct vop_readdir_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct uio *a_uio; struct ucred *a_cred; int *a_eofflag; int *a_ncookies; u_long **a_cookies; }; extern struct vnodeop_desc vop_readdir_desc; int VOP_READDIR(struct vnode *, struct uio *, struct ucred *, int *, int *, u_long **); struct vop_readlink_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct uio *a_uio; struct ucred *a_cred; }; extern struct vnodeop_desc vop_readlink_desc; int VOP_READLINK(struct vnode *, struct uio *, struct ucred *); struct vop_abortop_args { struct vnodeop_desc *a_desc; struct vnode *a_dvp; struct componentname *a_cnp; }; extern struct vnodeop_desc vop_abortop_desc; int VOP_ABORTOP(struct vnode *, struct componentname *); struct vop_inactive_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct proc *a_p; }; extern struct vnodeop_desc vop_inactive_desc; int VOP_INACTIVE(struct vnode *, struct proc *); struct vop_reclaim_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct proc *a_p; }; extern struct vnodeop_desc vop_reclaim_desc; int VOP_RECLAIM(struct vnode *, struct proc *); struct vop_lock_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; int a_flags; struct proc *a_p; }; extern struct vnodeop_desc vop_lock_desc; int VOP_LOCK(struct vnode *, int, struct proc *); struct vop_unlock_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; int a_flags; struct proc *a_p; }; extern struct vnodeop_desc vop_unlock_desc; int VOP_UNLOCK(struct vnode *, int, struct proc *); struct vop_bmap_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; daddr64_t a_bn; struct vnode **a_vpp; daddr64_t *a_bnp; int *a_runp; }; extern struct vnodeop_desc vop_bmap_desc; int VOP_BMAP(struct vnode *, daddr64_t, struct vnode **, daddr64_t *, int *); struct vop_print_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; }; extern struct vnodeop_desc vop_print_desc; int VOP_PRINT(struct vnode *); struct vop_pathconf_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; int a_name; register_t *a_retval; }; extern struct vnodeop_desc vop_pathconf_desc; int VOP_PATHCONF(struct vnode *, int, register_t *); struct vop_advlock_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; void *a_id; int a_op; struct flock *a_fl; int a_flags; }; extern struct vnodeop_desc vop_advlock_desc; int VOP_ADVLOCK(struct vnode *, void *, int, struct flock *, int); struct vop_reallocblks_args { struct vnodeop_desc *a_desc; struct vnode *a_vp; struct cluster_save *a_buflist; }; extern struct vnodeop_desc vop_reallocblks_desc; int VOP_REALLOCBLKS(struct vnode *, struct cluster_save *); /* Special cases: */ #include struct vop_strategy_args { struct vnodeop_desc *a_desc; struct buf *a_bp; }; extern struct vnodeop_desc vop_strategy_desc; int VOP_STRATEGY(struct buf *); struct vop_bwrite_args { struct vnodeop_desc *a_desc; struct buf *a_bp; }; extern struct vnodeop_desc vop_bwrite_desc; int VOP_BWRITE(struct buf *); /* End of special cases. */