3 * Copyright (c) 2000-2016 Apple Computer, Inc. All rights reserved.
5 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
7 * This file contains Original Code and/or Modifications of Original Code
8 * as defined in and that are subject to the Apple Public Source License
9 * Version 2.0 (the 'License'). You may not use this file except in
10 * compliance with the License. The rights granted to you under the License
11 * may not be used to create, or enable the creation or redistribution of,
12 * unlawful or unlicensed copies of an Apple operating system, or to
13 * circumvent, violate, or enable the circumvention or violation of, any
14 * terms of an Apple operating system software license agreement.
16 * Please obtain a copy of the License at
17 * http://www.opensource.apple.com/apsl/ and read it before using this file.
19 * The Original Code and all software distributed under the License are
20 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
21 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
22 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
24 * Please see the License for the specific language governing rights and
25 * limitations under the License.
27 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
30 * Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
31 * Copyright (c) 1992, 1993, 1994, 1995
32 * The Regents of the University of California. All rights reserved.
34 * Redistribution and use in source and binary forms, with or without
35 * modification, are permitted provided that the following conditions
37 * 1. Redistributions of source code must retain the above copyright
38 * notice, this list of conditions and the following disclaimer.
39 * 2. Redistributions in binary form must reproduce the above copyright
40 * notice, this list of conditions and the following disclaimer in the
41 * documentation and/or other materials provided with the distribution.
42 * 3. All advertising materials mentioning features or use of this software
43 * must display the following acknowledgement:
44 * This product includes software developed by the University of
45 * California, Berkeley and its contributors.
46 * 4. Neither the name of the University nor the names of its contributors
47 * may be used to endorse or promote products derived from this software
48 * without specific prior written permission.
50 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS AND
51 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
52 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
53 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
54 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
55 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
56 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
57 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
58 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
59 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
65 * Warning: This file is generated automatically.
66 * (Modifications made here may easily be lost!)
68 * Created by the script:
69 * @(#)vnode_if.sh 8.7 (Berkeley) 5/11/95
73 #include <sys/param.h>
74 #include <sys/mount_internal.h>
76 #include <sys/vnode_internal.h>
78 struct vnodeop_desc vnop_default_desc
= {
92 int vnop_lookup_vp_offsets
[] = {
93 VOPARG_OFFSETOF(struct vnop_lookup_args
,a_dvp
),
96 struct vnodeop_desc vnop_lookup_desc
= {
100 vnop_lookup_vp_offsets
,
101 VOPARG_OFFSETOF(struct vnop_lookup_args
, a_vpp
),
104 VOPARG_OFFSETOF(struct vnop_lookup_args
, a_cnp
),
105 VOPARG_OFFSETOF(struct vnop_lookup_args
, a_context
),
109 int vnop_compound_open_vp_offsets
[] = {
110 VOPARG_OFFSETOF(struct vnop_compound_open_args
, a_dvp
),
114 struct vnodeop_desc vnop_compound_open_desc
= {
116 "vnop_compound_open",
117 0 | VDESC_VP0_WILLRELE
,
118 vnop_compound_open_vp_offsets
,
119 VOPARG_OFFSETOF(struct vnop_compound_open_args
, a_vpp
),
122 VOPARG_OFFSETOF(struct vnop_compound_open_args
, a_cnp
),
123 VOPARG_OFFSETOF(struct vnop_compound_open_args
, a_context
),
127 int vnop_create_vp_offsets
[] = {
128 VOPARG_OFFSETOF(struct vnop_create_args
,a_dvp
),
131 struct vnodeop_desc vnop_create_desc
= {
134 0 | VDESC_VP0_WILLRELE
,
135 vnop_create_vp_offsets
,
136 VOPARG_OFFSETOF(struct vnop_create_args
, a_vpp
),
139 VOPARG_OFFSETOF(struct vnop_create_args
, a_cnp
),
140 VOPARG_OFFSETOF(struct vnop_create_args
, a_context
),
144 int vnop_whiteout_vp_offsets
[] = {
145 VOPARG_OFFSETOF(struct vnop_whiteout_args
,a_dvp
),
148 struct vnodeop_desc vnop_whiteout_desc
= {
151 0 | VDESC_VP0_WILLRELE
,
152 vnop_whiteout_vp_offsets
,
156 VOPARG_OFFSETOF(struct vnop_whiteout_args
, a_cnp
),
157 VOPARG_OFFSETOF(struct vnop_whiteout_args
, a_context
),
161 int vnop_mknod_vp_offsets
[] = {
162 VOPARG_OFFSETOF(struct vnop_mknod_args
,a_dvp
),
165 struct vnodeop_desc vnop_mknod_desc
= {
168 0 | VDESC_VP0_WILLRELE
| VDESC_VPP_WILLRELE
,
169 vnop_mknod_vp_offsets
,
170 VOPARG_OFFSETOF(struct vnop_mknod_args
, a_vpp
),
173 VOPARG_OFFSETOF(struct vnop_mknod_args
, a_cnp
),
174 VOPARG_OFFSETOF(struct vnop_mknod_args
, a_context
),
178 int vnop_open_vp_offsets
[] = {
179 VOPARG_OFFSETOF(struct vnop_open_args
,a_vp
),
182 struct vnodeop_desc vnop_open_desc
= {
186 vnop_open_vp_offsets
,
191 VOPARG_OFFSETOF(struct vnop_open_args
, a_context
),
195 int vnop_close_vp_offsets
[] = {
196 VOPARG_OFFSETOF(struct vnop_close_args
,a_vp
),
199 struct vnodeop_desc vnop_close_desc
= {
203 vnop_close_vp_offsets
,
208 VOPARG_OFFSETOF(struct vnop_close_args
, a_context
),
212 int vnop_access_vp_offsets
[] = {
213 VOPARG_OFFSETOF(struct vnop_access_args
,a_vp
),
216 struct vnodeop_desc vnop_access_desc
= {
220 vnop_access_vp_offsets
,
225 VOPARG_OFFSETOF(struct vnop_close_args
, a_context
),
229 int vnop_getattr_vp_offsets
[] = {
230 VOPARG_OFFSETOF(struct vnop_getattr_args
,a_vp
),
233 struct vnodeop_desc vnop_getattr_desc
= {
237 vnop_getattr_vp_offsets
,
242 VOPARG_OFFSETOF(struct vnop_getattr_args
, a_context
),
246 int vnop_setattr_vp_offsets
[] = {
247 VOPARG_OFFSETOF(struct vnop_setattr_args
,a_vp
),
250 struct vnodeop_desc vnop_setattr_desc
= {
254 vnop_setattr_vp_offsets
,
259 VOPARG_OFFSETOF(struct vnop_setattr_args
, a_context
),
263 int vnop_read_vp_offsets
[] = {
264 VOPARG_OFFSETOF(struct vnop_read_args
,a_vp
),
267 struct vnodeop_desc vnop_read_desc
= {
271 vnop_read_vp_offsets
,
276 VOPARG_OFFSETOF(struct vnop_read_args
, a_context
),
280 int vnop_write_vp_offsets
[] = {
281 VOPARG_OFFSETOF(struct vnop_write_args
,a_vp
),
284 struct vnodeop_desc vnop_write_desc
= {
288 vnop_write_vp_offsets
,
293 VOPARG_OFFSETOF(struct vnop_write_args
, a_context
),
297 int vnop_ioctl_vp_offsets
[] = {
298 VOPARG_OFFSETOF(struct vnop_ioctl_args
,a_vp
),
301 struct vnodeop_desc vnop_ioctl_desc
= {
305 vnop_ioctl_vp_offsets
,
310 VOPARG_OFFSETOF(struct vnop_ioctl_args
, a_context
),
314 int vnop_select_vp_offsets
[] = {
315 VOPARG_OFFSETOF(struct vnop_select_args
,a_vp
),
318 struct vnodeop_desc vnop_select_desc
= {
322 vnop_select_vp_offsets
,
327 VOPARG_OFFSETOF(struct vnop_select_args
, a_context
),
331 int vnop_exchange_vp_offsets
[] = {
332 VOPARG_OFFSETOF(struct vnop_exchange_args
,a_fvp
),
333 VOPARG_OFFSETOF(struct vnop_exchange_args
,a_tvp
),
336 struct vnodeop_desc vnop_exchange_desc
= {
340 vnop_exchange_vp_offsets
,
345 VOPARG_OFFSETOF(struct vnop_exchange_args
, a_context
),
349 int vnop_kqfilt_add_vp_offsets
[] = {
350 VOPARG_OFFSETOF(struct vnop_kqfilt_add_args
,a_vp
),
353 struct vnodeop_desc vnop_kqfilt_add_desc
= {
357 vnop_kqfilt_add_vp_offsets
,
362 VOPARG_OFFSETOF(struct vnop_kqfilt_add_args
, a_context
),
366 int vnop_kqfilt_remove_vp_offsets
[] = {
367 VOPARG_OFFSETOF(struct vnop_kqfilt_remove_args
,a_vp
),
370 struct vnodeop_desc vnop_kqfilt_remove_desc
= {
372 "vnop_kqfilt_remove",
374 vnop_kqfilt_remove_vp_offsets
,
379 VOPARG_OFFSETOF(struct vnop_kqfilt_remove_args
, a_context
),
383 int vnop_monitor_vp_offsets
[] = {
384 VOPARG_OFFSETOF(struct vnop_monitor_args
,a_vp
),
387 struct vnodeop_desc vnop_monitor_desc
= {
391 vnop_monitor_vp_offsets
,
396 VOPARG_OFFSETOF(struct vnop_monitor_args
, a_context
),
400 int vnop_setlabel_vp_offsets
[] = {
401 VOPARG_OFFSETOF(struct vnop_setlabel_args
,a_vp
),
404 struct vnodeop_desc vnop_setlabel_desc
= {
408 vnop_setlabel_vp_offsets
,
413 VOPARG_OFFSETOF(struct vnop_setlabel_args
, a_context
),
417 int vnop_revoke_vp_offsets
[] = {
418 VOPARG_OFFSETOF(struct vnop_revoke_args
,a_vp
),
421 struct vnodeop_desc vnop_revoke_desc
= {
425 vnop_revoke_vp_offsets
,
435 int vnop_mmap_vp_offsets
[] = {
436 VOPARG_OFFSETOF(struct vnop_mmap_args
,a_vp
),
439 struct vnodeop_desc vnop_mmap_desc
= {
443 vnop_mmap_vp_offsets
,
453 int vnop_mnomap_vp_offsets
[] = {
454 VOPARG_OFFSETOF(struct vnop_mnomap_args
,a_vp
),
457 struct vnodeop_desc vnop_mnomap_desc
= {
461 vnop_mnomap_vp_offsets
,
471 int vnop_fsync_vp_offsets
[] = {
472 VOPARG_OFFSETOF(struct vnop_fsync_args
,a_vp
),
475 struct vnodeop_desc vnop_fsync_desc
= {
479 vnop_fsync_vp_offsets
,
484 VOPARG_OFFSETOF(struct vnop_fsync_args
, a_context
),
488 int vnop_remove_vp_offsets
[] = {
489 VOPARG_OFFSETOF(struct vnop_remove_args
,a_dvp
),
490 VOPARG_OFFSETOF(struct vnop_remove_args
,a_vp
),
493 struct vnodeop_desc vnop_remove_desc
= {
496 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
,
497 vnop_remove_vp_offsets
,
501 VOPARG_OFFSETOF(struct vnop_remove_args
, a_cnp
),
502 VOPARG_OFFSETOF(struct vnop_remove_args
, a_context
),
506 int vnop_remove_extended_vp_offsets
[] = {
507 VOPARG_OFFSETOF(struct vnop_remove_args
,a_dvp
),
510 struct vnodeop_desc vnop_compound_remove_desc
= {
512 "vnop_compound_remove",
514 vnop_remove_vp_offsets
,
515 VOPARG_OFFSETOF(struct vnop_compound_remove_args
, a_vpp
),
518 VOPARG_OFFSETOF(struct vnop_remove_args
, a_cnp
),
519 VOPARG_OFFSETOF(struct vnop_remove_args
, a_context
),
523 int vnop_link_vp_offsets
[] = {
524 VOPARG_OFFSETOF(struct vnop_link_args
,a_vp
),
525 VOPARG_OFFSETOF(struct vnop_link_args
,a_tdvp
),
528 struct vnodeop_desc vnop_link_desc
= {
531 0 | VDESC_VP1_WILLRELE
,
532 vnop_link_vp_offsets
,
536 VOPARG_OFFSETOF(struct vnop_link_args
, a_cnp
),
537 VOPARG_OFFSETOF(struct vnop_link_args
, a_context
),
541 int vnop_rename_vp_offsets
[] = {
542 VOPARG_OFFSETOF(struct vnop_rename_args
,a_fdvp
),
543 VOPARG_OFFSETOF(struct vnop_rename_args
,a_fvp
),
544 VOPARG_OFFSETOF(struct vnop_rename_args
,a_tdvp
),
545 VOPARG_OFFSETOF(struct vnop_rename_args
,a_tvp
),
548 struct vnodeop_desc vnop_rename_desc
= {
551 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
| VDESC_VP2_WILLRELE
| VDESC_VP3_WILLRELE
,
552 vnop_rename_vp_offsets
,
556 VOPARG_OFFSETOF(struct vnop_rename_args
, a_fcnp
),
557 VOPARG_OFFSETOF(struct vnop_rename_args
, a_context
),
561 int vnop_renamex_vp_offsets
[] = {
562 VOPARG_OFFSETOF(struct vnop_renamex_args
,a_fdvp
),
563 VOPARG_OFFSETOF(struct vnop_renamex_args
,a_fvp
),
564 VOPARG_OFFSETOF(struct vnop_renamex_args
,a_tdvp
),
565 VOPARG_OFFSETOF(struct vnop_renamex_args
,a_tvp
),
568 struct vnodeop_desc vnop_renamex_desc
= {
571 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
| VDESC_VP2_WILLRELE
| VDESC_VP3_WILLRELE
,
572 vnop_renamex_vp_offsets
,
576 VOPARG_OFFSETOF(struct vnop_renamex_args
, a_fcnp
),
577 VOPARG_OFFSETOF(struct vnop_renamex_args
, a_context
),
581 int vnop_compound_rename_vp_offsets
[] = {
582 VOPARG_OFFSETOF(struct vnop_compound_rename_args
,a_fdvp
),
583 VOPARG_OFFSETOF(struct vnop_compound_rename_args
,a_fvpp
),
584 VOPARG_OFFSETOF(struct vnop_compound_rename_args
,a_tdvp
),
585 VOPARG_OFFSETOF(struct vnop_compound_rename_args
,a_tvpp
),
588 struct vnodeop_desc vnop_compound_rename_desc
= {
590 "vnop_compound_rename",
591 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
| VDESC_VP2_WILLRELE
| VDESC_VP3_WILLRELE
,
592 vnop_compound_rename_vp_offsets
,
596 VOPARG_OFFSETOF(struct vnop_compound_rename_args
, a_fcnp
),
597 VOPARG_OFFSETOF(struct vnop_compound_rename_args
, a_context
),
601 int vnop_mkdir_vp_offsets
[] = {
602 VOPARG_OFFSETOF(struct vnop_mkdir_args
,a_dvp
),
605 struct vnodeop_desc vnop_mkdir_desc
= {
608 0 | VDESC_VP0_WILLRELE
,
609 vnop_mkdir_vp_offsets
,
610 VOPARG_OFFSETOF(struct vnop_mkdir_args
, a_vpp
),
613 VOPARG_OFFSETOF(struct vnop_mkdir_args
, a_cnp
),
614 VOPARG_OFFSETOF(struct vnop_mkdir_args
, a_context
),
618 int vnop_compound_mkdir_vp_offsets
[] = {
619 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args
,a_dvp
),
622 struct vnodeop_desc vnop_compound_mkdir_desc
= {
624 "vnop_compound_mkdir",
625 0 | VDESC_VP0_WILLRELE
,
626 vnop_compound_mkdir_vp_offsets
,
627 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args
, a_vpp
),
630 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args
, a_cnp
),
631 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args
, a_context
),
636 int vnop_rmdir_vp_offsets
[] = {
637 VOPARG_OFFSETOF(struct vnop_rmdir_args
,a_dvp
),
638 VOPARG_OFFSETOF(struct vnop_rmdir_args
,a_vp
),
641 struct vnodeop_desc vnop_rmdir_desc
= {
644 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
,
645 vnop_rmdir_vp_offsets
,
649 VOPARG_OFFSETOF(struct vnop_rmdir_args
, a_cnp
),
650 VOPARG_OFFSETOF(struct vnop_rmdir_args
, a_context
),
654 int vnop_compound_rmdir_vp_offsets
[] = {
655 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args
,a_dvp
),
658 struct vnodeop_desc vnop_compound_rmdir_desc
= {
660 "vnop_compound_rmdir",
661 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
,
662 vnop_rmdir_vp_offsets
,
666 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args
, a_cnp
),
667 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args
, a_context
),
671 int vnop_symlink_vp_offsets
[] = {
672 VOPARG_OFFSETOF(struct vnop_symlink_args
,a_dvp
),
675 struct vnodeop_desc vnop_symlink_desc
= {
678 0 | VDESC_VP0_WILLRELE
| VDESC_VPP_WILLRELE
,
679 vnop_symlink_vp_offsets
,
680 VOPARG_OFFSETOF(struct vnop_symlink_args
, a_vpp
),
683 VOPARG_OFFSETOF(struct vnop_symlink_args
, a_cnp
),
684 VOPARG_OFFSETOF(struct vnop_symlink_args
, a_context
),
688 int vnop_readdir_vp_offsets
[] = {
689 VOPARG_OFFSETOF(struct vnop_readdir_args
,a_vp
),
692 struct vnodeop_desc vnop_readdir_desc
= {
696 vnop_readdir_vp_offsets
,
701 VOPARG_OFFSETOF(struct vnop_symlink_args
, a_context
),
705 int vnop_readdirattr_vp_offsets
[] = {
706 VOPARG_OFFSETOF(struct vnop_readdirattr_args
,a_vp
),
709 struct vnodeop_desc vnop_readdirattr_desc
= {
713 vnop_readdirattr_vp_offsets
,
718 VOPARG_OFFSETOF(struct vnop_readdirattr_args
, a_context
),
722 int vnop_getattrlistbulk_vp_offsets
[] = {
723 VOPARG_OFFSETOF(struct vnop_getattrlistbulk_args
,a_vp
),
726 struct vnodeop_desc vnop_getattrlistbulk_desc
= {
728 "vnop_getattrlistbulk",
730 vnop_getattrlistbulk_vp_offsets
,
735 VOPARG_OFFSETOF(struct vnop_getattrlistbulk_args
, a_context
),
739 int vnop_readlink_vp_offsets
[] = {
740 VOPARG_OFFSETOF(struct vnop_readlink_args
,a_vp
),
743 struct vnodeop_desc vnop_readlink_desc
= {
747 vnop_readlink_vp_offsets
,
752 VOPARG_OFFSETOF(struct vnop_readlink_args
, a_context
),
756 int vnop_inactive_vp_offsets
[] = {
757 VOPARG_OFFSETOF(struct vnop_inactive_args
,a_vp
),
760 struct vnodeop_desc vnop_inactive_desc
= {
764 vnop_inactive_vp_offsets
,
769 VOPARG_OFFSETOF(struct vnop_inactive_args
, a_context
),
773 int vnop_reclaim_vp_offsets
[] = {
774 VOPARG_OFFSETOF(struct vnop_reclaim_args
,a_vp
),
777 struct vnodeop_desc vnop_reclaim_desc
= {
781 vnop_reclaim_vp_offsets
,
786 VOPARG_OFFSETOF(struct vnop_reclaim_args
, a_context
),
790 int vnop_pathconf_vp_offsets
[] = {
791 VOPARG_OFFSETOF(struct vnop_pathconf_args
,a_vp
),
794 struct vnodeop_desc vnop_pathconf_desc
= {
798 vnop_pathconf_vp_offsets
,
803 VOPARG_OFFSETOF(struct vnop_pathconf_args
, a_context
),
807 int vnop_advlock_vp_offsets
[] = {
808 VOPARG_OFFSETOF(struct vnop_advlock_args
,a_vp
),
811 struct vnodeop_desc vnop_advlock_desc
= {
815 vnop_advlock_vp_offsets
,
820 VOPARG_OFFSETOF(struct vnop_advlock_args
, a_context
),
824 int vnop_allocate_vp_offsets
[] = {
825 VOPARG_OFFSETOF(struct vnop_allocate_args
,a_vp
),
828 struct vnodeop_desc vnop_allocate_desc
= {
832 vnop_allocate_vp_offsets
,
837 VOPARG_OFFSETOF(struct vnop_allocate_args
, a_context
),
841 int vnop_pagein_vp_offsets
[] = {
842 VOPARG_OFFSETOF(struct vnop_pagein_args
,a_vp
),
845 struct vnodeop_desc vnop_pagein_desc
= {
849 vnop_pagein_vp_offsets
,
854 VOPARG_OFFSETOF(struct vnop_pagein_args
, a_context
),
858 int vnop_pageout_vp_offsets
[] = {
859 VOPARG_OFFSETOF(struct vnop_pageout_args
,a_vp
),
862 struct vnodeop_desc vnop_pageout_desc
= {
866 vnop_pageout_vp_offsets
,
871 VOPARG_OFFSETOF(struct vnop_pageout_args
, a_context
),
875 int vnop_searchfs_vp_offsets
[] = {
876 VOPARG_OFFSETOF(struct vnop_searchfs_args
,a_vp
),
879 struct vnodeop_desc vnop_searchfs_desc
= {
883 vnop_searchfs_vp_offsets
,
892 int vnop_copyfile_vp_offsets
[] = {
893 VOPARG_OFFSETOF(struct vnop_copyfile_args
,a_fvp
),
894 VOPARG_OFFSETOF(struct vnop_copyfile_args
,a_tdvp
),
895 VOPARG_OFFSETOF(struct vnop_copyfile_args
,a_tvp
),
898 struct vnodeop_desc vnop_copyfile_desc
= {
901 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
| VDESC_VP2_WILLRELE
,
902 vnop_copyfile_vp_offsets
,
906 VOPARG_OFFSETOF(struct vnop_copyfile_args
, a_tcnp
),
911 int vnop_clonefile_vp_offsets
[] = {
912 VOPARG_OFFSETOF(struct vnop_clonefile_args
,a_fvp
),
913 VOPARG_OFFSETOF(struct vnop_clonefile_args
,a_dvp
),
916 struct vnodeop_desc vnop_clonefile_desc
= {
919 0 | VDESC_VP0_WILLRELE
| VDESC_VP1_WILLRELE
| VDESC_VPP_WILLRELE
,
920 vnop_clonefile_vp_offsets
,
921 VOPARG_OFFSETOF(struct vnop_clonefile_args
, a_vpp
),
924 VOPARG_OFFSETOF(struct vnop_clonefile_args
, a_cnp
),
925 VOPARG_OFFSETOF(struct vnop_clonefile_args
, a_context
),
929 int vop_getxattr_vp_offsets
[] = {
930 VOPARG_OFFSETOF(struct vnop_getxattr_args
,a_vp
),
933 struct vnodeop_desc vnop_getxattr_desc
= {
937 vop_getxattr_vp_offsets
,
942 VOPARG_OFFSETOF(struct vnop_getxattr_args
, a_context
),
946 int vop_setxattr_vp_offsets
[] = {
947 VOPARG_OFFSETOF(struct vnop_setxattr_args
,a_vp
),
950 struct vnodeop_desc vnop_setxattr_desc
= {
954 vop_setxattr_vp_offsets
,
959 VOPARG_OFFSETOF(struct vnop_setxattr_args
, a_context
),
963 int vop_removexattr_vp_offsets
[] = {
964 VOPARG_OFFSETOF(struct vnop_removexattr_args
,a_vp
),
967 struct vnodeop_desc vnop_removexattr_desc
= {
971 vop_removexattr_vp_offsets
,
976 VOPARG_OFFSETOF(struct vnop_removexattr_args
, a_context
),
980 int vop_listxattr_vp_offsets
[] = {
981 VOPARG_OFFSETOF(struct vnop_listxattr_args
,a_vp
),
984 struct vnodeop_desc vnop_listxattr_desc
= {
988 vop_listxattr_vp_offsets
,
993 VOPARG_OFFSETOF(struct vnop_listxattr_args
, a_context
),
997 int vnop_blktooff_vp_offsets
[] = {
998 VOPARG_OFFSETOF(struct vnop_blktooff_args
,a_vp
),
1001 struct vnodeop_desc vnop_blktooff_desc
= {
1005 vnop_blktooff_vp_offsets
,
1014 int vnop_offtoblk_vp_offsets
[] = {
1015 VOPARG_OFFSETOF(struct vnop_offtoblk_args
,a_vp
),
1018 struct vnodeop_desc vnop_offtoblk_desc
= {
1022 vnop_offtoblk_vp_offsets
,
1031 int vnop_blockmap_vp_offsets
[] = {
1032 VOPARG_OFFSETOF(struct vnop_blockmap_args
,a_vp
),
1035 struct vnodeop_desc vnop_blockmap_desc
= {
1039 vnop_blockmap_vp_offsets
,
1049 int vnop_getnamedstream_vp_offsets
[] = {
1050 VOPARG_OFFSETOF(struct vnop_getnamedstream_args
, a_vp
),
1053 struct vnodeop_desc vnop_getnamedstream_desc
= {
1055 "vnop_getnamedstream",
1057 vnop_getnamedstream_vp_offsets
,
1058 VOPARG_OFFSETOF(struct vnop_getnamedstream_args
, a_svpp
),
1061 VOPARG_OFFSETOF(struct vnop_getnamedstream_args
, a_name
),
1062 VOPARG_OFFSETOF(struct vnop_getnamedstream_args
, a_context
),
1066 int vnop_makenamedstream_vp_offsets
[] = {
1067 VOPARG_OFFSETOF(struct vnop_makenamedstream_args
, a_vp
),
1070 struct vnodeop_desc vnop_makenamedstream_desc
= {
1072 "vnop_makenamedstream",
1074 vnop_makenamedstream_vp_offsets
,
1075 VOPARG_OFFSETOF(struct vnop_makenamedstream_args
, a_svpp
),
1078 VOPARG_OFFSETOF(struct vnop_makenamedstream_args
, a_name
),
1079 VOPARG_OFFSETOF(struct vnop_makenamedstream_args
, a_context
),
1083 int vnop_removenamedstream_vp_offsets
[] = {
1084 VOPARG_OFFSETOF(struct vnop_removenamedstream_args
, a_vp
),
1087 struct vnodeop_desc vnop_removenamedstream_desc
= {
1089 "vnop_removenamedstream",
1091 vnop_removenamedstream_vp_offsets
,
1095 VOPARG_OFFSETOF(struct vnop_removenamedstream_args
, a_name
),
1096 VOPARG_OFFSETOF(struct vnop_removenamedstream_args
, a_context
),
1100 int vnop_getnamedstream_vp_offsets
[] = {
1103 struct vnodeop_desc vnop_getnamedstream_desc
= {
1105 "vnop_getnamedstream",
1106 VDESC_DISABLED
, /* flags */
1107 vnop_getnamedstream_vp_offsets
,
1116 int vnop_makenamedstream_vp_offsets
[] = {
1119 struct vnodeop_desc vnop_makenamedstream_desc
= {
1121 "vnop_makenamedstream",
1122 VDESC_DISABLED
, /* flags */
1123 vnop_makenamedstream_vp_offsets
,
1132 int vnop_removenamedstream_vp_offsets
[] = {
1135 struct vnodeop_desc vnop_removenamedstream_desc
= {
1137 "vnop_removenamedstream",
1138 VDESC_DISABLED
, /* flags */
1139 vnop_removenamedstream_vp_offsets
,
1149 /* Special cases: */
1151 int vnop_strategy_vp_offsets
[] = {
1154 struct vnodeop_desc vnop_strategy_desc
= {
1158 vnop_strategy_vp_offsets
,
1167 int vnop_bwrite_vp_offsets
[] = {
1170 struct vnodeop_desc vnop_bwrite_desc
= {
1174 vnop_bwrite_vp_offsets
,
1183 /* End of special cases. */
1185 struct vnodeop_desc
*vfs_op_descs
[] = {
1186 &vnop_default_desc
, /* MUST BE FIRST */
1187 &vnop_strategy_desc
, /* XXX: SPECIAL CASE */
1188 &vnop_bwrite_desc
, /* XXX: SPECIAL CASE */
1193 &vnop_whiteout_desc
,
1195 &vnop_compound_open_desc
,
1204 &vnop_exchange_desc
,
1205 &vnop_kqfilt_add_desc
,
1206 &vnop_kqfilt_remove_desc
,
1207 &vnop_setlabel_desc
,
1213 &vnop_compound_remove_desc
,
1217 &vnop_compound_rename_desc
,
1219 &vnop_compound_mkdir_desc
,
1221 &vnop_compound_rmdir_desc
,
1224 &vnop_readdirattr_desc
,
1225 &vnop_getattrlistbulk_desc
,
1226 &vnop_readlink_desc
,
1227 &vnop_inactive_desc
,
1229 &vnop_pathconf_desc
,
1231 &vnop_allocate_desc
,
1234 &vnop_searchfs_desc
,
1235 &vnop_copyfile_desc
,
1236 &vnop_clonefile_desc
,
1237 &vnop_getxattr_desc
,
1238 &vnop_setxattr_desc
,
1239 &vnop_removexattr_desc
,
1240 &vnop_listxattr_desc
,
1241 &vnop_blktooff_desc
,
1242 &vnop_offtoblk_desc
,
1243 &vnop_blockmap_desc
,
1245 #if !defined(NAMEDSTREAMS)
1247 * We define the named streams ops descriptors as we _always_ have to
1248 * have symbols with their names, and as such we really really need
1249 * those symbols to be valid operations descriptors. However if
1250 * named streams support is not enabled, we flag these descriptors
1254 &vnop_getnamedstream_desc
,
1255 &vnop_makenamedstream_desc
,
1256 &vnop_removenamedstream_desc
,