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