1 /* 2 * Warning: This file is generated automatically. 3 * (Modifications made here may easily be lost!) 4 * 5 * Created from the file: 6 * NetBSD: vnode_if.src,v 1.11 1996/09/07 12:41:06 mycroft Exp 7 * by the script: 8 * NetBSD: vnode_if.sh,v 1.9 1996/02/29 20:58:22 cgd Exp 9 */ 10 11 /* 12 * Copyright (c) 1992, 1993 13 * The Regents of the University of California. All rights reserved. 14 * 15 * Redistribution and use in source and binary forms, with or without 16 * modification, are permitted provided that the following conditions 17 * are met: 18 * 1. Redistributions of source code must retain the above copyright 19 * notice, this list of conditions and the following disclaimer. 20 * 2. Redistributions in binary form must reproduce the above copyright 21 * notice, this list of conditions and the following disclaimer in the 22 * documentation and/or other materials provided with the distribution. 23 * 3. All advertising materials mentioning features or use of this software 24 * must display the following acknowledgement: 25 * This product includes software developed by the University of 26 * California, Berkeley and its contributors. 27 * 4. Neither the name of the University nor the names of its contributors 28 * may be used to endorse or promote products derived from this software 29 * without specific prior written permission. 30 * 31 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS AS IS'' AND 32 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 33 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 34 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 35 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 39 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 40 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 41 * SUCH DAMAGE. 42 */ 43 44 #include <sys/param.h> 45 #include <sys/mount.h> 46 #include <sys/vnode.h> 47 48 struct vnodeop_desc vop_default_desc = { 49 0, 50 "default", 51 0, 52 NULL, 53 VDESC_NO_OFFSET, 54 VDESC_NO_OFFSET, 55 VDESC_NO_OFFSET, 56 VDESC_NO_OFFSET, 57 NULL, 58 }; 59 60 61 int vop_lookup_vp_offsets[] = { 62 VOPARG_OFFSETOF(struct vop_lookup_args,a_dvp), 63 VDESC_NO_OFFSET 64 }; 65 struct vnodeop_desc vop_lookup_desc = { 66 0, 67 "vop_lookup", 68 0, 69 vop_lookup_vp_offsets, 70 VOPARG_OFFSETOF(struct vop_lookup_args, a_vpp), 71 VDESC_NO_OFFSET, 72 VDESC_NO_OFFSET, 73 VOPARG_OFFSETOF(struct vop_lookup_args, a_cnp), 74 NULL, 75 }; 76 77 int vop_create_vp_offsets[] = { 78 VOPARG_OFFSETOF(struct vop_create_args,a_dvp), 79 VDESC_NO_OFFSET 80 }; 81 struct vnodeop_desc vop_create_desc = { 82 0, 83 "vop_create", 84 0 | VDESC_VP0_WILLRELE, 85 vop_create_vp_offsets, 86 VOPARG_OFFSETOF(struct vop_create_args, a_vpp), 87 VDESC_NO_OFFSET, 88 VDESC_NO_OFFSET, 89 VOPARG_OFFSETOF(struct vop_create_args, a_cnp), 90 NULL, 91 }; 92 93 int vop_mknod_vp_offsets[] = { 94 VOPARG_OFFSETOF(struct vop_mknod_args,a_dvp), 95 VDESC_NO_OFFSET 96 }; 97 struct vnodeop_desc vop_mknod_desc = { 98 0, 99 "vop_mknod", 100 0 | VDESC_VP0_WILLRELE | VDESC_VPP_WILLRELE, 101 vop_mknod_vp_offsets, 102 VOPARG_OFFSETOF(struct vop_mknod_args, a_vpp), 103 VDESC_NO_OFFSET, 104 VDESC_NO_OFFSET, 105 VOPARG_OFFSETOF(struct vop_mknod_args, a_cnp), 106 NULL, 107 }; 108 109 int vop_open_vp_offsets[] = { 110 VOPARG_OFFSETOF(struct vop_open_args,a_vp), 111 VDESC_NO_OFFSET 112 }; 113 struct vnodeop_desc vop_open_desc = { 114 0, 115 "vop_open", 116 0, 117 vop_open_vp_offsets, 118 VDESC_NO_OFFSET, 119 VOPARG_OFFSETOF(struct vop_open_args, a_cred), 120 VOPARG_OFFSETOF(struct vop_open_args, a_p), 121 VDESC_NO_OFFSET, 122 NULL, 123 }; 124 125 int vop_close_vp_offsets[] = { 126 VOPARG_OFFSETOF(struct vop_close_args,a_vp), 127 VDESC_NO_OFFSET 128 }; 129 struct vnodeop_desc vop_close_desc = { 130 0, 131 "vop_close", 132 0, 133 vop_close_vp_offsets, 134 VDESC_NO_OFFSET, 135 VOPARG_OFFSETOF(struct vop_close_args, a_cred), 136 VOPARG_OFFSETOF(struct vop_close_args, a_p), 137 VDESC_NO_OFFSET, 138 NULL, 139 }; 140 141 int vop_access_vp_offsets[] = { 142 VOPARG_OFFSETOF(struct vop_access_args,a_vp), 143 VDESC_NO_OFFSET 144 }; 145 struct vnodeop_desc vop_access_desc = { 146 0, 147 "vop_access", 148 0, 149 vop_access_vp_offsets, 150 VDESC_NO_OFFSET, 151 VOPARG_OFFSETOF(struct vop_access_args, a_cred), 152 VOPARG_OFFSETOF(struct vop_access_args, a_p), 153 VDESC_NO_OFFSET, 154 NULL, 155 }; 156 157 int vop_getattr_vp_offsets[] = { 158 VOPARG_OFFSETOF(struct vop_getattr_args,a_vp), 159 VDESC_NO_OFFSET 160 }; 161 struct vnodeop_desc vop_getattr_desc = { 162 0, 163 "vop_getattr", 164 0, 165 vop_getattr_vp_offsets, 166 VDESC_NO_OFFSET, 167 VOPARG_OFFSETOF(struct vop_getattr_args, a_cred), 168 VOPARG_OFFSETOF(struct vop_getattr_args, a_p), 169 VDESC_NO_OFFSET, 170 NULL, 171 }; 172 173 int vop_setattr_vp_offsets[] = { 174 VOPARG_OFFSETOF(struct vop_setattr_args,a_vp), 175 VDESC_NO_OFFSET 176 }; 177 struct vnodeop_desc vop_setattr_desc = { 178 0, 179 "vop_setattr", 180 0, 181 vop_setattr_vp_offsets, 182 VDESC_NO_OFFSET, 183 VOPARG_OFFSETOF(struct vop_setattr_args, a_cred), 184 VOPARG_OFFSETOF(struct vop_setattr_args, a_p), 185 VDESC_NO_OFFSET, 186 NULL, 187 }; 188 189 int vop_read_vp_offsets[] = { 190 VOPARG_OFFSETOF(struct vop_read_args,a_vp), 191 VDESC_NO_OFFSET 192 }; 193 struct vnodeop_desc vop_read_desc = { 194 0, 195 "vop_read", 196 0, 197 vop_read_vp_offsets, 198 VDESC_NO_OFFSET, 199 VOPARG_OFFSETOF(struct vop_read_args, a_cred), 200 VDESC_NO_OFFSET, 201 VDESC_NO_OFFSET, 202 NULL, 203 }; 204 205 int vop_write_vp_offsets[] = { 206 VOPARG_OFFSETOF(struct vop_write_args,a_vp), 207 VDESC_NO_OFFSET 208 }; 209 struct vnodeop_desc vop_write_desc = { 210 0, 211 "vop_write", 212 0, 213 vop_write_vp_offsets, 214 VDESC_NO_OFFSET, 215 VOPARG_OFFSETOF(struct vop_write_args, a_cred), 216 VDESC_NO_OFFSET, 217 VDESC_NO_OFFSET, 218 NULL, 219 }; 220 221 int vop_ioctl_vp_offsets[] = { 222 VOPARG_OFFSETOF(struct vop_ioctl_args,a_vp), 223 VDESC_NO_OFFSET 224 }; 225 struct vnodeop_desc vop_ioctl_desc = { 226 0, 227 "vop_ioctl", 228 0, 229 vop_ioctl_vp_offsets, 230 VDESC_NO_OFFSET, 231 VOPARG_OFFSETOF(struct vop_ioctl_args, a_cred), 232 VOPARG_OFFSETOF(struct vop_ioctl_args, a_p), 233 VDESC_NO_OFFSET, 234 NULL, 235 }; 236 237 int vop_poll_vp_offsets[] = { 238 VOPARG_OFFSETOF(struct vop_poll_args,a_vp), 239 VDESC_NO_OFFSET 240 }; 241 struct vnodeop_desc vop_poll_desc = { 242 0, 243 "vop_poll", 244 0, 245 vop_poll_vp_offsets, 246 VDESC_NO_OFFSET, 247 VDESC_NO_OFFSET, 248 VOPARG_OFFSETOF(struct vop_poll_args, a_p), 249 VDESC_NO_OFFSET, 250 NULL, 251 }; 252 253 int vop_mmap_vp_offsets[] = { 254 VOPARG_OFFSETOF(struct vop_mmap_args,a_vp), 255 VDESC_NO_OFFSET 256 }; 257 struct vnodeop_desc vop_mmap_desc = { 258 0, 259 "vop_mmap", 260 0, 261 vop_mmap_vp_offsets, 262 VDESC_NO_OFFSET, 263 VOPARG_OFFSETOF(struct vop_mmap_args, a_cred), 264 VOPARG_OFFSETOF(struct vop_mmap_args, a_p), 265 VDESC_NO_OFFSET, 266 NULL, 267 }; 268 269 int vop_fsync_vp_offsets[] = { 270 VOPARG_OFFSETOF(struct vop_fsync_args,a_vp), 271 VDESC_NO_OFFSET 272 }; 273 struct vnodeop_desc vop_fsync_desc = { 274 0, 275 "vop_fsync", 276 0, 277 vop_fsync_vp_offsets, 278 VDESC_NO_OFFSET, 279 VOPARG_OFFSETOF(struct vop_fsync_args, a_cred), 280 VOPARG_OFFSETOF(struct vop_fsync_args, a_p), 281 VDESC_NO_OFFSET, 282 NULL, 283 }; 284 285 int vop_seek_vp_offsets[] = { 286 VOPARG_OFFSETOF(struct vop_seek_args,a_vp), 287 VDESC_NO_OFFSET 288 }; 289 struct vnodeop_desc vop_seek_desc = { 290 0, 291 "vop_seek", 292 0, 293 vop_seek_vp_offsets, 294 VDESC_NO_OFFSET, 295 VOPARG_OFFSETOF(struct vop_seek_args, a_cred), 296 VDESC_NO_OFFSET, 297 VDESC_NO_OFFSET, 298 NULL, 299 }; 300 301 int vop_remove_vp_offsets[] = { 302 VOPARG_OFFSETOF(struct vop_remove_args,a_dvp), 303 VOPARG_OFFSETOF(struct vop_remove_args,a_vp), 304 VDESC_NO_OFFSET 305 }; 306 struct vnodeop_desc vop_remove_desc = { 307 0, 308 "vop_remove", 309 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE, 310 vop_remove_vp_offsets, 311 VDESC_NO_OFFSET, 312 VDESC_NO_OFFSET, 313 VDESC_NO_OFFSET, 314 VOPARG_OFFSETOF(struct vop_remove_args, a_cnp), 315 NULL, 316 }; 317 318 int vop_link_vp_offsets[] = { 319 VOPARG_OFFSETOF(struct vop_link_args,a_dvp), 320 VOPARG_OFFSETOF(struct vop_link_args,a_vp), 321 VDESC_NO_OFFSET 322 }; 323 struct vnodeop_desc vop_link_desc = { 324 0, 325 "vop_link", 326 0 | VDESC_VP0_WILLRELE, 327 vop_link_vp_offsets, 328 VDESC_NO_OFFSET, 329 VDESC_NO_OFFSET, 330 VDESC_NO_OFFSET, 331 VOPARG_OFFSETOF(struct vop_link_args, a_cnp), 332 NULL, 333 }; 334 335 int vop_rename_vp_offsets[] = { 336 VOPARG_OFFSETOF(struct vop_rename_args,a_fdvp), 337 VOPARG_OFFSETOF(struct vop_rename_args,a_fvp), 338 VOPARG_OFFSETOF(struct vop_rename_args,a_tdvp), 339 VOPARG_OFFSETOF(struct vop_rename_args,a_tvp), 340 VDESC_NO_OFFSET 341 }; 342 struct vnodeop_desc vop_rename_desc = { 343 0, 344 "vop_rename", 345 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE | VDESC_VP3_WILLRELE, 346 vop_rename_vp_offsets, 347 VDESC_NO_OFFSET, 348 VDESC_NO_OFFSET, 349 VDESC_NO_OFFSET, 350 VOPARG_OFFSETOF(struct vop_rename_args, a_fcnp), 351 NULL, 352 }; 353 354 int vop_mkdir_vp_offsets[] = { 355 VOPARG_OFFSETOF(struct vop_mkdir_args,a_dvp), 356 VDESC_NO_OFFSET 357 }; 358 struct vnodeop_desc vop_mkdir_desc = { 359 0, 360 "vop_mkdir", 361 0 | VDESC_VP0_WILLRELE, 362 vop_mkdir_vp_offsets, 363 VOPARG_OFFSETOF(struct vop_mkdir_args, a_vpp), 364 VDESC_NO_OFFSET, 365 VDESC_NO_OFFSET, 366 VOPARG_OFFSETOF(struct vop_mkdir_args, a_cnp), 367 NULL, 368 }; 369 370 int vop_rmdir_vp_offsets[] = { 371 VOPARG_OFFSETOF(struct vop_rmdir_args,a_dvp), 372 VOPARG_OFFSETOF(struct vop_rmdir_args,a_vp), 373 VDESC_NO_OFFSET 374 }; 375 struct vnodeop_desc vop_rmdir_desc = { 376 0, 377 "vop_rmdir", 378 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE, 379 vop_rmdir_vp_offsets, 380 VDESC_NO_OFFSET, 381 VDESC_NO_OFFSET, 382 VDESC_NO_OFFSET, 383 VOPARG_OFFSETOF(struct vop_rmdir_args, a_cnp), 384 NULL, 385 }; 386 387 int vop_symlink_vp_offsets[] = { 388 VOPARG_OFFSETOF(struct vop_symlink_args,a_dvp), 389 VDESC_NO_OFFSET 390 }; 391 struct vnodeop_desc vop_symlink_desc = { 392 0, 393 "vop_symlink", 394 0 | VDESC_VP0_WILLRELE | VDESC_VPP_WILLRELE, 395 vop_symlink_vp_offsets, 396 VOPARG_OFFSETOF(struct vop_symlink_args, a_vpp), 397 VDESC_NO_OFFSET, 398 VDESC_NO_OFFSET, 399 VOPARG_OFFSETOF(struct vop_symlink_args, a_cnp), 400 NULL, 401 }; 402 403 int vop_readdir_vp_offsets[] = { 404 VOPARG_OFFSETOF(struct vop_readdir_args,a_vp), 405 VDESC_NO_OFFSET 406 }; 407 struct vnodeop_desc vop_readdir_desc = { 408 0, 409 "vop_readdir", 410 0, 411 vop_readdir_vp_offsets, 412 VDESC_NO_OFFSET, 413 VOPARG_OFFSETOF(struct vop_readdir_args, a_cred), 414 VDESC_NO_OFFSET, 415 VDESC_NO_OFFSET, 416 NULL, 417 }; 418 419 int vop_readlink_vp_offsets[] = { 420 VOPARG_OFFSETOF(struct vop_readlink_args,a_vp), 421 VDESC_NO_OFFSET 422 }; 423 struct vnodeop_desc vop_readlink_desc = { 424 0, 425 "vop_readlink", 426 0, 427 vop_readlink_vp_offsets, 428 VDESC_NO_OFFSET, 429 VOPARG_OFFSETOF(struct vop_readlink_args, a_cred), 430 VDESC_NO_OFFSET, 431 VDESC_NO_OFFSET, 432 NULL, 433 }; 434 435 int vop_abortop_vp_offsets[] = { 436 VOPARG_OFFSETOF(struct vop_abortop_args,a_dvp), 437 VDESC_NO_OFFSET 438 }; 439 struct vnodeop_desc vop_abortop_desc = { 440 0, 441 "vop_abortop", 442 0, 443 vop_abortop_vp_offsets, 444 VDESC_NO_OFFSET, 445 VDESC_NO_OFFSET, 446 VDESC_NO_OFFSET, 447 VOPARG_OFFSETOF(struct vop_abortop_args, a_cnp), 448 NULL, 449 }; 450 451 int vop_inactive_vp_offsets[] = { 452 VOPARG_OFFSETOF(struct vop_inactive_args,a_vp), 453 VDESC_NO_OFFSET 454 }; 455 struct vnodeop_desc vop_inactive_desc = { 456 0, 457 "vop_inactive", 458 0, 459 vop_inactive_vp_offsets, 460 VDESC_NO_OFFSET, 461 VDESC_NO_OFFSET, 462 VDESC_NO_OFFSET, 463 VDESC_NO_OFFSET, 464 NULL, 465 }; 466 467 int vop_reclaim_vp_offsets[] = { 468 VOPARG_OFFSETOF(struct vop_reclaim_args,a_vp), 469 VDESC_NO_OFFSET 470 }; 471 struct vnodeop_desc vop_reclaim_desc = { 472 0, 473 "vop_reclaim", 474 0, 475 vop_reclaim_vp_offsets, 476 VDESC_NO_OFFSET, 477 VDESC_NO_OFFSET, 478 VDESC_NO_OFFSET, 479 VDESC_NO_OFFSET, 480 NULL, 481 }; 482 483 int vop_lock_vp_offsets[] = { 484 VOPARG_OFFSETOF(struct vop_lock_args,a_vp), 485 VDESC_NO_OFFSET 486 }; 487 struct vnodeop_desc vop_lock_desc = { 488 0, 489 "vop_lock", 490 0, 491 vop_lock_vp_offsets, 492 VDESC_NO_OFFSET, 493 VDESC_NO_OFFSET, 494 VDESC_NO_OFFSET, 495 VDESC_NO_OFFSET, 496 NULL, 497 }; 498 499 int vop_unlock_vp_offsets[] = { 500 VOPARG_OFFSETOF(struct vop_unlock_args,a_vp), 501 VDESC_NO_OFFSET 502 }; 503 struct vnodeop_desc vop_unlock_desc = { 504 0, 505 "vop_unlock", 506 0, 507 vop_unlock_vp_offsets, 508 VDESC_NO_OFFSET, 509 VDESC_NO_OFFSET, 510 VDESC_NO_OFFSET, 511 VDESC_NO_OFFSET, 512 NULL, 513 }; 514 515 int vop_bmap_vp_offsets[] = { 516 VOPARG_OFFSETOF(struct vop_bmap_args,a_vp), 517 VDESC_NO_OFFSET 518 }; 519 struct vnodeop_desc vop_bmap_desc = { 520 0, 521 "vop_bmap", 522 0, 523 vop_bmap_vp_offsets, 524 VOPARG_OFFSETOF(struct vop_bmap_args, a_vpp), 525 VDESC_NO_OFFSET, 526 VDESC_NO_OFFSET, 527 VDESC_NO_OFFSET, 528 NULL, 529 }; 530 531 int vop_print_vp_offsets[] = { 532 VOPARG_OFFSETOF(struct vop_print_args,a_vp), 533 VDESC_NO_OFFSET 534 }; 535 struct vnodeop_desc vop_print_desc = { 536 0, 537 "vop_print", 538 0, 539 vop_print_vp_offsets, 540 VDESC_NO_OFFSET, 541 VDESC_NO_OFFSET, 542 VDESC_NO_OFFSET, 543 VDESC_NO_OFFSET, 544 NULL, 545 }; 546 547 int vop_islocked_vp_offsets[] = { 548 VOPARG_OFFSETOF(struct vop_islocked_args,a_vp), 549 VDESC_NO_OFFSET 550 }; 551 struct vnodeop_desc vop_islocked_desc = { 552 0, 553 "vop_islocked", 554 0, 555 vop_islocked_vp_offsets, 556 VDESC_NO_OFFSET, 557 VDESC_NO_OFFSET, 558 VDESC_NO_OFFSET, 559 VDESC_NO_OFFSET, 560 NULL, 561 }; 562 563 int vop_pathconf_vp_offsets[] = { 564 VOPARG_OFFSETOF(struct vop_pathconf_args,a_vp), 565 VDESC_NO_OFFSET 566 }; 567 struct vnodeop_desc vop_pathconf_desc = { 568 0, 569 "vop_pathconf", 570 0, 571 vop_pathconf_vp_offsets, 572 VDESC_NO_OFFSET, 573 VDESC_NO_OFFSET, 574 VDESC_NO_OFFSET, 575 VDESC_NO_OFFSET, 576 NULL, 577 }; 578 579 int vop_advlock_vp_offsets[] = { 580 VOPARG_OFFSETOF(struct vop_advlock_args,a_vp), 581 VDESC_NO_OFFSET 582 }; 583 struct vnodeop_desc vop_advlock_desc = { 584 0, 585 "vop_advlock", 586 0, 587 vop_advlock_vp_offsets, 588 VDESC_NO_OFFSET, 589 VDESC_NO_OFFSET, 590 VDESC_NO_OFFSET, 591 VDESC_NO_OFFSET, 592 NULL, 593 }; 594 595 int vop_blkatoff_vp_offsets[] = { 596 VOPARG_OFFSETOF(struct vop_blkatoff_args,a_vp), 597 VDESC_NO_OFFSET 598 }; 599 struct vnodeop_desc vop_blkatoff_desc = { 600 0, 601 "vop_blkatoff", 602 0, 603 vop_blkatoff_vp_offsets, 604 VDESC_NO_OFFSET, 605 VDESC_NO_OFFSET, 606 VDESC_NO_OFFSET, 607 VDESC_NO_OFFSET, 608 NULL, 609 }; 610 611 int vop_valloc_vp_offsets[] = { 612 VOPARG_OFFSETOF(struct vop_valloc_args,a_pvp), 613 VDESC_NO_OFFSET 614 }; 615 struct vnodeop_desc vop_valloc_desc = { 616 0, 617 "vop_valloc", 618 0, 619 vop_valloc_vp_offsets, 620 VOPARG_OFFSETOF(struct vop_valloc_args, a_vpp), 621 VOPARG_OFFSETOF(struct vop_valloc_args, a_cred), 622 VDESC_NO_OFFSET, 623 VDESC_NO_OFFSET, 624 NULL, 625 }; 626 627 int vop_reallocblks_vp_offsets[] = { 628 VOPARG_OFFSETOF(struct vop_reallocblks_args,a_vp), 629 VDESC_NO_OFFSET 630 }; 631 struct vnodeop_desc vop_reallocblks_desc = { 632 0, 633 "vop_reallocblks", 634 0, 635 vop_reallocblks_vp_offsets, 636 VDESC_NO_OFFSET, 637 VDESC_NO_OFFSET, 638 VDESC_NO_OFFSET, 639 VDESC_NO_OFFSET, 640 NULL, 641 }; 642 643 int vop_vfree_vp_offsets[] = { 644 VOPARG_OFFSETOF(struct vop_vfree_args,a_pvp), 645 VDESC_NO_OFFSET 646 }; 647 struct vnodeop_desc vop_vfree_desc = { 648 0, 649 "vop_vfree", 650 0, 651 vop_vfree_vp_offsets, 652 VDESC_NO_OFFSET, 653 VDESC_NO_OFFSET, 654 VDESC_NO_OFFSET, 655 VDESC_NO_OFFSET, 656 NULL, 657 }; 658 659 int vop_truncate_vp_offsets[] = { 660 VOPARG_OFFSETOF(struct vop_truncate_args,a_vp), 661 VDESC_NO_OFFSET 662 }; 663 struct vnodeop_desc vop_truncate_desc = { 664 0, 665 "vop_truncate", 666 0, 667 vop_truncate_vp_offsets, 668 VDESC_NO_OFFSET, 669 VOPARG_OFFSETOF(struct vop_truncate_args, a_cred), 670 VOPARG_OFFSETOF(struct vop_truncate_args, a_p), 671 VDESC_NO_OFFSET, 672 NULL, 673 }; 674 675 int vop_update_vp_offsets[] = { 676 VOPARG_OFFSETOF(struct vop_update_args,a_vp), 677 VDESC_NO_OFFSET 678 }; 679 struct vnodeop_desc vop_update_desc = { 680 0, 681 "vop_update", 682 0, 683 vop_update_vp_offsets, 684 VDESC_NO_OFFSET, 685 VDESC_NO_OFFSET, 686 VDESC_NO_OFFSET, 687 VDESC_NO_OFFSET, 688 NULL, 689 }; 690 691 int vop_lease_vp_offsets[] = { 692 VOPARG_OFFSETOF(struct vop_lease_args,a_vp), 693 VDESC_NO_OFFSET 694 }; 695 struct vnodeop_desc vop_lease_desc = { 696 0, 697 "vop_lease", 698 0, 699 vop_lease_vp_offsets, 700 VDESC_NO_OFFSET, 701 VOPARG_OFFSETOF(struct vop_lease_args, a_cred), 702 VOPARG_OFFSETOF(struct vop_lease_args, a_p), 703 VDESC_NO_OFFSET, 704 NULL, 705 }; 706 707 int vop_whiteout_vp_offsets[] = { 708 VOPARG_OFFSETOF(struct vop_whiteout_args,a_dvp), 709 VDESC_NO_OFFSET 710 }; 711 struct vnodeop_desc vop_whiteout_desc = { 712 0, 713 "vop_whiteout", 714 0, 715 vop_whiteout_vp_offsets, 716 VDESC_NO_OFFSET, 717 VDESC_NO_OFFSET, 718 VDESC_NO_OFFSET, 719 VOPARG_OFFSETOF(struct vop_whiteout_args, a_cnp), 720 NULL, 721 }; 722 723 /* Special cases: */ 724 725 int vop_strategy_vp_offsets[] = { 726 VDESC_NO_OFFSET 727 }; 728 struct vnodeop_desc vop_strategy_desc = { 729 0, 730 "vop_strategy", 731 0, 732 vop_strategy_vp_offsets, 733 VDESC_NO_OFFSET, 734 VDESC_NO_OFFSET, 735 VDESC_NO_OFFSET, 736 VDESC_NO_OFFSET, 737 NULL, 738 }; 739 740 int vop_bwrite_vp_offsets[] = { 741 VDESC_NO_OFFSET 742 }; 743 struct vnodeop_desc vop_bwrite_desc = { 744 0, 745 "vop_bwrite", 746 0, 747 vop_bwrite_vp_offsets, 748 VDESC_NO_OFFSET, 749 VDESC_NO_OFFSET, 750 VDESC_NO_OFFSET, 751 VDESC_NO_OFFSET, 752 NULL, 753 }; 754 755 /* End of special cases. */ 756 757 struct vnodeop_desc *vfs_op_descs[] = { 758 &vop_default_desc, /* MUST BE FIRST */ 759 &vop_strategy_desc, /* XXX: SPECIAL CASE */ 760 &vop_bwrite_desc, /* XXX: SPECIAL CASE */ 761 762 &vop_lookup_desc, 763 &vop_create_desc, 764 &vop_mknod_desc, 765 &vop_open_desc, 766 &vop_close_desc, 767 &vop_access_desc, 768 &vop_getattr_desc, 769 &vop_setattr_desc, 770 &vop_read_desc, 771 &vop_write_desc, 772 &vop_ioctl_desc, 773 &vop_poll_desc, 774 &vop_mmap_desc, 775 &vop_fsync_desc, 776 &vop_seek_desc, 777 &vop_remove_desc, 778 &vop_link_desc, 779 &vop_rename_desc, 780 &vop_mkdir_desc, 781 &vop_rmdir_desc, 782 &vop_symlink_desc, 783 &vop_readdir_desc, 784 &vop_readlink_desc, 785 &vop_abortop_desc, 786 &vop_inactive_desc, 787 &vop_reclaim_desc, 788 &vop_lock_desc, 789 &vop_unlock_desc, 790 &vop_bmap_desc, 791 &vop_print_desc, 792 &vop_islocked_desc, 793 &vop_pathconf_desc, 794 &vop_advlock_desc, 795 &vop_blkatoff_desc, 796 &vop_valloc_desc, 797 &vop_reallocblks_desc, 798 &vop_vfree_desc, 799 &vop_truncate_desc, 800 &vop_update_desc, 801 &vop_lease_desc, 802 &vop_whiteout_desc, 803 NULL 804 }; 805 806