2 * Copyright (c) 2000-2016 Apple Computer, Inc. All rights reserved.
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
29 * Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
30 * Copyright (c) 1992, 1993, 1994, 1995
31 * The Regents of the University of California. All rights reserved.
33 * Redistribution and use in source and binary forms, with or without
34 * modification, are permitted provided that the following conditions
36 * 1. Redistributions of source code must retain the above copyright
37 * notice, this list of conditions and the following disclaimer.
38 * 2. Redistributions in binary form must reproduce the above copyright
39 * notice, this list of conditions and the following disclaimer in the
40 * documentation and/or other materials provided with the distribution.
41 * 3. All advertising materials mentioning features or use of this software
42 * must display the following acknowledgement:
43 * This product includes software developed by the University of
44 * California, Berkeley and its contributors.
45 * 4. Neither the name of the University nor the names of its contributors
46 * may be used to endorse or promote products derived from this software
47 * without specific prior written permission.
49 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS AND
50 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
51 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
52 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
53 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
54 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
55 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
56 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
57 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
58 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
64 * Warning: This file is generated automatically.
65 * (Modifications made here may easily be lost!)
67 * Created by the script:
68 * @(#)vnode_if.sh 8.7 (Berkeley) 5/11/95
72 #include <sys/param.h>
73 #include <sys/mount_internal.h>
75 #include <sys/vnode_internal.h>
77 struct vnodeop_desc vnop_default_desc
= {
91 int vnop_lookup_vp_offsets
[] = {
92 VOPARG_OFFSETOF(struct vnop_lookup_args
, a_dvp
),
95 struct vnodeop_desc vnop_lookup_desc
= {
99 vnop_lookup_vp_offsets
,
100 VOPARG_OFFSETOF(struct vnop_lookup_args
, a_vpp
),
103 VOPARG_OFFSETOF(struct vnop_lookup_args
, a_cnp
),
104 VOPARG_OFFSETOF(struct vnop_lookup_args
, a_context
),
108 int vnop_compound_open_vp_offsets
[] = {
109 VOPARG_OFFSETOF(struct vnop_compound_open_args
, a_dvp
),
113 struct vnodeop_desc vnop_compound_open_desc
= {
115 "vnop_compound_open",
116 0 | VDESC_VP0_WILLRELE
,
117 vnop_compound_open_vp_offsets
,
118 VOPARG_OFFSETOF(struct vnop_compound_open_args
, a_vpp
),
121 VOPARG_OFFSETOF(struct vnop_compound_open_args
, a_cnp
),
122 VOPARG_OFFSETOF(struct vnop_compound_open_args
, a_context
),
126 int vnop_create_vp_offsets
[] = {
127 VOPARG_OFFSETOF(struct vnop_create_args
, a_dvp
),
130 struct vnodeop_desc vnop_create_desc
= {
133 0 | VDESC_VP0_WILLRELE
,
134 vnop_create_vp_offsets
,
135 VOPARG_OFFSETOF(struct vnop_create_args
, a_vpp
),
138 VOPARG_OFFSETOF(struct vnop_create_args
, a_cnp
),
139 VOPARG_OFFSETOF(struct vnop_create_args
, a_context
),
143 int vnop_whiteout_vp_offsets
[] = {
144 VOPARG_OFFSETOF(struct vnop_whiteout_args
, a_dvp
),
147 struct vnodeop_desc vnop_whiteout_desc
= {
150 0 | VDESC_VP0_WILLRELE
,
151 vnop_whiteout_vp_offsets
,
155 VOPARG_OFFSETOF(struct vnop_whiteout_args
, a_cnp
),
156 VOPARG_OFFSETOF(struct vnop_whiteout_args
, a_context
),
160 int vnop_mknod_vp_offsets
[] = {
161 VOPARG_OFFSETOF(struct vnop_mknod_args
, a_dvp
),
164 struct vnodeop_desc vnop_mknod_desc
= {
167 0 | VDESC_VP0_WILLRELE
| VDESC_VPP_WILLRELE
,
168 vnop_mknod_vp_offsets
,
169 VOPARG_OFFSETOF(struct vnop_mknod_args
, a_vpp
),
172 VOPARG_OFFSETOF(struct vnop_mknod_args
, a_cnp
),
173 VOPARG_OFFSETOF(struct vnop_mknod_args
, a_context
),
177 int vnop_open_vp_offsets
[] = {
178 VOPARG_OFFSETOF(struct vnop_open_args
, a_vp
),
181 struct vnodeop_desc vnop_open_desc
= {
185 vnop_open_vp_offsets
,
190 VOPARG_OFFSETOF(struct vnop_open_args
, a_context
),
194 int vnop_close_vp_offsets
[] = {
195 VOPARG_OFFSETOF(struct vnop_close_args
, a_vp
),
198 struct vnodeop_desc vnop_close_desc
= {
202 vnop_close_vp_offsets
,
207 VOPARG_OFFSETOF(struct vnop_close_args
, a_context
),
211 int vnop_access_vp_offsets
[] = {
212 VOPARG_OFFSETOF(struct vnop_access_args
, a_vp
),
215 struct vnodeop_desc vnop_access_desc
= {
219 vnop_access_vp_offsets
,
224 VOPARG_OFFSETOF(struct vnop_close_args
, a_context
),
228 int vnop_getattr_vp_offsets
[] = {
229 VOPARG_OFFSETOF(struct vnop_getattr_args
, a_vp
),
232 struct vnodeop_desc vnop_getattr_desc
= {
236 vnop_getattr_vp_offsets
,
241 VOPARG_OFFSETOF(struct vnop_getattr_args
, a_context
),
245 int vnop_setattr_vp_offsets
[] = {
246 VOPARG_OFFSETOF(struct vnop_setattr_args
, a_vp
),
249 struct vnodeop_desc vnop_setattr_desc
= {
253 vnop_setattr_vp_offsets
,
258 VOPARG_OFFSETOF(struct vnop_setattr_args
, a_context
),
262 int vnop_read_vp_offsets
[] = {
263 VOPARG_OFFSETOF(struct vnop_read_args
, a_vp
),
266 struct vnodeop_desc vnop_read_desc
= {
270 vnop_read_vp_offsets
,
275 VOPARG_OFFSETOF(struct vnop_read_args
, a_context
),
279 int vnop_write_vp_offsets
[] = {
280 VOPARG_OFFSETOF(struct vnop_write_args
, a_vp
),
283 struct vnodeop_desc vnop_write_desc
= {
287 vnop_write_vp_offsets
,
292 VOPARG_OFFSETOF(struct vnop_write_args
, a_context
),
296 int vnop_ioctl_vp_offsets
[] = {
297 VOPARG_OFFSETOF(struct vnop_ioctl_args
, a_vp
),
300 struct vnodeop_desc vnop_ioctl_desc
= {
304 vnop_ioctl_vp_offsets
,
309 VOPARG_OFFSETOF(struct vnop_ioctl_args
, a_context
),
313 int vnop_select_vp_offsets
[] = {
314 VOPARG_OFFSETOF(struct vnop_select_args
, a_vp
),
317 struct vnodeop_desc vnop_select_desc
= {
321 vnop_select_vp_offsets
,
326 VOPARG_OFFSETOF(struct vnop_select_args
, a_context
),
330 int vnop_exchange_vp_offsets
[] = {
331 VOPARG_OFFSETOF(struct vnop_exchange_args
, a_fvp
),
332 VOPARG_OFFSETOF(struct vnop_exchange_args
, a_tvp
),
335 struct vnodeop_desc vnop_exchange_desc
= {
339 vnop_exchange_vp_offsets
,
344 VOPARG_OFFSETOF(struct vnop_exchange_args
, a_context
),
348 int vnop_kqfilt_add_vp_offsets
[] = {
349 VOPARG_OFFSETOF(struct vnop_kqfilt_add_args
, a_vp
),
352 struct vnodeop_desc vnop_kqfilt_add_desc
= {
356 vnop_kqfilt_add_vp_offsets
,
361 VOPARG_OFFSETOF(struct vnop_kqfilt_add_args
, a_context
),
365 int vnop_kqfilt_remove_vp_offsets
[] = {
366 VOPARG_OFFSETOF(struct vnop_kqfilt_remove_args
, a_vp
),
369 struct vnodeop_desc vnop_kqfilt_remove_desc
= {
371 "vnop_kqfilt_remove",
373 vnop_kqfilt_remove_vp_offsets
,
378 VOPARG_OFFSETOF(struct vnop_kqfilt_remove_args
, a_context
),
382 int vnop_monitor_vp_offsets
[] = {
383 VOPARG_OFFSETOF(struct vnop_monitor_args
, a_vp
),
386 struct vnodeop_desc vnop_monitor_desc
= {
390 vnop_monitor_vp_offsets
,
395 VOPARG_OFFSETOF(struct vnop_monitor_args
, a_context
),
399 int vnop_setlabel_vp_offsets
[] = {
400 VOPARG_OFFSETOF(struct vnop_setlabel_args
, a_vp
),
403 struct vnodeop_desc vnop_setlabel_desc
= {
407 vnop_setlabel_vp_offsets
,
412 VOPARG_OFFSETOF(struct vnop_setlabel_args
, a_context
),
416 int vnop_revoke_vp_offsets
[] = {
417 VOPARG_OFFSETOF(struct vnop_revoke_args
, a_vp
),
420 struct vnodeop_desc vnop_revoke_desc
= {
424 vnop_revoke_vp_offsets
,
434 int vnop_mmap_vp_offsets
[] = {
435 VOPARG_OFFSETOF(struct vnop_mmap_args
, a_vp
),
438 struct vnodeop_desc vnop_mmap_desc
= {
442 vnop_mmap_vp_offsets
,
452 int vnop_mnomap_vp_offsets
[] = {
453 VOPARG_OFFSETOF(struct vnop_mnomap_args
, a_vp
),
456 struct vnodeop_desc vnop_mnomap_desc
= {
460 vnop_mnomap_vp_offsets
,
470 int vnop_fsync_vp_offsets
[] = {
471 VOPARG_OFFSETOF(struct vnop_fsync_args
, a_vp
),
474 struct vnodeop_desc vnop_fsync_desc
= {
478 vnop_fsync_vp_offsets
,
483 VOPARG_OFFSETOF(struct vnop_fsync_args
, a_context
),
487 int vnop_remove_vp_offsets
[] = {
488 VOPARG_OFFSETOF(struct vnop_remove_args
, a_dvp
),
489 VOPARG_OFFSETOF(struct vnop_remove_args
, a_vp
),
492 struct vnodeop_desc vnop_remove_desc
= {
495 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
,
496 vnop_remove_vp_offsets
,
500 VOPARG_OFFSETOF(struct vnop_remove_args
, a_cnp
),
501 VOPARG_OFFSETOF(struct vnop_remove_args
, a_context
),
505 int vnop_remove_extended_vp_offsets
[] = {
506 VOPARG_OFFSETOF(struct vnop_remove_args
, a_dvp
),
509 struct vnodeop_desc vnop_compound_remove_desc
= {
511 "vnop_compound_remove",
513 vnop_remove_vp_offsets
,
514 VOPARG_OFFSETOF(struct vnop_compound_remove_args
, a_vpp
),
517 VOPARG_OFFSETOF(struct vnop_remove_args
, a_cnp
),
518 VOPARG_OFFSETOF(struct vnop_remove_args
, a_context
),
522 int vnop_link_vp_offsets
[] = {
523 VOPARG_OFFSETOF(struct vnop_link_args
, a_vp
),
524 VOPARG_OFFSETOF(struct vnop_link_args
, a_tdvp
),
527 struct vnodeop_desc vnop_link_desc
= {
530 0 | VDESC_VP1_WILLRELE
,
531 vnop_link_vp_offsets
,
535 VOPARG_OFFSETOF(struct vnop_link_args
, a_cnp
),
536 VOPARG_OFFSETOF(struct vnop_link_args
, a_context
),
540 int vnop_rename_vp_offsets
[] = {
541 VOPARG_OFFSETOF(struct vnop_rename_args
, a_fdvp
),
542 VOPARG_OFFSETOF(struct vnop_rename_args
, a_fvp
),
543 VOPARG_OFFSETOF(struct vnop_rename_args
, a_tdvp
),
544 VOPARG_OFFSETOF(struct vnop_rename_args
, a_tvp
),
547 struct vnodeop_desc vnop_rename_desc
= {
550 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
| VDESC_VP2_WILLRELE
| VDESC_VP3_WILLRELE
,
551 vnop_rename_vp_offsets
,
555 VOPARG_OFFSETOF(struct vnop_rename_args
, a_fcnp
),
556 VOPARG_OFFSETOF(struct vnop_rename_args
, a_context
),
560 int vnop_renamex_vp_offsets
[] = {
561 VOPARG_OFFSETOF(struct vnop_renamex_args
, a_fdvp
),
562 VOPARG_OFFSETOF(struct vnop_renamex_args
, a_fvp
),
563 VOPARG_OFFSETOF(struct vnop_renamex_args
, a_tdvp
),
564 VOPARG_OFFSETOF(struct vnop_renamex_args
, a_tvp
),
567 struct vnodeop_desc vnop_renamex_desc
= {
570 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
| VDESC_VP2_WILLRELE
| VDESC_VP3_WILLRELE
,
571 vnop_renamex_vp_offsets
,
575 VOPARG_OFFSETOF(struct vnop_renamex_args
, a_fcnp
),
576 VOPARG_OFFSETOF(struct vnop_renamex_args
, a_context
),
580 int vnop_compound_rename_vp_offsets
[] = {
581 VOPARG_OFFSETOF(struct vnop_compound_rename_args
, a_fdvp
),
582 VOPARG_OFFSETOF(struct vnop_compound_rename_args
, a_fvpp
),
583 VOPARG_OFFSETOF(struct vnop_compound_rename_args
, a_tdvp
),
584 VOPARG_OFFSETOF(struct vnop_compound_rename_args
, a_tvpp
),
587 struct vnodeop_desc vnop_compound_rename_desc
= {
589 "vnop_compound_rename",
590 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
| VDESC_VP2_WILLRELE
| VDESC_VP3_WILLRELE
,
591 vnop_compound_rename_vp_offsets
,
595 VOPARG_OFFSETOF(struct vnop_compound_rename_args
, a_fcnp
),
596 VOPARG_OFFSETOF(struct vnop_compound_rename_args
, a_context
),
600 int vnop_mkdir_vp_offsets
[] = {
601 VOPARG_OFFSETOF(struct vnop_mkdir_args
, a_dvp
),
604 struct vnodeop_desc vnop_mkdir_desc
= {
607 0 | VDESC_VP0_WILLRELE
,
608 vnop_mkdir_vp_offsets
,
609 VOPARG_OFFSETOF(struct vnop_mkdir_args
, a_vpp
),
612 VOPARG_OFFSETOF(struct vnop_mkdir_args
, a_cnp
),
613 VOPARG_OFFSETOF(struct vnop_mkdir_args
, a_context
),
617 int vnop_compound_mkdir_vp_offsets
[] = {
618 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args
, a_dvp
),
621 struct vnodeop_desc vnop_compound_mkdir_desc
= {
623 "vnop_compound_mkdir",
624 0 | VDESC_VP0_WILLRELE
,
625 vnop_compound_mkdir_vp_offsets
,
626 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args
, a_vpp
),
629 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args
, a_cnp
),
630 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args
, a_context
),
635 int vnop_rmdir_vp_offsets
[] = {
636 VOPARG_OFFSETOF(struct vnop_rmdir_args
, a_dvp
),
637 VOPARG_OFFSETOF(struct vnop_rmdir_args
, a_vp
),
640 struct vnodeop_desc vnop_rmdir_desc
= {
643 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
,
644 vnop_rmdir_vp_offsets
,
648 VOPARG_OFFSETOF(struct vnop_rmdir_args
, a_cnp
),
649 VOPARG_OFFSETOF(struct vnop_rmdir_args
, a_context
),
653 int vnop_compound_rmdir_vp_offsets
[] = {
654 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args
, a_dvp
),
657 struct vnodeop_desc vnop_compound_rmdir_desc
= {
659 "vnop_compound_rmdir",
660 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
,
661 vnop_rmdir_vp_offsets
,
665 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args
, a_cnp
),
666 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args
, a_context
),
670 int vnop_symlink_vp_offsets
[] = {
671 VOPARG_OFFSETOF(struct vnop_symlink_args
, a_dvp
),
674 struct vnodeop_desc vnop_symlink_desc
= {
677 0 | VDESC_VP0_WILLRELE
| VDESC_VPP_WILLRELE
,
678 vnop_symlink_vp_offsets
,
679 VOPARG_OFFSETOF(struct vnop_symlink_args
, a_vpp
),
682 VOPARG_OFFSETOF(struct vnop_symlink_args
, a_cnp
),
683 VOPARG_OFFSETOF(struct vnop_symlink_args
, a_context
),
687 int vnop_readdir_vp_offsets
[] = {
688 VOPARG_OFFSETOF(struct vnop_readdir_args
, a_vp
),
691 struct vnodeop_desc vnop_readdir_desc
= {
695 vnop_readdir_vp_offsets
,
700 VOPARG_OFFSETOF(struct vnop_symlink_args
, a_context
),
704 int vnop_readdirattr_vp_offsets
[] = {
705 VOPARG_OFFSETOF(struct vnop_readdirattr_args
, a_vp
),
708 struct vnodeop_desc vnop_readdirattr_desc
= {
712 vnop_readdirattr_vp_offsets
,
717 VOPARG_OFFSETOF(struct vnop_readdirattr_args
, a_context
),
721 int vnop_getattrlistbulk_vp_offsets
[] = {
722 VOPARG_OFFSETOF(struct vnop_getattrlistbulk_args
, a_vp
),
725 struct vnodeop_desc vnop_getattrlistbulk_desc
= {
727 "vnop_getattrlistbulk",
729 vnop_getattrlistbulk_vp_offsets
,
734 VOPARG_OFFSETOF(struct vnop_getattrlistbulk_args
, a_context
),
738 int vnop_readlink_vp_offsets
[] = {
739 VOPARG_OFFSETOF(struct vnop_readlink_args
, a_vp
),
742 struct vnodeop_desc vnop_readlink_desc
= {
746 vnop_readlink_vp_offsets
,
751 VOPARG_OFFSETOF(struct vnop_readlink_args
, a_context
),
755 int vnop_inactive_vp_offsets
[] = {
756 VOPARG_OFFSETOF(struct vnop_inactive_args
, a_vp
),
759 struct vnodeop_desc vnop_inactive_desc
= {
763 vnop_inactive_vp_offsets
,
768 VOPARG_OFFSETOF(struct vnop_inactive_args
, a_context
),
772 int vnop_reclaim_vp_offsets
[] = {
773 VOPARG_OFFSETOF(struct vnop_reclaim_args
, a_vp
),
776 struct vnodeop_desc vnop_reclaim_desc
= {
780 vnop_reclaim_vp_offsets
,
785 VOPARG_OFFSETOF(struct vnop_reclaim_args
, a_context
),
789 int vnop_pathconf_vp_offsets
[] = {
790 VOPARG_OFFSETOF(struct vnop_pathconf_args
, a_vp
),
793 struct vnodeop_desc vnop_pathconf_desc
= {
797 vnop_pathconf_vp_offsets
,
802 VOPARG_OFFSETOF(struct vnop_pathconf_args
, a_context
),
806 int vnop_advlock_vp_offsets
[] = {
807 VOPARG_OFFSETOF(struct vnop_advlock_args
, a_vp
),
810 struct vnodeop_desc vnop_advlock_desc
= {
814 vnop_advlock_vp_offsets
,
819 VOPARG_OFFSETOF(struct vnop_advlock_args
, a_context
),
823 int vnop_allocate_vp_offsets
[] = {
824 VOPARG_OFFSETOF(struct vnop_allocate_args
, a_vp
),
827 struct vnodeop_desc vnop_allocate_desc
= {
831 vnop_allocate_vp_offsets
,
836 VOPARG_OFFSETOF(struct vnop_allocate_args
, a_context
),
840 int vnop_pagein_vp_offsets
[] = {
841 VOPARG_OFFSETOF(struct vnop_pagein_args
, a_vp
),
844 struct vnodeop_desc vnop_pagein_desc
= {
848 vnop_pagein_vp_offsets
,
853 VOPARG_OFFSETOF(struct vnop_pagein_args
, a_context
),
857 int vnop_pageout_vp_offsets
[] = {
858 VOPARG_OFFSETOF(struct vnop_pageout_args
, a_vp
),
861 struct vnodeop_desc vnop_pageout_desc
= {
865 vnop_pageout_vp_offsets
,
870 VOPARG_OFFSETOF(struct vnop_pageout_args
, a_context
),
874 int vnop_searchfs_vp_offsets
[] = {
875 VOPARG_OFFSETOF(struct vnop_searchfs_args
, a_vp
),
878 struct vnodeop_desc vnop_searchfs_desc
= {
882 vnop_searchfs_vp_offsets
,
891 int vnop_copyfile_vp_offsets
[] = {
892 VOPARG_OFFSETOF(struct vnop_copyfile_args
, a_fvp
),
893 VOPARG_OFFSETOF(struct vnop_copyfile_args
, a_tdvp
),
894 VOPARG_OFFSETOF(struct vnop_copyfile_args
, a_tvp
),
897 struct vnodeop_desc vnop_copyfile_desc
= {
900 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
| VDESC_VP2_WILLRELE
,
901 vnop_copyfile_vp_offsets
,
905 VOPARG_OFFSETOF(struct vnop_copyfile_args
, a_tcnp
),
910 int vnop_clonefile_vp_offsets
[] = {
911 VOPARG_OFFSETOF(struct vnop_clonefile_args
, a_fvp
),
912 VOPARG_OFFSETOF(struct vnop_clonefile_args
, a_dvp
),
915 struct vnodeop_desc vnop_clonefile_desc
= {
918 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
| VDESC_VPP_WILLRELE
,
919 vnop_clonefile_vp_offsets
,
920 VOPARG_OFFSETOF(struct vnop_clonefile_args
, a_vpp
),
923 VOPARG_OFFSETOF(struct vnop_clonefile_args
, a_cnp
),
924 VOPARG_OFFSETOF(struct vnop_clonefile_args
, a_context
),
928 int vop_getxattr_vp_offsets
[] = {
929 VOPARG_OFFSETOF(struct vnop_getxattr_args
, a_vp
),
932 struct vnodeop_desc vnop_getxattr_desc
= {
936 vop_getxattr_vp_offsets
,
941 VOPARG_OFFSETOF(struct vnop_getxattr_args
, a_context
),
945 int vop_setxattr_vp_offsets
[] = {
946 VOPARG_OFFSETOF(struct vnop_setxattr_args
, a_vp
),
949 struct vnodeop_desc vnop_setxattr_desc
= {
953 vop_setxattr_vp_offsets
,
958 VOPARG_OFFSETOF(struct vnop_setxattr_args
, a_context
),
962 int vop_removexattr_vp_offsets
[] = {
963 VOPARG_OFFSETOF(struct vnop_removexattr_args
, a_vp
),
966 struct vnodeop_desc vnop_removexattr_desc
= {
970 vop_removexattr_vp_offsets
,
975 VOPARG_OFFSETOF(struct vnop_removexattr_args
, a_context
),
979 int vop_listxattr_vp_offsets
[] = {
980 VOPARG_OFFSETOF(struct vnop_listxattr_args
, a_vp
),
983 struct vnodeop_desc vnop_listxattr_desc
= {
987 vop_listxattr_vp_offsets
,
992 VOPARG_OFFSETOF(struct vnop_listxattr_args
, a_context
),
996 int vnop_blktooff_vp_offsets
[] = {
997 VOPARG_OFFSETOF(struct vnop_blktooff_args
, a_vp
),
1000 struct vnodeop_desc vnop_blktooff_desc
= {
1004 vnop_blktooff_vp_offsets
,
1013 int vnop_offtoblk_vp_offsets
[] = {
1014 VOPARG_OFFSETOF(struct vnop_offtoblk_args
, a_vp
),
1017 struct vnodeop_desc vnop_offtoblk_desc
= {
1021 vnop_offtoblk_vp_offsets
,
1030 int vnop_blockmap_vp_offsets
[] = {
1031 VOPARG_OFFSETOF(struct vnop_blockmap_args
, a_vp
),
1034 struct vnodeop_desc vnop_blockmap_desc
= {
1038 vnop_blockmap_vp_offsets
,
1048 int vnop_getnamedstream_vp_offsets
[] = {
1049 VOPARG_OFFSETOF(struct vnop_getnamedstream_args
, a_vp
),
1052 struct vnodeop_desc vnop_getnamedstream_desc
= {
1054 "vnop_getnamedstream",
1056 vnop_getnamedstream_vp_offsets
,
1057 VOPARG_OFFSETOF(struct vnop_getnamedstream_args
, a_svpp
),
1060 VOPARG_OFFSETOF(struct vnop_getnamedstream_args
, a_name
),
1061 VOPARG_OFFSETOF(struct vnop_getnamedstream_args
, a_context
),
1065 int vnop_makenamedstream_vp_offsets
[] = {
1066 VOPARG_OFFSETOF(struct vnop_makenamedstream_args
, a_vp
),
1069 struct vnodeop_desc vnop_makenamedstream_desc
= {
1071 "vnop_makenamedstream",
1073 vnop_makenamedstream_vp_offsets
,
1074 VOPARG_OFFSETOF(struct vnop_makenamedstream_args
, a_svpp
),
1077 VOPARG_OFFSETOF(struct vnop_makenamedstream_args
, a_name
),
1078 VOPARG_OFFSETOF(struct vnop_makenamedstream_args
, a_context
),
1082 int vnop_removenamedstream_vp_offsets
[] = {
1083 VOPARG_OFFSETOF(struct vnop_removenamedstream_args
, a_vp
),
1086 struct vnodeop_desc vnop_removenamedstream_desc
= {
1088 "vnop_removenamedstream",
1090 vnop_removenamedstream_vp_offsets
,
1094 VOPARG_OFFSETOF(struct vnop_removenamedstream_args
, a_name
),
1095 VOPARG_OFFSETOF(struct vnop_removenamedstream_args
, a_context
),
1099 int vnop_getnamedstream_vp_offsets
[] = {
1102 struct vnodeop_desc vnop_getnamedstream_desc
= {
1104 "vnop_getnamedstream",
1105 VDESC_DISABLED
, /* flags */
1106 vnop_getnamedstream_vp_offsets
,
1115 int vnop_makenamedstream_vp_offsets
[] = {
1118 struct vnodeop_desc vnop_makenamedstream_desc
= {
1120 "vnop_makenamedstream",
1121 VDESC_DISABLED
, /* flags */
1122 vnop_makenamedstream_vp_offsets
,
1131 int vnop_removenamedstream_vp_offsets
[] = {
1134 struct vnodeop_desc vnop_removenamedstream_desc
= {
1136 "vnop_removenamedstream",
1137 VDESC_DISABLED
, /* flags */
1138 vnop_removenamedstream_vp_offsets
,
1148 /* Special cases: */
1150 int vnop_strategy_vp_offsets
[] = {
1153 struct vnodeop_desc vnop_strategy_desc
= {
1157 vnop_strategy_vp_offsets
,
1166 int vnop_bwrite_vp_offsets
[] = {
1169 struct vnodeop_desc vnop_bwrite_desc
= {
1173 vnop_bwrite_vp_offsets
,
1182 /* End of special cases. */
1184 struct vnodeop_desc
*vfs_op_descs
[] = {
1185 &vnop_default_desc
, /* MUST BE FIRST */
1186 &vnop_strategy_desc
, /* XXX: SPECIAL CASE */
1187 &vnop_bwrite_desc
, /* XXX: SPECIAL CASE */
1192 &vnop_whiteout_desc
,
1194 &vnop_compound_open_desc
,
1203 &vnop_exchange_desc
,
1204 &vnop_kqfilt_add_desc
,
1205 &vnop_kqfilt_remove_desc
,
1206 &vnop_setlabel_desc
,
1212 &vnop_compound_remove_desc
,
1216 &vnop_compound_rename_desc
,
1218 &vnop_compound_mkdir_desc
,
1220 &vnop_compound_rmdir_desc
,
1223 &vnop_readdirattr_desc
,
1224 &vnop_getattrlistbulk_desc
,
1225 &vnop_readlink_desc
,
1226 &vnop_inactive_desc
,
1228 &vnop_pathconf_desc
,
1230 &vnop_allocate_desc
,
1233 &vnop_searchfs_desc
,
1234 &vnop_copyfile_desc
,
1235 &vnop_clonefile_desc
,
1236 &vnop_getxattr_desc
,
1237 &vnop_setxattr_desc
,
1238 &vnop_removexattr_desc
,
1239 &vnop_listxattr_desc
,
1240 &vnop_blktooff_desc
,
1241 &vnop_offtoblk_desc
,
1242 &vnop_blockmap_desc
,
1244 #if !defined(NAMEDSTREAMS)
1246 * We define the named streams ops descriptors as we _always_ have to
1247 * have symbols with their names, and as such we really really need
1248 * those symbols to be valid operations descriptors. However if
1249 * named streams support is not enabled, we flag these descriptors
1253 &vnop_getnamedstream_desc
,
1254 &vnop_makenamedstream_desc
,
1255 &vnop_removenamedstream_desc
,