diff options
Diffstat (limited to 'sys/kern/vnode_if.src')
-rw-r--r-- | sys/kern/vnode_if.src | 439 |
1 files changed, 0 insertions, 439 deletions
diff --git a/sys/kern/vnode_if.src b/sys/kern/vnode_if.src deleted file mode 100644 index b15a3fd991f..00000000000 --- a/sys/kern/vnode_if.src +++ /dev/null @@ -1,439 +0,0 @@ -# $OpenBSD: vnode_if.src,v 1.32 2007/01/16 17:52:18 thib Exp $ -# $NetBSD: vnode_if.src,v 1.10 1996/05/11 18:26:27 mycroft 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. -# -# @(#)vnode_if.src 8.3 (Berkeley) 2/3/94 -# - - -# -# Above each of the vop descriptors is a specification of the locking -# protocol used by each vop call. The first column is the name of -# the variable, the remaining three columns are in, out and error -# respectively. The "in" column defines the lock state on input, -# the "out" column defines the state on successful return, and the -# "error" column defines the locking state on error exit. -# -# The locking value can take the following values: -# L: locked. -# U: unlocked/ -# -: not applicable. vnode does not yet (or no longer) exists. -# =: the same on input and output, may be either L or U. -# X: locked if not nil. -# - - -# -#% islocked vp = = = -# -vop_islocked { - IN struct vnode *vp; -}; - -# -#% lookup dvp L ? ? -#% lookup vpp - L - -# -# -# Note that EJUSTRETURN is not considered an error condition for locking -# purposes. -# -# if both ISLASTCN and LOCKPARENT are set in cnp->cn_flags then -# -# dvp L L L* -# -# otherwise, -# -# dvp L U L* -# -# * The lock state on return is indeterminate since the lookup implementations -# unlock and relock the vnode (an operation which is not guaranteed to -# succeed). However, these types of failures should be rare. Unfortunately, -# they are currently undetectable. -# - -vop_lookup { - IN struct vnode *dvp; - INOUT struct vnode **vpp; - IN struct componentname *cnp; -}; - -# -#% create dvp L U U -#% create vpp - L - -# - -vop_create { - IN SHOULDBELOCKED WILLPUT struct vnode *dvp; - OUT struct vnode **vpp; - IN struct componentname *cnp; - IN struct vattr *vap; -}; - -# -#% mknod dvp L U U -#% mknod vpp - X - -# - -vop_mknod { - IN SHOULDBELOCKED WILLPUT struct vnode *dvp; - OUT WILLRELE struct vnode **vpp; - IN struct componentname *cnp; - IN struct vattr *vap; -}; - -# -#% open vp = = = -# - -vop_open { - IN struct vnode *vp; - IN int mode; - IN struct ucred *cred; - IN struct proc *p; -}; - -# -#% close vp L L L -# - -vop_close { - IN SHOULDBELOCKED struct vnode *vp; - IN int fflag; - IN struct ucred *cred; - IN struct proc *p; -}; - -# -#% access vp L L L -# - -vop_access { - IN SHOULDBELOCKED struct vnode *vp; - IN int mode; - IN struct ucred *cred; - IN struct proc *p; -}; - -# -#% getattr vp = = = -# - -vop_getattr { - IN struct vnode *vp; - IN struct vattr *vap; - IN struct ucred *cred; - IN struct proc *p; -}; - - -# -#% setattr vp L L L -# - -vop_setattr { - IN SHOULDBELOCKED struct vnode *vp; - IN struct vattr *vap; - IN struct ucred *cred; - IN struct proc *p; -}; - -# -#% read vp L L L -# - -vop_read { - IN SHOULDBELOCKED struct vnode *vp; - INOUT struct uio *uio; - IN int ioflag; - IN struct ucred *cred; -}; - -# -#% write vp L L L -# - -vop_write { - IN SHOULDBELOCKED struct vnode *vp; - INOUT struct uio *uio; - IN int ioflag; - IN struct ucred *cred; -}; - -# -#% ioctl vp U U U -# - -vop_ioctl { - IN struct vnode *vp; - IN u_long command; - IN void *data; - IN int fflag; - IN struct ucred *cred; - IN struct proc *p; -}; - -# -#% poll vp U U U -# -vop_poll { - IN struct vnode *vp; - IN int events; - IN struct proc *p; -}; - -# -#% kqfilter vp U U U -# -vop_kqfilter { - IN struct vnode *vp; - IN struct knote *kn; -}; - -# -#% revoke vp U U U -# -vop_revoke { - IN struct vnode *vp; - IN int flags; -}; - -# -#% fsync vp L L L -# -vop_fsync { - IN SHOULDBELOCKED struct vnode *vp; - IN struct ucred *cred; - IN int waitfor; - IN struct proc *p; -}; - -# -#% remove dvp L U U -#% remove vp L U U -# - -vop_remove { - IN SHOULDBELOCKED WILLPUT struct vnode *dvp; - IN SHOULDBELOCKED WILLPUT struct vnode *vp; - IN struct componentname *cnp; -}; - -# -#% link dvp L U U -#% link vp U U U -# -vop_link { - IN SHOULDBELOCKED WILLPUT struct vnode *dvp; - IN struct vnode *vp; - IN struct componentname *cnp; -}; - -# -#% rename fdvp U U U -#% rename fvp U U U -#% rename tdvp L U U -#% rename tvp X U U -# - -vop_rename { - IN WILLRELE struct vnode *fdvp; - IN WILLRELE struct vnode *fvp; - IN struct componentname *fcnp; - IN SHOULDBELOCKED WILLPUT struct vnode *tdvp; - IN WILLRELE struct vnode *tvp; - IN struct componentname *tcnp; -}; - -# -#% mkdir dvp L U U -#% mkdir vpp - L - -# - -vop_mkdir { - IN SHOULDBELOCKED WILLPUT struct vnode *dvp; - OUT struct vnode **vpp; - IN struct componentname *cnp; - IN struct vattr *vap; -}; - -# -#% rmdir dvp L U U -#% rmdir vp L U U -# - -vop_rmdir { - IN SHOULDBELOCKED WILLPUT struct vnode *dvp; - IN SHOULDBELOCKED WILLPUT struct vnode *vp; - IN struct componentname *cnp; -}; - -# -#% symlink dvp L U U -#% symlink vpp - U - -# -# XXX - note that the return vnode has already been VRELE'ed -# by the filesystem layer. To use it you must use vget, -# possibly with a further namei. -# - -vop_symlink { - IN SHOULDBELOCKED WILLPUT struct vnode *dvp; - OUT WILLRELE struct vnode **vpp; - IN struct componentname *cnp; - IN struct vattr *vap; - IN char *target; -}; - -# -#% readdir vp L L L -# - -vop_readdir { - IN SHOULDBELOCKED struct vnode *vp; - INOUT struct uio *uio; - IN struct ucred *cred; - INOUT int *eofflag; - OUT int *ncookies; - INOUT u_long **cookies; -}; - -# -#% readlink vp L L L -# -vop_readlink { - IN SHOULDBELOCKED struct vnode *vp; - INOUT struct uio *uio; - IN struct ucred *cred; -}; - -# -#% abortop dvp = = = -# -vop_abortop { - IN struct vnode *dvp; - IN struct componentname *cnp; -}; - - -# -#% inactive vp L U U -# -vop_inactive { - IN SHOULDBELOCKED WILLUNLOCK struct vnode *vp; - IN struct proc *p; -}; - -# -#% reclaim vp U U U -# - -vop_reclaim { - IN struct vnode *vp; - IN struct proc *p; -}; - -# -#% lock vp U L U -# - -vop_lock { - IN struct vnode *vp; - IN int flags; - IN struct proc *p; -}; - -# -#% unlock vp L U L -# - -vop_unlock { - IN struct vnode *vp; - IN int flags; - IN struct proc *p; -}; - -# -#% bmap vp L L L -#% bmap vpp - U - -# - -vop_bmap { - IN SHOULDBELOCKED struct vnode *vp; - IN daddr64_t bn; - OUT struct vnode **vpp; - IN daddr64_t *bnp; - OUT int *runp; -}; - -# -# Needs work: no vp? -# -#vop_strategy { -# IN struct buf *bp; -#}; - -# -#% print vp = = = -# -vop_print { - IN struct vnode *vp; -}; -# -#% pathconf vp L L L -# -vop_pathconf { - IN SHOULDBELOCKED struct vnode *vp; - IN int name; - OUT register_t *retval; -}; - -# -#% advlock vp U U U -# -vop_advlock { - IN struct vnode *vp; - IN void *id; - IN int op; - IN struct flock *fl; - IN int flags; -}; - -# -#% reallocblks vp L L L -# -vop_reallocblks { - IN SHOULDBELOCKED struct vnode *vp; - IN struct cluster_save *buflist; -}; - -# Needs work: no vp? -#vop_bwrite { -# IN struct buf *bp; -#}; |