Annotation of XNU/bsd/kern/vnode_if.src, revision 1.1.1.1

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: #};

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.