summaryrefslogtreecommitdiff
path: root/sys/kern/vnode_if.src
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/vnode_if.src')
-rw-r--r--sys/kern/vnode_if.src439
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;
-#};