]> git.saurik.com Git - apple/xnu.git/blame - bsd/vfs/vnode_if.c
xnu-792.6.22.tar.gz
[apple/xnu.git] / bsd / vfs / vnode_if.c
CommitLineData
1c79356b
A
1
2/*
9bccf70c 3 * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
1c79356b
A
4 *
5 * @APPLE_LICENSE_HEADER_START@
6 *
e5568f75
A
7 * The contents of this file constitute Original Code as defined in and
8 * are subject to the Apple Public Source License Version 1.1 (the
9 * "License"). You may not use this file except in compliance with the
10 * License. Please obtain a copy of the License at
11 * http://www.apple.com/publicsource and read it before using this file.
1c79356b 12 *
e5568f75
A
13 * This Original Code and all software distributed under the License are
14 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
1c79356b
A
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
e5568f75
A
17 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
18 * License for the specific language governing rights and limitations
19 * under the License.
1c79356b
A
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23/*
24 * Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
25 * Copyright (c) 1992, 1993, 1994, 1995
26 * The Regents of the University of California. All rights reserved.
27 *
28 * Redistribution and use in source and binary forms, with or without
29 * modification, are permitted provided that the following conditions
30 * are met:
31 * 1. Redistributions of source code must retain the above copyright
32 * notice, this list of conditions and the following disclaimer.
33 * 2. Redistributions in binary form must reproduce the above copyright
34 * notice, this list of conditions and the following disclaimer in the
35 * documentation and/or other materials provided with the distribution.
36 * 3. All advertising materials mentioning features or use of this software
37 * must display the following acknowledgement:
38 * This product includes software developed by the University of
39 * California, Berkeley and its contributors.
40 * 4. Neither the name of the University nor the names of its contributors
41 * may be used to endorse or promote products derived from this software
42 * without specific prior written permission.
43 *
44 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS AND
45 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
46 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
47 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
48 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
49 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
50 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
51 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
52 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
53 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
54 * SUCH DAMAGE.
55 */
56
57
58/*
59 * Warning: This file is generated automatically.
60 * (Modifications made here may easily be lost!)
61 *
62 * Created by the script:
63 * @(#)vnode_if.sh 8.7 (Berkeley) 5/11/95
64 */
65
66
67#include <sys/param.h>
91447636 68#include <sys/mount_internal.h>
1c79356b 69#include <sys/vm.h>
91447636 70#include <sys/vnode_internal.h>
1c79356b 71
91447636 72struct vnodeop_desc vnop_default_desc = {
1c79356b
A
73 0,
74 "default",
75 0,
76 NULL,
77 VDESC_NO_OFFSET,
78 VDESC_NO_OFFSET,
79 VDESC_NO_OFFSET,
80 VDESC_NO_OFFSET,
81 NULL,
82};
83
84
91447636
A
85int vnop_lookup_vp_offsets[] = {
86 VOPARG_OFFSETOF(struct vnop_lookup_args,a_dvp),
1c79356b
A
87 VDESC_NO_OFFSET
88};
91447636 89struct vnodeop_desc vnop_lookup_desc = {
1c79356b 90 0,
91447636 91 "vnop_lookup",
1c79356b 92 0,
91447636
A
93 vnop_lookup_vp_offsets,
94 VOPARG_OFFSETOF(struct vnop_lookup_args, a_vpp),
1c79356b
A
95 VDESC_NO_OFFSET,
96 VDESC_NO_OFFSET,
91447636
A
97 VOPARG_OFFSETOF(struct vnop_lookup_args, a_cnp),
98 VOPARG_OFFSETOF(struct vnop_lookup_args, a_context),
1c79356b
A
99 NULL,
100};
101
91447636
A
102int vnop_create_vp_offsets[] = {
103 VOPARG_OFFSETOF(struct vnop_create_args,a_dvp),
1c79356b
A
104 VDESC_NO_OFFSET
105};
91447636 106struct vnodeop_desc vnop_create_desc = {
1c79356b 107 0,
91447636 108 "vnop_create",
1c79356b 109 0 | VDESC_VP0_WILLRELE,
91447636
A
110 vnop_create_vp_offsets,
111 VOPARG_OFFSETOF(struct vnop_create_args, a_vpp),
1c79356b
A
112 VDESC_NO_OFFSET,
113 VDESC_NO_OFFSET,
91447636
A
114 VOPARG_OFFSETOF(struct vnop_create_args, a_cnp),
115 VOPARG_OFFSETOF(struct vnop_create_args, a_context),
1c79356b
A
116 NULL,
117};
118
91447636
A
119int vnop_whiteout_vp_offsets[] = {
120 VOPARG_OFFSETOF(struct vnop_whiteout_args,a_dvp),
1c79356b
A
121 VDESC_NO_OFFSET
122};
91447636 123struct vnodeop_desc vnop_whiteout_desc = {
1c79356b 124 0,
91447636 125 "vnop_whiteout",
1c79356b 126 0 | VDESC_VP0_WILLRELE,
91447636 127 vnop_whiteout_vp_offsets,
1c79356b
A
128 VDESC_NO_OFFSET,
129 VDESC_NO_OFFSET,
130 VDESC_NO_OFFSET,
91447636
A
131 VOPARG_OFFSETOF(struct vnop_whiteout_args, a_cnp),
132 VOPARG_OFFSETOF(struct vnop_whiteout_args, a_context),
1c79356b
A
133 NULL,
134};
135
91447636
A
136int vnop_mknod_vp_offsets[] = {
137 VOPARG_OFFSETOF(struct vnop_mknod_args,a_dvp),
138 VDESC_NO_OFFSET
1c79356b 139};
91447636
A
140struct vnodeop_desc vnop_mknod_desc = {
141 0,
142 "vnop_mknod",
143 0 | VDESC_VP0_WILLRELE | VDESC_VPP_WILLRELE,
144 vnop_mknod_vp_offsets,
145 VOPARG_OFFSETOF(struct vnop_mknod_args, a_vpp),
146 VDESC_NO_OFFSET,
147 VDESC_NO_OFFSET,
148 VOPARG_OFFSETOF(struct vnop_mknod_args, a_cnp),
149 VOPARG_OFFSETOF(struct vnop_mknod_args, a_context),
150 NULL,
1c79356b
A
151};
152
91447636
A
153int vnop_open_vp_offsets[] = {
154 VOPARG_OFFSETOF(struct vnop_open_args,a_vp),
1c79356b
A
155 VDESC_NO_OFFSET
156};
91447636
A
157struct vnodeop_desc vnop_open_desc = {
158 0,
159 "vnop_open",
1c79356b 160 0,
91447636 161 vnop_open_vp_offsets,
1c79356b
A
162 VDESC_NO_OFFSET,
163 VDESC_NO_OFFSET,
1c79356b 164 VDESC_NO_OFFSET,
1c79356b 165 VDESC_NO_OFFSET,
91447636 166 VOPARG_OFFSETOF(struct vnop_open_args, a_context),
1c79356b
A
167 NULL,
168};
169
91447636
A
170int vnop_close_vp_offsets[] = {
171 VOPARG_OFFSETOF(struct vnop_close_args,a_vp),
1c79356b
A
172 VDESC_NO_OFFSET
173};
91447636 174struct vnodeop_desc vnop_close_desc = {
1c79356b 175 0,
91447636 176 "vnop_close",
1c79356b 177 0,
91447636 178 vnop_close_vp_offsets,
1c79356b 179 VDESC_NO_OFFSET,
1c79356b 180 VDESC_NO_OFFSET,
1c79356b 181 VDESC_NO_OFFSET,
1c79356b 182 VDESC_NO_OFFSET,
91447636 183 VOPARG_OFFSETOF(struct vnop_close_args, a_context),
1c79356b
A
184 NULL,
185};
186
91447636
A
187int vnop_access_vp_offsets[] = {
188 VOPARG_OFFSETOF(struct vnop_access_args,a_vp),
1c79356b
A
189 VDESC_NO_OFFSET
190};
91447636 191struct vnodeop_desc vnop_access_desc = {
1c79356b 192 0,
91447636 193 "vnop_access",
1c79356b 194 0,
91447636 195 vnop_access_vp_offsets,
1c79356b 196 VDESC_NO_OFFSET,
1c79356b 197 VDESC_NO_OFFSET,
1c79356b 198 VDESC_NO_OFFSET,
1c79356b 199 VDESC_NO_OFFSET,
91447636 200 VOPARG_OFFSETOF(struct vnop_close_args, a_context),
1c79356b
A
201 NULL,
202};
203
91447636
A
204int vnop_getattr_vp_offsets[] = {
205 VOPARG_OFFSETOF(struct vnop_getattr_args,a_vp),
1c79356b
A
206 VDESC_NO_OFFSET
207};
91447636 208struct vnodeop_desc vnop_getattr_desc = {
1c79356b 209 0,
91447636 210 "vnop_getattr",
1c79356b 211 0,
91447636 212 vnop_getattr_vp_offsets,
1c79356b 213 VDESC_NO_OFFSET,
1c79356b 214 VDESC_NO_OFFSET,
1c79356b 215 VDESC_NO_OFFSET,
1c79356b 216 VDESC_NO_OFFSET,
91447636 217 VOPARG_OFFSETOF(struct vnop_getattr_args, a_context),
1c79356b
A
218 NULL,
219};
220
91447636
A
221int vnop_setattr_vp_offsets[] = {
222 VOPARG_OFFSETOF(struct vnop_setattr_args,a_vp),
1c79356b
A
223 VDESC_NO_OFFSET
224};
91447636 225struct vnodeop_desc vnop_setattr_desc = {
1c79356b 226 0,
91447636 227 "vnop_setattr",
1c79356b 228 0,
91447636 229 vnop_setattr_vp_offsets,
1c79356b 230 VDESC_NO_OFFSET,
1c79356b
A
231 VDESC_NO_OFFSET,
232 VDESC_NO_OFFSET,
91447636
A
233 VDESC_NO_OFFSET,
234 VOPARG_OFFSETOF(struct vnop_setattr_args, a_context),
1c79356b
A
235 NULL,
236};
237
91447636
A
238int vnop_getattrlist_vp_offsets[] = {
239 VOPARG_OFFSETOF(struct vnop_getattrlist_args,a_vp),
1c79356b
A
240 VDESC_NO_OFFSET
241};
91447636 242struct vnodeop_desc vnop_getattrlist_desc = {
1c79356b 243 0,
91447636 244 "vnop_getattrlist",
1c79356b 245 0,
91447636
A
246 vnop_getattrlist_vp_offsets,
247 VDESC_NO_OFFSET,
1c79356b 248 VDESC_NO_OFFSET,
1c79356b
A
249 VDESC_NO_OFFSET,
250 VDESC_NO_OFFSET,
91447636 251 VOPARG_OFFSETOF(struct vnop_getattrlist_args, a_context),
1c79356b
A
252 NULL,
253};
254
91447636
A
255int vnop_setattrlist_vp_offsets[] = {
256 VOPARG_OFFSETOF(struct vnop_setattrlist_args,a_vp),
1c79356b
A
257 VDESC_NO_OFFSET
258};
91447636 259struct vnodeop_desc vnop_setattrlist_desc = {
1c79356b 260 0,
91447636 261 "vnop_setattrlist",
1c79356b 262 0,
91447636 263 vnop_setattrlist_vp_offsets,
1c79356b 264 VDESC_NO_OFFSET,
1c79356b 265 VDESC_NO_OFFSET,
1c79356b 266 VDESC_NO_OFFSET,
1c79356b 267 VDESC_NO_OFFSET,
91447636 268 VOPARG_OFFSETOF(struct vnop_setattrlist_args, a_context),
1c79356b
A
269 NULL,
270};
271
91447636
A
272int vnop_read_vp_offsets[] = {
273 VOPARG_OFFSETOF(struct vnop_read_args,a_vp),
1c79356b
A
274 VDESC_NO_OFFSET
275};
91447636 276struct vnodeop_desc vnop_read_desc = {
1c79356b 277 0,
91447636 278 "vnop_read",
1c79356b 279 0,
91447636 280 vnop_read_vp_offsets,
1c79356b 281 VDESC_NO_OFFSET,
1c79356b 282 VDESC_NO_OFFSET,
1c79356b 283 VDESC_NO_OFFSET,
1c79356b 284 VDESC_NO_OFFSET,
91447636 285 VOPARG_OFFSETOF(struct vnop_read_args, a_context),
1c79356b
A
286 NULL,
287};
288
91447636
A
289int vnop_write_vp_offsets[] = {
290 VOPARG_OFFSETOF(struct vnop_write_args,a_vp),
55e303ae
A
291 VDESC_NO_OFFSET
292};
91447636 293struct vnodeop_desc vnop_write_desc = {
55e303ae 294 0,
91447636 295 "vnop_write",
55e303ae 296 0,
91447636
A
297 vnop_write_vp_offsets,
298 VDESC_NO_OFFSET,
55e303ae
A
299 VDESC_NO_OFFSET,
300 VDESC_NO_OFFSET,
55e303ae 301 VDESC_NO_OFFSET,
91447636 302 VOPARG_OFFSETOF(struct vnop_write_args, a_context),
55e303ae
A
303 NULL,
304};
305
91447636
A
306int vnop_ioctl_vp_offsets[] = {
307 VOPARG_OFFSETOF(struct vnop_ioctl_args,a_vp),
55e303ae
A
308 VDESC_NO_OFFSET
309};
91447636 310struct vnodeop_desc vnop_ioctl_desc = {
55e303ae 311 0,
91447636 312 "vnop_ioctl",
55e303ae 313 0,
91447636 314 vnop_ioctl_vp_offsets,
55e303ae
A
315 VDESC_NO_OFFSET,
316 VDESC_NO_OFFSET,
55e303ae 317 VDESC_NO_OFFSET,
91447636
A
318 VDESC_NO_OFFSET,
319 VOPARG_OFFSETOF(struct vnop_ioctl_args, a_context),
55e303ae
A
320 NULL,
321};
322
91447636
A
323int vnop_select_vp_offsets[] = {
324 VOPARG_OFFSETOF(struct vnop_select_args,a_vp),
1c79356b
A
325 VDESC_NO_OFFSET
326};
91447636 327struct vnodeop_desc vnop_select_desc = {
1c79356b 328 0,
91447636 329 "vnop_select",
1c79356b 330 0,
91447636
A
331 vnop_select_vp_offsets,
332 VDESC_NO_OFFSET,
1c79356b
A
333 VDESC_NO_OFFSET,
334 VDESC_NO_OFFSET,
335 VDESC_NO_OFFSET,
91447636 336 VOPARG_OFFSETOF(struct vnop_select_args, a_context),
1c79356b
A
337 VDESC_NO_OFFSET,
338 NULL,
339};
340
91447636
A
341int vnop_exchange_vp_offsets[] = {
342 VOPARG_OFFSETOF(struct vnop_exchange_args,a_fvp),
343 VOPARG_OFFSETOF(struct vnop_exchange_args,a_tvp),
1c79356b
A
344 VDESC_NO_OFFSET
345};
91447636 346struct vnodeop_desc vnop_exchange_desc = {
1c79356b 347 0,
91447636 348 "vnop_exchange",
1c79356b 349 0,
91447636 350 vnop_exchange_vp_offsets,
1c79356b 351 VDESC_NO_OFFSET,
1c79356b 352 VDESC_NO_OFFSET,
1c79356b 353 VDESC_NO_OFFSET,
1c79356b 354 VDESC_NO_OFFSET,
91447636 355 VOPARG_OFFSETOF(struct vnop_exchange_args, a_context),
1c79356b
A
356 NULL,
357};
358
91447636
A
359int vnop_kqfilt_add_vp_offsets[] = {
360 VOPARG_OFFSETOF(struct vnop_kqfilt_add_args,a_vp),
1c79356b
A
361 VDESC_NO_OFFSET
362};
91447636 363struct vnodeop_desc vnop_kqfilt_add_desc = {
1c79356b 364 0,
91447636 365 "vnop_kqfilt_add",
1c79356b 366 0,
91447636 367 vnop_kqfilt_add_vp_offsets,
1c79356b 368 VDESC_NO_OFFSET,
1c79356b
A
369 VDESC_NO_OFFSET,
370 VDESC_NO_OFFSET,
371 VDESC_NO_OFFSET,
91447636 372 VOPARG_OFFSETOF(struct vnop_kqfilt_add_args, a_context),
1c79356b
A
373 NULL,
374};
375
91447636
A
376int vnop_kqfilt_remove_vp_offsets[] = {
377 VOPARG_OFFSETOF(struct vnop_kqfilt_remove_args,a_vp),
1c79356b
A
378 VDESC_NO_OFFSET
379};
91447636 380struct vnodeop_desc vnop_kqfilt_remove_desc = {
1c79356b 381 0,
91447636 382 "vnop_kqfilt_remove",
1c79356b 383 0,
91447636 384 vnop_kqfilt_remove_vp_offsets,
1c79356b
A
385 VDESC_NO_OFFSET,
386 VDESC_NO_OFFSET,
387 VDESC_NO_OFFSET,
1c79356b 388 VDESC_NO_OFFSET,
91447636 389 VOPARG_OFFSETOF(struct vnop_kqfilt_remove_args, a_context),
1c79356b
A
390 NULL,
391};
392
91447636
A
393int vnop_revoke_vp_offsets[] = {
394 VOPARG_OFFSETOF(struct vnop_revoke_args,a_vp),
1c79356b
A
395 VDESC_NO_OFFSET
396};
91447636 397struct vnodeop_desc vnop_revoke_desc = {
1c79356b 398 0,
91447636
A
399 "vnop_revoke",
400 0,
401 vnop_revoke_vp_offsets,
1c79356b
A
402 VDESC_NO_OFFSET,
403 VDESC_NO_OFFSET,
404 VDESC_NO_OFFSET,
1c79356b 405 VDESC_NO_OFFSET,
1c79356b
A
406 NULL,
407};
408
91447636
A
409
410int vnop_mmap_vp_offsets[] = {
411 VOPARG_OFFSETOF(struct vnop_mmap_args,a_vp),
1c79356b
A
412 VDESC_NO_OFFSET
413};
91447636 414struct vnodeop_desc vnop_mmap_desc = {
1c79356b 415 0,
91447636 416 "vnop_mmap",
1c79356b 417 0,
91447636
A
418 vnop_mmap_vp_offsets,
419 VDESC_NO_OFFSET,
1c79356b 420 VDESC_NO_OFFSET,
1c79356b
A
421 VDESC_NO_OFFSET,
422 VDESC_NO_OFFSET,
423 NULL,
424};
425
91447636
A
426
427int vnop_mnomap_vp_offsets[] = {
428 VOPARG_OFFSETOF(struct vnop_mnomap_args,a_vp),
1c79356b
A
429 VDESC_NO_OFFSET
430};
91447636 431struct vnodeop_desc vnop_mnomap_desc = {
1c79356b 432 0,
91447636 433 "vnop_mnomap",
1c79356b 434 0,
91447636
A
435 vnop_mnomap_vp_offsets,
436 VDESC_NO_OFFSET,
1c79356b 437 VDESC_NO_OFFSET,
1c79356b
A
438 VDESC_NO_OFFSET,
439 VDESC_NO_OFFSET,
440 NULL,
441};
442
91447636
A
443
444int vnop_fsync_vp_offsets[] = {
445 VOPARG_OFFSETOF(struct vnop_fsync_args,a_vp),
1c79356b
A
446 VDESC_NO_OFFSET
447};
91447636 448struct vnodeop_desc vnop_fsync_desc = {
1c79356b 449 0,
91447636 450 "vnop_fsync",
1c79356b 451 0,
91447636
A
452 vnop_fsync_vp_offsets,
453 VDESC_NO_OFFSET,
1c79356b 454 VDESC_NO_OFFSET,
1c79356b
A
455 VDESC_NO_OFFSET,
456 VDESC_NO_OFFSET,
91447636 457 VOPARG_OFFSETOF(struct vnop_fsync_args, a_context),
1c79356b
A
458 NULL,
459};
460
91447636
A
461int vnop_remove_vp_offsets[] = {
462 VOPARG_OFFSETOF(struct vnop_remove_args,a_dvp),
463 VOPARG_OFFSETOF(struct vnop_remove_args,a_vp),
1c79356b
A
464 VDESC_NO_OFFSET
465};
91447636 466struct vnodeop_desc vnop_remove_desc = {
1c79356b 467 0,
91447636
A
468 "vnop_remove",
469 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE,
470 vnop_remove_vp_offsets,
1c79356b
A
471 VDESC_NO_OFFSET,
472 VDESC_NO_OFFSET,
473 VDESC_NO_OFFSET,
91447636
A
474 VOPARG_OFFSETOF(struct vnop_remove_args, a_cnp),
475 VOPARG_OFFSETOF(struct vnop_remove_args, a_context),
1c79356b
A
476 NULL,
477};
478
91447636
A
479int vnop_link_vp_offsets[] = {
480 VOPARG_OFFSETOF(struct vnop_link_args,a_vp),
481 VOPARG_OFFSETOF(struct vnop_link_args,a_tdvp),
1c79356b
A
482 VDESC_NO_OFFSET
483};
91447636 484struct vnodeop_desc vnop_link_desc = {
1c79356b 485 0,
91447636
A
486 "vnop_link",
487 0 | VDESC_VP1_WILLRELE,
488 vnop_link_vp_offsets,
1c79356b
A
489 VDESC_NO_OFFSET,
490 VDESC_NO_OFFSET,
1c79356b 491 VDESC_NO_OFFSET,
91447636
A
492 VOPARG_OFFSETOF(struct vnop_link_args, a_cnp),
493 VOPARG_OFFSETOF(struct vnop_link_args, a_context),
1c79356b
A
494 NULL,
495};
496
91447636
A
497int vnop_rename_vp_offsets[] = {
498 VOPARG_OFFSETOF(struct vnop_rename_args,a_fdvp),
499 VOPARG_OFFSETOF(struct vnop_rename_args,a_fvp),
500 VOPARG_OFFSETOF(struct vnop_rename_args,a_tdvp),
501 VOPARG_OFFSETOF(struct vnop_rename_args,a_tvp),
1c79356b
A
502 VDESC_NO_OFFSET
503};
91447636 504struct vnodeop_desc vnop_rename_desc = {
1c79356b 505 0,
91447636
A
506 "vnop_rename",
507 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE | VDESC_VP3_WILLRELE,
508 vnop_rename_vp_offsets,
1c79356b
A
509 VDESC_NO_OFFSET,
510 VDESC_NO_OFFSET,
1c79356b 511 VDESC_NO_OFFSET,
91447636
A
512 VOPARG_OFFSETOF(struct vnop_rename_args, a_fcnp),
513 VOPARG_OFFSETOF(struct vnop_rename_args, a_context),
1c79356b
A
514 NULL,
515};
516
91447636
A
517int vnop_mkdir_vp_offsets[] = {
518 VOPARG_OFFSETOF(struct vnop_mkdir_args,a_dvp),
519 VDESC_NO_OFFSET
1c79356b 520};
91447636
A
521struct vnodeop_desc vnop_mkdir_desc = {
522 0,
523 "vnop_mkdir",
524 0 | VDESC_VP0_WILLRELE,
525 vnop_mkdir_vp_offsets,
526 VOPARG_OFFSETOF(struct vnop_mkdir_args, a_vpp),
527 VDESC_NO_OFFSET,
528 VDESC_NO_OFFSET,
529 VOPARG_OFFSETOF(struct vnop_mkdir_args, a_cnp),
530 VOPARG_OFFSETOF(struct vnop_mkdir_args, a_context),
531 NULL,
1c79356b
A
532};
533
91447636
A
534int vnop_rmdir_vp_offsets[] = {
535 VOPARG_OFFSETOF(struct vnop_rmdir_args,a_dvp),
536 VOPARG_OFFSETOF(struct vnop_rmdir_args,a_vp),
1c79356b
A
537 VDESC_NO_OFFSET
538};
91447636 539struct vnodeop_desc vnop_rmdir_desc = {
1c79356b 540 0,
91447636
A
541 "vnop_rmdir",
542 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE,
543 vnop_rmdir_vp_offsets,
1c79356b
A
544 VDESC_NO_OFFSET,
545 VDESC_NO_OFFSET,
1c79356b 546 VDESC_NO_OFFSET,
91447636
A
547 VOPARG_OFFSETOF(struct vnop_rmdir_args, a_cnp),
548 VOPARG_OFFSETOF(struct vnop_rmdir_args, a_context),
1c79356b
A
549 NULL,
550};
551
91447636
A
552int vnop_symlink_vp_offsets[] = {
553 VOPARG_OFFSETOF(struct vnop_symlink_args,a_dvp),
554 VDESC_NO_OFFSET
1c79356b 555};
91447636
A
556struct vnodeop_desc vnop_symlink_desc = {
557 0,
558 "vnop_symlink",
559 0 | VDESC_VP0_WILLRELE | VDESC_VPP_WILLRELE,
560 vnop_symlink_vp_offsets,
561 VOPARG_OFFSETOF(struct vnop_symlink_args, a_vpp),
562 VDESC_NO_OFFSET,
563 VDESC_NO_OFFSET,
564 VOPARG_OFFSETOF(struct vnop_symlink_args, a_cnp),
565 VOPARG_OFFSETOF(struct vnop_symlink_args, a_context),
566 NULL,
1c79356b
A
567};
568
91447636
A
569int vnop_readdir_vp_offsets[] = {
570 VOPARG_OFFSETOF(struct vnop_readdir_args,a_vp),
1c79356b
A
571 VDESC_NO_OFFSET
572};
91447636 573struct vnodeop_desc vnop_readdir_desc = {
1c79356b 574 0,
91447636 575 "vnop_readdir",
1c79356b 576 0,
91447636 577 vnop_readdir_vp_offsets,
1c79356b
A
578 VDESC_NO_OFFSET,
579 VDESC_NO_OFFSET,
580 VDESC_NO_OFFSET,
581 VDESC_NO_OFFSET,
91447636 582 VOPARG_OFFSETOF(struct vnop_symlink_args, a_context),
1c79356b
A
583 NULL,
584};
585
91447636
A
586int vnop_readdirattr_vp_offsets[] = {
587 VOPARG_OFFSETOF(struct vnop_readdirattr_args,a_vp),
1c79356b
A
588 VDESC_NO_OFFSET
589};
91447636 590struct vnodeop_desc vnop_readdirattr_desc = {
1c79356b 591 0,
91447636 592 "vnop_readdirattr",
1c79356b 593 0,
91447636 594 vnop_readdirattr_vp_offsets,
1c79356b
A
595 VDESC_NO_OFFSET,
596 VDESC_NO_OFFSET,
597 VDESC_NO_OFFSET,
598 VDESC_NO_OFFSET,
91447636 599 VOPARG_OFFSETOF(struct vnop_readdirattr_args, a_context),
1c79356b
A
600 NULL,
601};
602
91447636
A
603int vnop_readlink_vp_offsets[] = {
604 VOPARG_OFFSETOF(struct vnop_readlink_args,a_vp),
1c79356b
A
605 VDESC_NO_OFFSET
606};
91447636 607struct vnodeop_desc vnop_readlink_desc = {
1c79356b 608 0,
91447636 609 "vnop_readlink",
1c79356b 610 0,
91447636 611 vnop_readlink_vp_offsets,
1c79356b
A
612 VDESC_NO_OFFSET,
613 VDESC_NO_OFFSET,
614 VDESC_NO_OFFSET,
615 VDESC_NO_OFFSET,
91447636 616 VOPARG_OFFSETOF(struct vnop_readlink_args, a_context),
1c79356b
A
617 NULL,
618};
619
91447636
A
620int vnop_inactive_vp_offsets[] = {
621 VOPARG_OFFSETOF(struct vnop_inactive_args,a_vp),
1c79356b
A
622 VDESC_NO_OFFSET
623};
91447636 624struct vnodeop_desc vnop_inactive_desc = {
1c79356b 625 0,
91447636 626 "vnop_inactive",
1c79356b 627 0,
91447636 628 vnop_inactive_vp_offsets,
1c79356b
A
629 VDESC_NO_OFFSET,
630 VDESC_NO_OFFSET,
631 VDESC_NO_OFFSET,
632 VDESC_NO_OFFSET,
91447636 633 VOPARG_OFFSETOF(struct vnop_inactive_args, a_context),
1c79356b
A
634 NULL,
635};
636
91447636
A
637int vnop_reclaim_vp_offsets[] = {
638 VOPARG_OFFSETOF(struct vnop_reclaim_args,a_vp),
1c79356b
A
639 VDESC_NO_OFFSET
640};
91447636 641struct vnodeop_desc vnop_reclaim_desc = {
1c79356b 642 0,
91447636 643 "vnop_reclaim",
1c79356b 644 0,
91447636 645 vnop_reclaim_vp_offsets,
1c79356b
A
646 VDESC_NO_OFFSET,
647 VDESC_NO_OFFSET,
648 VDESC_NO_OFFSET,
649 VDESC_NO_OFFSET,
91447636 650 VOPARG_OFFSETOF(struct vnop_reclaim_args, a_context),
1c79356b
A
651 NULL,
652};
653
91447636
A
654int vnop_pathconf_vp_offsets[] = {
655 VOPARG_OFFSETOF(struct vnop_pathconf_args,a_vp),
1c79356b
A
656 VDESC_NO_OFFSET
657};
91447636 658struct vnodeop_desc vnop_pathconf_desc = {
1c79356b 659 0,
91447636 660 "vnop_pathconf",
1c79356b 661 0,
91447636
A
662 vnop_pathconf_vp_offsets,
663 VDESC_NO_OFFSET,
664 VDESC_NO_OFFSET,
1c79356b
A
665 VDESC_NO_OFFSET,
666 VDESC_NO_OFFSET,
91447636 667 VOPARG_OFFSETOF(struct vnop_pathconf_args, a_context),
1c79356b
A
668 NULL,
669};
670
91447636
A
671int vnop_advlock_vp_offsets[] = {
672 VOPARG_OFFSETOF(struct vnop_advlock_args,a_vp),
1c79356b
A
673 VDESC_NO_OFFSET
674};
91447636 675struct vnodeop_desc vnop_advlock_desc = {
1c79356b 676 0,
91447636 677 "vnop_advlock",
1c79356b 678 0,
91447636 679 vnop_advlock_vp_offsets,
1c79356b
A
680 VDESC_NO_OFFSET,
681 VDESC_NO_OFFSET,
682 VDESC_NO_OFFSET,
683 VDESC_NO_OFFSET,
91447636 684 VOPARG_OFFSETOF(struct vnop_advlock_args, a_context),
1c79356b
A
685 NULL,
686};
687
91447636
A
688int vnop_allocate_vp_offsets[] = {
689 VOPARG_OFFSETOF(struct vnop_allocate_args,a_vp),
1c79356b
A
690 VDESC_NO_OFFSET
691};
91447636 692struct vnodeop_desc vnop_allocate_desc = {
1c79356b 693 0,
91447636 694 "vnop_allocate",
1c79356b 695 0,
91447636 696 vnop_allocate_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_allocate_args, a_context),
1c79356b
A
702 NULL,
703};
704
91447636
A
705int vnop_pagein_vp_offsets[] = {
706 VOPARG_OFFSETOF(struct vnop_pagein_args,a_vp),
1c79356b
A
707 VDESC_NO_OFFSET
708};
91447636 709struct vnodeop_desc vnop_pagein_desc = {
1c79356b 710 0,
91447636 711 "vnop_pagein",
1c79356b 712 0,
91447636 713 vnop_pagein_vp_offsets,
1c79356b 714 VDESC_NO_OFFSET,
1c79356b 715 VDESC_NO_OFFSET,
1c79356b 716 VDESC_NO_OFFSET,
1c79356b 717 VDESC_NO_OFFSET,
91447636 718 VOPARG_OFFSETOF(struct vnop_pagein_args, a_context),
1c79356b
A
719 NULL,
720};
721
91447636
A
722int vnop_pageout_vp_offsets[] = {
723 VOPARG_OFFSETOF(struct vnop_pageout_args,a_vp),
1c79356b
A
724 VDESC_NO_OFFSET
725};
91447636 726struct vnodeop_desc vnop_pageout_desc = {
1c79356b 727 0,
91447636 728 "vnop_pageout",
1c79356b 729 0,
91447636 730 vnop_pageout_vp_offsets,
1c79356b
A
731 VDESC_NO_OFFSET,
732 VDESC_NO_OFFSET,
733 VDESC_NO_OFFSET,
734 VDESC_NO_OFFSET,
91447636 735 VOPARG_OFFSETOF(struct vnop_pageout_args, a_context),
1c79356b
A
736 NULL,
737};
738
91447636
A
739int vnop_devblocksize_vp_offsets[] = {
740 VOPARG_OFFSETOF(struct vnop_devblocksize_args,a_vp),
1c79356b
A
741 VDESC_NO_OFFSET
742};
91447636 743struct vnodeop_desc vnop_devblocksize_desc = {
1c79356b 744 0,
91447636 745 "vnop_devblocksize",
1c79356b 746 0,
91447636
A
747 vnop_devblocksize_vp_offsets,
748 VDESC_NO_OFFSET,
1c79356b 749 VDESC_NO_OFFSET,
1c79356b
A
750 VDESC_NO_OFFSET,
751 VDESC_NO_OFFSET,
752 NULL,
753};
754
91447636
A
755int vnop_searchfs_vp_offsets[] = {
756 VOPARG_OFFSETOF(struct vnop_searchfs_args,a_vp),
1c79356b
A
757 VDESC_NO_OFFSET
758};
91447636 759struct vnodeop_desc vnop_searchfs_desc = {
1c79356b 760 0,
91447636 761 "vnop_searchfs",
1c79356b 762 0,
91447636
A
763 vnop_searchfs_vp_offsets,
764 VDESC_NO_OFFSET,
1c79356b 765 VDESC_NO_OFFSET,
1c79356b
A
766 VDESC_NO_OFFSET,
767 VDESC_NO_OFFSET,
768 NULL,
769};
770
91447636
A
771int vnop_copyfile_vp_offsets[] = {
772 VOPARG_OFFSETOF(struct vnop_copyfile_args,a_fvp),
773 VOPARG_OFFSETOF(struct vnop_copyfile_args,a_tdvp),
774 VOPARG_OFFSETOF(struct vnop_copyfile_args,a_tvp),
1c79356b
A
775 VDESC_NO_OFFSET
776};
91447636 777struct vnodeop_desc vnop_copyfile_desc = {
1c79356b 778 0,
91447636
A
779 "vnop_copyfile",
780 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE,
781 vnop_copyfile_vp_offsets,
1c79356b 782 VDESC_NO_OFFSET,
1c79356b
A
783 VDESC_NO_OFFSET,
784 VDESC_NO_OFFSET,
91447636 785 VOPARG_OFFSETOF(struct vnop_copyfile_args, a_tcnp),
1c79356b
A
786 NULL,
787};
788
91447636
A
789int vop_getxattr_vp_offsets[] = {
790 VOPARG_OFFSETOF(struct vnop_getxattr_args,a_vp),
1c79356b
A
791 VDESC_NO_OFFSET
792};
91447636 793struct vnodeop_desc vnop_getxattr_desc = {
1c79356b 794 0,
91447636 795 "vnop_getxattr",
1c79356b 796 0,
91447636 797 vop_getxattr_vp_offsets,
1c79356b 798 VDESC_NO_OFFSET,
1c79356b
A
799 VDESC_NO_OFFSET,
800 VDESC_NO_OFFSET,
91447636
A
801 VDESC_NO_OFFSET,
802 VOPARG_OFFSETOF(struct vnop_getxattr_args, a_context),
1c79356b
A
803 NULL,
804};
805
91447636
A
806int vop_setxattr_vp_offsets[] = {
807 VOPARG_OFFSETOF(struct vnop_setxattr_args,a_vp),
1c79356b
A
808 VDESC_NO_OFFSET
809};
91447636 810struct vnodeop_desc vnop_setxattr_desc = {
1c79356b 811 0,
91447636 812 "vnop_setxattr",
1c79356b 813 0,
91447636 814 vop_setxattr_vp_offsets,
1c79356b
A
815 VDESC_NO_OFFSET,
816 VDESC_NO_OFFSET,
817 VDESC_NO_OFFSET,
818 VDESC_NO_OFFSET,
91447636 819 VOPARG_OFFSETOF(struct vnop_setxattr_args, a_context),
1c79356b
A
820 NULL,
821};
822
91447636
A
823int vop_removexattr_vp_offsets[] = {
824 VOPARG_OFFSETOF(struct vnop_removexattr_args,a_vp),
1c79356b
A
825 VDESC_NO_OFFSET
826};
91447636 827struct vnodeop_desc vnop_removexattr_desc = {
1c79356b 828 0,
91447636 829 "vnop_removexattr",
1c79356b 830 0,
91447636 831 vop_removexattr_vp_offsets,
1c79356b
A
832 VDESC_NO_OFFSET,
833 VDESC_NO_OFFSET,
834 VDESC_NO_OFFSET,
835 VDESC_NO_OFFSET,
91447636 836 VOPARG_OFFSETOF(struct vnop_removexattr_args, a_context),
1c79356b
A
837 NULL,
838};
839
91447636
A
840int vop_listxattr_vp_offsets[] = {
841 VOPARG_OFFSETOF(struct vnop_listxattr_args,a_vp),
1c79356b
A
842 VDESC_NO_OFFSET
843};
91447636 844struct vnodeop_desc vnop_listxattr_desc = {
1c79356b 845 0,
91447636
A
846 "vnop_listxattr",
847 0,
848 vop_listxattr_vp_offsets,
849 VDESC_NO_OFFSET,
1c79356b
A
850 VDESC_NO_OFFSET,
851 VDESC_NO_OFFSET,
852 VDESC_NO_OFFSET,
91447636 853 VOPARG_OFFSETOF(struct vnop_listxattr_args, a_context),
1c79356b
A
854 NULL,
855};
856
91447636
A
857int vnop_blktooff_vp_offsets[] = {
858 VOPARG_OFFSETOF(struct vnop_blktooff_args,a_vp),
1c79356b
A
859 VDESC_NO_OFFSET
860};
91447636 861struct vnodeop_desc vnop_blktooff_desc = {
1c79356b 862 0,
91447636 863 "vnop_blktooff",
1c79356b 864 0,
91447636 865 vnop_blktooff_vp_offsets,
1c79356b
A
866 VDESC_NO_OFFSET,
867 VDESC_NO_OFFSET,
868 VDESC_NO_OFFSET,
869 VDESC_NO_OFFSET,
870 NULL,
871};
872
91447636
A
873int vnop_offtoblk_vp_offsets[] = {
874 VOPARG_OFFSETOF(struct vnop_offtoblk_args,a_vp),
1c79356b
A
875 VDESC_NO_OFFSET
876};
91447636 877struct vnodeop_desc vnop_offtoblk_desc = {
1c79356b 878 0,
91447636 879 "vnop_offtoblk",
1c79356b 880 0,
91447636 881 vnop_offtoblk_vp_offsets,
1c79356b
A
882 VDESC_NO_OFFSET,
883 VDESC_NO_OFFSET,
884 VDESC_NO_OFFSET,
885 VDESC_NO_OFFSET,
886 NULL,
887};
888
91447636
A
889int vnop_blockmap_vp_offsets[] = {
890 VOPARG_OFFSETOF(struct vnop_blockmap_args,a_vp),
1c79356b
A
891 VDESC_NO_OFFSET
892};
91447636 893struct vnodeop_desc vnop_blockmap_desc = {
1c79356b 894 0,
91447636 895 "vnop_blockmap",
1c79356b 896 0,
91447636 897 vnop_blockmap_vp_offsets,
1c79356b
A
898 VDESC_NO_OFFSET,
899 VDESC_NO_OFFSET,
900 VDESC_NO_OFFSET,
901 VDESC_NO_OFFSET,
902 NULL,
903};
904
905/* Special cases: */
906
91447636 907int vnop_strategy_vp_offsets[] = {
1c79356b
A
908 VDESC_NO_OFFSET
909};
91447636 910struct vnodeop_desc vnop_strategy_desc = {
1c79356b 911 0,
91447636 912 "vnop_strategy",
1c79356b 913 0,
91447636 914 vnop_strategy_vp_offsets,
1c79356b
A
915 VDESC_NO_OFFSET,
916 VDESC_NO_OFFSET,
917 VDESC_NO_OFFSET,
918 VDESC_NO_OFFSET,
919 NULL,
920};
921
91447636 922int vnop_bwrite_vp_offsets[] = {
1c79356b
A
923 VDESC_NO_OFFSET
924};
91447636 925struct vnodeop_desc vnop_bwrite_desc = {
1c79356b 926 0,
91447636 927 "vnop_bwrite",
1c79356b 928 0,
91447636 929 vnop_bwrite_vp_offsets,
1c79356b
A
930 VDESC_NO_OFFSET,
931 VDESC_NO_OFFSET,
932 VDESC_NO_OFFSET,
933 VDESC_NO_OFFSET,
934 NULL,
935};
936
937/* End of special cases. */
938
939struct vnodeop_desc *vfs_op_descs[] = {
91447636
A
940 &vnop_default_desc, /* MUST BE FIRST */
941 &vnop_strategy_desc, /* XXX: SPECIAL CASE */
942 &vnop_bwrite_desc, /* XXX: SPECIAL CASE */
943
944 &vnop_lookup_desc,
945 &vnop_create_desc,
946 &vnop_mknod_desc,
947 &vnop_whiteout_desc,
948 &vnop_open_desc,
949 &vnop_close_desc,
950 &vnop_access_desc,
951 &vnop_getattr_desc,
952 &vnop_setattr_desc,
953 &vnop_getattrlist_desc,
954 &vnop_setattrlist_desc,
955 &vnop_read_desc,
956 &vnop_write_desc,
957 &vnop_ioctl_desc,
958 &vnop_select_desc,
959 &vnop_exchange_desc,
960 &vnop_kqfilt_add_desc,
961 &vnop_kqfilt_remove_desc,
962 &vnop_revoke_desc,
963 &vnop_mmap_desc,
964 &vnop_mnomap_desc,
965 &vnop_fsync_desc,
966 &vnop_remove_desc,
967 &vnop_link_desc,
968 &vnop_rename_desc,
969 &vnop_mkdir_desc,
970 &vnop_rmdir_desc,
971 &vnop_symlink_desc,
972 &vnop_readdir_desc,
973 &vnop_readdirattr_desc,
974 &vnop_readlink_desc,
975 &vnop_inactive_desc,
976 &vnop_reclaim_desc,
977 &vnop_pathconf_desc,
978 &vnop_advlock_desc,
979 &vnop_allocate_desc,
980 &vnop_pagein_desc,
981 &vnop_pageout_desc,
982 &vnop_devblocksize_desc,
983 &vnop_searchfs_desc,
984 &vnop_copyfile_desc,
985 &vnop_getxattr_desc,
986 &vnop_setxattr_desc,
987 &vnop_removexattr_desc,
988 &vnop_listxattr_desc,
989 &vnop_blktooff_desc,
990 &vnop_offtoblk_desc,
991 &vnop_blockmap_desc,
1c79356b
A
992 NULL
993};
994