1# 2# Copyright (c) 1992, 1993 3# The Regents of the University of California. All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31# SUCH DAMAGE. 32# 33# @(#)vnode_if.src 8.12 (Berkeley) 5/14/95 |
34# $Id: vnode_if.src,v 1.19 1998/09/05 14:13:06 phk Exp $ |
35# 36 37# 38# Above each of the vop descriptors is a specification of the locking 39# protocol used by each vop call. The first column is the name of 40# the variable, the remaining three columns are in, out and error 41# respectively. The "in" column defines the lock state on input, 42# the "out" column defines the state on succesful return, and the 43# "error" column defines the locking state on error exit. 44# 45# The locking value can take the following values: 46# L: locked. |
47# U: unlocked. |
48# -: not applicable. vnode does not yet (or no longer) exists. 49# =: the same on input and output, may be either L or U. 50# X: locked if not nil. 51# 52 53# 54#% lookup dvp L ? ? 55#% lookup vpp - L - --- 28 unchanged lines hidden (view full) --- 84 IN struct vnode *dvp; 85 OUT struct vnode **vpp; 86 IN struct componentname *cnp; 87 IN struct vattr *vap; 88}; 89 90# 91#% whiteout dvp L L L |
92# 93vop_whiteout { 94 IN struct vnode *dvp; 95 IN struct componentname *cnp; 96 IN int flags; 97}; 98 99# --- 281 unchanged lines hidden (view full) --- 381 IN daddr_t bn; 382 OUT struct vnode **vpp; 383 IN daddr_t *bnp; 384 OUT int *runp; 385 OUT int *runb; 386}; 387 388# |
389#% strategy vp L L L |
390# 391vop_strategy { 392 IN struct vnode *vp; 393 IN struct buf *bp; 394}; 395 396# 397#% print vp = = = --- 44 unchanged lines hidden (view full) --- 442# 443#% reallocblks vp L L L 444# 445vop_reallocblks { 446 IN struct vnode *vp; 447 IN struct cluster_save *buflist; 448}; 449 |
450# 451#% getpages vp L L L 452# |
453vop_getpages { 454 IN struct vnode *vp; 455 IN vm_page_t *m; 456 IN int count; 457 IN int reqpage; 458 IN vm_ooffset_t offset; 459}; 460 |
461# 462#% putpages vp L L L 463# |
464vop_putpages { 465 IN struct vnode *vp; 466 IN vm_page_t *m; 467 IN int count; 468 IN int sync; 469 IN int *rtvals; 470 IN vm_ooffset_t offset; 471}; --- 21 unchanged lines hidden --- |