Annotation of XNU/bsd/sys/vnode_if.h, revision 1.1.1.1

1.1       root        1: 
                      2: /*
                      3:  * Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
                      4:  * Copyright (c) 1992, 1993, 1994, 1995
                      5:  *     The Regents of the University of California.  All rights reserved.
                      6:  *
                      7:  * Redistribution and use in source and binary forms, with or without
                      8:  * modification, are permitted provided that the following conditions
                      9:  * are met:
                     10:  * 1. Redistributions of source code must retain the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer.
                     12:  * 2. Redistributions in binary form must reproduce the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer in the
                     14:  *    documentation and/or other materials provided with the distribution.
                     15:  * 3. All advertising materials mentioning features or use of this software
                     16:  *    must display the following acknowledgement:
                     17:  *      This product includes software developed by the University of
                     18:  *      California, Berkeley and its contributors.
                     19:  * 4. Neither the name of the University nor the names of its contributors
                     20:  *    may be used to endorse or promote products derived from this software
                     21:  *    without specific prior written permission.
                     22:  *
                     23:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS AND
                     24:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     25:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     26:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     27:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     28:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     29:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     30:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     31:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     32:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     33:  * SUCH DAMAGE.
                     34:  */
                     35: 
                     36: 
                     37: /*
                     38:  * Warning: This file is generated automatically.
                     39:  * (Modifications made here may easily be lost!)
                     40:  *
                     41:  * Created by the script:
                     42:  *     @(#)vnode_if.sh 8.7 (Berkeley) 5/11/95
                     43:  */
                     44: 
                     45: 
                     46: extern struct vnodeop_desc vop_default_desc;
                     47: 
                     48: 
                     49: struct vop_lookup_args {
                     50:        struct vnodeop_desc *a_desc;
                     51:        struct vnode *a_dvp;
                     52:        struct vnode **a_vpp;
                     53:        struct componentname *a_cnp;
                     54: };
                     55: extern struct vnodeop_desc vop_lookup_desc;
                     56: #define VOP_LOOKUP(dvp, vpp, cnp) _VOP_LOOKUP(dvp, vpp, cnp)
                     57: static __inline int _VOP_LOOKUP(dvp, vpp, cnp)
                     58:        struct vnode *dvp;
                     59:        struct vnode **vpp;
                     60:        struct componentname *cnp;
                     61: {
                     62:        struct vop_lookup_args a;
                     63:        a.a_desc = VDESC(vop_lookup);
                     64:        a.a_dvp = dvp;
                     65:        a.a_vpp = vpp;
                     66:        a.a_cnp = cnp;
                     67:        return (VCALL(dvp, VOFFSET(vop_lookup), &a));
                     68: }
                     69: 
                     70: struct vop_cachedlookup_args {
                     71:        struct vnodeop_desc *a_desc;
                     72:        struct vnode *a_dvp;
                     73:        struct vnode **a_vpp;
                     74:        struct componentname *a_cnp;
                     75: };
                     76: extern struct vnodeop_desc vop_cachedlookup_desc;
                     77: #define VOP_CACHEDLOOKUP(dvp, vpp, cnp) _VOP_CACHEDLOOKUP(dvp, vpp, cnp)
                     78: static __inline int _VOP_CACHEDLOOKUP(dvp, vpp, cnp)
                     79:        struct vnode *dvp;
                     80:        struct vnode **vpp;
                     81:        struct componentname *cnp;
                     82: {
                     83:        struct vop_cachedlookup_args a;
                     84:        a.a_desc = VDESC(vop_cachedlookup);
                     85:        a.a_dvp = dvp;
                     86:        a.a_vpp = vpp;
                     87:        a.a_cnp = cnp;
                     88:        return (VCALL(dvp, VOFFSET(vop_cachedlookup), &a));
                     89: }
                     90: 
                     91: struct vop_create_args {
                     92:        struct vnodeop_desc *a_desc;
                     93:        struct vnode *a_dvp;
                     94:        struct vnode **a_vpp;
                     95:        struct componentname *a_cnp;
                     96:        struct vattr *a_vap;
                     97: };
                     98: extern struct vnodeop_desc vop_create_desc;
                     99: #define VOP_CREATE(dvp, vpp, cnp, vap) _VOP_CREATE(dvp, vpp, cnp, vap)
                    100: static __inline int _VOP_CREATE(dvp, vpp, cnp, vap)
                    101:        struct vnode *dvp;
                    102:        struct vnode **vpp;
                    103:        struct componentname *cnp;
                    104:        struct vattr *vap;
                    105: {
                    106:        struct vop_create_args a;
                    107:        a.a_desc = VDESC(vop_create);
                    108:        a.a_dvp = dvp;
                    109:        a.a_vpp = vpp;
                    110:        a.a_cnp = cnp;
                    111:        a.a_vap = vap;
                    112:        return (VCALL(dvp, VOFFSET(vop_create), &a));
                    113: }
                    114: 
                    115: struct vop_whiteout_args {
                    116:        struct vnodeop_desc *a_desc;
                    117:        struct vnode *a_dvp;
                    118:        struct componentname *a_cnp;
                    119:        int a_flags;
                    120: };
                    121: extern struct vnodeop_desc vop_whiteout_desc;
                    122: #define VOP_WHITEOUT(dvp, cnp, flags) _VOP_WHITEOUT(dvp, cnp, flags)
                    123: static __inline int _VOP_WHITEOUT(dvp, cnp, flags)
                    124:        struct vnode *dvp;
                    125:        struct componentname *cnp;
                    126:        int flags;
                    127: {
                    128:        struct vop_whiteout_args a;
                    129:        a.a_desc = VDESC(vop_whiteout);
                    130:        a.a_dvp = dvp;
                    131:        a.a_cnp = cnp;
                    132:        a.a_flags = flags;
                    133:        return (VCALL(dvp, VOFFSET(vop_whiteout), &a));
                    134: }
                    135: 
                    136: struct vop_mknod_args {
                    137:        struct vnodeop_desc *a_desc;
                    138:        struct vnode *a_dvp;
                    139:        struct vnode **a_vpp;
                    140:        struct componentname *a_cnp;
                    141:        struct vattr *a_vap;
                    142: };
                    143: extern struct vnodeop_desc vop_mknod_desc;
                    144: #define VOP_MKNOD(dvp, vpp, cnp, vap) _VOP_MKNOD(dvp, vpp, cnp, vap)
                    145: static __inline int _VOP_MKNOD(dvp, vpp, cnp, vap)
                    146:        struct vnode *dvp;
                    147:        struct vnode **vpp;
                    148:        struct componentname *cnp;
                    149:        struct vattr *vap;
                    150: {
                    151:        struct vop_mknod_args a;
                    152:        a.a_desc = VDESC(vop_mknod);
                    153:        a.a_dvp = dvp;
                    154:        a.a_vpp = vpp;
                    155:        a.a_cnp = cnp;
                    156:        a.a_vap = vap;
                    157:        return (VCALL(dvp, VOFFSET(vop_mknod), &a));
                    158: }
                    159: 
                    160: struct vop_mkcomplex_args {
                    161:        struct vnodeop_desc *a_desc;
                    162:        struct vnode *a_dvp;
                    163:        struct vnode **a_vpp;
                    164:        struct componentname *a_cnp;
                    165:        struct vattr *a_vap;
                    166:        u_long a_type;
                    167: };
                    168: extern struct vnodeop_desc vop_mkcomplex_desc;
                    169: #define VOP_MKCOMPLEX(dvp, vpp, cnp, vap, type) _VOP_MKCOMPLEX(dvp, vpp, cnp, vap, type)
                    170: static __inline int _VOP_MKCOMPLEX(dvp, vpp, cnp, vap, type)
                    171:        struct vnode *dvp;
                    172:        struct vnode **vpp;
                    173:        struct componentname *cnp;
                    174:        struct vattr *vap;
                    175:        u_long type;
                    176: {
                    177:        struct vop_mkcomplex_args a;
                    178:        a.a_desc = VDESC(vop_mkcomplex);
                    179:        a.a_dvp = dvp;
                    180:        a.a_vpp = vpp;
                    181:        a.a_cnp = cnp;
                    182:        a.a_vap = vap;
                    183:        a.a_type = type;
                    184:        return (VCALL(dvp, VOFFSET(vop_mkcomplex), &a));
                    185: }
                    186: 
                    187: struct vop_open_args {
                    188:        struct vnodeop_desc *a_desc;
                    189:        struct vnode *a_vp;
                    190:        int a_mode;
                    191:        struct ucred *a_cred;
                    192:        struct proc *a_p;
                    193: };
                    194: extern struct vnodeop_desc vop_open_desc;
                    195: #define VOP_OPEN(vp, mode, cred, p) _VOP_OPEN(vp, mode, cred, p)
                    196: static __inline int _VOP_OPEN(vp, mode, cred, p)
                    197:        struct vnode *vp;
                    198:        int mode;
                    199:        struct ucred *cred;
                    200:        struct proc *p;
                    201: {
                    202:        struct vop_open_args a;
                    203:        a.a_desc = VDESC(vop_open);
                    204:        a.a_vp = vp;
                    205:        a.a_mode = mode;
                    206:        a.a_cred = cred;
                    207:        a.a_p = p;
                    208:        return (VCALL(vp, VOFFSET(vop_open), &a));
                    209: }
                    210: 
                    211: struct vop_close_args {
                    212:        struct vnodeop_desc *a_desc;
                    213:        struct vnode *a_vp;
                    214:        int a_fflag;
                    215:        struct ucred *a_cred;
                    216:        struct proc *a_p;
                    217: };
                    218: extern struct vnodeop_desc vop_close_desc;
                    219: #define VOP_CLOSE(vp, fflag, cred, p) _VOP_CLOSE(vp, fflag, cred, p)
                    220: static __inline int _VOP_CLOSE(vp, fflag, cred, p)
                    221:        struct vnode *vp;
                    222:        int fflag;
                    223:        struct ucred *cred;
                    224:        struct proc *p;
                    225: {
                    226:        struct vop_close_args a;
                    227:        a.a_desc = VDESC(vop_close);
                    228:        a.a_vp = vp;
                    229:        a.a_fflag = fflag;
                    230:        a.a_cred = cred;
                    231:        a.a_p = p;
                    232:        return (VCALL(vp, VOFFSET(vop_close), &a));
                    233: }
                    234: 
                    235: struct vop_access_args {
                    236:        struct vnodeop_desc *a_desc;
                    237:        struct vnode *a_vp;
                    238:        int a_mode;
                    239:        struct ucred *a_cred;
                    240:        struct proc *a_p;
                    241: };
                    242: extern struct vnodeop_desc vop_access_desc;
                    243: #define VOP_ACCESS(vp, mode, cred, p) _VOP_ACCESS(vp, mode, cred, p)
                    244: static __inline int _VOP_ACCESS(vp, mode, cred, p)
                    245:        struct vnode *vp;
                    246:        int mode;
                    247:        struct ucred *cred;
                    248:        struct proc *p;
                    249: {
                    250:        struct vop_access_args a;
                    251:        a.a_desc = VDESC(vop_access);
                    252:        a.a_vp = vp;
                    253:        a.a_mode = mode;
                    254:        a.a_cred = cred;
                    255:        a.a_p = p;
                    256:        return (VCALL(vp, VOFFSET(vop_access), &a));
                    257: }
                    258: 
                    259: struct vop_getattr_args {
                    260:        struct vnodeop_desc *a_desc;
                    261:        struct vnode *a_vp;
                    262:        struct vattr *a_vap;
                    263:        struct ucred *a_cred;
                    264:        struct proc *a_p;
                    265: };
                    266: extern struct vnodeop_desc vop_getattr_desc;
                    267: #define VOP_GETATTR(vp, vap, cred, p) _VOP_GETATTR(vp, vap, cred, p)
                    268: static __inline int _VOP_GETATTR(vp, vap, cred, p)
                    269:        struct vnode *vp;
                    270:        struct vattr *vap;
                    271:        struct ucred *cred;
                    272:        struct proc *p;
                    273: {
                    274:        struct vop_getattr_args a;
                    275:        a.a_desc = VDESC(vop_getattr);
                    276:        a.a_vp = vp;
                    277:        a.a_vap = vap;
                    278:        a.a_cred = cred;
                    279:        a.a_p = p;
                    280:        return (VCALL(vp, VOFFSET(vop_getattr), &a));
                    281: }
                    282: 
                    283: struct vop_setattr_args {
                    284:        struct vnodeop_desc *a_desc;
                    285:        struct vnode *a_vp;
                    286:        struct vattr *a_vap;
                    287:        struct ucred *a_cred;
                    288:        struct proc *a_p;
                    289: };
                    290: extern struct vnodeop_desc vop_setattr_desc;
                    291: #define VOP_SETATTR(vp, vap, cred, p) _VOP_SETATTR(vp, vap, cred, p)
                    292: static __inline int _VOP_SETATTR(vp, vap, cred, p)
                    293:        struct vnode *vp;
                    294:        struct vattr *vap;
                    295:        struct ucred *cred;
                    296:        struct proc *p;
                    297: {
                    298:        struct vop_setattr_args a;
                    299:        a.a_desc = VDESC(vop_setattr);
                    300:        a.a_vp = vp;
                    301:        a.a_vap = vap;
                    302:        a.a_cred = cred;
                    303:        a.a_p = p;
                    304:        return (VCALL(vp, VOFFSET(vop_setattr), &a));
                    305: }
                    306: 
                    307: struct vop_getattrlist_args {
                    308:        struct vnodeop_desc *a_desc;
                    309:        struct vnode *a_vp;
                    310:        struct attrlist *a_alist;
                    311:        struct uio *a_uio;
                    312:        struct ucred *a_cred;
                    313:        struct proc *a_p;
                    314: };
                    315: extern struct vnodeop_desc vop_getattrlist_desc;
                    316: #define VOP_GETATTRLIST(vp, alist, uio, cred, p) _VOP_GETATTRLIST(vp, alist, uio, cred, p)
                    317: static __inline int _VOP_GETATTRLIST(vp, alist, uio, cred, p)
                    318:        struct vnode *vp;
                    319:        struct attrlist *alist;
                    320:        struct uio *uio;
                    321:        struct ucred *cred;
                    322:        struct proc *p;
                    323: {
                    324:        struct vop_getattrlist_args a;
                    325:        a.a_desc = VDESC(vop_getattrlist);
                    326:        a.a_vp = vp;
                    327:        a.a_alist = alist;
                    328:        a.a_uio = uio;
                    329:        a.a_cred = cred;
                    330:        a.a_p = p;
                    331:        return (VCALL(vp, VOFFSET(vop_getattrlist), &a));
                    332: }
                    333: 
                    334: struct vop_setattrlist_args {
                    335:        struct vnodeop_desc *a_desc;
                    336:        struct vnode *a_vp;
                    337:        struct attrlist *a_alist;
                    338:        struct uio *a_uio;
                    339:        struct ucred *a_cred;
                    340:        struct proc *a_p;
                    341: };
                    342: extern struct vnodeop_desc vop_setattrlist_desc;
                    343: #define VOP_SETATTRLIST(vp, alist, uio, cred, p) _VOP_SETATTRLIST(vp, alist, uio, cred, p)
                    344: static __inline int _VOP_SETATTRLIST(vp, alist, uio, cred, p)
                    345:        struct vnode *vp;
                    346:        struct attrlist *alist;
                    347:        struct uio *uio;
                    348:        struct ucred *cred;
                    349:        struct proc *p;
                    350: {
                    351:        struct vop_setattrlist_args a;
                    352:        a.a_desc = VDESC(vop_setattrlist);
                    353:        a.a_vp = vp;
                    354:        a.a_alist = alist;
                    355:        a.a_uio = uio;
                    356:        a.a_cred = cred;
                    357:        a.a_p = p;
                    358:        return (VCALL(vp, VOFFSET(vop_setattrlist), &a));
                    359: }
                    360: 
                    361: struct vop_read_args {
                    362:        struct vnodeop_desc *a_desc;
                    363:        struct vnode *a_vp;
                    364:        struct uio *a_uio;
                    365:        int a_ioflag;
                    366:        struct ucred *a_cred;
                    367: };
                    368: extern struct vnodeop_desc vop_read_desc;
                    369: #define VOP_READ(vp, uio, ioflag, cred) _VOP_READ(vp, uio, ioflag, cred)
                    370: static __inline int _VOP_READ(vp, uio, ioflag, cred)
                    371:        struct vnode *vp;
                    372:        struct uio *uio;
                    373:        int ioflag;
                    374:        struct ucred *cred;
                    375: {
                    376:        struct vop_read_args a;
                    377:        a.a_desc = VDESC(vop_read);
                    378:        a.a_vp = vp;
                    379:        a.a_uio = uio;
                    380:        a.a_ioflag = ioflag;
                    381:        a.a_cred = cred;
                    382:        return (VCALL(vp, VOFFSET(vop_read), &a));
                    383: }
                    384: 
                    385: struct vop_write_args {
                    386:        struct vnodeop_desc *a_desc;
                    387:        struct vnode *a_vp;
                    388:        struct uio *a_uio;
                    389:        int a_ioflag;
                    390:        struct ucred *a_cred;
                    391: };
                    392: extern struct vnodeop_desc vop_write_desc;
                    393: #define VOP_WRITE(vp, uio, ioflag, cred) _VOP_WRITE(vp, uio, ioflag, cred)
                    394: static __inline int _VOP_WRITE(vp, uio, ioflag, cred)
                    395:        struct vnode *vp;
                    396:        struct uio *uio;
                    397:        int ioflag;
                    398:        struct ucred *cred;
                    399: {
                    400:        struct vop_write_args a;
                    401:        a.a_desc = VDESC(vop_write);
                    402:        a.a_vp = vp;
                    403:        a.a_uio = uio;
                    404:        a.a_ioflag = ioflag;
                    405:        a.a_cred = cred;
                    406:        return (VCALL(vp, VOFFSET(vop_write), &a));
                    407: }
                    408: 
                    409: struct vop_lease_args {
                    410:        struct vnodeop_desc *a_desc;
                    411:        struct vnode *a_vp;
                    412:        struct proc *a_p;
                    413:        struct ucred *a_cred;
                    414:        int a_flag;
                    415: };
                    416: extern struct vnodeop_desc vop_lease_desc;
                    417: #define VOP_LEASE(vp, p, cred, flag) _VOP_LEASE(vp, p, cred, flag)
                    418: static __inline int _VOP_LEASE(vp, p, cred, flag)
                    419:        struct vnode *vp;
                    420:        struct proc *p;
                    421:        struct ucred *cred;
                    422:        int flag;
                    423: {
                    424:        struct vop_lease_args a;
                    425:        a.a_desc = VDESC(vop_lease);
                    426:        a.a_vp = vp;
                    427:        a.a_p = p;
                    428:        a.a_cred = cred;
                    429:        a.a_flag = flag;
                    430:        return (VCALL(vp, VOFFSET(vop_lease), &a));
                    431: }
                    432: 
                    433: struct vop_ioctl_args {
                    434:        struct vnodeop_desc *a_desc;
                    435:        struct vnode *a_vp;
                    436:        u_long a_command;
                    437:        caddr_t a_data;
                    438:        int a_fflag;
                    439:        struct ucred *a_cred;
                    440:        struct proc *a_p;
                    441: };
                    442: extern struct vnodeop_desc vop_ioctl_desc;
                    443: #define VOP_IOCTL(vp, command, data, fflag, cred, p) _VOP_IOCTL(vp, command, data, fflag, cred, p)
                    444: static __inline int _VOP_IOCTL(vp, command, data, fflag, cred, p)
                    445:        struct vnode *vp;
                    446:        u_long command;
                    447:        caddr_t data;
                    448:        int fflag;
                    449:        struct ucred *cred;
                    450:        struct proc *p;
                    451: {
                    452:        struct vop_ioctl_args a;
                    453:        a.a_desc = VDESC(vop_ioctl);
                    454:        a.a_vp = vp;
                    455:        a.a_command = command;
                    456:        a.a_data = data;
                    457:        a.a_fflag = fflag;
                    458:        a.a_cred = cred;
                    459:        a.a_p = p;
                    460:        return (VCALL(vp, VOFFSET(vop_ioctl), &a));
                    461: }
                    462: 
                    463: struct vop_select_args {
                    464:        struct vnodeop_desc *a_desc;
                    465:        struct vnode *a_vp;
                    466:        int a_which;
                    467:        int a_fflags;
                    468:        struct ucred *a_cred;
                    469:        struct proc *a_p;
                    470: };
                    471: extern struct vnodeop_desc vop_select_desc;
                    472: #define VOP_SELECT(vp, which, fflags, cred, p) _VOP_SELECT(vp, which, fflags, cred, p)
                    473: static __inline int _VOP_SELECT(vp, which, fflags, cred, p)
                    474:        struct vnode *vp;
                    475:        int which;
                    476:        int fflags;
                    477:        struct ucred *cred;
                    478:        struct proc *p;
                    479: {
                    480:        struct vop_select_args a;
                    481:        a.a_desc = VDESC(vop_select);
                    482:        a.a_vp = vp;
                    483:        a.a_which = which;
                    484:        a.a_fflags = fflags;
                    485:        a.a_cred = cred;
                    486:        a.a_p = p;
                    487:        return (VCALL(vp, VOFFSET(vop_select), &a));
                    488: }
                    489: 
                    490: struct vop_exchange_args {
                    491:        struct vnodeop_desc *a_desc;
                    492:        struct vnode *a_fvp;
                    493:        struct vnode *a_tvp;
                    494:        struct ucred *a_cred;
                    495:        struct proc *a_p;
                    496: };
                    497: extern struct vnodeop_desc vop_exchange_desc;
                    498: #define VOP_EXCHANGE(fvp, tvp, cred, p) _VOP_EXCHANGE(fvp, tvp, cred, p)
                    499: static __inline int _VOP_EXCHANGE(fvp, tvp, cred, p)
                    500:        struct vnode *fvp;
                    501:        struct vnode *tvp;
                    502:        struct ucred *cred;
                    503:        struct proc *p;
                    504: {
                    505:        struct vop_exchange_args a;
                    506:        a.a_desc = VDESC(vop_exchange);
                    507:        a.a_fvp = fvp;
                    508:        a.a_tvp = tvp;
                    509:        a.a_cred = cred;
                    510:        a.a_p = p;
                    511:        return (VCALL(fvp, VOFFSET(vop_exchange), &a));
                    512: }
                    513: 
                    514: struct vop_revoke_args {
                    515:        struct vnodeop_desc *a_desc;
                    516:        struct vnode *a_vp;
                    517:        int a_flags;
                    518: };
                    519: extern struct vnodeop_desc vop_revoke_desc;
                    520: #define VOP_REVOKE(vp, flags) _VOP_REVOKE(vp, flags)
                    521: static __inline int _VOP_REVOKE(vp, flags)
                    522:        struct vnode *vp;
                    523:        int flags;
                    524: {
                    525:        struct vop_revoke_args a;
                    526:        a.a_desc = VDESC(vop_revoke);
                    527:        a.a_vp = vp;
                    528:        a.a_flags = flags;
                    529:        return (VCALL(vp, VOFFSET(vop_revoke), &a));
                    530: }
                    531: 
                    532: struct vop_mmap_args {
                    533:        struct vnodeop_desc *a_desc;
                    534:        struct vnode *a_vp;
                    535:        int a_fflags;
                    536:        struct ucred *a_cred;
                    537:        struct proc *a_p;
                    538: };
                    539: extern struct vnodeop_desc vop_mmap_desc;
                    540: #define VOP_MMAP(vp, fflags, cred, p) _VOP_MMAP(vp, fflags, cred, p)
                    541: static __inline int _VOP_MMAP(vp, fflags, cred, p)
                    542:        struct vnode *vp;
                    543:        int fflags;
                    544:        struct ucred *cred;
                    545:        struct proc *p;
                    546: {
                    547:        struct vop_mmap_args a;
                    548:        a.a_desc = VDESC(vop_mmap);
                    549:        a.a_vp = vp;
                    550:        a.a_fflags = fflags;
                    551:        a.a_cred = cred;
                    552:        a.a_p = p;
                    553:        return (VCALL(vp, VOFFSET(vop_mmap), &a));
                    554: }
                    555: 
                    556: struct vop_fsync_args {
                    557:        struct vnodeop_desc *a_desc;
                    558:        struct vnode *a_vp;
                    559:        struct ucred *a_cred;
                    560:        int a_waitfor;
                    561:        struct proc *a_p;
                    562: };
                    563: extern struct vnodeop_desc vop_fsync_desc;
                    564: #define VOP_FSYNC(vp, cred, waitfor, p) _VOP_FSYNC(vp, cred, waitfor, p)
                    565: static __inline int _VOP_FSYNC(vp, cred, waitfor, p)
                    566:        struct vnode *vp;
                    567:        struct ucred *cred;
                    568:        int waitfor;
                    569:        struct proc *p;
                    570: {
                    571:        struct vop_fsync_args a;
                    572:        a.a_desc = VDESC(vop_fsync);
                    573:        a.a_vp = vp;
                    574:        a.a_cred = cred;
                    575:        a.a_waitfor = waitfor;
                    576:        a.a_p = p;
                    577:        return (VCALL(vp, VOFFSET(vop_fsync), &a));
                    578: }
                    579: 
                    580: struct vop_seek_args {
                    581:        struct vnodeop_desc *a_desc;
                    582:        struct vnode *a_vp;
                    583:        off_t a_oldoff;
                    584:        off_t a_newoff;
                    585:        struct ucred *a_cred;
                    586: };
                    587: extern struct vnodeop_desc vop_seek_desc;
                    588: #define VOP_SEEK(vp, oldoff, newoff, cred) _VOP_SEEK(vp, oldoff, newoff, cred)
                    589: static __inline int _VOP_SEEK(vp, oldoff, newoff, cred)
                    590:        struct vnode *vp;
                    591:        off_t oldoff;
                    592:        off_t newoff;
                    593:        struct ucred *cred;
                    594: {
                    595:        struct vop_seek_args a;
                    596:        a.a_desc = VDESC(vop_seek);
                    597:        a.a_vp = vp;
                    598:        a.a_oldoff = oldoff;
                    599:        a.a_newoff = newoff;
                    600:        a.a_cred = cred;
                    601:        return (VCALL(vp, VOFFSET(vop_seek), &a));
                    602: }
                    603: 
                    604: struct vop_remove_args {
                    605:        struct vnodeop_desc *a_desc;
                    606:        struct vnode *a_dvp;
                    607:        struct vnode *a_vp;
                    608:        struct componentname *a_cnp;
                    609: };
                    610: extern struct vnodeop_desc vop_remove_desc;
                    611: #define VOP_REMOVE(dvp, vp, cnp) _VOP_REMOVE(dvp, vp, cnp)
                    612: static __inline int _VOP_REMOVE(dvp, vp, cnp)
                    613:        struct vnode *dvp;
                    614:        struct vnode *vp;
                    615:        struct componentname *cnp;
                    616: {
                    617:        struct vop_remove_args a;
                    618:        a.a_desc = VDESC(vop_remove);
                    619:        a.a_dvp = dvp;
                    620:        a.a_vp = vp;
                    621:        a.a_cnp = cnp;
                    622:        return (VCALL(dvp, VOFFSET(vop_remove), &a));
                    623: }
                    624: 
                    625: struct vop_link_args {
                    626:        struct vnodeop_desc *a_desc;
                    627:        struct vnode *a_vp;
                    628:        struct vnode *a_tdvp;
                    629:        struct componentname *a_cnp;
                    630: };
                    631: extern struct vnodeop_desc vop_link_desc;
                    632: #define VOP_LINK(vp, tdvp, cnp) _VOP_LINK(vp, tdvp, cnp)
                    633: static __inline int _VOP_LINK(vp, tdvp, cnp)
                    634:        struct vnode *vp;
                    635:        struct vnode *tdvp;
                    636:        struct componentname *cnp;
                    637: {
                    638:        struct vop_link_args a;
                    639:        a.a_desc = VDESC(vop_link);
                    640:        a.a_vp = vp;
                    641:        a.a_tdvp = tdvp;
                    642:        a.a_cnp = cnp;
                    643:        return (VCALL(vp, VOFFSET(vop_link), &a));
                    644: }
                    645: 
                    646: struct vop_rename_args {
                    647:        struct vnodeop_desc *a_desc;
                    648:        struct vnode *a_fdvp;
                    649:        struct vnode *a_fvp;
                    650:        struct componentname *a_fcnp;
                    651:        struct vnode *a_tdvp;
                    652:        struct vnode *a_tvp;
                    653:        struct componentname *a_tcnp;
                    654: };
                    655: extern struct vnodeop_desc vop_rename_desc;
                    656: #define VOP_RENAME(fdvp, fvp, fcnp, tdvp, tvp, tcnp) _VOP_RENAME(fdvp, fvp, fcnp, tdvp, tvp, tcnp)
                    657: static __inline int _VOP_RENAME(fdvp, fvp, fcnp, tdvp, tvp, tcnp)
                    658:        struct vnode *fdvp;
                    659:        struct vnode *fvp;
                    660:        struct componentname *fcnp;
                    661:        struct vnode *tdvp;
                    662:        struct vnode *tvp;
                    663:        struct componentname *tcnp;
                    664: {
                    665:        struct vop_rename_args a;
                    666:        a.a_desc = VDESC(vop_rename);
                    667:        a.a_fdvp = fdvp;
                    668:        a.a_fvp = fvp;
                    669:        a.a_fcnp = fcnp;
                    670:        a.a_tdvp = tdvp;
                    671:        a.a_tvp = tvp;
                    672:        a.a_tcnp = tcnp;
                    673:        return (VCALL(fdvp, VOFFSET(vop_rename), &a));
                    674: }
                    675: 
                    676: struct vop_mkdir_args {
                    677:        struct vnodeop_desc *a_desc;
                    678:        struct vnode *a_dvp;
                    679:        struct vnode **a_vpp;
                    680:        struct componentname *a_cnp;
                    681:        struct vattr *a_vap;
                    682: };
                    683: extern struct vnodeop_desc vop_mkdir_desc;
                    684: #define VOP_MKDIR(dvp, vpp, cnp, vap) _VOP_MKDIR(dvp, vpp, cnp, vap)
                    685: static __inline int _VOP_MKDIR(dvp, vpp, cnp, vap)
                    686:        struct vnode *dvp;
                    687:        struct vnode **vpp;
                    688:        struct componentname *cnp;
                    689:        struct vattr *vap;
                    690: {
                    691:        struct vop_mkdir_args a;
                    692:        a.a_desc = VDESC(vop_mkdir);
                    693:        a.a_dvp = dvp;
                    694:        a.a_vpp = vpp;
                    695:        a.a_cnp = cnp;
                    696:        a.a_vap = vap;
                    697:        return (VCALL(dvp, VOFFSET(vop_mkdir), &a));
                    698: }
                    699: 
                    700: struct vop_rmdir_args {
                    701:        struct vnodeop_desc *a_desc;
                    702:        struct vnode *a_dvp;
                    703:        struct vnode *a_vp;
                    704:        struct componentname *a_cnp;
                    705: };
                    706: extern struct vnodeop_desc vop_rmdir_desc;
                    707: #define VOP_RMDIR(dvp, vp, cnp) _VOP_RMDIR(dvp, vp, cnp)
                    708: static __inline int _VOP_RMDIR(dvp, vp, cnp)
                    709:        struct vnode *dvp;
                    710:        struct vnode *vp;
                    711:        struct componentname *cnp;
                    712: {
                    713:        struct vop_rmdir_args a;
                    714:        a.a_desc = VDESC(vop_rmdir);
                    715:        a.a_dvp = dvp;
                    716:        a.a_vp = vp;
                    717:        a.a_cnp = cnp;
                    718:        return (VCALL(dvp, VOFFSET(vop_rmdir), &a));
                    719: }
                    720: 
                    721: struct vop_symlink_args {
                    722:        struct vnodeop_desc *a_desc;
                    723:        struct vnode *a_dvp;
                    724:        struct vnode **a_vpp;
                    725:        struct componentname *a_cnp;
                    726:        struct vattr *a_vap;
                    727:        char *a_target;
                    728: };
                    729: extern struct vnodeop_desc vop_symlink_desc;
                    730: #define VOP_SYMLINK(dvp, vpp, cnp, vap, target) _VOP_SYMLINK(dvp, vpp, cnp, vap, target)
                    731: static __inline int _VOP_SYMLINK(dvp, vpp, cnp, vap, target)
                    732:        struct vnode *dvp;
                    733:        struct vnode **vpp;
                    734:        struct componentname *cnp;
                    735:        struct vattr *vap;
                    736:        char *target;
                    737: {
                    738:        struct vop_symlink_args a;
                    739:        a.a_desc = VDESC(vop_symlink);
                    740:        a.a_dvp = dvp;
                    741:        a.a_vpp = vpp;
                    742:        a.a_cnp = cnp;
                    743:        a.a_vap = vap;
                    744:        a.a_target = target;
                    745:        return (VCALL(dvp, VOFFSET(vop_symlink), &a));
                    746: }
                    747: 
                    748: struct vop_readdir_args {
                    749:        struct vnodeop_desc *a_desc;
                    750:        struct vnode *a_vp;
                    751:        struct uio *a_uio;
                    752:        struct ucred *a_cred;
                    753:        int *a_eofflag;
                    754:        int *a_ncookies;
                    755:        u_long **a_cookies;
                    756: };
                    757: extern struct vnodeop_desc vop_readdir_desc;
                    758: #define VOP_READDIR(vp, uio, cred, eofflag, ncookies, cookies) _VOP_READDIR(vp, uio, cred, eofflag, ncookies, cookies)
                    759: static __inline int _VOP_READDIR(vp, uio, cred, eofflag, ncookies, cookies)
                    760:        struct vnode *vp;
                    761:        struct uio *uio;
                    762:        struct ucred *cred;
                    763:        int *eofflag;
                    764:        int *ncookies;
                    765:        u_long **cookies;
                    766: {
                    767:        struct vop_readdir_args a;
                    768:        a.a_desc = VDESC(vop_readdir);
                    769:        a.a_vp = vp;
                    770:        a.a_uio = uio;
                    771:        a.a_cred = cred;
                    772:        a.a_eofflag = eofflag;
                    773:        a.a_ncookies = ncookies;
                    774:        a.a_cookies = cookies;
                    775:        return (VCALL(vp, VOFFSET(vop_readdir), &a));
                    776: }
                    777: 
                    778: struct vop_readdirattr_args {
                    779:        struct vnodeop_desc *a_desc;
                    780:        struct vnode *a_vp;
                    781:        struct attrlist *a_alist;
                    782:        struct uio *a_uio;
                    783:        u_long a_maxcount;
                    784:        u_long a_options;
                    785:        u_long *a_newstate;
                    786:        int *a_eofflag;
                    787:        u_long *a_actualcount;
                    788:        u_long **a_cookies;
                    789:        struct ucred *a_cred;
                    790: };
                    791: extern struct vnodeop_desc vop_readdirattr_desc;
                    792: #define VOP_READDIRATTR(vp, alist, uio, maxcount, options, newstate, eofflag, actualcount, cookies, cred) _VOP_READDIRATTR(vp, alist, uio, maxcount, options, newstate, eofflag, actualcount, cookies, cred)
                    793: static __inline int _VOP_READDIRATTR(vp, alist, uio, maxcount, options, newstate, eofflag, actualcount, cookies, cred)
                    794:        struct vnode *vp;
                    795:        struct attrlist *alist;
                    796:        struct uio *uio;
                    797:        u_long maxcount;
                    798:        u_long options;
                    799:        u_long *newstate;
                    800:        int *eofflag;
                    801:        u_long *actualcount;
                    802:        u_long **cookies;
                    803:        struct ucred *cred;
                    804: {
                    805:        struct vop_readdirattr_args a;
                    806:        a.a_desc = VDESC(vop_readdirattr);
                    807:        a.a_vp = vp;
                    808:        a.a_alist = alist;
                    809:        a.a_uio = uio;
                    810:        a.a_maxcount = maxcount;
                    811:        a.a_options = options;
                    812:        a.a_newstate = newstate;
                    813:        a.a_eofflag = eofflag;
                    814:        a.a_actualcount = actualcount;
                    815:        a.a_cookies = cookies;
                    816:        a.a_cred = cred;
                    817:        return (VCALL(vp, VOFFSET(vop_readdirattr), &a));
                    818: }
                    819: 
                    820: struct vop_readlink_args {
                    821:        struct vnodeop_desc *a_desc;
                    822:        struct vnode *a_vp;
                    823:        struct uio *a_uio;
                    824:        struct ucred *a_cred;
                    825: };
                    826: extern struct vnodeop_desc vop_readlink_desc;
                    827: #define VOP_READLINK(vp, uio, cred) _VOP_READLINK(vp, uio, cred)
                    828: static __inline int _VOP_READLINK(vp, uio, cred)
                    829:        struct vnode *vp;
                    830:        struct uio *uio;
                    831:        struct ucred *cred;
                    832: {
                    833:        struct vop_readlink_args a;
                    834:        a.a_desc = VDESC(vop_readlink);
                    835:        a.a_vp = vp;
                    836:        a.a_uio = uio;
                    837:        a.a_cred = cred;
                    838:        return (VCALL(vp, VOFFSET(vop_readlink), &a));
                    839: }
                    840: 
                    841: struct vop_abortop_args {
                    842:        struct vnodeop_desc *a_desc;
                    843:        struct vnode *a_dvp;
                    844:        struct componentname *a_cnp;
                    845: };
                    846: extern struct vnodeop_desc vop_abortop_desc;
                    847: #define VOP_ABORTOP(dvp, cnp) _VOP_ABORTOP(dvp, cnp)
                    848: static __inline int _VOP_ABORTOP(dvp, cnp)
                    849:        struct vnode *dvp;
                    850:        struct componentname *cnp;
                    851: {
                    852:        struct vop_abortop_args a;
                    853:        a.a_desc = VDESC(vop_abortop);
                    854:        a.a_dvp = dvp;
                    855:        a.a_cnp = cnp;
                    856:        return (VCALL(dvp, VOFFSET(vop_abortop), &a));
                    857: }
                    858: 
                    859: struct vop_inactive_args {
                    860:        struct vnodeop_desc *a_desc;
                    861:        struct vnode *a_vp;
                    862:        struct proc *a_p;
                    863: };
                    864: extern struct vnodeop_desc vop_inactive_desc;
                    865: #define VOP_INACTIVE(vp, p) _VOP_INACTIVE(vp, p)
                    866: static __inline int _VOP_INACTIVE(vp, p)
                    867:        struct vnode *vp;
                    868:        struct proc *p;
                    869: {
                    870:        struct vop_inactive_args a;
                    871:        a.a_desc = VDESC(vop_inactive);
                    872:        a.a_vp = vp;
                    873:        a.a_p = p;
                    874:        return (VCALL(vp, VOFFSET(vop_inactive), &a));
                    875: }
                    876: 
                    877: struct vop_reclaim_args {
                    878:        struct vnodeop_desc *a_desc;
                    879:        struct vnode *a_vp;
                    880:        struct proc *a_p;
                    881: };
                    882: extern struct vnodeop_desc vop_reclaim_desc;
                    883: #define VOP_RECLAIM(vp, p) _VOP_RECLAIM(vp, p)
                    884: static __inline int _VOP_RECLAIM(vp, p)
                    885:        struct vnode *vp;
                    886:        struct proc *p;
                    887: {
                    888:        struct vop_reclaim_args a;
                    889:        a.a_desc = VDESC(vop_reclaim);
                    890:        a.a_vp = vp;
                    891:        a.a_p = p;
                    892:        return (VCALL(vp, VOFFSET(vop_reclaim), &a));
                    893: }
                    894: 
                    895: struct vop_lock_args {
                    896:        struct vnodeop_desc *a_desc;
                    897:        struct vnode *a_vp;
                    898:        int a_flags;
                    899:        struct proc *a_p;
                    900: };
                    901: extern struct vnodeop_desc vop_lock_desc;
                    902: #define VOP_LOCK(vp, flags, p) _VOP_LOCK(vp, flags, p)
                    903: static __inline int _VOP_LOCK(vp, flags, p)
                    904:        struct vnode *vp;
                    905:        int flags;
                    906:        struct proc *p;
                    907: {
                    908:        struct vop_lock_args a;
                    909:        a.a_desc = VDESC(vop_lock);
                    910:        a.a_vp = vp;
                    911:        a.a_flags = flags;
                    912:        a.a_p = p;
                    913:        return (VCALL(vp, VOFFSET(vop_lock), &a));
                    914: }
                    915: 
                    916: struct vop_unlock_args {
                    917:        struct vnodeop_desc *a_desc;
                    918:        struct vnode *a_vp;
                    919:        int a_flags;
                    920:        struct proc *a_p;
                    921: };
                    922: extern struct vnodeop_desc vop_unlock_desc;
                    923: #define VOP_UNLOCK(vp, flags, p) _VOP_UNLOCK(vp, flags, p)
                    924: static __inline int _VOP_UNLOCK(vp, flags, p)
                    925:        struct vnode *vp;
                    926:        int flags;
                    927:        struct proc *p;
                    928: {
                    929:        struct vop_unlock_args a;
                    930:        a.a_desc = VDESC(vop_unlock);
                    931:        a.a_vp = vp;
                    932:        a.a_flags = flags;
                    933:        a.a_p = p;
                    934:        return (VCALL(vp, VOFFSET(vop_unlock), &a));
                    935: }
                    936: 
                    937: struct vop_bmap_args {
                    938:        struct vnodeop_desc *a_desc;
                    939:        struct vnode *a_vp;
                    940:        daddr_t a_bn;
                    941:        struct vnode **a_vpp;
                    942:        daddr_t *a_bnp;
                    943:        int *a_runp;
                    944: };
                    945: extern struct vnodeop_desc vop_bmap_desc;
                    946: #define VOP_BMAP(vp, bn, vpp, bnp, runp) _VOP_BMAP(vp, bn, vpp, bnp, runp)
                    947: static __inline int _VOP_BMAP(vp, bn, vpp, bnp, runp)
                    948:        struct vnode *vp;
                    949:        daddr_t bn;
                    950:        struct vnode **vpp;
                    951:        daddr_t *bnp;
                    952:        int *runp;
                    953: {
                    954:        struct vop_bmap_args a;
                    955:        a.a_desc = VDESC(vop_bmap);
                    956:        a.a_vp = vp;
                    957:        a.a_bn = bn;
                    958:        a.a_vpp = vpp;
                    959:        a.a_bnp = bnp;
                    960:        a.a_runp = runp;
                    961:        return (VCALL(vp, VOFFSET(vop_bmap), &a));
                    962: }
                    963: 
                    964: struct vop_print_args {
                    965:        struct vnodeop_desc *a_desc;
                    966:        struct vnode *a_vp;
                    967: };
                    968: extern struct vnodeop_desc vop_print_desc;
                    969: #define VOP_PRINT(vp) _VOP_PRINT(vp)
                    970: static __inline int _VOP_PRINT(vp)
                    971:        struct vnode *vp;
                    972: {
                    973:        struct vop_print_args a;
                    974:        a.a_desc = VDESC(vop_print);
                    975:        a.a_vp = vp;
                    976:        return (VCALL(vp, VOFFSET(vop_print), &a));
                    977: }
                    978: 
                    979: struct vop_islocked_args {
                    980:        struct vnodeop_desc *a_desc;
                    981:        struct vnode *a_vp;
                    982: };
                    983: extern struct vnodeop_desc vop_islocked_desc;
                    984: #define VOP_ISLOCKED(vp) _VOP_ISLOCKED(vp)
                    985: static __inline int _VOP_ISLOCKED(vp)
                    986:        struct vnode *vp;
                    987: {
                    988:        struct vop_islocked_args a;
                    989:        a.a_desc = VDESC(vop_islocked);
                    990:        a.a_vp = vp;
                    991:        return (VCALL(vp, VOFFSET(vop_islocked), &a));
                    992: }
                    993: 
                    994: struct vop_pathconf_args {
                    995:        struct vnodeop_desc *a_desc;
                    996:        struct vnode *a_vp;
                    997:        int a_name;
                    998:        register_t *a_retval;
                    999: };
                   1000: extern struct vnodeop_desc vop_pathconf_desc;
                   1001: #define VOP_PATHCONF(vp, name, retval) _VOP_PATHCONF(vp, name, retval)
                   1002: static __inline int _VOP_PATHCONF(vp, name, retval)
                   1003:        struct vnode *vp;
                   1004:        int name;
                   1005:        register_t *retval;
                   1006: {
                   1007:        struct vop_pathconf_args a;
                   1008:        a.a_desc = VDESC(vop_pathconf);
                   1009:        a.a_vp = vp;
                   1010:        a.a_name = name;
                   1011:        a.a_retval = retval;
                   1012:        return (VCALL(vp, VOFFSET(vop_pathconf), &a));
                   1013: }
                   1014: 
                   1015: struct vop_advlock_args {
                   1016:        struct vnodeop_desc *a_desc;
                   1017:        struct vnode *a_vp;
                   1018:        caddr_t a_id;
                   1019:        int a_op;
                   1020:        struct flock *a_fl;
                   1021:        int a_flags;
                   1022: };
                   1023: extern struct vnodeop_desc vop_advlock_desc;
                   1024: #define VOP_ADVLOCK(vp, id, op, fl, flags) _VOP_ADVLOCK(vp, id, op, fl, flags)
                   1025: static __inline int _VOP_ADVLOCK(vp, id, op, fl, flags)
                   1026:        struct vnode *vp;
                   1027:        caddr_t id;
                   1028:        int op;
                   1029:        struct flock *fl;
                   1030:        int flags;
                   1031: {
                   1032:        struct vop_advlock_args a;
                   1033:        a.a_desc = VDESC(vop_advlock);
                   1034:        a.a_vp = vp;
                   1035:        a.a_id = id;
                   1036:        a.a_op = op;
                   1037:        a.a_fl = fl;
                   1038:        a.a_flags = flags;
                   1039:        return (VCALL(vp, VOFFSET(vop_advlock), &a));
                   1040: }
                   1041: 
                   1042: struct vop_blkatoff_args {
                   1043:        struct vnodeop_desc *a_desc;
                   1044:        struct vnode *a_vp;
                   1045:        off_t a_offset;
                   1046:        char **a_res;
                   1047:        struct buf **a_bpp;
                   1048: };
                   1049: extern struct vnodeop_desc vop_blkatoff_desc;
                   1050: #define VOP_BLKATOFF(vp, offset, res, bpp) _VOP_BLKATOFF(vp, offset, res, bpp)
                   1051: static __inline int _VOP_BLKATOFF(vp, offset, res, bpp)
                   1052:        struct vnode *vp;
                   1053:        off_t offset;
                   1054:        char **res;
                   1055:        struct buf **bpp;
                   1056: {
                   1057:        struct vop_blkatoff_args a;
                   1058:        a.a_desc = VDESC(vop_blkatoff);
                   1059:        a.a_vp = vp;
                   1060:        a.a_offset = offset;
                   1061:        a.a_res = res;
                   1062:        a.a_bpp = bpp;
                   1063:        return (VCALL(vp, VOFFSET(vop_blkatoff), &a));
                   1064: }
                   1065: 
                   1066: struct vop_valloc_args {
                   1067:        struct vnodeop_desc *a_desc;
                   1068:        struct vnode *a_pvp;
                   1069:        int a_mode;
                   1070:        struct ucred *a_cred;
                   1071:        struct vnode **a_vpp;
                   1072: };
                   1073: extern struct vnodeop_desc vop_valloc_desc;
                   1074: #define VOP_VALLOC(pvp, mode, cred, vpp) _VOP_VALLOC(pvp, mode, cred, vpp)
                   1075: static __inline int _VOP_VALLOC(pvp, mode, cred, vpp)
                   1076:        struct vnode *pvp;
                   1077:        int mode;
                   1078:        struct ucred *cred;
                   1079:        struct vnode **vpp;
                   1080: {
                   1081:        struct vop_valloc_args a;
                   1082:        a.a_desc = VDESC(vop_valloc);
                   1083:        a.a_pvp = pvp;
                   1084:        a.a_mode = mode;
                   1085:        a.a_cred = cred;
                   1086:        a.a_vpp = vpp;
                   1087:        return (VCALL(pvp, VOFFSET(vop_valloc), &a));
                   1088: }
                   1089: 
                   1090: struct vop_reallocblks_args {
                   1091:        struct vnodeop_desc *a_desc;
                   1092:        struct vnode *a_vp;
                   1093:        struct cluster_save *a_buflist;
                   1094: };
                   1095: extern struct vnodeop_desc vop_reallocblks_desc;
                   1096: #define VOP_REALLOCBLKS(vp, buflist) _VOP_REALLOCBLKS(vp, buflist)
                   1097: static __inline int _VOP_REALLOCBLKS(vp, buflist)
                   1098:        struct vnode *vp;
                   1099:        struct cluster_save *buflist;
                   1100: {
                   1101:        struct vop_reallocblks_args a;
                   1102:        a.a_desc = VDESC(vop_reallocblks);
                   1103:        a.a_vp = vp;
                   1104:        a.a_buflist = buflist;
                   1105:        return (VCALL(vp, VOFFSET(vop_reallocblks), &a));
                   1106: }
                   1107: 
                   1108: struct vop_vfree_args {
                   1109:        struct vnodeop_desc *a_desc;
                   1110:        struct vnode *a_pvp;
                   1111:        ino_t a_ino;
                   1112:        int a_mode;
                   1113: };
                   1114: extern struct vnodeop_desc vop_vfree_desc;
                   1115: #define VOP_VFREE(pvp, ino, mode) _VOP_VFREE(pvp, ino, mode)
                   1116: static __inline int _VOP_VFREE(pvp, ino, mode)
                   1117:        struct vnode *pvp;
                   1118:        ino_t ino;
                   1119:        int mode;
                   1120: {
                   1121:        struct vop_vfree_args a;
                   1122:        a.a_desc = VDESC(vop_vfree);
                   1123:        a.a_pvp = pvp;
                   1124:        a.a_ino = ino;
                   1125:        a.a_mode = mode;
                   1126:        return (VCALL(pvp, VOFFSET(vop_vfree), &a));
                   1127: }
                   1128: 
                   1129: struct vop_truncate_args {
                   1130:        struct vnodeop_desc *a_desc;
                   1131:        struct vnode *a_vp;
                   1132:        off_t a_length;
                   1133:        int a_flags;
                   1134:        struct ucred *a_cred;
                   1135:        struct proc *a_p;
                   1136: };
                   1137: extern struct vnodeop_desc vop_truncate_desc;
                   1138: #define VOP_TRUNCATE(vp, length, flags, cred, p) _VOP_TRUNCATE(vp, length, flags, cred, p)
                   1139: static __inline int _VOP_TRUNCATE(vp, length, flags, cred, p)
                   1140:        struct vnode *vp;
                   1141:        off_t length;
                   1142:        int flags;
                   1143:        struct ucred *cred;
                   1144:        struct proc *p;
                   1145: {
                   1146:        struct vop_truncate_args a;
                   1147:        a.a_desc = VDESC(vop_truncate);
                   1148:        a.a_vp = vp;
                   1149:        a.a_length = length;
                   1150:        a.a_flags = flags;
                   1151:        a.a_cred = cred;
                   1152:        a.a_p = p;
                   1153:        return (VCALL(vp, VOFFSET(vop_truncate), &a));
                   1154: }
                   1155: 
                   1156: struct vop_allocate_args {
                   1157:        struct vnodeop_desc *a_desc;
                   1158:        struct vnode *a_vp;
                   1159:        off_t a_length;
                   1160:        u_int32_t a_flags;
                   1161:        off_t *a_bytesallocated;
                   1162:        struct ucred *a_cred;
                   1163:        struct proc *a_p;
                   1164: };
                   1165: extern struct vnodeop_desc vop_allocate_desc;
                   1166: #define VOP_ALLOCATE(vp, length, flags, bytesallocated, cred, p) _VOP_ALLOCATE(vp, length, flags, bytesallocated, cred, p)
                   1167: static __inline int _VOP_ALLOCATE(vp, length, flags, bytesallocated, cred, p)
                   1168:        struct vnode *vp;
                   1169:        off_t length;
                   1170:        u_int32_t flags;
                   1171:        off_t *bytesallocated;
                   1172:        struct ucred *cred;
                   1173:        struct proc *p;
                   1174: {
                   1175:        struct vop_allocate_args a;
                   1176:        a.a_desc = VDESC(vop_allocate);
                   1177:        a.a_vp = vp;
                   1178:        a.a_length = length;
                   1179:        a.a_flags = flags;
                   1180:        a.a_bytesallocated = bytesallocated;
                   1181:        a.a_cred = cred;
                   1182:        a.a_p = p;
                   1183:        return (VCALL(vp, VOFFSET(vop_allocate), &a));
                   1184: }
                   1185: 
                   1186: struct vop_update_args {
                   1187:        struct vnodeop_desc *a_desc;
                   1188:        struct vnode *a_vp;
                   1189:        struct timeval *a_access;
                   1190:        struct timeval *a_modify;
                   1191:        int a_waitfor;
                   1192: };
                   1193: extern struct vnodeop_desc vop_update_desc;
                   1194: #define VOP_UPDATE(vp, access, modify, waitfor) _VOP_UPDATE(vp, access, modify, waitfor)
                   1195: static __inline int _VOP_UPDATE(vp, access, modify, waitfor)
                   1196:        struct vnode *vp;
                   1197:        struct timeval *access;
                   1198:        struct timeval *modify;
                   1199:        int waitfor;
                   1200: {
                   1201:        struct vop_update_args a;
                   1202:        a.a_desc = VDESC(vop_update);
                   1203:        a.a_vp = vp;
                   1204:        a.a_access = access;
                   1205:        a.a_modify = modify;
                   1206:        a.a_waitfor = waitfor;
                   1207:        return (VCALL(vp, VOFFSET(vop_update), &a));
                   1208: }
                   1209: 
                   1210: struct vop_pgrd_args {
                   1211:        struct vnodeop_desc *a_desc;
                   1212:        struct vnode *a_vp;
                   1213:        struct uio *a_uio;
                   1214:        struct ucred *a_cred;
                   1215: };
                   1216: extern struct vnodeop_desc vop_pgrd_desc;
                   1217: #define VOP_PGRD(vp, uio, cred) _VOP_PGRD(vp, uio, cred)
                   1218: static __inline int _VOP_PGRD(vp, uio, cred)
                   1219:        struct vnode *vp;
                   1220:        struct uio *uio;
                   1221:        struct ucred *cred;
                   1222: {
                   1223:        struct vop_pgrd_args a;
                   1224:        a.a_desc = VDESC(vop_pgrd);
                   1225:        a.a_vp = vp;
                   1226:        a.a_uio = uio;
                   1227:        a.a_cred = cred;
                   1228:        return (VCALL(vp, VOFFSET(vop_pgrd), &a));
                   1229: }
                   1230: 
                   1231: struct vop_pgwr_args {
                   1232:        struct vnodeop_desc *a_desc;
                   1233:        struct vnode *a_vp;
                   1234:        struct uio *a_uio;
                   1235:        struct ucred *a_cred;
                   1236:        vm_offset_t a_offset;
                   1237: };
                   1238: extern struct vnodeop_desc vop_pgwr_desc;
                   1239: #define VOP_PGWR(vp, uio, cred, offset) _VOP_PGWR(vp, uio, cred, offset)
                   1240: static __inline int _VOP_PGWR(vp, uio, cred, offset)
                   1241:        struct vnode *vp;
                   1242:        struct uio *uio;
                   1243:        struct ucred *cred;
                   1244:        vm_offset_t offset;
                   1245: {
                   1246:        struct vop_pgwr_args a;
                   1247:        a.a_desc = VDESC(vop_pgwr);
                   1248:        a.a_vp = vp;
                   1249:        a.a_uio = uio;
                   1250:        a.a_cred = cred;
                   1251:        a.a_offset = offset;
                   1252:        return (VCALL(vp, VOFFSET(vop_pgwr), &a));
                   1253: }
                   1254: 
                   1255: struct vop_pagein_args {
                   1256:        struct vnodeop_desc *a_desc;
                   1257:        struct vnode *a_vp;
                   1258:        struct uio *a_uio;
                   1259:        int a_ioflag;
                   1260:        struct ucred *a_cred;
                   1261: };
                   1262: extern struct vnodeop_desc vop_pagein_desc;
                   1263: #define VOP_PAGEIN(vp, uio, ioflag, cred) _VOP_PAGEIN(vp, uio, ioflag, cred)
                   1264: static __inline int _VOP_PAGEIN(vp, uio, ioflag, cred)
                   1265:        struct vnode *vp;
                   1266:        struct uio *uio;
                   1267:        int ioflag;
                   1268:        struct ucred *cred;
                   1269: {
                   1270:        struct vop_pagein_args a;
                   1271:        a.a_desc = VDESC(vop_pagein);
                   1272:        a.a_vp = vp;
                   1273:        a.a_uio = uio;
                   1274:        a.a_ioflag = ioflag;
                   1275:        a.a_cred = cred;
                   1276:        return (VCALL(vp, VOFFSET(vop_pagein), &a));
                   1277: }
                   1278: 
                   1279: struct vop_pageout_args {
                   1280:        struct vnodeop_desc *a_desc;
                   1281:        struct vnode *a_vp;
                   1282:        struct uio *a_uio;
                   1283:        int a_ioflag;
                   1284:        struct ucred *a_cred;
                   1285: };
                   1286: extern struct vnodeop_desc vop_pageout_desc;
                   1287: #define VOP_PAGEOUT(vp, uio, ioflag, cred) _VOP_PAGEOUT(vp, uio, ioflag, cred)
                   1288: static __inline int _VOP_PAGEOUT(vp, uio, ioflag, cred)
                   1289:        struct vnode *vp;
                   1290:        struct uio *uio;
                   1291:        int ioflag;
                   1292:        struct ucred *cred;
                   1293: {
                   1294:        struct vop_pageout_args a;
                   1295:        a.a_desc = VDESC(vop_pageout);
                   1296:        a.a_vp = vp;
                   1297:        a.a_uio = uio;
                   1298:        a.a_ioflag = ioflag;
                   1299:        a.a_cred = cred;
                   1300:        return (VCALL(vp, VOFFSET(vop_pageout), &a));
                   1301: }
                   1302: 
                   1303: struct vop_devblocksize_args {
                   1304:        struct vnodeop_desc *a_desc;
                   1305:        struct vnode *a_vp;
                   1306:        register_t *a_retval;
                   1307: };
                   1308: extern struct vnodeop_desc vop_devblocksize_desc;
                   1309: #define VOP_DEVBLOCKSIZE(vp, retval) _VOP_DEVBLOCKSIZE(vp, retval)
                   1310: static __inline int _VOP_DEVBLOCKSIZE(vp, retval)
                   1311:        struct vnode *vp;
                   1312:        register_t *retval;
                   1313: {
                   1314:        struct vop_devblocksize_args a;
                   1315:        a.a_desc = VDESC(vop_devblocksize);
                   1316:        a.a_vp = vp;
                   1317:        a.a_retval = retval;
                   1318:        return (VCALL(vp, VOFFSET(vop_devblocksize), &a));
                   1319: }
                   1320: 
                   1321: struct vop_searchfs_args {
                   1322:        struct vnodeop_desc *a_desc;
                   1323:        struct vnode *a_vp;
                   1324:        void *a_searchparams1;
                   1325:        void *a_searchparams2;
                   1326:        struct attrlist *a_searchattrs;
                   1327:        u_long a_maxmatches;
                   1328:        struct timeval *a_timelimit;
                   1329:        struct attrlist *a_returnattrs;
                   1330:        u_long *a_nummatches;
                   1331:        u_long a_scriptcode;
                   1332:        u_long a_options;
                   1333:        struct uio *a_uio;
                   1334:        struct searchstate *a_searchstate;
                   1335: };
                   1336: extern struct vnodeop_desc vop_searchfs_desc;
                   1337: #define VOP_SEARCHFS(vp, searchparams1, searchparams2, searchattrs, maxmatches, timelimit, returnattrs, nummatches, scriptcode, options, uio, searchstate) _VOP_SEARCHFS(vp, searchparams1, searchparams2, searchattrs, maxmatches, timelimit, returnattrs, nummatches, scriptcode, options, uio, searchstate)
                   1338: static __inline int _VOP_SEARCHFS(vp, searchparams1, searchparams2, searchattrs, maxmatches, timelimit, returnattrs, nummatches, scriptcode, options, uio, searchstate)
                   1339:        struct vnode *vp;
                   1340:        void *searchparams1;
                   1341:        void *searchparams2;
                   1342:        struct attrlist *searchattrs;
                   1343:        u_long maxmatches;
                   1344:        struct timeval *timelimit;
                   1345:        struct attrlist *returnattrs;
                   1346:        u_long *nummatches;
                   1347:        u_long scriptcode;
                   1348:        u_long options;
                   1349:        struct uio *uio;
                   1350:        struct searchstate *searchstate;
                   1351: {
                   1352:        struct vop_searchfs_args a;
                   1353:        a.a_desc = VDESC(vop_searchfs);
                   1354:        a.a_vp = vp;
                   1355:        a.a_searchparams1 = searchparams1;
                   1356:        a.a_searchparams2 = searchparams2;
                   1357:        a.a_searchattrs = searchattrs;
                   1358:        a.a_maxmatches = maxmatches;
                   1359:        a.a_timelimit = timelimit;
                   1360:        a.a_returnattrs = returnattrs;
                   1361:        a.a_nummatches = nummatches;
                   1362:        a.a_scriptcode = scriptcode;
                   1363:        a.a_options = options;
                   1364:        a.a_uio = uio;
                   1365:        a.a_searchstate = searchstate;
                   1366:        return (VCALL(vp, VOFFSET(vop_searchfs), &a));
                   1367: }
                   1368: 
                   1369: struct vop_copyfile_args {
                   1370:        struct vnodeop_desc *a_desc;
                   1371:        struct vnode *a_fvp;
                   1372:        struct vnode *a_tdvp;
                   1373:        struct vnode *a_tvp;
                   1374:        struct componentname *a_tcnp;
                   1375:        int a_mode;
                   1376:        int a_flags;
                   1377: };
                   1378: extern struct vnodeop_desc vop_copyfile_desc;
                   1379: #define VOP_COPYFILE(fvp, tdvp, tvp, tcnp, mode, flags) _VOP_COPYFILE(fvp, tdvp, tvp, tcnp, mode, flags)
                   1380: static __inline int _VOP_COPYFILE(fvp, tdvp, tvp, tcnp, mode, flags)
                   1381:        struct vnode *fvp;
                   1382:        struct vnode *tdvp;
                   1383:        struct vnode *tvp;
                   1384:        struct componentname *tcnp;
                   1385:        int mode;
                   1386:        int flags;
                   1387: {
                   1388:        struct vop_copyfile_args a;
                   1389:        a.a_desc = VDESC(vop_copyfile);
                   1390:        a.a_fvp = fvp;
                   1391:        a.a_tdvp = tdvp;
                   1392:        a.a_tvp = tvp;
                   1393:        a.a_tcnp = tcnp;
                   1394:        a.a_mode = mode;
                   1395:        a.a_flags = flags;
                   1396:        return (VCALL(fvp, VOFFSET(vop_copyfile), &a));
                   1397: }
                   1398: 
                   1399: /* Special cases: */
                   1400: #include <sys/buf.h>
                   1401: #include <sys/vm.h>
                   1402: 
                   1403: struct vop_strategy_args {
                   1404:        struct vnodeop_desc *a_desc;
                   1405:        struct buf *a_bp;
                   1406: };
                   1407: extern struct vnodeop_desc vop_strategy_desc;
                   1408: #define VOP_STRATEGY(bp) _VOP_STRATEGY(bp)
                   1409: static __inline int _VOP_STRATEGY(bp)
                   1410:        struct buf *bp;
                   1411: {
                   1412:        struct vop_strategy_args a;
                   1413:        a.a_desc = VDESC(vop_strategy);
                   1414:        a.a_bp = bp;
                   1415:        return (VCALL(bp->b_vp, VOFFSET(vop_strategy), &a));
                   1416: }
                   1417: 
                   1418: struct vop_bwrite_args {
                   1419:        struct vnodeop_desc *a_desc;
                   1420:        struct buf *a_bp;
                   1421: };
                   1422: extern struct vnodeop_desc vop_bwrite_desc;
                   1423: #define VOP_BWRITE(bp) _VOP_BWRITE(bp)
                   1424: static __inline int _VOP_BWRITE(bp)
                   1425:        struct buf *bp;
                   1426: {
                   1427:        struct vop_bwrite_args a;
                   1428:        a.a_desc = VDESC(vop_bwrite);
                   1429:        a.a_bp = bp;
                   1430:        return (VCALL(bp->b_vp, VOFFSET(vop_bwrite), &a));
                   1431: }
                   1432: 
                   1433: /* End of special cases. */

unix.superglobalmegacorp.com

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