]> git.saurik.com Git - apple/xnu.git/blame - bsd/vfs/vnode_if.c
xnu-3789.31.2.tar.gz
[apple/xnu.git] / bsd / vfs / vnode_if.c
CommitLineData
1c79356b
A
1
2/*
39037602 3 * Copyright (c) 2000-2016 Apple Computer, Inc. All rights reserved.
5d5c5d0d 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
39037602
A
561int 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),
566 VDESC_NO_OFFSET
567};
568struct vnodeop_desc vnop_renamex_desc = {
569 0,
570 "vnop_renamex",
571 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE | VDESC_VP3_WILLRELE,
572 vnop_renamex_vp_offsets,
573 VDESC_NO_OFFSET,
574 VDESC_NO_OFFSET,
575 VDESC_NO_OFFSET,
576 VOPARG_OFFSETOF(struct vnop_renamex_args, a_fcnp),
577 VOPARG_OFFSETOF(struct vnop_renamex_args, a_context),
578 NULL
579};
580
6d2010ae
A
581int 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),
586 VDESC_NO_OFFSET
587};
588struct vnodeop_desc vnop_compound_rename_desc = {
589 0,
590 "vnop_compound_rename",
591 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE | VDESC_VP3_WILLRELE,
592 vnop_compound_rename_vp_offsets,
593 VDESC_NO_OFFSET,
594 VDESC_NO_OFFSET,
595 VDESC_NO_OFFSET,
596 VOPARG_OFFSETOF(struct vnop_compound_rename_args, a_fcnp),
597 VOPARG_OFFSETOF(struct vnop_compound_rename_args, a_context),
598 NULL
599};
600
91447636
A
601int vnop_mkdir_vp_offsets[] = {
602 VOPARG_OFFSETOF(struct vnop_mkdir_args,a_dvp),
603 VDESC_NO_OFFSET
1c79356b 604};
91447636
A
605struct vnodeop_desc vnop_mkdir_desc = {
606 0,
607 "vnop_mkdir",
608 0 | VDESC_VP0_WILLRELE,
609 vnop_mkdir_vp_offsets,
610 VOPARG_OFFSETOF(struct vnop_mkdir_args, a_vpp),
611 VDESC_NO_OFFSET,
612 VDESC_NO_OFFSET,
613 VOPARG_OFFSETOF(struct vnop_mkdir_args, a_cnp),
614 VOPARG_OFFSETOF(struct vnop_mkdir_args, a_context),
2d21ac55 615 NULL
1c79356b
A
616};
617
6d2010ae
A
618int vnop_compound_mkdir_vp_offsets[] = {
619 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args,a_dvp),
620 VDESC_NO_OFFSET
621};
622struct vnodeop_desc vnop_compound_mkdir_desc = {
623 0,
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),
628 VDESC_NO_OFFSET,
629 VDESC_NO_OFFSET,
630 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args, a_cnp),
631 VOPARG_OFFSETOF(struct vnop_compound_mkdir_args, a_context),
632 NULL
633};
634
635
91447636
A
636int vnop_rmdir_vp_offsets[] = {
637 VOPARG_OFFSETOF(struct vnop_rmdir_args,a_dvp),
638 VOPARG_OFFSETOF(struct vnop_rmdir_args,a_vp),
1c79356b
A
639 VDESC_NO_OFFSET
640};
91447636 641struct vnodeop_desc vnop_rmdir_desc = {
1c79356b 642 0,
91447636
A
643 "vnop_rmdir",
644 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE,
645 vnop_rmdir_vp_offsets,
1c79356b
A
646 VDESC_NO_OFFSET,
647 VDESC_NO_OFFSET,
1c79356b 648 VDESC_NO_OFFSET,
91447636
A
649 VOPARG_OFFSETOF(struct vnop_rmdir_args, a_cnp),
650 VOPARG_OFFSETOF(struct vnop_rmdir_args, a_context),
2d21ac55 651 NULL
1c79356b
A
652};
653
6d2010ae
A
654int vnop_compound_rmdir_vp_offsets[] = {
655 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args,a_dvp),
656 VDESC_NO_OFFSET
657};
658struct vnodeop_desc vnop_compound_rmdir_desc = {
659 0,
660 "vnop_compound_rmdir",
661 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE,
662 vnop_rmdir_vp_offsets,
663 VDESC_NO_OFFSET,
664 VDESC_NO_OFFSET,
665 VDESC_NO_OFFSET,
666 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args, a_cnp),
667 VOPARG_OFFSETOF(struct vnop_compound_rmdir_args, a_context),
668 NULL
669};
670
91447636
A
671int vnop_symlink_vp_offsets[] = {
672 VOPARG_OFFSETOF(struct vnop_symlink_args,a_dvp),
673 VDESC_NO_OFFSET
1c79356b 674};
91447636
A
675struct vnodeop_desc vnop_symlink_desc = {
676 0,
677 "vnop_symlink",
678 0 | VDESC_VP0_WILLRELE | VDESC_VPP_WILLRELE,
679 vnop_symlink_vp_offsets,
680 VOPARG_OFFSETOF(struct vnop_symlink_args, a_vpp),
681 VDESC_NO_OFFSET,
682 VDESC_NO_OFFSET,
683 VOPARG_OFFSETOF(struct vnop_symlink_args, a_cnp),
684 VOPARG_OFFSETOF(struct vnop_symlink_args, a_context),
2d21ac55 685 NULL
1c79356b
A
686};
687
91447636
A
688int vnop_readdir_vp_offsets[] = {
689 VOPARG_OFFSETOF(struct vnop_readdir_args,a_vp),
1c79356b
A
690 VDESC_NO_OFFSET
691};
91447636 692struct vnodeop_desc vnop_readdir_desc = {
1c79356b 693 0,
91447636 694 "vnop_readdir",
1c79356b 695 0,
91447636 696 vnop_readdir_vp_offsets,
1c79356b
A
697 VDESC_NO_OFFSET,
698 VDESC_NO_OFFSET,
699 VDESC_NO_OFFSET,
700 VDESC_NO_OFFSET,
91447636 701 VOPARG_OFFSETOF(struct vnop_symlink_args, a_context),
2d21ac55 702 NULL
1c79356b
A
703};
704
91447636
A
705int vnop_readdirattr_vp_offsets[] = {
706 VOPARG_OFFSETOF(struct vnop_readdirattr_args,a_vp),
1c79356b
A
707 VDESC_NO_OFFSET
708};
91447636 709struct vnodeop_desc vnop_readdirattr_desc = {
1c79356b 710 0,
91447636 711 "vnop_readdirattr",
1c79356b 712 0,
91447636 713 vnop_readdirattr_vp_offsets,
1c79356b
A
714 VDESC_NO_OFFSET,
715 VDESC_NO_OFFSET,
716 VDESC_NO_OFFSET,
717 VDESC_NO_OFFSET,
91447636 718 VOPARG_OFFSETOF(struct vnop_readdirattr_args, a_context),
2d21ac55 719 NULL
1c79356b
A
720};
721
fe8ab488
A
722int vnop_getattrlistbulk_vp_offsets[] = {
723 VOPARG_OFFSETOF(struct vnop_getattrlistbulk_args,a_vp),
724 VDESC_NO_OFFSET
725};
726struct vnodeop_desc vnop_getattrlistbulk_desc = {
727 0,
728 "vnop_getattrlistbulk",
729 0,
730 vnop_getattrlistbulk_vp_offsets,
731 VDESC_NO_OFFSET,
732 VDESC_NO_OFFSET,
733 VDESC_NO_OFFSET,
734 VDESC_NO_OFFSET,
735 VOPARG_OFFSETOF(struct vnop_getattrlistbulk_args, a_context),
736 NULL
737};
738
91447636
A
739int vnop_readlink_vp_offsets[] = {
740 VOPARG_OFFSETOF(struct vnop_readlink_args,a_vp),
1c79356b
A
741 VDESC_NO_OFFSET
742};
91447636 743struct vnodeop_desc vnop_readlink_desc = {
1c79356b 744 0,
91447636 745 "vnop_readlink",
1c79356b 746 0,
91447636 747 vnop_readlink_vp_offsets,
1c79356b
A
748 VDESC_NO_OFFSET,
749 VDESC_NO_OFFSET,
750 VDESC_NO_OFFSET,
751 VDESC_NO_OFFSET,
91447636 752 VOPARG_OFFSETOF(struct vnop_readlink_args, a_context),
2d21ac55 753 NULL
1c79356b
A
754};
755
91447636
A
756int vnop_inactive_vp_offsets[] = {
757 VOPARG_OFFSETOF(struct vnop_inactive_args,a_vp),
1c79356b
A
758 VDESC_NO_OFFSET
759};
91447636 760struct vnodeop_desc vnop_inactive_desc = {
1c79356b 761 0,
91447636 762 "vnop_inactive",
1c79356b 763 0,
91447636 764 vnop_inactive_vp_offsets,
1c79356b
A
765 VDESC_NO_OFFSET,
766 VDESC_NO_OFFSET,
767 VDESC_NO_OFFSET,
768 VDESC_NO_OFFSET,
91447636 769 VOPARG_OFFSETOF(struct vnop_inactive_args, a_context),
2d21ac55 770 NULL
1c79356b
A
771};
772
91447636
A
773int vnop_reclaim_vp_offsets[] = {
774 VOPARG_OFFSETOF(struct vnop_reclaim_args,a_vp),
1c79356b
A
775 VDESC_NO_OFFSET
776};
91447636 777struct vnodeop_desc vnop_reclaim_desc = {
1c79356b 778 0,
91447636 779 "vnop_reclaim",
1c79356b 780 0,
91447636 781 vnop_reclaim_vp_offsets,
1c79356b
A
782 VDESC_NO_OFFSET,
783 VDESC_NO_OFFSET,
784 VDESC_NO_OFFSET,
785 VDESC_NO_OFFSET,
91447636 786 VOPARG_OFFSETOF(struct vnop_reclaim_args, a_context),
2d21ac55 787 NULL
1c79356b
A
788};
789
91447636
A
790int vnop_pathconf_vp_offsets[] = {
791 VOPARG_OFFSETOF(struct vnop_pathconf_args,a_vp),
1c79356b
A
792 VDESC_NO_OFFSET
793};
91447636 794struct vnodeop_desc vnop_pathconf_desc = {
1c79356b 795 0,
91447636 796 "vnop_pathconf",
1c79356b 797 0,
91447636
A
798 vnop_pathconf_vp_offsets,
799 VDESC_NO_OFFSET,
800 VDESC_NO_OFFSET,
1c79356b
A
801 VDESC_NO_OFFSET,
802 VDESC_NO_OFFSET,
91447636 803 VOPARG_OFFSETOF(struct vnop_pathconf_args, a_context),
2d21ac55 804 NULL
1c79356b
A
805};
806
91447636
A
807int vnop_advlock_vp_offsets[] = {
808 VOPARG_OFFSETOF(struct vnop_advlock_args,a_vp),
1c79356b
A
809 VDESC_NO_OFFSET
810};
91447636 811struct vnodeop_desc vnop_advlock_desc = {
1c79356b 812 0,
91447636 813 "vnop_advlock",
1c79356b 814 0,
91447636 815 vnop_advlock_vp_offsets,
1c79356b
A
816 VDESC_NO_OFFSET,
817 VDESC_NO_OFFSET,
818 VDESC_NO_OFFSET,
819 VDESC_NO_OFFSET,
91447636 820 VOPARG_OFFSETOF(struct vnop_advlock_args, a_context),
2d21ac55 821 NULL
1c79356b
A
822};
823
91447636
A
824int vnop_allocate_vp_offsets[] = {
825 VOPARG_OFFSETOF(struct vnop_allocate_args,a_vp),
1c79356b
A
826 VDESC_NO_OFFSET
827};
91447636 828struct vnodeop_desc vnop_allocate_desc = {
1c79356b 829 0,
91447636 830 "vnop_allocate",
1c79356b 831 0,
91447636 832 vnop_allocate_vp_offsets,
1c79356b
A
833 VDESC_NO_OFFSET,
834 VDESC_NO_OFFSET,
835 VDESC_NO_OFFSET,
836 VDESC_NO_OFFSET,
91447636 837 VOPARG_OFFSETOF(struct vnop_allocate_args, a_context),
2d21ac55 838 NULL
1c79356b
A
839};
840
91447636
A
841int vnop_pagein_vp_offsets[] = {
842 VOPARG_OFFSETOF(struct vnop_pagein_args,a_vp),
1c79356b
A
843 VDESC_NO_OFFSET
844};
91447636 845struct vnodeop_desc vnop_pagein_desc = {
1c79356b 846 0,
91447636 847 "vnop_pagein",
1c79356b 848 0,
91447636 849 vnop_pagein_vp_offsets,
1c79356b 850 VDESC_NO_OFFSET,
1c79356b 851 VDESC_NO_OFFSET,
1c79356b 852 VDESC_NO_OFFSET,
1c79356b 853 VDESC_NO_OFFSET,
91447636 854 VOPARG_OFFSETOF(struct vnop_pagein_args, a_context),
2d21ac55 855 NULL
1c79356b
A
856};
857
91447636
A
858int vnop_pageout_vp_offsets[] = {
859 VOPARG_OFFSETOF(struct vnop_pageout_args,a_vp),
1c79356b
A
860 VDESC_NO_OFFSET
861};
91447636 862struct vnodeop_desc vnop_pageout_desc = {
1c79356b 863 0,
91447636 864 "vnop_pageout",
1c79356b 865 0,
91447636 866 vnop_pageout_vp_offsets,
1c79356b
A
867 VDESC_NO_OFFSET,
868 VDESC_NO_OFFSET,
869 VDESC_NO_OFFSET,
870 VDESC_NO_OFFSET,
91447636 871 VOPARG_OFFSETOF(struct vnop_pageout_args, a_context),
2d21ac55 872 NULL
1c79356b
A
873};
874
91447636
A
875int vnop_searchfs_vp_offsets[] = {
876 VOPARG_OFFSETOF(struct vnop_searchfs_args,a_vp),
1c79356b
A
877 VDESC_NO_OFFSET
878};
91447636 879struct vnodeop_desc vnop_searchfs_desc = {
1c79356b 880 0,
91447636 881 "vnop_searchfs",
1c79356b 882 0,
91447636
A
883 vnop_searchfs_vp_offsets,
884 VDESC_NO_OFFSET,
1c79356b 885 VDESC_NO_OFFSET,
1c79356b
A
886 VDESC_NO_OFFSET,
887 VDESC_NO_OFFSET,
2d21ac55
A
888 VDESC_NO_OFFSET,
889 NULL
1c79356b
A
890};
891
91447636
A
892int 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),
1c79356b
A
896 VDESC_NO_OFFSET
897};
91447636 898struct vnodeop_desc vnop_copyfile_desc = {
1c79356b 899 0,
91447636
A
900 "vnop_copyfile",
901 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE,
902 vnop_copyfile_vp_offsets,
1c79356b 903 VDESC_NO_OFFSET,
1c79356b
A
904 VDESC_NO_OFFSET,
905 VDESC_NO_OFFSET,
91447636 906 VOPARG_OFFSETOF(struct vnop_copyfile_args, a_tcnp),
2d21ac55
A
907 VDESC_NO_OFFSET,
908 NULL
1c79356b
A
909};
910
39037602
A
911int vnop_clonefile_vp_offsets[] = {
912 VOPARG_OFFSETOF(struct vnop_clonefile_args,a_fvp),
913 VOPARG_OFFSETOF(struct vnop_clonefile_args,a_dvp),
914 VDESC_NO_OFFSET
915};
916struct vnodeop_desc vnop_clonefile_desc = {
917 0,
918 "vnop_clonefile",
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),
922 VDESC_NO_OFFSET,
923 VDESC_NO_OFFSET,
924 VOPARG_OFFSETOF(struct vnop_clonefile_args, a_cnp),
925 VOPARG_OFFSETOF(struct vnop_clonefile_args, a_context),
926 NULL
927};
928
91447636
A
929int vop_getxattr_vp_offsets[] = {
930 VOPARG_OFFSETOF(struct vnop_getxattr_args,a_vp),
1c79356b
A
931 VDESC_NO_OFFSET
932};
91447636 933struct vnodeop_desc vnop_getxattr_desc = {
1c79356b 934 0,
91447636 935 "vnop_getxattr",
1c79356b 936 0,
91447636 937 vop_getxattr_vp_offsets,
1c79356b 938 VDESC_NO_OFFSET,
1c79356b
A
939 VDESC_NO_OFFSET,
940 VDESC_NO_OFFSET,
91447636
A
941 VDESC_NO_OFFSET,
942 VOPARG_OFFSETOF(struct vnop_getxattr_args, a_context),
2d21ac55 943 NULL
1c79356b
A
944};
945
91447636
A
946int vop_setxattr_vp_offsets[] = {
947 VOPARG_OFFSETOF(struct vnop_setxattr_args,a_vp),
1c79356b
A
948 VDESC_NO_OFFSET
949};
91447636 950struct vnodeop_desc vnop_setxattr_desc = {
1c79356b 951 0,
91447636 952 "vnop_setxattr",
1c79356b 953 0,
91447636 954 vop_setxattr_vp_offsets,
1c79356b
A
955 VDESC_NO_OFFSET,
956 VDESC_NO_OFFSET,
957 VDESC_NO_OFFSET,
958 VDESC_NO_OFFSET,
91447636 959 VOPARG_OFFSETOF(struct vnop_setxattr_args, a_context),
2d21ac55 960 NULL
1c79356b
A
961};
962
91447636
A
963int vop_removexattr_vp_offsets[] = {
964 VOPARG_OFFSETOF(struct vnop_removexattr_args,a_vp),
1c79356b
A
965 VDESC_NO_OFFSET
966};
91447636 967struct vnodeop_desc vnop_removexattr_desc = {
1c79356b 968 0,
91447636 969 "vnop_removexattr",
1c79356b 970 0,
91447636 971 vop_removexattr_vp_offsets,
1c79356b
A
972 VDESC_NO_OFFSET,
973 VDESC_NO_OFFSET,
974 VDESC_NO_OFFSET,
975 VDESC_NO_OFFSET,
91447636 976 VOPARG_OFFSETOF(struct vnop_removexattr_args, a_context),
2d21ac55 977 NULL
1c79356b
A
978};
979
91447636
A
980int vop_listxattr_vp_offsets[] = {
981 VOPARG_OFFSETOF(struct vnop_listxattr_args,a_vp),
1c79356b
A
982 VDESC_NO_OFFSET
983};
91447636 984struct vnodeop_desc vnop_listxattr_desc = {
1c79356b 985 0,
91447636
A
986 "vnop_listxattr",
987 0,
988 vop_listxattr_vp_offsets,
989 VDESC_NO_OFFSET,
1c79356b
A
990 VDESC_NO_OFFSET,
991 VDESC_NO_OFFSET,
992 VDESC_NO_OFFSET,
91447636 993 VOPARG_OFFSETOF(struct vnop_listxattr_args, a_context),
2d21ac55 994 NULL
1c79356b
A
995};
996
91447636
A
997int vnop_blktooff_vp_offsets[] = {
998 VOPARG_OFFSETOF(struct vnop_blktooff_args,a_vp),
1c79356b
A
999 VDESC_NO_OFFSET
1000};
91447636 1001struct vnodeop_desc vnop_blktooff_desc = {
1c79356b 1002 0,
91447636 1003 "vnop_blktooff",
1c79356b 1004 0,
91447636 1005 vnop_blktooff_vp_offsets,
1c79356b
A
1006 VDESC_NO_OFFSET,
1007 VDESC_NO_OFFSET,
1008 VDESC_NO_OFFSET,
1009 VDESC_NO_OFFSET,
2d21ac55
A
1010 VDESC_NO_OFFSET,
1011 NULL
1c79356b
A
1012};
1013
91447636
A
1014int vnop_offtoblk_vp_offsets[] = {
1015 VOPARG_OFFSETOF(struct vnop_offtoblk_args,a_vp),
1c79356b
A
1016 VDESC_NO_OFFSET
1017};
91447636 1018struct vnodeop_desc vnop_offtoblk_desc = {
1c79356b 1019 0,
91447636 1020 "vnop_offtoblk",
1c79356b 1021 0,
91447636 1022 vnop_offtoblk_vp_offsets,
1c79356b
A
1023 VDESC_NO_OFFSET,
1024 VDESC_NO_OFFSET,
1025 VDESC_NO_OFFSET,
1026 VDESC_NO_OFFSET,
2d21ac55
A
1027 VDESC_NO_OFFSET,
1028 NULL
1c79356b
A
1029};
1030
91447636
A
1031int vnop_blockmap_vp_offsets[] = {
1032 VOPARG_OFFSETOF(struct vnop_blockmap_args,a_vp),
1c79356b
A
1033 VDESC_NO_OFFSET
1034};
91447636 1035struct vnodeop_desc vnop_blockmap_desc = {
1c79356b 1036 0,
91447636 1037 "vnop_blockmap",
1c79356b 1038 0,
91447636 1039 vnop_blockmap_vp_offsets,
1c79356b
A
1040 VDESC_NO_OFFSET,
1041 VDESC_NO_OFFSET,
1042 VDESC_NO_OFFSET,
1043 VDESC_NO_OFFSET,
2d21ac55
A
1044 VDESC_NO_OFFSET,
1045 NULL
1046};
1047
1048#if NAMEDSTREAMS
1049int vnop_getnamedstream_vp_offsets[] = {
1050 VOPARG_OFFSETOF(struct vnop_getnamedstream_args, a_vp),
1051 VDESC_NO_OFFSET
1052};
1053struct vnodeop_desc vnop_getnamedstream_desc = {
1054 0,
1055 "vnop_getnamedstream",
1056 0,
1057 vnop_getnamedstream_vp_offsets,
1058 VOPARG_OFFSETOF(struct vnop_getnamedstream_args, a_svpp),
1059 VDESC_NO_OFFSET,
1060 VDESC_NO_OFFSET,
1061 VOPARG_OFFSETOF(struct vnop_getnamedstream_args, a_name),
1062 VOPARG_OFFSETOF(struct vnop_getnamedstream_args, a_context),
1063 NULL
1064};
1065
1066int vnop_makenamedstream_vp_offsets[] = {
1067 VOPARG_OFFSETOF(struct vnop_makenamedstream_args, a_vp),
1068 VDESC_NO_OFFSET
1069};
1070struct vnodeop_desc vnop_makenamedstream_desc = {
1071 0,
1072 "vnop_makenamedstream",
1073 0, /* flags */
1074 vnop_makenamedstream_vp_offsets,
1075 VOPARG_OFFSETOF(struct vnop_makenamedstream_args, a_svpp),
1076 VDESC_NO_OFFSET,
1077 VDESC_NO_OFFSET,
1078 VOPARG_OFFSETOF(struct vnop_makenamedstream_args, a_name),
1079 VOPARG_OFFSETOF(struct vnop_makenamedstream_args, a_context),
1080 NULL
1081};
1082
1083int vnop_removenamedstream_vp_offsets[] = {
1084 VOPARG_OFFSETOF(struct vnop_removenamedstream_args, a_vp),
1085 VDESC_NO_OFFSET
1086};
1087struct vnodeop_desc vnop_removenamedstream_desc = {
1088 0,
1089 "vnop_removenamedstream",
1090 0,
1091 vnop_removenamedstream_vp_offsets,
1092 VDESC_NO_OFFSET,
1093 VDESC_NO_OFFSET,
1094 VDESC_NO_OFFSET,
1095 VOPARG_OFFSETOF(struct vnop_removenamedstream_args, a_name),
1096 VOPARG_OFFSETOF(struct vnop_removenamedstream_args, a_context),
1097 NULL
1c79356b 1098};
2d21ac55
A
1099#else
1100/* These symbols are in the exports list so they need to always be defined. */
1101int vnop_getnamedstream_desc;
1102int vnop_makenamedstream_desc;
1103int vnop_removenamedstream_desc;
1104#endif
1c79356b
A
1105
1106/* Special cases: */
1107
91447636 1108int vnop_strategy_vp_offsets[] = {
1c79356b
A
1109 VDESC_NO_OFFSET
1110};
91447636 1111struct vnodeop_desc vnop_strategy_desc = {
1c79356b 1112 0,
91447636 1113 "vnop_strategy",
1c79356b 1114 0,
91447636 1115 vnop_strategy_vp_offsets,
1c79356b
A
1116 VDESC_NO_OFFSET,
1117 VDESC_NO_OFFSET,
1118 VDESC_NO_OFFSET,
1119 VDESC_NO_OFFSET,
2d21ac55
A
1120 VDESC_NO_OFFSET,
1121 NULL
1c79356b
A
1122};
1123
91447636 1124int vnop_bwrite_vp_offsets[] = {
1c79356b
A
1125 VDESC_NO_OFFSET
1126};
91447636 1127struct vnodeop_desc vnop_bwrite_desc = {
1c79356b 1128 0,
91447636 1129 "vnop_bwrite",
1c79356b 1130 0,
91447636 1131 vnop_bwrite_vp_offsets,
1c79356b
A
1132 VDESC_NO_OFFSET,
1133 VDESC_NO_OFFSET,
1134 VDESC_NO_OFFSET,
1135 VDESC_NO_OFFSET,
2d21ac55
A
1136 VDESC_NO_OFFSET,
1137 NULL
1c79356b
A
1138};
1139
1140/* End of special cases. */
1141
1142struct vnodeop_desc *vfs_op_descs[] = {
91447636
A
1143 &vnop_default_desc, /* MUST BE FIRST */
1144 &vnop_strategy_desc, /* XXX: SPECIAL CASE */
1145 &vnop_bwrite_desc, /* XXX: SPECIAL CASE */
1146
1147 &vnop_lookup_desc,
1148 &vnop_create_desc,
1149 &vnop_mknod_desc,
1150 &vnop_whiteout_desc,
1151 &vnop_open_desc,
6d2010ae 1152 &vnop_compound_open_desc,
91447636
A
1153 &vnop_close_desc,
1154 &vnop_access_desc,
1155 &vnop_getattr_desc,
1156 &vnop_setattr_desc,
91447636
A
1157 &vnop_read_desc,
1158 &vnop_write_desc,
1159 &vnop_ioctl_desc,
1160 &vnop_select_desc,
1161 &vnop_exchange_desc,
1162 &vnop_kqfilt_add_desc,
1163 &vnop_kqfilt_remove_desc,
2d21ac55 1164 &vnop_setlabel_desc,
91447636
A
1165 &vnop_revoke_desc,
1166 &vnop_mmap_desc,
1167 &vnop_mnomap_desc,
1168 &vnop_fsync_desc,
1169 &vnop_remove_desc,
6d2010ae 1170 &vnop_compound_remove_desc,
91447636
A
1171 &vnop_link_desc,
1172 &vnop_rename_desc,
39037602 1173 &vnop_renamex_desc,
6d2010ae 1174 &vnop_compound_rename_desc,
91447636 1175 &vnop_mkdir_desc,
6d2010ae 1176 &vnop_compound_mkdir_desc,
91447636 1177 &vnop_rmdir_desc,
6d2010ae 1178 &vnop_compound_rmdir_desc,
91447636
A
1179 &vnop_symlink_desc,
1180 &vnop_readdir_desc,
1181 &vnop_readdirattr_desc,
fe8ab488 1182 &vnop_getattrlistbulk_desc,
91447636
A
1183 &vnop_readlink_desc,
1184 &vnop_inactive_desc,
1185 &vnop_reclaim_desc,
1186 &vnop_pathconf_desc,
1187 &vnop_advlock_desc,
1188 &vnop_allocate_desc,
1189 &vnop_pagein_desc,
1190 &vnop_pageout_desc,
91447636
A
1191 &vnop_searchfs_desc,
1192 &vnop_copyfile_desc,
39037602 1193 &vnop_clonefile_desc,
91447636
A
1194 &vnop_getxattr_desc,
1195 &vnop_setxattr_desc,
1196 &vnop_removexattr_desc,
1197 &vnop_listxattr_desc,
1198 &vnop_blktooff_desc,
1199 &vnop_offtoblk_desc,
1200 &vnop_blockmap_desc,
b0d623f7 1201 &vnop_monitor_desc,
2d21ac55
A
1202#if NAMEDSTREAMS
1203 &vnop_getnamedstream_desc,
1204 &vnop_makenamedstream_desc,
1205 &vnop_removenamedstream_desc,
1206#endif
1c79356b
A
1207 NULL
1208};
1209