|
|
1.1 ! root 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 ! 9: # notice, this list of conditions and the following disclaimer. ! 10: # 2. Redistributions in binary form must reproduce the above copyright ! 11: # notice, this list of conditions and the following disclaimer in the ! 12: # documentation and/or other materials provided with the distribution. ! 13: # 3. All advertising materials mentioning features or use of this software ! 14: # must display the following acknowledgement: ! 15: # This product includes software developed by the University of ! 16: # California, Berkeley and its contributors. ! 17: # 4. Neither the name of the University nor the names of its contributors ! 18: # may be used to endorse or promote products derived from this software ! 19: # without specific prior written permission. ! 20: # ! 21: # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ! 22: # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ! 23: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ! 24: # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ! 25: # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ! 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.3 (Berkeley) 2/3/94 ! 34: # ! 35: vop_lookup { ! 36: IN struct vnode *dvp; ! 37: INOUT struct vnode **vpp; ! 38: IN struct componentname *cnp; ! 39: }; ! 40: ! 41: vop_create { ! 42: IN WILLRELE struct vnode *dvp; ! 43: OUT struct vnode **vpp; ! 44: IN struct componentname *cnp; ! 45: IN struct vattr *vap; ! 46: }; ! 47: ! 48: vop_mknod { ! 49: IN WILLRELE struct vnode *dvp; ! 50: OUT WILLRELE struct vnode **vpp; ! 51: IN struct componentname *cnp; ! 52: IN struct vattr *vap; ! 53: }; ! 54: ! 55: vop_open { ! 56: IN struct vnode *vp; ! 57: IN int mode; ! 58: IN struct ucred *cred; ! 59: IN struct proc *p; ! 60: }; ! 61: ! 62: vop_close { ! 63: IN struct vnode *vp; ! 64: IN int fflag; ! 65: IN struct ucred *cred; ! 66: IN struct proc *p; ! 67: }; ! 68: ! 69: vop_access { ! 70: IN struct vnode *vp; ! 71: IN int mode; ! 72: IN struct ucred *cred; ! 73: IN struct proc *p; ! 74: }; ! 75: ! 76: vop_getattr { ! 77: IN struct vnode *vp; ! 78: IN struct vattr *vap; ! 79: IN struct ucred *cred; ! 80: IN struct proc *p; ! 81: }; ! 82: ! 83: vop_setattr { ! 84: IN struct vnode *vp; ! 85: IN struct vattr *vap; ! 86: IN struct ucred *cred; ! 87: IN struct proc *p; ! 88: }; ! 89: ! 90: vop_read { ! 91: IN struct vnode *vp; ! 92: INOUT struct uio *uio; ! 93: IN int ioflag; ! 94: IN struct ucred *cred; ! 95: }; ! 96: ! 97: vop_write { ! 98: IN struct vnode *vp; ! 99: INOUT struct uio *uio; ! 100: IN int ioflag; ! 101: IN struct ucred *cred; ! 102: }; ! 103: ! 104: vop_ioctl { ! 105: IN struct vnode *vp; ! 106: IN int command; ! 107: IN caddr_t data; ! 108: IN int fflag; ! 109: IN struct ucred *cred; ! 110: IN struct proc *p; ! 111: }; ! 112: ! 113: # Needs work? (fflags) ! 114: vop_select { ! 115: IN struct vnode *vp; ! 116: IN int which; ! 117: IN int fflags; ! 118: IN struct ucred *cred; ! 119: IN struct proc *p; ! 120: }; ! 121: ! 122: vop_mmap { ! 123: IN struct vnode *vp; ! 124: IN int fflags; ! 125: IN struct ucred *cred; ! 126: IN struct proc *p; ! 127: }; ! 128: ! 129: vop_fsync { ! 130: IN struct vnode *vp; ! 131: IN struct ucred *cred; ! 132: IN int waitfor; ! 133: IN struct proc *p; ! 134: }; ! 135: ! 136: # Needs word: Is newoff right? What's it mean? ! 137: vop_seek { ! 138: IN struct vnode *vp; ! 139: IN off_t oldoff; ! 140: IN off_t newoff; ! 141: IN struct ucred *cred; ! 142: }; ! 143: ! 144: vop_remove { ! 145: IN WILLRELE struct vnode *dvp; ! 146: IN WILLRELE struct vnode *vp; ! 147: IN struct componentname *cnp; ! 148: }; ! 149: ! 150: vop_link { ! 151: IN WILLRELE struct vnode *vp; ! 152: IN struct vnode *tdvp; ! 153: IN struct componentname *cnp; ! 154: }; ! 155: ! 156: vop_rename { ! 157: IN WILLRELE struct vnode *fdvp; ! 158: IN WILLRELE struct vnode *fvp; ! 159: IN struct componentname *fcnp; ! 160: IN WILLRELE struct vnode *tdvp; ! 161: IN WILLRELE struct vnode *tvp; ! 162: IN struct componentname *tcnp; ! 163: }; ! 164: ! 165: vop_mkdir { ! 166: IN WILLRELE struct vnode *dvp; ! 167: OUT struct vnode **vpp; ! 168: IN struct componentname *cnp; ! 169: IN struct vattr *vap; ! 170: }; ! 171: ! 172: vop_rmdir { ! 173: IN WILLRELE struct vnode *dvp; ! 174: IN WILLRELE struct vnode *vp; ! 175: IN struct componentname *cnp; ! 176: }; ! 177: ! 178: vop_symlink { ! 179: IN WILLRELE struct vnode *dvp; ! 180: OUT WILLRELE struct vnode **vpp; ! 181: IN struct componentname *cnp; ! 182: IN struct vattr *vap; ! 183: IN char *target; ! 184: }; ! 185: ! 186: vop_readdir { ! 187: IN struct vnode *vp; ! 188: INOUT struct uio *uio; ! 189: IN struct ucred *cred; ! 190: }; ! 191: ! 192: vop_readlink { ! 193: IN struct vnode *vp; ! 194: INOUT struct uio *uio; ! 195: IN struct ucred *cred; ! 196: }; ! 197: ! 198: vop_abortop { ! 199: IN struct vnode *dvp; ! 200: IN struct componentname *cnp; ! 201: }; ! 202: ! 203: vop_inactive { ! 204: IN struct vnode *vp; ! 205: }; ! 206: ! 207: vop_reclaim { ! 208: IN struct vnode *vp; ! 209: }; ! 210: ! 211: vop_lock { ! 212: IN struct vnode *vp; ! 213: }; ! 214: ! 215: vop_unlock { ! 216: IN struct vnode *vp; ! 217: }; ! 218: ! 219: vop_bmap { ! 220: IN struct vnode *vp; ! 221: IN daddr_t bn; ! 222: OUT struct vnode **vpp; ! 223: IN daddr_t *bnp; ! 224: OUT int *runp; ! 225: }; ! 226: ! 227: #vop_strategy { ! 228: # IN struct buf *bp; ! 229: #}; ! 230: ! 231: vop_print { ! 232: IN struct vnode *vp; ! 233: }; ! 234: ! 235: vop_islocked { ! 236: IN struct vnode *vp; ! 237: }; ! 238: ! 239: vop_pathconf { ! 240: IN struct vnode *vp; ! 241: IN int name; ! 242: OUT int *retval; ! 243: }; ! 244: ! 245: vop_advlock { ! 246: IN struct vnode *vp; ! 247: IN caddr_t id; ! 248: IN int op; ! 249: IN struct flock *fl; ! 250: IN int flags; ! 251: }; ! 252: ! 253: vop_blkatoff { ! 254: IN struct vnode *vp; ! 255: IN off_t offset; ! 256: OUT char **res; ! 257: OUT struct buf **bpp; ! 258: }; ! 259: ! 260: vop_valloc { ! 261: IN struct vnode *pvp; ! 262: IN int mode; ! 263: IN struct ucred *cred; ! 264: OUT struct vnode **vpp; ! 265: }; ! 266: ! 267: vop_reallocblks { ! 268: IN struct vnode *vp; ! 269: IN struct cluster_save *buflist; ! 270: }; ! 271: ! 272: vop_vfree { ! 273: IN struct vnode *pvp; ! 274: IN ino_t ino; ! 275: IN int mode; ! 276: }; ! 277: ! 278: vop_truncate { ! 279: IN struct vnode *vp; ! 280: IN off_t length; ! 281: IN int flags; ! 282: IN struct ucred *cred; ! 283: IN struct proc *p; ! 284: }; ! 285: ! 286: vop_update { ! 287: IN struct vnode *vp; ! 288: IN struct timeval *access; ! 289: IN struct timeval *modify; ! 290: IN int waitfor; ! 291: }; ! 292: ! 293: # Needs work: no vp? ! 294: #vop_bwrite { ! 295: # IN struct buf *bp; ! 296: #};
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.