]> git.saurik.com Git - apple/xnu.git/blame - bsd/vfs/vnode_if.c
xnu-1699.22.73.tar.gz
[apple/xnu.git] / bsd / vfs / vnode_if.c
CommitLineData
1c79356b
A
1
2/*
5d5c5d0d
A
3 * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
4 *
2d21ac55 5 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
1c79356b 6 *
2d21ac55
A
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.
8f6c56a5 15 *
2d21ac55
A
16 * Please obtain a copy of the License at
17 * http://www.opensource.apple.com/apsl/ and read it before using this file.
18 *
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
8f6c56a5
A
21 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
22 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
2d21ac55
A
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.
8f6c56a5 26 *
2d21ac55 27 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
1c79356b
A
28 */
29/*
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.
33 *
34 * Redistribution and use in source and binary forms, with or without
35 * modification, are permitted provided that the following conditions
36 * are met:
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.
49 *
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
60 * SUCH DAMAGE.
61 */
62
63
64/*
65 * Warning: This file is generated automatically.
66 * (Modifications made here may easily be lost!)
67 *
68 * Created by the script:
69 * @(#)vnode_if.sh 8.7 (Berkeley) 5/11/95
70 */
71
72
73#include <sys/param.h>
91447636 74#include <sys/mount_internal.h>
1c79356b 75#include <sys/vm.h>
91447636 76#include <sys/vnode_internal.h>
1c79356b 77
91447636 78struct vnodeop_desc vnop_default_desc = {
1c79356b
A
79 0,
80 "default",
81 0,
82 NULL,
83 VDESC_NO_OFFSET,
84 VDESC_NO_OFFSET,
85 VDESC_NO_OFFSET,
86 VDESC_NO_OFFSET,
2d21ac55
A
87 VDESC_NO_OFFSET,
88 NULL
1c79356b
A
89};
90
91
91447636
A
92int vnop_lookup_vp_offsets[] = {
93 VOPARG_OFFSETOF(struct vnop_lookup_args,a_dvp),
1c79356b
A
94 VDESC_NO_OFFSET
95};
91447636 96struct vnodeop_desc vnop_lookup_desc = {
1c79356b 97 0,
91447636 98 "vnop_lookup",
1c79356b 99 0,
91447636
A
100 vnop_lookup_vp_offsets,
101 VOPARG_OFFSETOF(struct vnop_lookup_args, a_vpp),
1c79356b
A
102 VDESC_NO_OFFSET,
103 VDESC_NO_OFFSET,
91447636
A
104 VOPARG_OFFSETOF(struct vnop_lookup_args, a_cnp),
105 VOPARG_OFFSETOF(struct vnop_lookup_args, a_context),
2d21ac55 106 NULL
1c79356b
A
107};
108
6d2010ae
A
109int vnop_compound_open_vp_offsets[] = {
110 VOPARG_OFFSETOF(struct vnop_compound_open_args, a_dvp),
111 VDESC_NO_OFFSET
112};
113
114struct vnodeop_desc vnop_compound_open_desc = {
115 0,
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),
120 VDESC_NO_OFFSET,
121 VDESC_NO_OFFSET,
122 VOPARG_OFFSETOF(struct vnop_compound_open_args, a_cnp),
123 VOPARG_OFFSETOF(struct vnop_compound_open_args, a_context),
124 NULL
125};
126
91447636
A
127int vnop_create_vp_offsets[] = {
128 VOPARG_OFFSETOF(struct vnop_create_args,a_dvp),
1c79356b
A
129 VDESC_NO_OFFSET
130};
91447636 131struct vnodeop_desc vnop_create_desc = {
1c79356b 132 0,
91447636 133 "vnop_create",
1c79356b 134 0 | VDESC_VP0_WILLRELE,
91447636
A
135 vnop_create_vp_offsets,
136 VOPARG_OFFSETOF(struct vnop_create_args, a_vpp),
1c79356b
A
137 VDESC_NO_OFFSET,
138 VDESC_NO_OFFSET,
91447636
A
139 VOPARG_OFFSETOF(struct vnop_create_args, a_cnp),
140 VOPARG_OFFSETOF(struct vnop_create_args, a_context),
2d21ac55 141 NULL
1c79356b
A
142};
143
91447636
A
144int vnop_whiteout_vp_offsets[] = {
145 VOPARG_OFFSETOF(struct vnop_whiteout_args,a_dvp),
1c79356b
A
146 VDESC_NO_OFFSET
147};
91447636 148struct vnodeop_desc vnop_whiteout_desc = {
1c79356b 149 0,
91447636 150 "vnop_whiteout",
1c79356b 151 0 | VDESC_VP0_WILLRELE,
91447636 152 vnop_whiteout_vp_offsets,
1c79356b
A
153 VDESC_NO_OFFSET,
154 VDESC_NO_OFFSET,
155 VDESC_NO_OFFSET,
91447636
A
156 VOPARG_OFFSETOF(struct vnop_whiteout_args, a_cnp),
157 VOPARG_OFFSETOF(struct vnop_whiteout_args, a_context),
2d21ac55 158 NULL
1c79356b
A
159};
160
91447636
A
161int vnop_mknod_vp_offsets[] = {
162 VOPARG_OFFSETOF(struct vnop_mknod_args,a_dvp),
163 VDESC_NO_OFFSET
1c79356b 164};
91447636
A
165struct vnodeop_desc vnop_mknod_desc = {
166 0,
167 "vnop_mknod",
168 0 | VDESC_VP0_WILLRELE | VDESC_VPP_WILLRELE,
169 vnop_mknod_vp_offsets,
170 VOPARG_OFFSETOF(struct vnop_mknod_args, a_vpp),
171 VDESC_NO_OFFSET,
172 VDESC_NO_OFFSET,
173 VOPARG_OFFSETOF(struct vnop_mknod_args, a_cnp),
174 VOPARG_OFFSETOF(struct vnop_mknod_args, a_context),
2d21ac55 175 NULL
1c79356b
A
176};
177
91447636
A
178int vnop_open_vp_offsets[] = {
179 VOPARG_OFFSETOF(struct vnop_open_args,a_vp),
1c79356b
A
180 VDESC_NO_OFFSET
181};
91447636
A
182struct vnodeop_desc vnop_open_desc = {
183 0,
184 "vnop_open",
1c79356b 185 0,
91447636 186 vnop_open_vp_offsets,
1c79356b
A
187 VDESC_NO_OFFSET,
188 VDESC_NO_OFFSET,
1c79356b 189 VDESC_NO_OFFSET,
1c79356b 190 VDESC_NO_OFFSET,
91447636 191 VOPARG_OFFSETOF(struct vnop_open_args, a_context),
2d21ac55 192 NULL
1c79356b
A
193};
194
91447636
A
195int vnop_close_vp_offsets[] = {
196 VOPARG_OFFSETOF(struct vnop_close_args,a_vp),
1c79356b
A
197 VDESC_NO_OFFSET
198};
91447636 199struct vnodeop_desc vnop_close_desc = {
1c79356b 200 0,
91447636 201 "vnop_close",
1c79356b 202 0,
91447636 203 vnop_close_vp_offsets,
1c79356b 204 VDESC_NO_OFFSET,
1c79356b 205 VDESC_NO_OFFSET,
1c79356b 206 VDESC_NO_OFFSET,
1c79356b 207 VDESC_NO_OFFSET,
91447636 208 VOPARG_OFFSETOF(struct vnop_close_args, a_context),
2d21ac55 209 NULL
1c79356b
A
210};
211
91447636
A
212int vnop_access_vp_offsets[] = {
213 VOPARG_OFFSETOF(struct vnop_access_args,a_vp),
1c79356b
A
214 VDESC_NO_OFFSET
215};
91447636 216struct vnodeop_desc vnop_access_desc = {
1c79356b 217 0,
91447636 218 "vnop_access",
1c79356b 219 0,
91447636 220 vnop_access_vp_offsets,
1c79356b 221 VDESC_NO_OFFSET,
1c79356b 222 VDESC_NO_OFFSET,
1c79356b 223 VDESC_NO_OFFSET,
1c79356b 224 VDESC_NO_OFFSET,
91447636 225 VOPARG_OFFSETOF(struct vnop_close_args, a_context),
2d21ac55 226 NULL
1c79356b
A
227};
228
91447636
A
229int vnop_getattr_vp_offsets[] = {
230 VOPARG_OFFSETOF(struct vnop_getattr_args,a_vp),
1c79356b
A
231 VDESC_NO_OFFSET
232};
91447636 233struct vnodeop_desc vnop_getattr_desc = {
1c79356b 234 0,
91447636 235 "vnop_getattr",
1c79356b 236 0,
91447636 237 vnop_getattr_vp_offsets,
1c79356b 238 VDESC_NO_OFFSET,
1c79356b 239 VDESC_NO_OFFSET,
1c79356b 240 VDESC_NO_OFFSET,
1c79356b 241 VDESC_NO_OFFSET,
91447636 242 VOPARG_OFFSETOF(struct vnop_getattr_args, a_context),
2d21ac55 243 NULL
1c79356b
A
244};
245
91447636
A
246int vnop_setattr_vp_offsets[] = {
247 VOPARG_OFFSETOF(struct vnop_setattr_args,a_vp),
1c79356b
A
248 VDESC_NO_OFFSET
249};
91447636 250struct vnodeop_desc vnop_setattr_desc = {
1c79356b 251 0,
91447636 252 "vnop_setattr",
1c79356b 253 0,
91447636 254 vnop_setattr_vp_offsets,
1c79356b 255 VDESC_NO_OFFSET,
1c79356b
A
256 VDESC_NO_OFFSET,
257 VDESC_NO_OFFSET,
91447636
A
258 VDESC_NO_OFFSET,
259 VOPARG_OFFSETOF(struct vnop_setattr_args, a_context),
2d21ac55 260 NULL
1c79356b
A
261};
262
91447636
A
263int vnop_read_vp_offsets[] = {
264 VOPARG_OFFSETOF(struct vnop_read_args,a_vp),
1c79356b
A
265 VDESC_NO_OFFSET
266};
91447636 267struct vnodeop_desc vnop_read_desc = {
1c79356b 268 0,
91447636 269 "vnop_read",
1c79356b 270 0,
91447636 271 vnop_read_vp_offsets,
1c79356b 272 VDESC_NO_OFFSET,
1c79356b 273 VDESC_NO_OFFSET,
1c79356b 274 VDESC_NO_OFFSET,
1c79356b 275 VDESC_NO_OFFSET,
91447636 276 VOPARG_OFFSETOF(struct vnop_read_args, a_context),
2d21ac55 277 NULL
1c79356b
A
278};
279
91447636
A
280int vnop_write_vp_offsets[] = {
281 VOPARG_OFFSETOF(struct vnop_write_args,a_vp),
55e303ae
A
282 VDESC_NO_OFFSET
283};
91447636 284struct vnodeop_desc vnop_write_desc = {
55e303ae 285 0,
91447636 286 "vnop_write",
55e303ae 287 0,
91447636
A
288 vnop_write_vp_offsets,
289 VDESC_NO_OFFSET,
55e303ae
A
290 VDESC_NO_OFFSET,
291 VDESC_NO_OFFSET,
55e303ae 292 VDESC_NO_OFFSET,
91447636 293 VOPARG_OFFSETOF(struct vnop_write_args, a_context),
2d21ac55 294 NULL
55e303ae
A
295};
296
91447636
A
297int vnop_ioctl_vp_offsets[] = {
298 VOPARG_OFFSETOF(struct vnop_ioctl_args,a_vp),
55e303ae
A
299 VDESC_NO_OFFSET
300};
91447636 301struct vnodeop_desc vnop_ioctl_desc = {
55e303ae 302 0,
91447636 303 "vnop_ioctl",
55e303ae 304 0,
91447636 305 vnop_ioctl_vp_offsets,
55e303ae
A
306 VDESC_NO_OFFSET,
307 VDESC_NO_OFFSET,
55e303ae 308 VDESC_NO_OFFSET,
91447636
A
309 VDESC_NO_OFFSET,
310 VOPARG_OFFSETOF(struct vnop_ioctl_args, a_context),
2d21ac55 311 NULL
55e303ae
A
312};
313
91447636
A
314int vnop_select_vp_offsets[] = {
315 VOPARG_OFFSETOF(struct vnop_select_args,a_vp),
1c79356b
A
316 VDESC_NO_OFFSET
317};
91447636 318struct vnodeop_desc vnop_select_desc = {
1c79356b 319 0,
91447636 320 "vnop_select",
1c79356b 321 0,
91447636
A
322 vnop_select_vp_offsets,
323 VDESC_NO_OFFSET,
1c79356b
A
324 VDESC_NO_OFFSET,
325 VDESC_NO_OFFSET,
326 VDESC_NO_OFFSET,
91447636 327 VOPARG_OFFSETOF(struct vnop_select_args, a_context),
2d21ac55 328 NULL
1c79356b
A
329};
330
91447636
A
331int vnop_exchange_vp_offsets[] = {
332 VOPARG_OFFSETOF(struct vnop_exchange_args,a_fvp),
333 VOPARG_OFFSETOF(struct vnop_exchange_args,a_tvp),
1c79356b
A
334 VDESC_NO_OFFSET
335};
91447636 336struct vnodeop_desc vnop_exchange_desc = {
1c79356b 337 0,
91447636 338 "vnop_exchange",
1c79356b 339 0,
91447636 340 vnop_exchange_vp_offsets,
1c79356b 341 VDESC_NO_OFFSET,
1c79356b 342 VDESC_NO_OFFSET,
1c79356b 343 VDESC_NO_OFFSET,
1c79356b 344 VDESC_NO_OFFSET,
91447636 345 VOPARG_OFFSETOF(struct vnop_exchange_args, a_context),
2d21ac55 346 NULL
1c79356b
A
347};
348
91447636
A
349int vnop_kqfilt_add_vp_offsets[] = {
350 VOPARG_OFFSETOF(struct vnop_kqfilt_add_args,a_vp),
1c79356b
A
351 VDESC_NO_OFFSET
352};
91447636 353struct vnodeop_desc vnop_kqfilt_add_desc = {
1c79356b 354 0,
91447636 355 "vnop_kqfilt_add",
1c79356b 356 0,
91447636 357 vnop_kqfilt_add_vp_offsets,
1c79356b 358 VDESC_NO_OFFSET,
1c79356b
A
359 VDESC_NO_OFFSET,
360 VDESC_NO_OFFSET,
361 VDESC_NO_OFFSET,
91447636 362 VOPARG_OFFSETOF(struct vnop_kqfilt_add_args, a_context),
2d21ac55 363 NULL
1c79356b
A
364};
365
91447636
A
366int vnop_kqfilt_remove_vp_offsets[] = {
367 VOPARG_OFFSETOF(struct vnop_kqfilt_remove_args,a_vp),
1c79356b
A
368 VDESC_NO_OFFSET
369};
91447636 370struct vnodeop_desc vnop_kqfilt_remove_desc = {
1c79356b 371 0,
91447636 372 "vnop_kqfilt_remove",
1c79356b 373 0,
91447636 374 vnop_kqfilt_remove_vp_offsets,
1c79356b
A
375 VDESC_NO_OFFSET,
376 VDESC_NO_OFFSET,
377 VDESC_NO_OFFSET,
1c79356b 378 VDESC_NO_OFFSET,
91447636 379 VOPARG_OFFSETOF(struct vnop_kqfilt_remove_args, a_context),
2d21ac55
A
380 NULL
381};
382
b0d623f7
A
383int vnop_monitor_vp_offsets[] = {
384 VOPARG_OFFSETOF(struct vnop_monitor_args,a_vp),
385 VDESC_NO_OFFSET
386};
387struct vnodeop_desc vnop_monitor_desc = {
388 0,
389 "vnop_monitor",
390 0,
391 vnop_monitor_vp_offsets,
392 VDESC_NO_OFFSET,
393 VDESC_NO_OFFSET,
394 VDESC_NO_OFFSET,
395 VDESC_NO_OFFSET,
396 VOPARG_OFFSETOF(struct vnop_monitor_args, a_context),
397 NULL
398};
399
2d21ac55
A
400int vnop_setlabel_vp_offsets[] = {
401 VOPARG_OFFSETOF(struct vnop_setlabel_args,a_vp),
402 VDESC_NO_OFFSET
403};
404struct vnodeop_desc vnop_setlabel_desc = {
405 0,
406 "vnop_setlabel",
407 0,
408 vnop_setlabel_vp_offsets,
409 VDESC_NO_OFFSET,
410 VDESC_NO_OFFSET,
411 VDESC_NO_OFFSET,
412 VDESC_NO_OFFSET,
413 VOPARG_OFFSETOF(struct vnop_setlabel_args, a_context),
1c79356b
A
414 NULL,
415};
416
91447636
A
417int vnop_revoke_vp_offsets[] = {
418 VOPARG_OFFSETOF(struct vnop_revoke_args,a_vp),
1c79356b
A
419 VDESC_NO_OFFSET
420};
91447636 421struct vnodeop_desc vnop_revoke_desc = {
1c79356b 422 0,
91447636
A
423 "vnop_revoke",
424 0,
425 vnop_revoke_vp_offsets,
1c79356b
A
426 VDESC_NO_OFFSET,
427 VDESC_NO_OFFSET,
428 VDESC_NO_OFFSET,
1c79356b 429 VDESC_NO_OFFSET,
2d21ac55
A
430 VDESC_NO_OFFSET,
431 NULL
1c79356b
A
432};
433
91447636
A
434
435int vnop_mmap_vp_offsets[] = {
436 VOPARG_OFFSETOF(struct vnop_mmap_args,a_vp),
1c79356b
A
437 VDESC_NO_OFFSET
438};
91447636 439struct vnodeop_desc vnop_mmap_desc = {
1c79356b 440 0,
91447636 441 "vnop_mmap",
1c79356b 442 0,
91447636
A
443 vnop_mmap_vp_offsets,
444 VDESC_NO_OFFSET,
1c79356b 445 VDESC_NO_OFFSET,
1c79356b
A
446 VDESC_NO_OFFSET,
447 VDESC_NO_OFFSET,
2d21ac55
A
448 VDESC_NO_OFFSET,
449 NULL
1c79356b
A
450};
451
91447636
A
452
453int vnop_mnomap_vp_offsets[] = {
454 VOPARG_OFFSETOF(struct vnop_mnomap_args,a_vp),
1c79356b
A
455 VDESC_NO_OFFSET
456};
91447636 457struct vnodeop_desc vnop_mnomap_desc = {
1c79356b 458 0,
91447636 459 "vnop_mnomap",
1c79356b 460 0,
91447636
A
461 vnop_mnomap_vp_offsets,
462 VDESC_NO_OFFSET,
1c79356b 463 VDESC_NO_OFFSET,
1c79356b
A
464 VDESC_NO_OFFSET,
465 VDESC_NO_OFFSET,
2d21ac55
A
466 VDESC_NO_OFFSET,
467 NULL
1c79356b
A
468};
469
91447636
A
470
471int vnop_fsync_vp_offsets[] = {
472 VOPARG_OFFSETOF(struct vnop_fsync_args,a_vp),
1c79356b
A
473 VDESC_NO_OFFSET
474};
91447636 475struct vnodeop_desc vnop_fsync_desc = {
1c79356b 476 0,
91447636 477 "vnop_fsync",
1c79356b 478 0,
91447636
A
479 vnop_fsync_vp_offsets,
480 VDESC_NO_OFFSET,
1c79356b 481 VDESC_NO_OFFSET,
1c79356b
A
482 VDESC_NO_OFFSET,
483 VDESC_NO_OFFSET,
91447636 484 VOPARG_OFFSETOF(struct vnop_fsync_args, a_context),
2d21ac55 485 NULL
1c79356b
A
486};
487
91447636
A
488int vnop_remove_vp_offsets[] = {
489 VOPARG_OFFSETOF(struct vnop_remove_args,a_dvp),
490 VOPARG_OFFSETOF(struct vnop_remove_args,a_vp),
1c79356b
A
491 VDESC_NO_OFFSET
492};
91447636 493struct vnodeop_desc vnop_remove_desc = {
1c79356b 494 0,
91447636
A
495 "vnop_remove",
496 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE,
497 vnop_remove_vp_offsets,
1c79356b
A
498 VDESC_NO_OFFSET,
499 VDESC_NO_OFFSET,
500 VDESC_NO_OFFSET,
91447636
A
501 VOPARG_OFFSETOF(struct vnop_remove_args, a_cnp),
502 VOPARG_OFFSETOF(struct vnop_remove_args, a_context),
2d21ac55 503 NULL
1c79356b
A
504};
505
6d2010ae
A
506int vnop_remove_extended_vp_offsets[] = {
507 VOPARG_OFFSETOF(struct vnop_remove_args,a_dvp),
508 VDESC_NO_OFFSET
509};
510struct vnodeop_desc vnop_compound_remove_desc = {
511 0,
512 "vnop_compound_remove",
513 0,
514 vnop_remove_vp_offsets,
515 VOPARG_OFFSETOF(struct vnop_compound_remove_args, a_vpp),
516 VDESC_NO_OFFSET,
517 VDESC_NO_OFFSET,
518 VOPARG_OFFSETOF(struct vnop_remove_args, a_cnp),
519 VOPARG_OFFSETOF(struct vnop_remove_args, a_context),
520 NULL
521};
522
91447636
A
523int vnop_link_vp_offsets[] = {
524 VOPARG_OFFSETOF(struct vnop_link_args,a_vp),
525 VOPARG_OFFSETOF(struct vnop_link_args,a_tdvp),
1c79356b
A
526 VDESC_NO_OFFSET
527};
91447636 528struct vnodeop_desc vnop_link_desc = {
1c79356b 529 0,
91447636
A
530 "vnop_link",
531 0 | VDESC_VP1_WILLRELE,
532 vnop_link_vp_offsets,
1c79356b
A
533 VDESC_NO_OFFSET,
534 VDESC_NO_OFFSET,
1c79356b 535 VDESC_NO_OFFSET,
91447636
A
536 VOPARG_OFFSETOF(struct vnop_link_args, a_cnp),
537 VOPARG_OFFSETOF(struct vnop_link_args, a_context),
2d21ac55 538 NULL
1c79356b
A
539};
540
91447636
A
541int 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),
1c79356b
A
546 VDESC_NO_OFFSET
547};
91447636 548struct vnodeop_desc vnop_rename_desc = {
1c79356b 549 0,
91447636
A
550 "vnop_rename",
551 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE | VDESC_VP3_WILLRELE,
552 vnop_rename_vp_offsets,
1c79356b
A
553 VDESC_NO_OFFSET,
554 VDESC_NO_OFFSET,
1c79356b 555 VDESC_NO_OFFSET,
91447636
A
556 VOPARG_OFFSETOF(struct vnop_rename_args, a_fcnp),
557 VOPARG_OFFSETOF(struct vnop_rename_args, a_context),
2d21ac55 558 NULL
1c79356b
A
559};
560
6d2010ae
A
561int vnop_compound_rename_vp_offsets[] = {
562 VOPARG_OFFSETOF(struct vnop_compound_rename_args,a_fdvp),
563 VOPARG_OFFSETOF(struct vnop_compound_rename_args,a_fvpp),
564 VOPARG_OFFSETOF(struct vnop_compound_rename_args,a_tdvp),
565 VOPARG_OFFSETOF(struct vnop_compound_rename_args,a_tvpp),
566 VDESC_NO_OFFSET
567};
568struct vnodeop_desc vnop_compound_rename_desc = {
569 0,
570 "vnop_compound_rename",
571 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE | VDESC_VP3_WILLRELE,
572 vnop_compound_rename_vp_offsets,
573 VDESC_NO_OFFSET,
574 VDESC_NO_OFFSET,
575 VDESC_NO_OFFSET,
576 VOPARG_OFFSETOF(struct vnop_compound_rename_args, a_fcnp),
577 VOPARG_OFFSETOF(struct vnop_compound_rename_args, a_context),
578 NULL
579};
580
91447636
A
581int vnop_mkdir_vp_offsets[] = {
582 VOPARG_OFFSETOF(struct vnop_mkdir_args,a_dvp),
583 VDESC_NO_OFFSET
1c79356b 584};
91447636
A
585struct vnodeop_desc vnop_mkdir_desc = {
586 0,
587 "vnop_mkdir",
588 0 | VDESC_VP0_WILLRELE,
589 vnop_mkdir_vp_offsets,
590 VOPARG_OFFSETOF(struct vnop_mkdir_args, a_vpp),
591 VDESC_NO_OFFSET,
592 VDESC_NO_OFFSET,
593 VOPARG_OFFSETOF(struct vnop_mkdir_args, a_cnp),
594 VOPARG_OFFSETOF(struct vnop_mkdir_args, a_context),
2d21ac55 595 NULL
1c79356b
A
596};
597
6d2010ae
A
598int vnop_compound_mkdir_vp_offsets[] = {
599 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args,a_dvp),
600 VDESC_NO_OFFSET
601};
602struct vnodeop_desc vnop_compound_mkdir_desc = {
603 0,
604 "vnop_compound_mkdir",
605 0 | VDESC_VP0_WILLRELE,
606 vnop_compound_mkdir_vp_offsets,
607 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args, a_vpp),
608 VDESC_NO_OFFSET,
609 VDESC_NO_OFFSET,
610 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args, a_cnp),
611 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args, a_context),
612 NULL
613};
614
615
91447636
A
616int vnop_rmdir_vp_offsets[] = {
617 VOPARG_OFFSETOF(struct vnop_rmdir_args,a_dvp),
618 VOPARG_OFFSETOF(struct vnop_rmdir_args,a_vp),
1c79356b
A
619 VDESC_NO_OFFSET
620};
91447636 621struct vnodeop_desc vnop_rmdir_desc = {
1c79356b 622 0,
91447636
A
623 "vnop_rmdir",
624 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE,
625 vnop_rmdir_vp_offsets,
1c79356b
A
626 VDESC_NO_OFFSET,
627 VDESC_NO_OFFSET,
1c79356b 628 VDESC_NO_OFFSET,
91447636
A
629 VOPARG_OFFSETOF(struct vnop_rmdir_args, a_cnp),
630 VOPARG_OFFSETOF(struct vnop_rmdir_args, a_context),
2d21ac55 631 NULL
1c79356b
A
632};
633
6d2010ae
A
634int vnop_compound_rmdir_vp_offsets[] = {
635 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args,a_dvp),
636 VDESC_NO_OFFSET
637};
638struct vnodeop_desc vnop_compound_rmdir_desc = {
639 0,
640 "vnop_compound_rmdir",
641 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE,
642 vnop_rmdir_vp_offsets,
643 VDESC_NO_OFFSET,
644 VDESC_NO_OFFSET,
645 VDESC_NO_OFFSET,
646 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args, a_cnp),
647 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args, a_context),
648 NULL
649};
650
91447636
A
651int vnop_symlink_vp_offsets[] = {
652 VOPARG_OFFSETOF(struct vnop_symlink_args,a_dvp),
653 VDESC_NO_OFFSET
1c79356b 654};
91447636
A
655struct vnodeop_desc vnop_symlink_desc = {
656 0,
657 "vnop_symlink",
658 0 | VDESC_VP0_WILLRELE | VDESC_VPP_WILLRELE,
659 vnop_symlink_vp_offsets,
660 VOPARG_OFFSETOF(struct vnop_symlink_args, a_vpp),
661 VDESC_NO_OFFSET,
662 VDESC_NO_OFFSET,
663 VOPARG_OFFSETOF(struct vnop_symlink_args, a_cnp),
664 VOPARG_OFFSETOF(struct vnop_symlink_args, a_context),
2d21ac55 665 NULL
1c79356b
A
666};
667
91447636
A
668int vnop_readdir_vp_offsets[] = {
669 VOPARG_OFFSETOF(struct vnop_readdir_args,a_vp),
1c79356b
A
670 VDESC_NO_OFFSET
671};
91447636 672struct vnodeop_desc vnop_readdir_desc = {
1c79356b 673 0,
91447636 674 "vnop_readdir",
1c79356b 675 0,
91447636 676 vnop_readdir_vp_offsets,
1c79356b
A
677 VDESC_NO_OFFSET,
678 VDESC_NO_OFFSET,
679 VDESC_NO_OFFSET,
680 VDESC_NO_OFFSET,
91447636 681 VOPARG_OFFSETOF(struct vnop_symlink_args, a_context),
2d21ac55 682 NULL
1c79356b
A
683};
684
91447636
A
685int vnop_readdirattr_vp_offsets[] = {
686 VOPARG_OFFSETOF(struct vnop_readdirattr_args,a_vp),
1c79356b
A
687 VDESC_NO_OFFSET
688};
91447636 689struct vnodeop_desc vnop_readdirattr_desc = {
1c79356b 690 0,
91447636 691 "vnop_readdirattr",
1c79356b 692 0,
91447636 693 vnop_readdirattr_vp_offsets,
1c79356b
A
694 VDESC_NO_OFFSET,
695 VDESC_NO_OFFSET,
696 VDESC_NO_OFFSET,
697 VDESC_NO_OFFSET,
91447636 698 VOPARG_OFFSETOF(struct vnop_readdirattr_args, a_context),
2d21ac55 699 NULL
1c79356b
A
700};
701
91447636
A
702int vnop_readlink_vp_offsets[] = {
703 VOPARG_OFFSETOF(struct vnop_readlink_args,a_vp),
1c79356b
A
704 VDESC_NO_OFFSET
705};
91447636 706struct vnodeop_desc vnop_readlink_desc = {
1c79356b 707 0,
91447636 708 "vnop_readlink",
1c79356b 709 0,
91447636 710 vnop_readlink_vp_offsets,
1c79356b
A
711 VDESC_NO_OFFSET,
712 VDESC_NO_OFFSET,
713 VDESC_NO_OFFSET,
714 VDESC_NO_OFFSET,
91447636 715 VOPARG_OFFSETOF(struct vnop_readlink_args, a_context),
2d21ac55 716 NULL
1c79356b
A
717};
718
91447636
A
719int vnop_inactive_vp_offsets[] = {
720 VOPARG_OFFSETOF(struct vnop_inactive_args,a_vp),
1c79356b
A
721 VDESC_NO_OFFSET
722};
91447636 723struct vnodeop_desc vnop_inactive_desc = {
1c79356b 724 0,
91447636 725 "vnop_inactive",
1c79356b 726 0,
91447636 727 vnop_inactive_vp_offsets,
1c79356b
A
728 VDESC_NO_OFFSET,
729 VDESC_NO_OFFSET,
730 VDESC_NO_OFFSET,
731 VDESC_NO_OFFSET,
91447636 732 VOPARG_OFFSETOF(struct vnop_inactive_args, a_context),
2d21ac55 733 NULL
1c79356b
A
734};
735
91447636
A
736int vnop_reclaim_vp_offsets[] = {
737 VOPARG_OFFSETOF(struct vnop_reclaim_args,a_vp),
1c79356b
A
738 VDESC_NO_OFFSET
739};
91447636 740struct vnodeop_desc vnop_reclaim_desc = {
1c79356b 741 0,
91447636 742 "vnop_reclaim",
1c79356b 743 0,
91447636 744 vnop_reclaim_vp_offsets,
1c79356b
A
745 VDESC_NO_OFFSET,
746 VDESC_NO_OFFSET,
747 VDESC_NO_OFFSET,
748 VDESC_NO_OFFSET,
91447636 749 VOPARG_OFFSETOF(struct vnop_reclaim_args, a_context),
2d21ac55 750 NULL
1c79356b
A
751};
752
91447636
A
753int vnop_pathconf_vp_offsets[] = {
754 VOPARG_OFFSETOF(struct vnop_pathconf_args,a_vp),
1c79356b
A
755 VDESC_NO_OFFSET
756};
91447636 757struct vnodeop_desc vnop_pathconf_desc = {
1c79356b 758 0,
91447636 759 "vnop_pathconf",
1c79356b 760 0,
91447636
A
761 vnop_pathconf_vp_offsets,
762 VDESC_NO_OFFSET,
763 VDESC_NO_OFFSET,
1c79356b
A
764 VDESC_NO_OFFSET,
765 VDESC_NO_OFFSET,
91447636 766 VOPARG_OFFSETOF(struct vnop_pathconf_args, a_context),
2d21ac55 767 NULL
1c79356b
A
768};
769
91447636
A
770int vnop_advlock_vp_offsets[] = {
771 VOPARG_OFFSETOF(struct vnop_advlock_args,a_vp),
1c79356b
A
772 VDESC_NO_OFFSET
773};
91447636 774struct vnodeop_desc vnop_advlock_desc = {
1c79356b 775 0,
91447636 776 "vnop_advlock",
1c79356b 777 0,
91447636 778 vnop_advlock_vp_offsets,
1c79356b
A
779 VDESC_NO_OFFSET,
780 VDESC_NO_OFFSET,
781 VDESC_NO_OFFSET,
782 VDESC_NO_OFFSET,
91447636 783 VOPARG_OFFSETOF(struct vnop_advlock_args, a_context),
2d21ac55 784 NULL
1c79356b
A
785};
786
91447636
A
787int vnop_allocate_vp_offsets[] = {
788 VOPARG_OFFSETOF(struct vnop_allocate_args,a_vp),
1c79356b
A
789 VDESC_NO_OFFSET
790};
91447636 791struct vnodeop_desc vnop_allocate_desc = {
1c79356b 792 0,
91447636 793 "vnop_allocate",
1c79356b 794 0,
91447636 795 vnop_allocate_vp_offsets,
1c79356b
A
796 VDESC_NO_OFFSET,
797 VDESC_NO_OFFSET,
798 VDESC_NO_OFFSET,
799 VDESC_NO_OFFSET,
91447636 800 VOPARG_OFFSETOF(struct vnop_allocate_args, a_context),
2d21ac55 801 NULL
1c79356b
A
802};
803
91447636
A
804int vnop_pagein_vp_offsets[] = {
805 VOPARG_OFFSETOF(struct vnop_pagein_args,a_vp),
1c79356b
A
806 VDESC_NO_OFFSET
807};
91447636 808struct vnodeop_desc vnop_pagein_desc = {
1c79356b 809 0,
91447636 810 "vnop_pagein",
1c79356b 811 0,
91447636 812 vnop_pagein_vp_offsets,
1c79356b 813 VDESC_NO_OFFSET,
1c79356b 814 VDESC_NO_OFFSET,
1c79356b 815 VDESC_NO_OFFSET,
1c79356b 816 VDESC_NO_OFFSET,
91447636 817 VOPARG_OFFSETOF(struct vnop_pagein_args, a_context),
2d21ac55 818 NULL
1c79356b
A
819};
820
91447636
A
821int vnop_pageout_vp_offsets[] = {
822 VOPARG_OFFSETOF(struct vnop_pageout_args,a_vp),
1c79356b
A
823 VDESC_NO_OFFSET
824};
91447636 825struct vnodeop_desc vnop_pageout_desc = {
1c79356b 826 0,
91447636 827 "vnop_pageout",
1c79356b 828 0,
91447636 829 vnop_pageout_vp_offsets,
1c79356b
A
830 VDESC_NO_OFFSET,
831 VDESC_NO_OFFSET,
832 VDESC_NO_OFFSET,
833 VDESC_NO_OFFSET,
91447636 834 VOPARG_OFFSETOF(struct vnop_pageout_args, a_context),
2d21ac55 835 NULL
1c79356b
A
836};
837
91447636
A
838int vnop_searchfs_vp_offsets[] = {
839 VOPARG_OFFSETOF(struct vnop_searchfs_args,a_vp),
1c79356b
A
840 VDESC_NO_OFFSET
841};
91447636 842struct vnodeop_desc vnop_searchfs_desc = {
1c79356b 843 0,
91447636 844 "vnop_searchfs",
1c79356b 845 0,
91447636
A
846 vnop_searchfs_vp_offsets,
847 VDESC_NO_OFFSET,
1c79356b 848 VDESC_NO_OFFSET,
1c79356b
A
849 VDESC_NO_OFFSET,
850 VDESC_NO_OFFSET,
2d21ac55
A
851 VDESC_NO_OFFSET,
852 NULL
1c79356b
A
853};
854
91447636
A
855int vnop_copyfile_vp_offsets[] = {
856 VOPARG_OFFSETOF(struct vnop_copyfile_args,a_fvp),
857 VOPARG_OFFSETOF(struct vnop_copyfile_args,a_tdvp),
858 VOPARG_OFFSETOF(struct vnop_copyfile_args,a_tvp),
1c79356b
A
859 VDESC_NO_OFFSET
860};
91447636 861struct vnodeop_desc vnop_copyfile_desc = {
1c79356b 862 0,
91447636
A
863 "vnop_copyfile",
864 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE,
865 vnop_copyfile_vp_offsets,
1c79356b 866 VDESC_NO_OFFSET,
1c79356b
A
867 VDESC_NO_OFFSET,
868 VDESC_NO_OFFSET,
91447636 869 VOPARG_OFFSETOF(struct vnop_copyfile_args, a_tcnp),
2d21ac55
A
870 VDESC_NO_OFFSET,
871 NULL
1c79356b
A
872};
873
91447636
A
874int vop_getxattr_vp_offsets[] = {
875 VOPARG_OFFSETOF(struct vnop_getxattr_args,a_vp),
1c79356b
A
876 VDESC_NO_OFFSET
877};
91447636 878struct vnodeop_desc vnop_getxattr_desc = {
1c79356b 879 0,
91447636 880 "vnop_getxattr",
1c79356b 881 0,
91447636 882 vop_getxattr_vp_offsets,
1c79356b 883 VDESC_NO_OFFSET,
1c79356b
A
884 VDESC_NO_OFFSET,
885 VDESC_NO_OFFSET,
91447636
A
886 VDESC_NO_OFFSET,
887 VOPARG_OFFSETOF(struct vnop_getxattr_args, a_context),
2d21ac55 888 NULL
1c79356b
A
889};
890
91447636
A
891int vop_setxattr_vp_offsets[] = {
892 VOPARG_OFFSETOF(struct vnop_setxattr_args,a_vp),
1c79356b
A
893 VDESC_NO_OFFSET
894};
91447636 895struct vnodeop_desc vnop_setxattr_desc = {
1c79356b 896 0,
91447636 897 "vnop_setxattr",
1c79356b 898 0,
91447636 899 vop_setxattr_vp_offsets,
1c79356b
A
900 VDESC_NO_OFFSET,
901 VDESC_NO_OFFSET,
902 VDESC_NO_OFFSET,
903 VDESC_NO_OFFSET,
91447636 904 VOPARG_OFFSETOF(struct vnop_setxattr_args, a_context),
2d21ac55 905 NULL
1c79356b
A
906};
907
91447636
A
908int vop_removexattr_vp_offsets[] = {
909 VOPARG_OFFSETOF(struct vnop_removexattr_args,a_vp),
1c79356b
A
910 VDESC_NO_OFFSET
911};
91447636 912struct vnodeop_desc vnop_removexattr_desc = {
1c79356b 913 0,
91447636 914 "vnop_removexattr",
1c79356b 915 0,
91447636 916 vop_removexattr_vp_offsets,
1c79356b
A
917 VDESC_NO_OFFSET,
918 VDESC_NO_OFFSET,
919 VDESC_NO_OFFSET,
920 VDESC_NO_OFFSET,
91447636 921 VOPARG_OFFSETOF(struct vnop_removexattr_args, a_context),
2d21ac55 922 NULL
1c79356b
A
923};
924
91447636
A
925int vop_listxattr_vp_offsets[] = {
926 VOPARG_OFFSETOF(struct vnop_listxattr_args,a_vp),
1c79356b
A
927 VDESC_NO_OFFSET
928};
91447636 929struct vnodeop_desc vnop_listxattr_desc = {
1c79356b 930 0,
91447636
A
931 "vnop_listxattr",
932 0,
933 vop_listxattr_vp_offsets,
934 VDESC_NO_OFFSET,
1c79356b
A
935 VDESC_NO_OFFSET,
936 VDESC_NO_OFFSET,
937 VDESC_NO_OFFSET,
91447636 938 VOPARG_OFFSETOF(struct vnop_listxattr_args, a_context),
2d21ac55 939 NULL
1c79356b
A
940};
941
91447636
A
942int vnop_blktooff_vp_offsets[] = {
943 VOPARG_OFFSETOF(struct vnop_blktooff_args,a_vp),
1c79356b
A
944 VDESC_NO_OFFSET
945};
91447636 946struct vnodeop_desc vnop_blktooff_desc = {
1c79356b 947 0,
91447636 948 "vnop_blktooff",
1c79356b 949 0,
91447636 950 vnop_blktooff_vp_offsets,
1c79356b
A
951 VDESC_NO_OFFSET,
952 VDESC_NO_OFFSET,
953 VDESC_NO_OFFSET,
954 VDESC_NO_OFFSET,
2d21ac55
A
955 VDESC_NO_OFFSET,
956 NULL
1c79356b
A
957};
958
91447636
A
959int vnop_offtoblk_vp_offsets[] = {
960 VOPARG_OFFSETOF(struct vnop_offtoblk_args,a_vp),
1c79356b
A
961 VDESC_NO_OFFSET
962};
91447636 963struct vnodeop_desc vnop_offtoblk_desc = {
1c79356b 964 0,
91447636 965 "vnop_offtoblk",
1c79356b 966 0,
91447636 967 vnop_offtoblk_vp_offsets,
1c79356b
A
968 VDESC_NO_OFFSET,
969 VDESC_NO_OFFSET,
970 VDESC_NO_OFFSET,
971 VDESC_NO_OFFSET,
2d21ac55
A
972 VDESC_NO_OFFSET,
973 NULL
1c79356b
A
974};
975
91447636
A
976int vnop_blockmap_vp_offsets[] = {
977 VOPARG_OFFSETOF(struct vnop_blockmap_args,a_vp),
1c79356b
A
978 VDESC_NO_OFFSET
979};
91447636 980struct vnodeop_desc vnop_blockmap_desc = {
1c79356b 981 0,
91447636 982 "vnop_blockmap",
1c79356b 983 0,
91447636 984 vnop_blockmap_vp_offsets,
1c79356b
A
985 VDESC_NO_OFFSET,
986 VDESC_NO_OFFSET,
987 VDESC_NO_OFFSET,
988 VDESC_NO_OFFSET,
2d21ac55
A
989 VDESC_NO_OFFSET,
990 NULL
991};
992
993#if NAMEDSTREAMS
994int vnop_getnamedstream_vp_offsets[] = {
995 VOPARG_OFFSETOF(struct vnop_getnamedstream_args, a_vp),
996 VDESC_NO_OFFSET
997};
998struct vnodeop_desc vnop_getnamedstream_desc = {
999 0,
1000 "vnop_getnamedstream",
1001 0,
1002 vnop_getnamedstream_vp_offsets,
1003 VOPARG_OFFSETOF(struct vnop_getnamedstream_args, a_svpp),
1004 VDESC_NO_OFFSET,
1005 VDESC_NO_OFFSET,
1006 VOPARG_OFFSETOF(struct vnop_getnamedstream_args, a_name),
1007 VOPARG_OFFSETOF(struct vnop_getnamedstream_args, a_context),
1008 NULL
1009};
1010
1011int vnop_makenamedstream_vp_offsets[] = {
1012 VOPARG_OFFSETOF(struct vnop_makenamedstream_args, a_vp),
1013 VDESC_NO_OFFSET
1014};
1015struct vnodeop_desc vnop_makenamedstream_desc = {
1016 0,
1017 "vnop_makenamedstream",
1018 0, /* flags */
1019 vnop_makenamedstream_vp_offsets,
1020 VOPARG_OFFSETOF(struct vnop_makenamedstream_args, a_svpp),
1021 VDESC_NO_OFFSET,
1022 VDESC_NO_OFFSET,
1023 VOPARG_OFFSETOF(struct vnop_makenamedstream_args, a_name),
1024 VOPARG_OFFSETOF(struct vnop_makenamedstream_args, a_context),
1025 NULL
1026};
1027
1028int vnop_removenamedstream_vp_offsets[] = {
1029 VOPARG_OFFSETOF(struct vnop_removenamedstream_args, a_vp),
1030 VDESC_NO_OFFSET
1031};
1032struct vnodeop_desc vnop_removenamedstream_desc = {
1033 0,
1034 "vnop_removenamedstream",
1035 0,
1036 vnop_removenamedstream_vp_offsets,
1037 VDESC_NO_OFFSET,
1038 VDESC_NO_OFFSET,
1039 VDESC_NO_OFFSET,
1040 VOPARG_OFFSETOF(struct vnop_removenamedstream_args, a_name),
1041 VOPARG_OFFSETOF(struct vnop_removenamedstream_args, a_context),
1042 NULL
1c79356b 1043};
2d21ac55
A
1044#else
1045/* These symbols are in the exports list so they need to always be defined. */
1046int vnop_getnamedstream_desc;
1047int vnop_makenamedstream_desc;
1048int vnop_removenamedstream_desc;
1049#endif
1c79356b
A
1050
1051/* Special cases: */
1052
91447636 1053int vnop_strategy_vp_offsets[] = {
1c79356b
A
1054 VDESC_NO_OFFSET
1055};
91447636 1056struct vnodeop_desc vnop_strategy_desc = {
1c79356b 1057 0,
91447636 1058 "vnop_strategy",
1c79356b 1059 0,
91447636 1060 vnop_strategy_vp_offsets,
1c79356b
A
1061 VDESC_NO_OFFSET,
1062 VDESC_NO_OFFSET,
1063 VDESC_NO_OFFSET,
1064 VDESC_NO_OFFSET,
2d21ac55
A
1065 VDESC_NO_OFFSET,
1066 NULL
1c79356b
A
1067};
1068
91447636 1069int vnop_bwrite_vp_offsets[] = {
1c79356b
A
1070 VDESC_NO_OFFSET
1071};
91447636 1072struct vnodeop_desc vnop_bwrite_desc = {
1c79356b 1073 0,
91447636 1074 "vnop_bwrite",
1c79356b 1075 0,
91447636 1076 vnop_bwrite_vp_offsets,
1c79356b
A
1077 VDESC_NO_OFFSET,
1078 VDESC_NO_OFFSET,
1079 VDESC_NO_OFFSET,
1080 VDESC_NO_OFFSET,
2d21ac55
A
1081 VDESC_NO_OFFSET,
1082 NULL
1c79356b
A
1083};
1084
1085/* End of special cases. */
1086
1087struct vnodeop_desc *vfs_op_descs[] = {
91447636
A
1088 &vnop_default_desc, /* MUST BE FIRST */
1089 &vnop_strategy_desc, /* XXX: SPECIAL CASE */
1090 &vnop_bwrite_desc, /* XXX: SPECIAL CASE */
1091
1092 &vnop_lookup_desc,
1093 &vnop_create_desc,
1094 &vnop_mknod_desc,
1095 &vnop_whiteout_desc,
1096 &vnop_open_desc,
6d2010ae 1097 &vnop_compound_open_desc,
91447636
A
1098 &vnop_close_desc,
1099 &vnop_access_desc,
1100 &vnop_getattr_desc,
1101 &vnop_setattr_desc,
91447636
A
1102 &vnop_read_desc,
1103 &vnop_write_desc,
1104 &vnop_ioctl_desc,
1105 &vnop_select_desc,
1106 &vnop_exchange_desc,
1107 &vnop_kqfilt_add_desc,
1108 &vnop_kqfilt_remove_desc,
2d21ac55 1109 &vnop_setlabel_desc,
91447636
A
1110 &vnop_revoke_desc,
1111 &vnop_mmap_desc,
1112 &vnop_mnomap_desc,
1113 &vnop_fsync_desc,
1114 &vnop_remove_desc,
6d2010ae 1115 &vnop_compound_remove_desc,
91447636
A
1116 &vnop_link_desc,
1117 &vnop_rename_desc,
6d2010ae 1118 &vnop_compound_rename_desc,
91447636 1119 &vnop_mkdir_desc,
6d2010ae 1120 &vnop_compound_mkdir_desc,
91447636 1121 &vnop_rmdir_desc,
6d2010ae 1122 &vnop_compound_rmdir_desc,
91447636
A
1123 &vnop_symlink_desc,
1124 &vnop_readdir_desc,
1125 &vnop_readdirattr_desc,
1126 &vnop_readlink_desc,
1127 &vnop_inactive_desc,
1128 &vnop_reclaim_desc,
1129 &vnop_pathconf_desc,
1130 &vnop_advlock_desc,
1131 &vnop_allocate_desc,
1132 &vnop_pagein_desc,
1133 &vnop_pageout_desc,
91447636
A
1134 &vnop_searchfs_desc,
1135 &vnop_copyfile_desc,
1136 &vnop_getxattr_desc,
1137 &vnop_setxattr_desc,
1138 &vnop_removexattr_desc,
1139 &vnop_listxattr_desc,
1140 &vnop_blktooff_desc,
1141 &vnop_offtoblk_desc,
1142 &vnop_blockmap_desc,
b0d623f7 1143 &vnop_monitor_desc,
2d21ac55
A
1144#if NAMEDSTREAMS
1145 &vnop_getnamedstream_desc,
1146 &vnop_makenamedstream_desc,
1147 &vnop_removenamedstream_desc,
1148#endif
1c79356b
A
1149 NULL
1150};
1151