1 | |
2 | /* |
3 | * Copyright (c) 2000-2016 Apple Computer, Inc. All rights reserved. |
4 | * |
5 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ |
6 | * |
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. |
15 | * |
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 |
21 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, |
22 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, |
23 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. |
24 | * Please see the License for the specific language governing rights and |
25 | * limitations under the License. |
26 | * |
27 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ |
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> |
74 | #include <sys/mount_internal.h> |
75 | #include <sys/vm.h> |
76 | #include <sys/vnode_internal.h> |
77 | |
78 | struct vnodeop_desc vnop_default_desc = { |
79 | 0, |
80 | "default" , |
81 | 0, |
82 | NULL, |
83 | VDESC_NO_OFFSET, |
84 | VDESC_NO_OFFSET, |
85 | VDESC_NO_OFFSET, |
86 | VDESC_NO_OFFSET, |
87 | VDESC_NO_OFFSET, |
88 | NULL |
89 | }; |
90 | |
91 | |
92 | int vnop_lookup_vp_offsets[] = { |
93 | VOPARG_OFFSETOF(struct vnop_lookup_args,a_dvp), |
94 | VDESC_NO_OFFSET |
95 | }; |
96 | struct vnodeop_desc vnop_lookup_desc = { |
97 | 0, |
98 | "vnop_lookup" , |
99 | 0, |
100 | vnop_lookup_vp_offsets, |
101 | VOPARG_OFFSETOF(struct vnop_lookup_args, a_vpp), |
102 | VDESC_NO_OFFSET, |
103 | VDESC_NO_OFFSET, |
104 | VOPARG_OFFSETOF(struct vnop_lookup_args, a_cnp), |
105 | VOPARG_OFFSETOF(struct vnop_lookup_args, a_context), |
106 | NULL |
107 | }; |
108 | |
109 | int vnop_compound_open_vp_offsets[] = { |
110 | VOPARG_OFFSETOF(struct vnop_compound_open_args, a_dvp), |
111 | VDESC_NO_OFFSET |
112 | }; |
113 | |
114 | struct 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 | |
127 | int vnop_create_vp_offsets[] = { |
128 | VOPARG_OFFSETOF(struct vnop_create_args,a_dvp), |
129 | VDESC_NO_OFFSET |
130 | }; |
131 | struct vnodeop_desc vnop_create_desc = { |
132 | 0, |
133 | "vnop_create" , |
134 | 0 | VDESC_VP0_WILLRELE, |
135 | vnop_create_vp_offsets, |
136 | VOPARG_OFFSETOF(struct vnop_create_args, a_vpp), |
137 | VDESC_NO_OFFSET, |
138 | VDESC_NO_OFFSET, |
139 | VOPARG_OFFSETOF(struct vnop_create_args, a_cnp), |
140 | VOPARG_OFFSETOF(struct vnop_create_args, a_context), |
141 | NULL |
142 | }; |
143 | |
144 | int vnop_whiteout_vp_offsets[] = { |
145 | VOPARG_OFFSETOF(struct vnop_whiteout_args,a_dvp), |
146 | VDESC_NO_OFFSET |
147 | }; |
148 | struct vnodeop_desc vnop_whiteout_desc = { |
149 | 0, |
150 | "vnop_whiteout" , |
151 | 0 | VDESC_VP0_WILLRELE, |
152 | vnop_whiteout_vp_offsets, |
153 | VDESC_NO_OFFSET, |
154 | VDESC_NO_OFFSET, |
155 | VDESC_NO_OFFSET, |
156 | VOPARG_OFFSETOF(struct vnop_whiteout_args, a_cnp), |
157 | VOPARG_OFFSETOF(struct vnop_whiteout_args, a_context), |
158 | NULL |
159 | }; |
160 | |
161 | int vnop_mknod_vp_offsets[] = { |
162 | VOPARG_OFFSETOF(struct vnop_mknod_args,a_dvp), |
163 | VDESC_NO_OFFSET |
164 | }; |
165 | struct 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), |
175 | NULL |
176 | }; |
177 | |
178 | int vnop_open_vp_offsets[] = { |
179 | VOPARG_OFFSETOF(struct vnop_open_args,a_vp), |
180 | VDESC_NO_OFFSET |
181 | }; |
182 | struct vnodeop_desc vnop_open_desc = { |
183 | 0, |
184 | "vnop_open" , |
185 | 0, |
186 | vnop_open_vp_offsets, |
187 | VDESC_NO_OFFSET, |
188 | VDESC_NO_OFFSET, |
189 | VDESC_NO_OFFSET, |
190 | VDESC_NO_OFFSET, |
191 | VOPARG_OFFSETOF(struct vnop_open_args, a_context), |
192 | NULL |
193 | }; |
194 | |
195 | int vnop_close_vp_offsets[] = { |
196 | VOPARG_OFFSETOF(struct vnop_close_args,a_vp), |
197 | VDESC_NO_OFFSET |
198 | }; |
199 | struct vnodeop_desc vnop_close_desc = { |
200 | 0, |
201 | "vnop_close" , |
202 | 0, |
203 | vnop_close_vp_offsets, |
204 | VDESC_NO_OFFSET, |
205 | VDESC_NO_OFFSET, |
206 | VDESC_NO_OFFSET, |
207 | VDESC_NO_OFFSET, |
208 | VOPARG_OFFSETOF(struct vnop_close_args, a_context), |
209 | NULL |
210 | }; |
211 | |
212 | int vnop_access_vp_offsets[] = { |
213 | VOPARG_OFFSETOF(struct vnop_access_args,a_vp), |
214 | VDESC_NO_OFFSET |
215 | }; |
216 | struct vnodeop_desc vnop_access_desc = { |
217 | 0, |
218 | "vnop_access" , |
219 | 0, |
220 | vnop_access_vp_offsets, |
221 | VDESC_NO_OFFSET, |
222 | VDESC_NO_OFFSET, |
223 | VDESC_NO_OFFSET, |
224 | VDESC_NO_OFFSET, |
225 | VOPARG_OFFSETOF(struct vnop_close_args, a_context), |
226 | NULL |
227 | }; |
228 | |
229 | int vnop_getattr_vp_offsets[] = { |
230 | VOPARG_OFFSETOF(struct vnop_getattr_args,a_vp), |
231 | VDESC_NO_OFFSET |
232 | }; |
233 | struct vnodeop_desc vnop_getattr_desc = { |
234 | 0, |
235 | "vnop_getattr" , |
236 | 0, |
237 | vnop_getattr_vp_offsets, |
238 | VDESC_NO_OFFSET, |
239 | VDESC_NO_OFFSET, |
240 | VDESC_NO_OFFSET, |
241 | VDESC_NO_OFFSET, |
242 | VOPARG_OFFSETOF(struct vnop_getattr_args, a_context), |
243 | NULL |
244 | }; |
245 | |
246 | int vnop_setattr_vp_offsets[] = { |
247 | VOPARG_OFFSETOF(struct vnop_setattr_args,a_vp), |
248 | VDESC_NO_OFFSET |
249 | }; |
250 | struct vnodeop_desc vnop_setattr_desc = { |
251 | 0, |
252 | "vnop_setattr" , |
253 | 0, |
254 | vnop_setattr_vp_offsets, |
255 | VDESC_NO_OFFSET, |
256 | VDESC_NO_OFFSET, |
257 | VDESC_NO_OFFSET, |
258 | VDESC_NO_OFFSET, |
259 | VOPARG_OFFSETOF(struct vnop_setattr_args, a_context), |
260 | NULL |
261 | }; |
262 | |
263 | int vnop_read_vp_offsets[] = { |
264 | VOPARG_OFFSETOF(struct vnop_read_args,a_vp), |
265 | VDESC_NO_OFFSET |
266 | }; |
267 | struct vnodeop_desc vnop_read_desc = { |
268 | 0, |
269 | "vnop_read" , |
270 | 0, |
271 | vnop_read_vp_offsets, |
272 | VDESC_NO_OFFSET, |
273 | VDESC_NO_OFFSET, |
274 | VDESC_NO_OFFSET, |
275 | VDESC_NO_OFFSET, |
276 | VOPARG_OFFSETOF(struct vnop_read_args, a_context), |
277 | NULL |
278 | }; |
279 | |
280 | int vnop_write_vp_offsets[] = { |
281 | VOPARG_OFFSETOF(struct vnop_write_args,a_vp), |
282 | VDESC_NO_OFFSET |
283 | }; |
284 | struct vnodeop_desc vnop_write_desc = { |
285 | 0, |
286 | "vnop_write" , |
287 | 0, |
288 | vnop_write_vp_offsets, |
289 | VDESC_NO_OFFSET, |
290 | VDESC_NO_OFFSET, |
291 | VDESC_NO_OFFSET, |
292 | VDESC_NO_OFFSET, |
293 | VOPARG_OFFSETOF(struct vnop_write_args, a_context), |
294 | NULL |
295 | }; |
296 | |
297 | int vnop_ioctl_vp_offsets[] = { |
298 | VOPARG_OFFSETOF(struct vnop_ioctl_args,a_vp), |
299 | VDESC_NO_OFFSET |
300 | }; |
301 | struct vnodeop_desc vnop_ioctl_desc = { |
302 | 0, |
303 | "vnop_ioctl" , |
304 | 0, |
305 | vnop_ioctl_vp_offsets, |
306 | VDESC_NO_OFFSET, |
307 | VDESC_NO_OFFSET, |
308 | VDESC_NO_OFFSET, |
309 | VDESC_NO_OFFSET, |
310 | VOPARG_OFFSETOF(struct vnop_ioctl_args, a_context), |
311 | NULL |
312 | }; |
313 | |
314 | int vnop_select_vp_offsets[] = { |
315 | VOPARG_OFFSETOF(struct vnop_select_args,a_vp), |
316 | VDESC_NO_OFFSET |
317 | }; |
318 | struct vnodeop_desc vnop_select_desc = { |
319 | 0, |
320 | "vnop_select" , |
321 | 0, |
322 | vnop_select_vp_offsets, |
323 | VDESC_NO_OFFSET, |
324 | VDESC_NO_OFFSET, |
325 | VDESC_NO_OFFSET, |
326 | VDESC_NO_OFFSET, |
327 | VOPARG_OFFSETOF(struct vnop_select_args, a_context), |
328 | NULL |
329 | }; |
330 | |
331 | int vnop_exchange_vp_offsets[] = { |
332 | VOPARG_OFFSETOF(struct vnop_exchange_args,a_fvp), |
333 | VOPARG_OFFSETOF(struct vnop_exchange_args,a_tvp), |
334 | VDESC_NO_OFFSET |
335 | }; |
336 | struct vnodeop_desc vnop_exchange_desc = { |
337 | 0, |
338 | "vnop_exchange" , |
339 | 0, |
340 | vnop_exchange_vp_offsets, |
341 | VDESC_NO_OFFSET, |
342 | VDESC_NO_OFFSET, |
343 | VDESC_NO_OFFSET, |
344 | VDESC_NO_OFFSET, |
345 | VOPARG_OFFSETOF(struct vnop_exchange_args, a_context), |
346 | NULL |
347 | }; |
348 | |
349 | int vnop_kqfilt_add_vp_offsets[] = { |
350 | VOPARG_OFFSETOF(struct vnop_kqfilt_add_args,a_vp), |
351 | VDESC_NO_OFFSET |
352 | }; |
353 | struct vnodeop_desc vnop_kqfilt_add_desc = { |
354 | 0, |
355 | "vnop_kqfilt_add" , |
356 | 0, |
357 | vnop_kqfilt_add_vp_offsets, |
358 | VDESC_NO_OFFSET, |
359 | VDESC_NO_OFFSET, |
360 | VDESC_NO_OFFSET, |
361 | VDESC_NO_OFFSET, |
362 | VOPARG_OFFSETOF(struct vnop_kqfilt_add_args, a_context), |
363 | NULL |
364 | }; |
365 | |
366 | int vnop_kqfilt_remove_vp_offsets[] = { |
367 | VOPARG_OFFSETOF(struct vnop_kqfilt_remove_args,a_vp), |
368 | VDESC_NO_OFFSET |
369 | }; |
370 | struct vnodeop_desc vnop_kqfilt_remove_desc = { |
371 | 0, |
372 | "vnop_kqfilt_remove" , |
373 | 0, |
374 | vnop_kqfilt_remove_vp_offsets, |
375 | VDESC_NO_OFFSET, |
376 | VDESC_NO_OFFSET, |
377 | VDESC_NO_OFFSET, |
378 | VDESC_NO_OFFSET, |
379 | VOPARG_OFFSETOF(struct vnop_kqfilt_remove_args, a_context), |
380 | NULL |
381 | }; |
382 | |
383 | int vnop_monitor_vp_offsets[] = { |
384 | VOPARG_OFFSETOF(struct vnop_monitor_args,a_vp), |
385 | VDESC_NO_OFFSET |
386 | }; |
387 | struct 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 | |
400 | int vnop_setlabel_vp_offsets[] = { |
401 | VOPARG_OFFSETOF(struct vnop_setlabel_args,a_vp), |
402 | VDESC_NO_OFFSET |
403 | }; |
404 | struct 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), |
414 | NULL, |
415 | }; |
416 | |
417 | int vnop_revoke_vp_offsets[] = { |
418 | VOPARG_OFFSETOF(struct vnop_revoke_args,a_vp), |
419 | VDESC_NO_OFFSET |
420 | }; |
421 | struct vnodeop_desc vnop_revoke_desc = { |
422 | 0, |
423 | "vnop_revoke" , |
424 | 0, |
425 | vnop_revoke_vp_offsets, |
426 | VDESC_NO_OFFSET, |
427 | VDESC_NO_OFFSET, |
428 | VDESC_NO_OFFSET, |
429 | VDESC_NO_OFFSET, |
430 | VDESC_NO_OFFSET, |
431 | NULL |
432 | }; |
433 | |
434 | |
435 | int vnop_mmap_vp_offsets[] = { |
436 | VOPARG_OFFSETOF(struct vnop_mmap_args,a_vp), |
437 | VDESC_NO_OFFSET |
438 | }; |
439 | struct vnodeop_desc vnop_mmap_desc = { |
440 | 0, |
441 | "vnop_mmap" , |
442 | 0, |
443 | vnop_mmap_vp_offsets, |
444 | VDESC_NO_OFFSET, |
445 | VDESC_NO_OFFSET, |
446 | VDESC_NO_OFFSET, |
447 | VDESC_NO_OFFSET, |
448 | VDESC_NO_OFFSET, |
449 | NULL |
450 | }; |
451 | |
452 | |
453 | int vnop_mnomap_vp_offsets[] = { |
454 | VOPARG_OFFSETOF(struct vnop_mnomap_args,a_vp), |
455 | VDESC_NO_OFFSET |
456 | }; |
457 | struct vnodeop_desc vnop_mnomap_desc = { |
458 | 0, |
459 | "vnop_mnomap" , |
460 | 0, |
461 | vnop_mnomap_vp_offsets, |
462 | VDESC_NO_OFFSET, |
463 | VDESC_NO_OFFSET, |
464 | VDESC_NO_OFFSET, |
465 | VDESC_NO_OFFSET, |
466 | VDESC_NO_OFFSET, |
467 | NULL |
468 | }; |
469 | |
470 | |
471 | int vnop_fsync_vp_offsets[] = { |
472 | VOPARG_OFFSETOF(struct vnop_fsync_args,a_vp), |
473 | VDESC_NO_OFFSET |
474 | }; |
475 | struct vnodeop_desc vnop_fsync_desc = { |
476 | 0, |
477 | "vnop_fsync" , |
478 | 0, |
479 | vnop_fsync_vp_offsets, |
480 | VDESC_NO_OFFSET, |
481 | VDESC_NO_OFFSET, |
482 | VDESC_NO_OFFSET, |
483 | VDESC_NO_OFFSET, |
484 | VOPARG_OFFSETOF(struct vnop_fsync_args, a_context), |
485 | NULL |
486 | }; |
487 | |
488 | int vnop_remove_vp_offsets[] = { |
489 | VOPARG_OFFSETOF(struct vnop_remove_args,a_dvp), |
490 | VOPARG_OFFSETOF(struct vnop_remove_args,a_vp), |
491 | VDESC_NO_OFFSET |
492 | }; |
493 | struct vnodeop_desc vnop_remove_desc = { |
494 | 0, |
495 | "vnop_remove" , |
496 | 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE, |
497 | vnop_remove_vp_offsets, |
498 | VDESC_NO_OFFSET, |
499 | VDESC_NO_OFFSET, |
500 | VDESC_NO_OFFSET, |
501 | VOPARG_OFFSETOF(struct vnop_remove_args, a_cnp), |
502 | VOPARG_OFFSETOF(struct vnop_remove_args, a_context), |
503 | NULL |
504 | }; |
505 | |
506 | int vnop_remove_extended_vp_offsets[] = { |
507 | VOPARG_OFFSETOF(struct vnop_remove_args,a_dvp), |
508 | VDESC_NO_OFFSET |
509 | }; |
510 | struct 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 | |
523 | int vnop_link_vp_offsets[] = { |
524 | VOPARG_OFFSETOF(struct vnop_link_args,a_vp), |
525 | VOPARG_OFFSETOF(struct vnop_link_args,a_tdvp), |
526 | VDESC_NO_OFFSET |
527 | }; |
528 | struct vnodeop_desc vnop_link_desc = { |
529 | 0, |
530 | "vnop_link" , |
531 | 0 | VDESC_VP1_WILLRELE, |
532 | vnop_link_vp_offsets, |
533 | VDESC_NO_OFFSET, |
534 | VDESC_NO_OFFSET, |
535 | VDESC_NO_OFFSET, |
536 | VOPARG_OFFSETOF(struct vnop_link_args, a_cnp), |
537 | VOPARG_OFFSETOF(struct vnop_link_args, a_context), |
538 | NULL |
539 | }; |
540 | |
541 | int vnop_rename_vp_offsets[] = { |
542 | VOPARG_OFFSETOF(struct vnop_rename_args,a_fdvp), |
543 | VOPARG_OFFSETOF(struct vnop_rename_args,a_fvp), |
544 | VOPARG_OFFSETOF(struct vnop_rename_args,a_tdvp), |
545 | VOPARG_OFFSETOF(struct vnop_rename_args,a_tvp), |
546 | VDESC_NO_OFFSET |
547 | }; |
548 | struct vnodeop_desc vnop_rename_desc = { |
549 | 0, |
550 | "vnop_rename" , |
551 | 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE | VDESC_VP3_WILLRELE, |
552 | vnop_rename_vp_offsets, |
553 | VDESC_NO_OFFSET, |
554 | VDESC_NO_OFFSET, |
555 | VDESC_NO_OFFSET, |
556 | VOPARG_OFFSETOF(struct vnop_rename_args, a_fcnp), |
557 | VOPARG_OFFSETOF(struct vnop_rename_args, a_context), |
558 | NULL |
559 | }; |
560 | |
561 | int vnop_renamex_vp_offsets[] = { |
562 | VOPARG_OFFSETOF(struct vnop_renamex_args,a_fdvp), |
563 | VOPARG_OFFSETOF(struct vnop_renamex_args,a_fvp), |
564 | VOPARG_OFFSETOF(struct vnop_renamex_args,a_tdvp), |
565 | VOPARG_OFFSETOF(struct vnop_renamex_args,a_tvp), |
566 | VDESC_NO_OFFSET |
567 | }; |
568 | struct 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 | |
581 | int vnop_compound_rename_vp_offsets[] = { |
582 | VOPARG_OFFSETOF(struct vnop_compound_rename_args,a_fdvp), |
583 | VOPARG_OFFSETOF(struct vnop_compound_rename_args,a_fvpp), |
584 | VOPARG_OFFSETOF(struct vnop_compound_rename_args,a_tdvp), |
585 | VOPARG_OFFSETOF(struct vnop_compound_rename_args,a_tvpp), |
586 | VDESC_NO_OFFSET |
587 | }; |
588 | struct 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 | |
601 | int vnop_mkdir_vp_offsets[] = { |
602 | VOPARG_OFFSETOF(struct vnop_mkdir_args,a_dvp), |
603 | VDESC_NO_OFFSET |
604 | }; |
605 | struct 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), |
615 | NULL |
616 | }; |
617 | |
618 | int vnop_compound_mkdir_vp_offsets[] = { |
619 | VOPARG_OFFSETOF(struct vnop_compound_mkdir_args,a_dvp), |
620 | VDESC_NO_OFFSET |
621 | }; |
622 | struct 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 | |
636 | int vnop_rmdir_vp_offsets[] = { |
637 | VOPARG_OFFSETOF(struct vnop_rmdir_args,a_dvp), |
638 | VOPARG_OFFSETOF(struct vnop_rmdir_args,a_vp), |
639 | VDESC_NO_OFFSET |
640 | }; |
641 | struct vnodeop_desc vnop_rmdir_desc = { |
642 | 0, |
643 | "vnop_rmdir" , |
644 | 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE, |
645 | vnop_rmdir_vp_offsets, |
646 | VDESC_NO_OFFSET, |
647 | VDESC_NO_OFFSET, |
648 | VDESC_NO_OFFSET, |
649 | VOPARG_OFFSETOF(struct vnop_rmdir_args, a_cnp), |
650 | VOPARG_OFFSETOF(struct vnop_rmdir_args, a_context), |
651 | NULL |
652 | }; |
653 | |
654 | int vnop_compound_rmdir_vp_offsets[] = { |
655 | VOPARG_OFFSETOF(struct vnop_compound_rmdir_args,a_dvp), |
656 | VDESC_NO_OFFSET |
657 | }; |
658 | struct 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 | |
671 | int vnop_symlink_vp_offsets[] = { |
672 | VOPARG_OFFSETOF(struct vnop_symlink_args,a_dvp), |
673 | VDESC_NO_OFFSET |
674 | }; |
675 | struct 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), |
685 | NULL |
686 | }; |
687 | |
688 | int vnop_readdir_vp_offsets[] = { |
689 | VOPARG_OFFSETOF(struct vnop_readdir_args,a_vp), |
690 | VDESC_NO_OFFSET |
691 | }; |
692 | struct vnodeop_desc vnop_readdir_desc = { |
693 | 0, |
694 | "vnop_readdir" , |
695 | 0, |
696 | vnop_readdir_vp_offsets, |
697 | VDESC_NO_OFFSET, |
698 | VDESC_NO_OFFSET, |
699 | VDESC_NO_OFFSET, |
700 | VDESC_NO_OFFSET, |
701 | VOPARG_OFFSETOF(struct vnop_symlink_args, a_context), |
702 | NULL |
703 | }; |
704 | |
705 | int vnop_readdirattr_vp_offsets[] = { |
706 | VOPARG_OFFSETOF(struct vnop_readdirattr_args,a_vp), |
707 | VDESC_NO_OFFSET |
708 | }; |
709 | struct vnodeop_desc vnop_readdirattr_desc = { |
710 | 0, |
711 | "vnop_readdirattr" , |
712 | 0, |
713 | vnop_readdirattr_vp_offsets, |
714 | VDESC_NO_OFFSET, |
715 | VDESC_NO_OFFSET, |
716 | VDESC_NO_OFFSET, |
717 | VDESC_NO_OFFSET, |
718 | VOPARG_OFFSETOF(struct vnop_readdirattr_args, a_context), |
719 | NULL |
720 | }; |
721 | |
722 | int vnop_getattrlistbulk_vp_offsets[] = { |
723 | VOPARG_OFFSETOF(struct vnop_getattrlistbulk_args,a_vp), |
724 | VDESC_NO_OFFSET |
725 | }; |
726 | struct 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 | |
739 | int vnop_readlink_vp_offsets[] = { |
740 | VOPARG_OFFSETOF(struct vnop_readlink_args,a_vp), |
741 | VDESC_NO_OFFSET |
742 | }; |
743 | struct vnodeop_desc vnop_readlink_desc = { |
744 | 0, |
745 | "vnop_readlink" , |
746 | 0, |
747 | vnop_readlink_vp_offsets, |
748 | VDESC_NO_OFFSET, |
749 | VDESC_NO_OFFSET, |
750 | VDESC_NO_OFFSET, |
751 | VDESC_NO_OFFSET, |
752 | VOPARG_OFFSETOF(struct vnop_readlink_args, a_context), |
753 | NULL |
754 | }; |
755 | |
756 | int vnop_inactive_vp_offsets[] = { |
757 | VOPARG_OFFSETOF(struct vnop_inactive_args,a_vp), |
758 | VDESC_NO_OFFSET |
759 | }; |
760 | struct vnodeop_desc vnop_inactive_desc = { |
761 | 0, |
762 | "vnop_inactive" , |
763 | 0, |
764 | vnop_inactive_vp_offsets, |
765 | VDESC_NO_OFFSET, |
766 | VDESC_NO_OFFSET, |
767 | VDESC_NO_OFFSET, |
768 | VDESC_NO_OFFSET, |
769 | VOPARG_OFFSETOF(struct vnop_inactive_args, a_context), |
770 | NULL |
771 | }; |
772 | |
773 | int vnop_reclaim_vp_offsets[] = { |
774 | VOPARG_OFFSETOF(struct vnop_reclaim_args,a_vp), |
775 | VDESC_NO_OFFSET |
776 | }; |
777 | struct vnodeop_desc vnop_reclaim_desc = { |
778 | 0, |
779 | "vnop_reclaim" , |
780 | 0, |
781 | vnop_reclaim_vp_offsets, |
782 | VDESC_NO_OFFSET, |
783 | VDESC_NO_OFFSET, |
784 | VDESC_NO_OFFSET, |
785 | VDESC_NO_OFFSET, |
786 | VOPARG_OFFSETOF(struct vnop_reclaim_args, a_context), |
787 | NULL |
788 | }; |
789 | |
790 | int vnop_pathconf_vp_offsets[] = { |
791 | VOPARG_OFFSETOF(struct vnop_pathconf_args,a_vp), |
792 | VDESC_NO_OFFSET |
793 | }; |
794 | struct vnodeop_desc vnop_pathconf_desc = { |
795 | 0, |
796 | "vnop_pathconf" , |
797 | 0, |
798 | vnop_pathconf_vp_offsets, |
799 | VDESC_NO_OFFSET, |
800 | VDESC_NO_OFFSET, |
801 | VDESC_NO_OFFSET, |
802 | VDESC_NO_OFFSET, |
803 | VOPARG_OFFSETOF(struct vnop_pathconf_args, a_context), |
804 | NULL |
805 | }; |
806 | |
807 | int vnop_advlock_vp_offsets[] = { |
808 | VOPARG_OFFSETOF(struct vnop_advlock_args,a_vp), |
809 | VDESC_NO_OFFSET |
810 | }; |
811 | struct vnodeop_desc vnop_advlock_desc = { |
812 | 0, |
813 | "vnop_advlock" , |
814 | 0, |
815 | vnop_advlock_vp_offsets, |
816 | VDESC_NO_OFFSET, |
817 | VDESC_NO_OFFSET, |
818 | VDESC_NO_OFFSET, |
819 | VDESC_NO_OFFSET, |
820 | VOPARG_OFFSETOF(struct vnop_advlock_args, a_context), |
821 | NULL |
822 | }; |
823 | |
824 | int vnop_allocate_vp_offsets[] = { |
825 | VOPARG_OFFSETOF(struct vnop_allocate_args,a_vp), |
826 | VDESC_NO_OFFSET |
827 | }; |
828 | struct vnodeop_desc vnop_allocate_desc = { |
829 | 0, |
830 | "vnop_allocate" , |
831 | 0, |
832 | vnop_allocate_vp_offsets, |
833 | VDESC_NO_OFFSET, |
834 | VDESC_NO_OFFSET, |
835 | VDESC_NO_OFFSET, |
836 | VDESC_NO_OFFSET, |
837 | VOPARG_OFFSETOF(struct vnop_allocate_args, a_context), |
838 | NULL |
839 | }; |
840 | |
841 | int vnop_pagein_vp_offsets[] = { |
842 | VOPARG_OFFSETOF(struct vnop_pagein_args,a_vp), |
843 | VDESC_NO_OFFSET |
844 | }; |
845 | struct vnodeop_desc vnop_pagein_desc = { |
846 | 0, |
847 | "vnop_pagein" , |
848 | 0, |
849 | vnop_pagein_vp_offsets, |
850 | VDESC_NO_OFFSET, |
851 | VDESC_NO_OFFSET, |
852 | VDESC_NO_OFFSET, |
853 | VDESC_NO_OFFSET, |
854 | VOPARG_OFFSETOF(struct vnop_pagein_args, a_context), |
855 | NULL |
856 | }; |
857 | |
858 | int vnop_pageout_vp_offsets[] = { |
859 | VOPARG_OFFSETOF(struct vnop_pageout_args,a_vp), |
860 | VDESC_NO_OFFSET |
861 | }; |
862 | struct vnodeop_desc vnop_pageout_desc = { |
863 | 0, |
864 | "vnop_pageout" , |
865 | 0, |
866 | vnop_pageout_vp_offsets, |
867 | VDESC_NO_OFFSET, |
868 | VDESC_NO_OFFSET, |
869 | VDESC_NO_OFFSET, |
870 | VDESC_NO_OFFSET, |
871 | VOPARG_OFFSETOF(struct vnop_pageout_args, a_context), |
872 | NULL |
873 | }; |
874 | |
875 | int vnop_searchfs_vp_offsets[] = { |
876 | VOPARG_OFFSETOF(struct vnop_searchfs_args,a_vp), |
877 | VDESC_NO_OFFSET |
878 | }; |
879 | struct vnodeop_desc vnop_searchfs_desc = { |
880 | 0, |
881 | "vnop_searchfs" , |
882 | 0, |
883 | vnop_searchfs_vp_offsets, |
884 | VDESC_NO_OFFSET, |
885 | VDESC_NO_OFFSET, |
886 | VDESC_NO_OFFSET, |
887 | VDESC_NO_OFFSET, |
888 | VDESC_NO_OFFSET, |
889 | NULL |
890 | }; |
891 | |
892 | int vnop_copyfile_vp_offsets[] = { |
893 | VOPARG_OFFSETOF(struct vnop_copyfile_args,a_fvp), |
894 | VOPARG_OFFSETOF(struct vnop_copyfile_args,a_tdvp), |
895 | VOPARG_OFFSETOF(struct vnop_copyfile_args,a_tvp), |
896 | VDESC_NO_OFFSET |
897 | }; |
898 | struct vnodeop_desc vnop_copyfile_desc = { |
899 | 0, |
900 | "vnop_copyfile" , |
901 | 0 | VDESC_VP0_WILLRELE | VDESC_VP1_WILLRELE | VDESC_VP2_WILLRELE, |
902 | vnop_copyfile_vp_offsets, |
903 | VDESC_NO_OFFSET, |
904 | VDESC_NO_OFFSET, |
905 | VDESC_NO_OFFSET, |
906 | VOPARG_OFFSETOF(struct vnop_copyfile_args, a_tcnp), |
907 | VDESC_NO_OFFSET, |
908 | NULL |
909 | }; |
910 | |
911 | int 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 | }; |
916 | struct 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 | |
929 | int vop_getxattr_vp_offsets[] = { |
930 | VOPARG_OFFSETOF(struct vnop_getxattr_args,a_vp), |
931 | VDESC_NO_OFFSET |
932 | }; |
933 | struct vnodeop_desc vnop_getxattr_desc = { |
934 | 0, |
935 | "vnop_getxattr" , |
936 | 0, |
937 | vop_getxattr_vp_offsets, |
938 | VDESC_NO_OFFSET, |
939 | VDESC_NO_OFFSET, |
940 | VDESC_NO_OFFSET, |
941 | VDESC_NO_OFFSET, |
942 | VOPARG_OFFSETOF(struct vnop_getxattr_args, a_context), |
943 | NULL |
944 | }; |
945 | |
946 | int vop_setxattr_vp_offsets[] = { |
947 | VOPARG_OFFSETOF(struct vnop_setxattr_args,a_vp), |
948 | VDESC_NO_OFFSET |
949 | }; |
950 | struct vnodeop_desc vnop_setxattr_desc = { |
951 | 0, |
952 | "vnop_setxattr" , |
953 | 0, |
954 | vop_setxattr_vp_offsets, |
955 | VDESC_NO_OFFSET, |
956 | VDESC_NO_OFFSET, |
957 | VDESC_NO_OFFSET, |
958 | VDESC_NO_OFFSET, |
959 | VOPARG_OFFSETOF(struct vnop_setxattr_args, a_context), |
960 | NULL |
961 | }; |
962 | |
963 | int vop_removexattr_vp_offsets[] = { |
964 | VOPARG_OFFSETOF(struct vnop_removexattr_args,a_vp), |
965 | VDESC_NO_OFFSET |
966 | }; |
967 | struct vnodeop_desc vnop_removexattr_desc = { |
968 | 0, |
969 | "vnop_removexattr" , |
970 | 0, |
971 | vop_removexattr_vp_offsets, |
972 | VDESC_NO_OFFSET, |
973 | VDESC_NO_OFFSET, |
974 | VDESC_NO_OFFSET, |
975 | VDESC_NO_OFFSET, |
976 | VOPARG_OFFSETOF(struct vnop_removexattr_args, a_context), |
977 | NULL |
978 | }; |
979 | |
980 | int vop_listxattr_vp_offsets[] = { |
981 | VOPARG_OFFSETOF(struct vnop_listxattr_args,a_vp), |
982 | VDESC_NO_OFFSET |
983 | }; |
984 | struct vnodeop_desc vnop_listxattr_desc = { |
985 | 0, |
986 | "vnop_listxattr" , |
987 | 0, |
988 | vop_listxattr_vp_offsets, |
989 | VDESC_NO_OFFSET, |
990 | VDESC_NO_OFFSET, |
991 | VDESC_NO_OFFSET, |
992 | VDESC_NO_OFFSET, |
993 | VOPARG_OFFSETOF(struct vnop_listxattr_args, a_context), |
994 | NULL |
995 | }; |
996 | |
997 | int vnop_blktooff_vp_offsets[] = { |
998 | VOPARG_OFFSETOF(struct vnop_blktooff_args,a_vp), |
999 | VDESC_NO_OFFSET |
1000 | }; |
1001 | struct vnodeop_desc vnop_blktooff_desc = { |
1002 | 0, |
1003 | "vnop_blktooff" , |
1004 | 0, |
1005 | vnop_blktooff_vp_offsets, |
1006 | VDESC_NO_OFFSET, |
1007 | VDESC_NO_OFFSET, |
1008 | VDESC_NO_OFFSET, |
1009 | VDESC_NO_OFFSET, |
1010 | VDESC_NO_OFFSET, |
1011 | NULL |
1012 | }; |
1013 | |
1014 | int vnop_offtoblk_vp_offsets[] = { |
1015 | VOPARG_OFFSETOF(struct vnop_offtoblk_args,a_vp), |
1016 | VDESC_NO_OFFSET |
1017 | }; |
1018 | struct vnodeop_desc vnop_offtoblk_desc = { |
1019 | 0, |
1020 | "vnop_offtoblk" , |
1021 | 0, |
1022 | vnop_offtoblk_vp_offsets, |
1023 | VDESC_NO_OFFSET, |
1024 | VDESC_NO_OFFSET, |
1025 | VDESC_NO_OFFSET, |
1026 | VDESC_NO_OFFSET, |
1027 | VDESC_NO_OFFSET, |
1028 | NULL |
1029 | }; |
1030 | |
1031 | int vnop_blockmap_vp_offsets[] = { |
1032 | VOPARG_OFFSETOF(struct vnop_blockmap_args,a_vp), |
1033 | VDESC_NO_OFFSET |
1034 | }; |
1035 | struct vnodeop_desc vnop_blockmap_desc = { |
1036 | 0, |
1037 | "vnop_blockmap" , |
1038 | 0, |
1039 | vnop_blockmap_vp_offsets, |
1040 | VDESC_NO_OFFSET, |
1041 | VDESC_NO_OFFSET, |
1042 | VDESC_NO_OFFSET, |
1043 | VDESC_NO_OFFSET, |
1044 | VDESC_NO_OFFSET, |
1045 | NULL |
1046 | }; |
1047 | |
1048 | #if NAMEDSTREAMS |
1049 | int vnop_getnamedstream_vp_offsets[] = { |
1050 | VOPARG_OFFSETOF(struct vnop_getnamedstream_args, a_vp), |
1051 | VDESC_NO_OFFSET |
1052 | }; |
1053 | struct 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 | |
1066 | int vnop_makenamedstream_vp_offsets[] = { |
1067 | VOPARG_OFFSETOF(struct vnop_makenamedstream_args, a_vp), |
1068 | VDESC_NO_OFFSET |
1069 | }; |
1070 | struct 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 | |
1083 | int vnop_removenamedstream_vp_offsets[] = { |
1084 | VOPARG_OFFSETOF(struct vnop_removenamedstream_args, a_vp), |
1085 | VDESC_NO_OFFSET |
1086 | }; |
1087 | struct 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 |
1098 | }; |
1099 | #else |
1100 | int vnop_getnamedstream_vp_offsets[] = { |
1101 | VDESC_NO_OFFSET |
1102 | }; |
1103 | struct vnodeop_desc vnop_getnamedstream_desc = { |
1104 | 0, |
1105 | "vnop_getnamedstream" , |
1106 | VDESC_DISABLED, /* flags */ |
1107 | vnop_getnamedstream_vp_offsets, |
1108 | VDESC_NO_OFFSET, |
1109 | VDESC_NO_OFFSET, |
1110 | VDESC_NO_OFFSET, |
1111 | VDESC_NO_OFFSET, |
1112 | VDESC_NO_OFFSET, |
1113 | NULL |
1114 | }; |
1115 | |
1116 | int vnop_makenamedstream_vp_offsets[] = { |
1117 | VDESC_NO_OFFSET |
1118 | }; |
1119 | struct vnodeop_desc vnop_makenamedstream_desc = { |
1120 | 0, |
1121 | "vnop_makenamedstream" , |
1122 | VDESC_DISABLED, /* flags */ |
1123 | vnop_makenamedstream_vp_offsets, |
1124 | VDESC_NO_OFFSET, |
1125 | VDESC_NO_OFFSET, |
1126 | VDESC_NO_OFFSET, |
1127 | VDESC_NO_OFFSET, |
1128 | VDESC_NO_OFFSET, |
1129 | NULL |
1130 | }; |
1131 | |
1132 | int vnop_removenamedstream_vp_offsets[] = { |
1133 | VDESC_NO_OFFSET |
1134 | }; |
1135 | struct vnodeop_desc vnop_removenamedstream_desc = { |
1136 | 0, |
1137 | "vnop_removenamedstream" , |
1138 | VDESC_DISABLED, /* flags */ |
1139 | vnop_removenamedstream_vp_offsets, |
1140 | VDESC_NO_OFFSET, |
1141 | VDESC_NO_OFFSET, |
1142 | VDESC_NO_OFFSET, |
1143 | VDESC_NO_OFFSET, |
1144 | VDESC_NO_OFFSET, |
1145 | NULL |
1146 | }; |
1147 | #endif |
1148 | |
1149 | /* Special cases: */ |
1150 | |
1151 | int vnop_strategy_vp_offsets[] = { |
1152 | VDESC_NO_OFFSET |
1153 | }; |
1154 | struct vnodeop_desc vnop_strategy_desc = { |
1155 | 0, |
1156 | "vnop_strategy" , |
1157 | 0, |
1158 | vnop_strategy_vp_offsets, |
1159 | VDESC_NO_OFFSET, |
1160 | VDESC_NO_OFFSET, |
1161 | VDESC_NO_OFFSET, |
1162 | VDESC_NO_OFFSET, |
1163 | VDESC_NO_OFFSET, |
1164 | NULL |
1165 | }; |
1166 | |
1167 | int vnop_bwrite_vp_offsets[] = { |
1168 | VDESC_NO_OFFSET |
1169 | }; |
1170 | struct vnodeop_desc vnop_bwrite_desc = { |
1171 | 0, |
1172 | "vnop_bwrite" , |
1173 | 0, |
1174 | vnop_bwrite_vp_offsets, |
1175 | VDESC_NO_OFFSET, |
1176 | VDESC_NO_OFFSET, |
1177 | VDESC_NO_OFFSET, |
1178 | VDESC_NO_OFFSET, |
1179 | VDESC_NO_OFFSET, |
1180 | NULL |
1181 | }; |
1182 | |
1183 | /* End of special cases. */ |
1184 | |
1185 | struct vnodeop_desc *vfs_op_descs[] = { |
1186 | &vnop_default_desc, /* MUST BE FIRST */ |
1187 | &vnop_strategy_desc, /* XXX: SPECIAL CASE */ |
1188 | &vnop_bwrite_desc, /* XXX: SPECIAL CASE */ |
1189 | |
1190 | &vnop_lookup_desc, |
1191 | &vnop_create_desc, |
1192 | &vnop_mknod_desc, |
1193 | &vnop_whiteout_desc, |
1194 | &vnop_open_desc, |
1195 | &vnop_compound_open_desc, |
1196 | &vnop_close_desc, |
1197 | &vnop_access_desc, |
1198 | &vnop_getattr_desc, |
1199 | &vnop_setattr_desc, |
1200 | &vnop_read_desc, |
1201 | &vnop_write_desc, |
1202 | &vnop_ioctl_desc, |
1203 | &vnop_select_desc, |
1204 | &vnop_exchange_desc, |
1205 | &vnop_kqfilt_add_desc, |
1206 | &vnop_kqfilt_remove_desc, |
1207 | &vnop_setlabel_desc, |
1208 | &vnop_revoke_desc, |
1209 | &vnop_mmap_desc, |
1210 | &vnop_mnomap_desc, |
1211 | &vnop_fsync_desc, |
1212 | &vnop_remove_desc, |
1213 | &vnop_compound_remove_desc, |
1214 | &vnop_link_desc, |
1215 | &vnop_rename_desc, |
1216 | &vnop_renamex_desc, |
1217 | &vnop_compound_rename_desc, |
1218 | &vnop_mkdir_desc, |
1219 | &vnop_compound_mkdir_desc, |
1220 | &vnop_rmdir_desc, |
1221 | &vnop_compound_rmdir_desc, |
1222 | &vnop_symlink_desc, |
1223 | &vnop_readdir_desc, |
1224 | &vnop_readdirattr_desc, |
1225 | &vnop_getattrlistbulk_desc, |
1226 | &vnop_readlink_desc, |
1227 | &vnop_inactive_desc, |
1228 | &vnop_reclaim_desc, |
1229 | &vnop_pathconf_desc, |
1230 | &vnop_advlock_desc, |
1231 | &vnop_allocate_desc, |
1232 | &vnop_pagein_desc, |
1233 | &vnop_pageout_desc, |
1234 | &vnop_searchfs_desc, |
1235 | &vnop_copyfile_desc, |
1236 | &vnop_clonefile_desc, |
1237 | &vnop_getxattr_desc, |
1238 | &vnop_setxattr_desc, |
1239 | &vnop_removexattr_desc, |
1240 | &vnop_listxattr_desc, |
1241 | &vnop_blktooff_desc, |
1242 | &vnop_offtoblk_desc, |
1243 | &vnop_blockmap_desc, |
1244 | &vnop_monitor_desc, |
1245 | #if !defined(NAMEDSTREAMS) |
1246 | /* |
1247 | * We define the named streams ops descriptors as we _always_ have to |
1248 | * have symbols with their names, and as such we really really need |
1249 | * those symbols to be valid operations descriptors. However if |
1250 | * named streams support is not enabled, we flag these descriptors |
1251 | * as ignored. |
1252 | */ |
1253 | #endif |
1254 | &vnop_getnamedstream_desc, |
1255 | &vnop_makenamedstream_desc, |
1256 | &vnop_removenamedstream_desc, |
1257 | NULL |
1258 | }; |
1259 | |
1260 | |