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