1*d4514f0bSApple OSS Distributions /*
2*d4514f0bSApple OSS Distributions * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
3*d4514f0bSApple OSS Distributions *
4*d4514f0bSApple OSS Distributions * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5*d4514f0bSApple OSS Distributions *
6*d4514f0bSApple OSS Distributions * This file contains Original Code and/or Modifications of Original Code
7*d4514f0bSApple OSS Distributions * as defined in and that are subject to the Apple Public Source License
8*d4514f0bSApple OSS Distributions * Version 2.0 (the 'License'). You may not use this file except in
9*d4514f0bSApple OSS Distributions * compliance with the License. The rights granted to you under the License
10*d4514f0bSApple OSS Distributions * may not be used to create, or enable the creation or redistribution of,
11*d4514f0bSApple OSS Distributions * unlawful or unlicensed copies of an Apple operating system, or to
12*d4514f0bSApple OSS Distributions * circumvent, violate, or enable the circumvention or violation of, any
13*d4514f0bSApple OSS Distributions * terms of an Apple operating system software license agreement.
14*d4514f0bSApple OSS Distributions *
15*d4514f0bSApple OSS Distributions * Please obtain a copy of the License at
16*d4514f0bSApple OSS Distributions * http://www.opensource.apple.com/apsl/ and read it before using this file.
17*d4514f0bSApple OSS Distributions *
18*d4514f0bSApple OSS Distributions * The Original Code and all software distributed under the License are
19*d4514f0bSApple OSS Distributions * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20*d4514f0bSApple OSS Distributions * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21*d4514f0bSApple OSS Distributions * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22*d4514f0bSApple OSS Distributions * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23*d4514f0bSApple OSS Distributions * Please see the License for the specific language governing rights and
24*d4514f0bSApple OSS Distributions * limitations under the License.
25*d4514f0bSApple OSS Distributions *
26*d4514f0bSApple OSS Distributions * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27*d4514f0bSApple OSS Distributions */
28*d4514f0bSApple OSS Distributions /*
29*d4514f0bSApple OSS Distributions * Copyright (c) 1998-1999 Apple Computer, Inc. All rights reserved.
30*d4514f0bSApple OSS Distributions *
31*d4514f0bSApple OSS Distributions * File: vfs/vfs_support.c
32*d4514f0bSApple OSS Distributions *
33*d4514f0bSApple OSS Distributions * The default VFS routines. A VFS plugin can use these
34*d4514f0bSApple OSS Distributions * functions in case it does not want to implement all. These functions
35*d4514f0bSApple OSS Distributions * take care of releasing locks and free up memory that they are
36*d4514f0bSApple OSS Distributions * supposed to.
37*d4514f0bSApple OSS Distributions *
38*d4514f0bSApple OSS Distributions * nop_* routines always return 0 [success]
39*d4514f0bSApple OSS Distributions * err_* routines always return ENOTSUP
40*d4514f0bSApple OSS Distributions *
41*d4514f0bSApple OSS Distributions * This file could be auto-generated from vnode_if.src. but that needs
42*d4514f0bSApple OSS Distributions * support for freeing cnp.
43*d4514f0bSApple OSS Distributions *
44*d4514f0bSApple OSS Distributions * HISTORY
45*d4514f0bSApple OSS Distributions * 15-Jul-1998 Earsh Nandkeshwar ([email protected])
46*d4514f0bSApple OSS Distributions * Fixed up readdirattr for its existance now.
47*d4514f0bSApple OSS Distributions * 18-Aug-1998 Umesh Vaishampayan ([email protected])
48*d4514f0bSApple OSS Distributions * Created.
49*d4514f0bSApple OSS Distributions */
50*d4514f0bSApple OSS Distributions
51*d4514f0bSApple OSS Distributions #include <vfs/vfs_support.h>
52*d4514f0bSApple OSS Distributions #include <sys/kauth.h>
53*d4514f0bSApple OSS Distributions #include <sys/ubc.h> /* ubc_upl_abort_range() */
54*d4514f0bSApple OSS Distributions
55*d4514f0bSApple OSS Distributions
56*d4514f0bSApple OSS Distributions struct vnop_create_args /* {
57*d4514f0bSApple OSS Distributions * struct vnode *a_dvp;
58*d4514f0bSApple OSS Distributions * struct vnode **a_vpp;
59*d4514f0bSApple OSS Distributions * struct componentname *a_cnp;
60*d4514f0bSApple OSS Distributions * struct vnode_vattr *a_vap;
61*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
62*d4514f0bSApple OSS Distributions * } */;
63*d4514f0bSApple OSS Distributions
64*d4514f0bSApple OSS Distributions int
nop_create(__unused struct vnop_create_args * ap)65*d4514f0bSApple OSS Distributions nop_create(__unused struct vnop_create_args *ap)
66*d4514f0bSApple OSS Distributions {
67*d4514f0bSApple OSS Distributions #if DIAGNOSTIC
68*d4514f0bSApple OSS Distributions if ((ap->a_cnp->cn_flags & HASBUF) == 0) {
69*d4514f0bSApple OSS Distributions panic("nop_create: no name");
70*d4514f0bSApple OSS Distributions }
71*d4514f0bSApple OSS Distributions #endif
72*d4514f0bSApple OSS Distributions return 0;
73*d4514f0bSApple OSS Distributions }
74*d4514f0bSApple OSS Distributions
75*d4514f0bSApple OSS Distributions int
err_create(struct vnop_create_args * ap)76*d4514f0bSApple OSS Distributions err_create(struct vnop_create_args *ap)
77*d4514f0bSApple OSS Distributions {
78*d4514f0bSApple OSS Distributions (void)nop_create(ap);
79*d4514f0bSApple OSS Distributions return ENOTSUP;
80*d4514f0bSApple OSS Distributions }
81*d4514f0bSApple OSS Distributions
82*d4514f0bSApple OSS Distributions
83*d4514f0bSApple OSS Distributions struct vnop_whiteout_args /* {
84*d4514f0bSApple OSS Distributions * struct vnode *a_dvp;
85*d4514f0bSApple OSS Distributions * struct componentname *a_cnp;
86*d4514f0bSApple OSS Distributions * int a_flags;
87*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
88*d4514f0bSApple OSS Distributions * } */;
89*d4514f0bSApple OSS Distributions
90*d4514f0bSApple OSS Distributions int
nop_whiteout(__unused struct vnop_whiteout_args * ap)91*d4514f0bSApple OSS Distributions nop_whiteout(__unused struct vnop_whiteout_args *ap)
92*d4514f0bSApple OSS Distributions {
93*d4514f0bSApple OSS Distributions return 0;
94*d4514f0bSApple OSS Distributions }
95*d4514f0bSApple OSS Distributions
96*d4514f0bSApple OSS Distributions int
err_whiteout(__unused struct vnop_whiteout_args * ap)97*d4514f0bSApple OSS Distributions err_whiteout(__unused struct vnop_whiteout_args *ap)
98*d4514f0bSApple OSS Distributions {
99*d4514f0bSApple OSS Distributions return ENOTSUP;
100*d4514f0bSApple OSS Distributions }
101*d4514f0bSApple OSS Distributions
102*d4514f0bSApple OSS Distributions
103*d4514f0bSApple OSS Distributions struct vnop_mknod_args /* {
104*d4514f0bSApple OSS Distributions * struct vnode *a_dvp;
105*d4514f0bSApple OSS Distributions * struct vnode **a_vpp;
106*d4514f0bSApple OSS Distributions * struct componentname *a_cnp;
107*d4514f0bSApple OSS Distributions * struct vnode_vattr *a_vap;
108*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
109*d4514f0bSApple OSS Distributions * } */;
110*d4514f0bSApple OSS Distributions
111*d4514f0bSApple OSS Distributions int
nop_mknod(__unused struct vnop_mknod_args * ap)112*d4514f0bSApple OSS Distributions nop_mknod(__unused struct vnop_mknod_args *ap)
113*d4514f0bSApple OSS Distributions {
114*d4514f0bSApple OSS Distributions #if DIAGNOSTIC
115*d4514f0bSApple OSS Distributions if ((ap->a_cnp->cn_flags & HASBUF) == 0) {
116*d4514f0bSApple OSS Distributions panic("nop_mknod: no name");
117*d4514f0bSApple OSS Distributions }
118*d4514f0bSApple OSS Distributions #endif
119*d4514f0bSApple OSS Distributions return 0;
120*d4514f0bSApple OSS Distributions }
121*d4514f0bSApple OSS Distributions
122*d4514f0bSApple OSS Distributions int
err_mknod(struct vnop_mknod_args * ap)123*d4514f0bSApple OSS Distributions err_mknod(struct vnop_mknod_args *ap)
124*d4514f0bSApple OSS Distributions {
125*d4514f0bSApple OSS Distributions (void)nop_mknod(ap);
126*d4514f0bSApple OSS Distributions return ENOTSUP;
127*d4514f0bSApple OSS Distributions }
128*d4514f0bSApple OSS Distributions
129*d4514f0bSApple OSS Distributions struct vnop_open_args /* {
130*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
131*d4514f0bSApple OSS Distributions * int a_mode;
132*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
133*d4514f0bSApple OSS Distributions * } */;
134*d4514f0bSApple OSS Distributions
135*d4514f0bSApple OSS Distributions int
nop_open(__unused struct vnop_open_args * ap)136*d4514f0bSApple OSS Distributions nop_open(__unused struct vnop_open_args *ap)
137*d4514f0bSApple OSS Distributions {
138*d4514f0bSApple OSS Distributions return 0;
139*d4514f0bSApple OSS Distributions }
140*d4514f0bSApple OSS Distributions
141*d4514f0bSApple OSS Distributions int
err_open(__unused struct vnop_open_args * ap)142*d4514f0bSApple OSS Distributions err_open(__unused struct vnop_open_args *ap)
143*d4514f0bSApple OSS Distributions {
144*d4514f0bSApple OSS Distributions return ENOTSUP;
145*d4514f0bSApple OSS Distributions }
146*d4514f0bSApple OSS Distributions
147*d4514f0bSApple OSS Distributions
148*d4514f0bSApple OSS Distributions struct vnop_close_args /* {
149*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
150*d4514f0bSApple OSS Distributions * int a_fflag;
151*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
152*d4514f0bSApple OSS Distributions * } */;
153*d4514f0bSApple OSS Distributions
154*d4514f0bSApple OSS Distributions int
nop_close(__unused struct vnop_close_args * ap)155*d4514f0bSApple OSS Distributions nop_close(__unused struct vnop_close_args *ap)
156*d4514f0bSApple OSS Distributions {
157*d4514f0bSApple OSS Distributions return 0;
158*d4514f0bSApple OSS Distributions }
159*d4514f0bSApple OSS Distributions
160*d4514f0bSApple OSS Distributions int
err_close(__unused struct vnop_close_args * ap)161*d4514f0bSApple OSS Distributions err_close(__unused struct vnop_close_args *ap)
162*d4514f0bSApple OSS Distributions {
163*d4514f0bSApple OSS Distributions return ENOTSUP;
164*d4514f0bSApple OSS Distributions }
165*d4514f0bSApple OSS Distributions
166*d4514f0bSApple OSS Distributions
167*d4514f0bSApple OSS Distributions struct vnop_access_args /* {
168*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
169*d4514f0bSApple OSS Distributions * int a_mode;
170*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
171*d4514f0bSApple OSS Distributions * } */;
172*d4514f0bSApple OSS Distributions
173*d4514f0bSApple OSS Distributions int
nop_access(__unused struct vnop_access_args * ap)174*d4514f0bSApple OSS Distributions nop_access(__unused struct vnop_access_args *ap)
175*d4514f0bSApple OSS Distributions {
176*d4514f0bSApple OSS Distributions return 0;
177*d4514f0bSApple OSS Distributions }
178*d4514f0bSApple OSS Distributions
179*d4514f0bSApple OSS Distributions int
err_access(__unused struct vnop_access_args * ap)180*d4514f0bSApple OSS Distributions err_access(__unused struct vnop_access_args *ap)
181*d4514f0bSApple OSS Distributions {
182*d4514f0bSApple OSS Distributions return ENOTSUP;
183*d4514f0bSApple OSS Distributions }
184*d4514f0bSApple OSS Distributions
185*d4514f0bSApple OSS Distributions
186*d4514f0bSApple OSS Distributions struct vnop_getattr_args /* {
187*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
188*d4514f0bSApple OSS Distributions * struct vnode_vattr *a_vap;
189*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
190*d4514f0bSApple OSS Distributions * } */;
191*d4514f0bSApple OSS Distributions
192*d4514f0bSApple OSS Distributions int
nop_getattr(__unused struct vnop_getattr_args * ap)193*d4514f0bSApple OSS Distributions nop_getattr(__unused struct vnop_getattr_args *ap)
194*d4514f0bSApple OSS Distributions {
195*d4514f0bSApple OSS Distributions return 0;
196*d4514f0bSApple OSS Distributions }
197*d4514f0bSApple OSS Distributions
198*d4514f0bSApple OSS Distributions int
err_getattr(__unused struct vnop_getattr_args * ap)199*d4514f0bSApple OSS Distributions err_getattr(__unused struct vnop_getattr_args *ap)
200*d4514f0bSApple OSS Distributions {
201*d4514f0bSApple OSS Distributions return ENOTSUP;
202*d4514f0bSApple OSS Distributions }
203*d4514f0bSApple OSS Distributions
204*d4514f0bSApple OSS Distributions
205*d4514f0bSApple OSS Distributions struct vnop_setattr_args /* {
206*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
207*d4514f0bSApple OSS Distributions * struct vnode_vattr *a_vap;
208*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
209*d4514f0bSApple OSS Distributions * } */;
210*d4514f0bSApple OSS Distributions
211*d4514f0bSApple OSS Distributions int
nop_setattr(__unused struct vnop_setattr_args * ap)212*d4514f0bSApple OSS Distributions nop_setattr(__unused struct vnop_setattr_args *ap)
213*d4514f0bSApple OSS Distributions {
214*d4514f0bSApple OSS Distributions return 0;
215*d4514f0bSApple OSS Distributions }
216*d4514f0bSApple OSS Distributions
217*d4514f0bSApple OSS Distributions int
err_setattr(__unused struct vnop_setattr_args * ap)218*d4514f0bSApple OSS Distributions err_setattr(__unused struct vnop_setattr_args *ap)
219*d4514f0bSApple OSS Distributions {
220*d4514f0bSApple OSS Distributions return ENOTSUP;
221*d4514f0bSApple OSS Distributions }
222*d4514f0bSApple OSS Distributions
223*d4514f0bSApple OSS Distributions struct vnop_read_args /* {
224*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
225*d4514f0bSApple OSS Distributions * struct uio *a_uio;
226*d4514f0bSApple OSS Distributions * int a_ioflag;
227*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
228*d4514f0bSApple OSS Distributions * } */;
229*d4514f0bSApple OSS Distributions
230*d4514f0bSApple OSS Distributions int
nop_read(__unused struct vnop_read_args * ap)231*d4514f0bSApple OSS Distributions nop_read(__unused struct vnop_read_args *ap)
232*d4514f0bSApple OSS Distributions {
233*d4514f0bSApple OSS Distributions return 0;
234*d4514f0bSApple OSS Distributions }
235*d4514f0bSApple OSS Distributions
236*d4514f0bSApple OSS Distributions int
err_read(__unused struct vnop_read_args * ap)237*d4514f0bSApple OSS Distributions err_read(__unused struct vnop_read_args *ap)
238*d4514f0bSApple OSS Distributions {
239*d4514f0bSApple OSS Distributions return ENOTSUP;
240*d4514f0bSApple OSS Distributions }
241*d4514f0bSApple OSS Distributions
242*d4514f0bSApple OSS Distributions
243*d4514f0bSApple OSS Distributions struct vnop_write_args /* {
244*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
245*d4514f0bSApple OSS Distributions * struct uio *a_uio;
246*d4514f0bSApple OSS Distributions * int a_ioflag;
247*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
248*d4514f0bSApple OSS Distributions * } */;
249*d4514f0bSApple OSS Distributions
250*d4514f0bSApple OSS Distributions int
nop_write(__unused struct vnop_write_args * ap)251*d4514f0bSApple OSS Distributions nop_write(__unused struct vnop_write_args *ap)
252*d4514f0bSApple OSS Distributions {
253*d4514f0bSApple OSS Distributions return 0;
254*d4514f0bSApple OSS Distributions }
255*d4514f0bSApple OSS Distributions
256*d4514f0bSApple OSS Distributions int
err_write(__unused struct vnop_write_args * ap)257*d4514f0bSApple OSS Distributions err_write(__unused struct vnop_write_args *ap)
258*d4514f0bSApple OSS Distributions {
259*d4514f0bSApple OSS Distributions return ENOTSUP;
260*d4514f0bSApple OSS Distributions }
261*d4514f0bSApple OSS Distributions
262*d4514f0bSApple OSS Distributions
263*d4514f0bSApple OSS Distributions struct vnop_ioctl_args /* {
264*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
265*d4514f0bSApple OSS Distributions * u_long a_command;
266*d4514f0bSApple OSS Distributions * caddr_t a_data;
267*d4514f0bSApple OSS Distributions * int a_fflag;
268*d4514f0bSApple OSS Distributions * kauth_cred_t a_cred;
269*d4514f0bSApple OSS Distributions * struct proc *a_p;
270*d4514f0bSApple OSS Distributions * } */;
271*d4514f0bSApple OSS Distributions
272*d4514f0bSApple OSS Distributions int
nop_ioctl(__unused struct vnop_ioctl_args * ap)273*d4514f0bSApple OSS Distributions nop_ioctl(__unused struct vnop_ioctl_args *ap)
274*d4514f0bSApple OSS Distributions {
275*d4514f0bSApple OSS Distributions return 0;
276*d4514f0bSApple OSS Distributions }
277*d4514f0bSApple OSS Distributions
278*d4514f0bSApple OSS Distributions int
err_ioctl(__unused struct vnop_ioctl_args * ap)279*d4514f0bSApple OSS Distributions err_ioctl(__unused struct vnop_ioctl_args *ap)
280*d4514f0bSApple OSS Distributions {
281*d4514f0bSApple OSS Distributions return ENOTSUP;
282*d4514f0bSApple OSS Distributions }
283*d4514f0bSApple OSS Distributions
284*d4514f0bSApple OSS Distributions
285*d4514f0bSApple OSS Distributions struct vnop_select_args /* {
286*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
287*d4514f0bSApple OSS Distributions * int a_which;
288*d4514f0bSApple OSS Distributions * int a_fflags;
289*d4514f0bSApple OSS Distributions * kauth_cred_t a_cred;
290*d4514f0bSApple OSS Distributions * void *a_wql;
291*d4514f0bSApple OSS Distributions * struct proc *a_p;
292*d4514f0bSApple OSS Distributions * } */;
293*d4514f0bSApple OSS Distributions
294*d4514f0bSApple OSS Distributions int
nop_select(__unused struct vnop_select_args * ap)295*d4514f0bSApple OSS Distributions nop_select(__unused struct vnop_select_args *ap)
296*d4514f0bSApple OSS Distributions {
297*d4514f0bSApple OSS Distributions return 0;
298*d4514f0bSApple OSS Distributions }
299*d4514f0bSApple OSS Distributions
300*d4514f0bSApple OSS Distributions int
err_select(__unused struct vnop_select_args * ap)301*d4514f0bSApple OSS Distributions err_select(__unused struct vnop_select_args *ap)
302*d4514f0bSApple OSS Distributions {
303*d4514f0bSApple OSS Distributions return ENOTSUP;
304*d4514f0bSApple OSS Distributions }
305*d4514f0bSApple OSS Distributions
306*d4514f0bSApple OSS Distributions
307*d4514f0bSApple OSS Distributions struct vnop_exchange_args /* {
308*d4514f0bSApple OSS Distributions * struct vnode *a_fvp;
309*d4514f0bSApple OSS Distributions * struct vnode *a_tvp;
310*d4514f0bSApple OSS Distributions * int a_options;
311*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
312*d4514f0bSApple OSS Distributions * } */;
313*d4514f0bSApple OSS Distributions
314*d4514f0bSApple OSS Distributions int
nop_exchange(__unused struct vnop_exchange_args * ap)315*d4514f0bSApple OSS Distributions nop_exchange(__unused struct vnop_exchange_args *ap)
316*d4514f0bSApple OSS Distributions {
317*d4514f0bSApple OSS Distributions return 0;
318*d4514f0bSApple OSS Distributions }
319*d4514f0bSApple OSS Distributions
320*d4514f0bSApple OSS Distributions int
err_exchange(__unused struct vnop_exchange_args * ap)321*d4514f0bSApple OSS Distributions err_exchange(__unused struct vnop_exchange_args *ap)
322*d4514f0bSApple OSS Distributions {
323*d4514f0bSApple OSS Distributions return ENOTSUP;
324*d4514f0bSApple OSS Distributions }
325*d4514f0bSApple OSS Distributions
326*d4514f0bSApple OSS Distributions
327*d4514f0bSApple OSS Distributions struct vnop_revoke_args /* {
328*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
329*d4514f0bSApple OSS Distributions * int a_flags;
330*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
331*d4514f0bSApple OSS Distributions * } */;
332*d4514f0bSApple OSS Distributions
333*d4514f0bSApple OSS Distributions int
nop_revoke(struct vnop_revoke_args * ap)334*d4514f0bSApple OSS Distributions nop_revoke(struct vnop_revoke_args *ap)
335*d4514f0bSApple OSS Distributions {
336*d4514f0bSApple OSS Distributions return vn_revoke(ap->a_vp, ap->a_flags, ap->a_context);
337*d4514f0bSApple OSS Distributions }
338*d4514f0bSApple OSS Distributions
339*d4514f0bSApple OSS Distributions int
err_revoke(struct vnop_revoke_args * ap)340*d4514f0bSApple OSS Distributions err_revoke(struct vnop_revoke_args *ap)
341*d4514f0bSApple OSS Distributions {
342*d4514f0bSApple OSS Distributions (void)nop_revoke(ap);
343*d4514f0bSApple OSS Distributions return ENOTSUP;
344*d4514f0bSApple OSS Distributions }
345*d4514f0bSApple OSS Distributions
346*d4514f0bSApple OSS Distributions
347*d4514f0bSApple OSS Distributions struct vnop_mmap_args /* {
348*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
349*d4514f0bSApple OSS Distributions * int a_fflags;
350*d4514f0bSApple OSS Distributions * kauth_cred_t a_cred;
351*d4514f0bSApple OSS Distributions * struct proc *a_p;
352*d4514f0bSApple OSS Distributions * } */;
353*d4514f0bSApple OSS Distributions
354*d4514f0bSApple OSS Distributions int
nop_mmap(__unused struct vnop_mmap_args * ap)355*d4514f0bSApple OSS Distributions nop_mmap(__unused struct vnop_mmap_args *ap)
356*d4514f0bSApple OSS Distributions {
357*d4514f0bSApple OSS Distributions return 0;
358*d4514f0bSApple OSS Distributions }
359*d4514f0bSApple OSS Distributions
360*d4514f0bSApple OSS Distributions int
err_mmap(__unused struct vnop_mmap_args * ap)361*d4514f0bSApple OSS Distributions err_mmap(__unused struct vnop_mmap_args *ap)
362*d4514f0bSApple OSS Distributions {
363*d4514f0bSApple OSS Distributions return ENOTSUP;
364*d4514f0bSApple OSS Distributions }
365*d4514f0bSApple OSS Distributions
366*d4514f0bSApple OSS Distributions
367*d4514f0bSApple OSS Distributions struct vnop_fsync_args /* {
368*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
369*d4514f0bSApple OSS Distributions * int a_waitfor;
370*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
371*d4514f0bSApple OSS Distributions * } */;
372*d4514f0bSApple OSS Distributions
373*d4514f0bSApple OSS Distributions int
nop_fsync(__unused struct vnop_fsync_args * ap)374*d4514f0bSApple OSS Distributions nop_fsync(__unused struct vnop_fsync_args *ap)
375*d4514f0bSApple OSS Distributions {
376*d4514f0bSApple OSS Distributions return 0;
377*d4514f0bSApple OSS Distributions }
378*d4514f0bSApple OSS Distributions
379*d4514f0bSApple OSS Distributions int
err_fsync(__unused struct vnop_fsync_args * ap)380*d4514f0bSApple OSS Distributions err_fsync(__unused struct vnop_fsync_args *ap)
381*d4514f0bSApple OSS Distributions {
382*d4514f0bSApple OSS Distributions return ENOTSUP;
383*d4514f0bSApple OSS Distributions }
384*d4514f0bSApple OSS Distributions
385*d4514f0bSApple OSS Distributions
386*d4514f0bSApple OSS Distributions struct vnop_remove_args /* {
387*d4514f0bSApple OSS Distributions * struct vnode *a_dvp;
388*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
389*d4514f0bSApple OSS Distributions * struct componentname *a_cnp;
390*d4514f0bSApple OSS Distributions * int a_flags;
391*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
392*d4514f0bSApple OSS Distributions * } */;
393*d4514f0bSApple OSS Distributions
394*d4514f0bSApple OSS Distributions int
nop_remove(__unused struct vnop_remove_args * ap)395*d4514f0bSApple OSS Distributions nop_remove(__unused struct vnop_remove_args *ap)
396*d4514f0bSApple OSS Distributions {
397*d4514f0bSApple OSS Distributions return 0;
398*d4514f0bSApple OSS Distributions }
399*d4514f0bSApple OSS Distributions
400*d4514f0bSApple OSS Distributions int
err_remove(struct vnop_remove_args * ap)401*d4514f0bSApple OSS Distributions err_remove(struct vnop_remove_args *ap)
402*d4514f0bSApple OSS Distributions {
403*d4514f0bSApple OSS Distributions (void)nop_remove(ap);
404*d4514f0bSApple OSS Distributions return ENOTSUP;
405*d4514f0bSApple OSS Distributions }
406*d4514f0bSApple OSS Distributions
407*d4514f0bSApple OSS Distributions
408*d4514f0bSApple OSS Distributions struct vnop_link_args /* {
409*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
410*d4514f0bSApple OSS Distributions * struct vnode *a_tdvp;
411*d4514f0bSApple OSS Distributions * struct componentname *a_cnp;
412*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
413*d4514f0bSApple OSS Distributions * } */;
414*d4514f0bSApple OSS Distributions
415*d4514f0bSApple OSS Distributions int
nop_link(__unused struct vnop_link_args * ap)416*d4514f0bSApple OSS Distributions nop_link(__unused struct vnop_link_args *ap)
417*d4514f0bSApple OSS Distributions {
418*d4514f0bSApple OSS Distributions return 0;
419*d4514f0bSApple OSS Distributions }
420*d4514f0bSApple OSS Distributions
421*d4514f0bSApple OSS Distributions int
err_link(struct vnop_link_args * ap)422*d4514f0bSApple OSS Distributions err_link(struct vnop_link_args *ap)
423*d4514f0bSApple OSS Distributions {
424*d4514f0bSApple OSS Distributions (void)nop_link(ap);
425*d4514f0bSApple OSS Distributions return ENOTSUP;
426*d4514f0bSApple OSS Distributions }
427*d4514f0bSApple OSS Distributions
428*d4514f0bSApple OSS Distributions
429*d4514f0bSApple OSS Distributions struct vnop_rename_args /* {
430*d4514f0bSApple OSS Distributions * struct vnode *a_fdvp;
431*d4514f0bSApple OSS Distributions * struct vnode *a_fvp;
432*d4514f0bSApple OSS Distributions * struct componentname *a_fcnp;
433*d4514f0bSApple OSS Distributions * struct vnode *a_tdvp;
434*d4514f0bSApple OSS Distributions * struct vnode *a_tvp;
435*d4514f0bSApple OSS Distributions * struct componentname *a_tcnp;
436*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
437*d4514f0bSApple OSS Distributions * } */;
438*d4514f0bSApple OSS Distributions
439*d4514f0bSApple OSS Distributions int
nop_rename(__unused struct vnop_rename_args * ap)440*d4514f0bSApple OSS Distributions nop_rename(__unused struct vnop_rename_args *ap)
441*d4514f0bSApple OSS Distributions {
442*d4514f0bSApple OSS Distributions return 0;
443*d4514f0bSApple OSS Distributions }
444*d4514f0bSApple OSS Distributions
445*d4514f0bSApple OSS Distributions int
err_rename(struct vnop_rename_args * ap)446*d4514f0bSApple OSS Distributions err_rename(struct vnop_rename_args *ap)
447*d4514f0bSApple OSS Distributions {
448*d4514f0bSApple OSS Distributions (void)nop_rename(ap);
449*d4514f0bSApple OSS Distributions return ENOTSUP;
450*d4514f0bSApple OSS Distributions }
451*d4514f0bSApple OSS Distributions
452*d4514f0bSApple OSS Distributions
453*d4514f0bSApple OSS Distributions struct vnop_mkdir_args /* {
454*d4514f0bSApple OSS Distributions * struct vnode *a_dvp;
455*d4514f0bSApple OSS Distributions * struct vnode **a_vpp;
456*d4514f0bSApple OSS Distributions * struct componentname *a_cnp;
457*d4514f0bSApple OSS Distributions * struct vnode_vattr *a_vap;
458*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
459*d4514f0bSApple OSS Distributions * } */;
460*d4514f0bSApple OSS Distributions
461*d4514f0bSApple OSS Distributions int
nop_mkdir(__unused struct vnop_mkdir_args * ap)462*d4514f0bSApple OSS Distributions nop_mkdir(__unused struct vnop_mkdir_args *ap)
463*d4514f0bSApple OSS Distributions {
464*d4514f0bSApple OSS Distributions return 0;
465*d4514f0bSApple OSS Distributions }
466*d4514f0bSApple OSS Distributions
467*d4514f0bSApple OSS Distributions int
err_mkdir(__unused struct vnop_mkdir_args * ap)468*d4514f0bSApple OSS Distributions err_mkdir(__unused struct vnop_mkdir_args *ap)
469*d4514f0bSApple OSS Distributions {
470*d4514f0bSApple OSS Distributions return ENOTSUP;
471*d4514f0bSApple OSS Distributions }
472*d4514f0bSApple OSS Distributions
473*d4514f0bSApple OSS Distributions
474*d4514f0bSApple OSS Distributions struct vnop_rmdir_args /* {
475*d4514f0bSApple OSS Distributions * struct vnode *a_dvp;
476*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
477*d4514f0bSApple OSS Distributions * struct componentname *a_cnp;
478*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
479*d4514f0bSApple OSS Distributions * } */;
480*d4514f0bSApple OSS Distributions
481*d4514f0bSApple OSS Distributions int
nop_rmdir(__unused struct vnop_rmdir_args * ap)482*d4514f0bSApple OSS Distributions nop_rmdir(__unused struct vnop_rmdir_args *ap)
483*d4514f0bSApple OSS Distributions {
484*d4514f0bSApple OSS Distributions return 0;
485*d4514f0bSApple OSS Distributions }
486*d4514f0bSApple OSS Distributions
487*d4514f0bSApple OSS Distributions int
err_rmdir(struct vnop_rmdir_args * ap)488*d4514f0bSApple OSS Distributions err_rmdir(struct vnop_rmdir_args *ap)
489*d4514f0bSApple OSS Distributions {
490*d4514f0bSApple OSS Distributions (void)nop_rmdir(ap);
491*d4514f0bSApple OSS Distributions return ENOTSUP;
492*d4514f0bSApple OSS Distributions }
493*d4514f0bSApple OSS Distributions
494*d4514f0bSApple OSS Distributions
495*d4514f0bSApple OSS Distributions struct vnop_symlink_args /* {
496*d4514f0bSApple OSS Distributions * struct vnode *a_dvp;
497*d4514f0bSApple OSS Distributions * struct vnode **a_vpp;
498*d4514f0bSApple OSS Distributions * struct componentname *a_cnp;
499*d4514f0bSApple OSS Distributions * struct vnode_vattr *a_vap;
500*d4514f0bSApple OSS Distributions * char *a_target;
501*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
502*d4514f0bSApple OSS Distributions * } */;
503*d4514f0bSApple OSS Distributions
504*d4514f0bSApple OSS Distributions int
nop_symlink(__unused struct vnop_symlink_args * ap)505*d4514f0bSApple OSS Distributions nop_symlink(__unused struct vnop_symlink_args *ap)
506*d4514f0bSApple OSS Distributions {
507*d4514f0bSApple OSS Distributions #if DIAGNOSTIC
508*d4514f0bSApple OSS Distributions if ((ap->a_cnp->cn_flags & HASBUF) == 0) {
509*d4514f0bSApple OSS Distributions panic("nop_symlink: no name");
510*d4514f0bSApple OSS Distributions }
511*d4514f0bSApple OSS Distributions #endif
512*d4514f0bSApple OSS Distributions return 0;
513*d4514f0bSApple OSS Distributions }
514*d4514f0bSApple OSS Distributions
515*d4514f0bSApple OSS Distributions int
err_symlink(struct vnop_symlink_args * ap)516*d4514f0bSApple OSS Distributions err_symlink(struct vnop_symlink_args *ap)
517*d4514f0bSApple OSS Distributions {
518*d4514f0bSApple OSS Distributions (void)nop_symlink(ap);
519*d4514f0bSApple OSS Distributions return ENOTSUP;
520*d4514f0bSApple OSS Distributions }
521*d4514f0bSApple OSS Distributions
522*d4514f0bSApple OSS Distributions
523*d4514f0bSApple OSS Distributions struct vnop_readdir_args /* {
524*d4514f0bSApple OSS Distributions * vnode_t a_vp;
525*d4514f0bSApple OSS Distributions * struct uio *a_uio;
526*d4514f0bSApple OSS Distributions * int a_flags;
527*d4514f0bSApple OSS Distributions * int *a_eofflag;
528*d4514f0bSApple OSS Distributions * int *a_numdirent;
529*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
530*d4514f0bSApple OSS Distributions * } */;
531*d4514f0bSApple OSS Distributions
532*d4514f0bSApple OSS Distributions int
nop_readdir(__unused struct vnop_readdir_args * ap)533*d4514f0bSApple OSS Distributions nop_readdir(__unused struct vnop_readdir_args *ap)
534*d4514f0bSApple OSS Distributions {
535*d4514f0bSApple OSS Distributions return 0;
536*d4514f0bSApple OSS Distributions }
537*d4514f0bSApple OSS Distributions
538*d4514f0bSApple OSS Distributions int
err_readdir(__unused struct vnop_readdir_args * ap)539*d4514f0bSApple OSS Distributions err_readdir(__unused struct vnop_readdir_args *ap)
540*d4514f0bSApple OSS Distributions {
541*d4514f0bSApple OSS Distributions return ENOTSUP;
542*d4514f0bSApple OSS Distributions }
543*d4514f0bSApple OSS Distributions
544*d4514f0bSApple OSS Distributions
545*d4514f0bSApple OSS Distributions struct vnop_readdirattr_args /* {
546*d4514f0bSApple OSS Distributions * struct vnodeop_desc *a_desc;
547*d4514f0bSApple OSS Distributions * vnode_t a_vp;
548*d4514f0bSApple OSS Distributions * struct attrlist *a_alist;
549*d4514f0bSApple OSS Distributions * struct uio *a_uio;
550*d4514f0bSApple OSS Distributions * u_long a_maxcount;
551*d4514f0bSApple OSS Distributions * u_long a_options;
552*d4514f0bSApple OSS Distributions * u_long *a_newstate;
553*d4514f0bSApple OSS Distributions * int *a_eofflag;
554*d4514f0bSApple OSS Distributions * u_long *a_actualcount;
555*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
556*d4514f0bSApple OSS Distributions * } */;
557*d4514f0bSApple OSS Distributions
558*d4514f0bSApple OSS Distributions int
nop_readdirattr(struct vnop_readdirattr_args * ap)559*d4514f0bSApple OSS Distributions nop_readdirattr(struct vnop_readdirattr_args *ap)
560*d4514f0bSApple OSS Distributions {
561*d4514f0bSApple OSS Distributions *(ap->a_actualcount) = 0;
562*d4514f0bSApple OSS Distributions *(ap->a_eofflag) = 0;
563*d4514f0bSApple OSS Distributions return 0;
564*d4514f0bSApple OSS Distributions }
565*d4514f0bSApple OSS Distributions
566*d4514f0bSApple OSS Distributions int
err_readdirattr(struct vnop_readdirattr_args * ap)567*d4514f0bSApple OSS Distributions err_readdirattr(struct vnop_readdirattr_args *ap)
568*d4514f0bSApple OSS Distributions {
569*d4514f0bSApple OSS Distributions (void)nop_readdirattr(ap);
570*d4514f0bSApple OSS Distributions return ENOTSUP;
571*d4514f0bSApple OSS Distributions }
572*d4514f0bSApple OSS Distributions
573*d4514f0bSApple OSS Distributions
574*d4514f0bSApple OSS Distributions struct vnop_readlink_args /* {
575*d4514f0bSApple OSS Distributions * struct vnode *vp;
576*d4514f0bSApple OSS Distributions * struct uio *uio;
577*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
578*d4514f0bSApple OSS Distributions * } */;
579*d4514f0bSApple OSS Distributions
580*d4514f0bSApple OSS Distributions int
nop_readlink(__unused struct vnop_readlink_args * ap)581*d4514f0bSApple OSS Distributions nop_readlink(__unused struct vnop_readlink_args *ap)
582*d4514f0bSApple OSS Distributions {
583*d4514f0bSApple OSS Distributions return 0;
584*d4514f0bSApple OSS Distributions }
585*d4514f0bSApple OSS Distributions
586*d4514f0bSApple OSS Distributions int
err_readlink(__unused struct vnop_readlink_args * ap)587*d4514f0bSApple OSS Distributions err_readlink(__unused struct vnop_readlink_args *ap)
588*d4514f0bSApple OSS Distributions {
589*d4514f0bSApple OSS Distributions return ENOTSUP;
590*d4514f0bSApple OSS Distributions }
591*d4514f0bSApple OSS Distributions
592*d4514f0bSApple OSS Distributions
593*d4514f0bSApple OSS Distributions struct vnop_inactive_args /* {
594*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
595*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
596*d4514f0bSApple OSS Distributions * } */;
597*d4514f0bSApple OSS Distributions
598*d4514f0bSApple OSS Distributions int
nop_inactive(__unused struct vnop_inactive_args * ap)599*d4514f0bSApple OSS Distributions nop_inactive(__unused struct vnop_inactive_args *ap)
600*d4514f0bSApple OSS Distributions {
601*d4514f0bSApple OSS Distributions return 0;
602*d4514f0bSApple OSS Distributions }
603*d4514f0bSApple OSS Distributions
604*d4514f0bSApple OSS Distributions int
err_inactive(struct vnop_inactive_args * ap)605*d4514f0bSApple OSS Distributions err_inactive(struct vnop_inactive_args *ap)
606*d4514f0bSApple OSS Distributions {
607*d4514f0bSApple OSS Distributions (void)nop_inactive(ap);
608*d4514f0bSApple OSS Distributions return ENOTSUP;
609*d4514f0bSApple OSS Distributions }
610*d4514f0bSApple OSS Distributions
611*d4514f0bSApple OSS Distributions
612*d4514f0bSApple OSS Distributions struct vnop_reclaim_args /* {
613*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
614*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
615*d4514f0bSApple OSS Distributions * } */;
616*d4514f0bSApple OSS Distributions
617*d4514f0bSApple OSS Distributions int
nop_reclaim(__unused struct vnop_reclaim_args * ap)618*d4514f0bSApple OSS Distributions nop_reclaim(__unused struct vnop_reclaim_args *ap)
619*d4514f0bSApple OSS Distributions {
620*d4514f0bSApple OSS Distributions return 0;
621*d4514f0bSApple OSS Distributions }
622*d4514f0bSApple OSS Distributions
623*d4514f0bSApple OSS Distributions int
err_reclaim(__unused struct vnop_reclaim_args * ap)624*d4514f0bSApple OSS Distributions err_reclaim(__unused struct vnop_reclaim_args *ap)
625*d4514f0bSApple OSS Distributions {
626*d4514f0bSApple OSS Distributions return ENOTSUP;
627*d4514f0bSApple OSS Distributions }
628*d4514f0bSApple OSS Distributions
629*d4514f0bSApple OSS Distributions
630*d4514f0bSApple OSS Distributions struct vnop_strategy_args /* {
631*d4514f0bSApple OSS Distributions * struct buf *a_bp;
632*d4514f0bSApple OSS Distributions * } */;
633*d4514f0bSApple OSS Distributions
634*d4514f0bSApple OSS Distributions int
nop_strategy(__unused struct vnop_strategy_args * ap)635*d4514f0bSApple OSS Distributions nop_strategy(__unused struct vnop_strategy_args *ap)
636*d4514f0bSApple OSS Distributions {
637*d4514f0bSApple OSS Distributions return 0;
638*d4514f0bSApple OSS Distributions }
639*d4514f0bSApple OSS Distributions
640*d4514f0bSApple OSS Distributions int
err_strategy(__unused struct vnop_strategy_args * ap)641*d4514f0bSApple OSS Distributions err_strategy(__unused struct vnop_strategy_args *ap)
642*d4514f0bSApple OSS Distributions {
643*d4514f0bSApple OSS Distributions return ENOTSUP;
644*d4514f0bSApple OSS Distributions }
645*d4514f0bSApple OSS Distributions
646*d4514f0bSApple OSS Distributions
647*d4514f0bSApple OSS Distributions struct vnop_pathconf_args /* {
648*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
649*d4514f0bSApple OSS Distributions * int a_name;
650*d4514f0bSApple OSS Distributions * int32_t *a_retval;
651*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
652*d4514f0bSApple OSS Distributions * } */;
653*d4514f0bSApple OSS Distributions
654*d4514f0bSApple OSS Distributions int
nop_pathconf(__unused struct vnop_pathconf_args * ap)655*d4514f0bSApple OSS Distributions nop_pathconf(__unused struct vnop_pathconf_args *ap)
656*d4514f0bSApple OSS Distributions {
657*d4514f0bSApple OSS Distributions return 0;
658*d4514f0bSApple OSS Distributions }
659*d4514f0bSApple OSS Distributions
660*d4514f0bSApple OSS Distributions int
err_pathconf(__unused struct vnop_pathconf_args * ap)661*d4514f0bSApple OSS Distributions err_pathconf(__unused struct vnop_pathconf_args *ap)
662*d4514f0bSApple OSS Distributions {
663*d4514f0bSApple OSS Distributions return ENOTSUP;
664*d4514f0bSApple OSS Distributions }
665*d4514f0bSApple OSS Distributions
666*d4514f0bSApple OSS Distributions
667*d4514f0bSApple OSS Distributions struct vnop_advlock_args /* {
668*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
669*d4514f0bSApple OSS Distributions * caddr_t a_id;
670*d4514f0bSApple OSS Distributions * int a_op;
671*d4514f0bSApple OSS Distributions * struct flock *a_fl;
672*d4514f0bSApple OSS Distributions * int a_flags;
673*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
674*d4514f0bSApple OSS Distributions * } */;
675*d4514f0bSApple OSS Distributions
676*d4514f0bSApple OSS Distributions int
nop_advlock(__unused struct vnop_advlock_args * ap)677*d4514f0bSApple OSS Distributions nop_advlock(__unused struct vnop_advlock_args *ap)
678*d4514f0bSApple OSS Distributions {
679*d4514f0bSApple OSS Distributions return 0;
680*d4514f0bSApple OSS Distributions }
681*d4514f0bSApple OSS Distributions
682*d4514f0bSApple OSS Distributions int
err_advlock(__unused struct vnop_advlock_args * ap)683*d4514f0bSApple OSS Distributions err_advlock(__unused struct vnop_advlock_args *ap)
684*d4514f0bSApple OSS Distributions {
685*d4514f0bSApple OSS Distributions return ENOTSUP;
686*d4514f0bSApple OSS Distributions }
687*d4514f0bSApple OSS Distributions
688*d4514f0bSApple OSS Distributions
689*d4514f0bSApple OSS Distributions
690*d4514f0bSApple OSS Distributions struct vnop_allocate_args /* {
691*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
692*d4514f0bSApple OSS Distributions * off_t a_length;
693*d4514f0bSApple OSS Distributions * u_int32_t a_flags;
694*d4514f0bSApple OSS Distributions * off_t *a_bytesallocated;
695*d4514f0bSApple OSS Distributions * off_t a_offset;
696*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
697*d4514f0bSApple OSS Distributions * } */;
698*d4514f0bSApple OSS Distributions
699*d4514f0bSApple OSS Distributions int
nop_allocate(struct vnop_allocate_args * ap)700*d4514f0bSApple OSS Distributions nop_allocate(struct vnop_allocate_args *ap)
701*d4514f0bSApple OSS Distributions {
702*d4514f0bSApple OSS Distributions *(ap->a_bytesallocated) = 0;
703*d4514f0bSApple OSS Distributions return 0;
704*d4514f0bSApple OSS Distributions }
705*d4514f0bSApple OSS Distributions
706*d4514f0bSApple OSS Distributions int
err_allocate(struct vnop_allocate_args * ap)707*d4514f0bSApple OSS Distributions err_allocate(struct vnop_allocate_args *ap)
708*d4514f0bSApple OSS Distributions {
709*d4514f0bSApple OSS Distributions (void)nop_allocate(ap);
710*d4514f0bSApple OSS Distributions return ENOTSUP;
711*d4514f0bSApple OSS Distributions }
712*d4514f0bSApple OSS Distributions
713*d4514f0bSApple OSS Distributions struct vnop_bwrite_args /* {
714*d4514f0bSApple OSS Distributions * struct buf *a_bp;
715*d4514f0bSApple OSS Distributions * } */;
716*d4514f0bSApple OSS Distributions
717*d4514f0bSApple OSS Distributions int
nop_bwrite(struct vnop_bwrite_args * ap)718*d4514f0bSApple OSS Distributions nop_bwrite(struct vnop_bwrite_args *ap)
719*d4514f0bSApple OSS Distributions {
720*d4514f0bSApple OSS Distributions return (int)buf_bwrite(ap->a_bp);
721*d4514f0bSApple OSS Distributions }
722*d4514f0bSApple OSS Distributions
723*d4514f0bSApple OSS Distributions int
err_bwrite(__unused struct vnop_bwrite_args * ap)724*d4514f0bSApple OSS Distributions err_bwrite(__unused struct vnop_bwrite_args *ap)
725*d4514f0bSApple OSS Distributions {
726*d4514f0bSApple OSS Distributions return ENOTSUP;
727*d4514f0bSApple OSS Distributions }
728*d4514f0bSApple OSS Distributions
729*d4514f0bSApple OSS Distributions
730*d4514f0bSApple OSS Distributions struct vnop_pagein_args /* {
731*d4514f0bSApple OSS Distributions * struct vnode *a_vp,
732*d4514f0bSApple OSS Distributions * upl_t a_pl,
733*d4514f0bSApple OSS Distributions * vm_offset_t a_pl_offset,
734*d4514f0bSApple OSS Distributions * off_t a_foffset,
735*d4514f0bSApple OSS Distributions * size_t a_size,
736*d4514f0bSApple OSS Distributions * int a_flags
737*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
738*d4514f0bSApple OSS Distributions * } */;
739*d4514f0bSApple OSS Distributions
740*d4514f0bSApple OSS Distributions int
nop_pagein(struct vnop_pagein_args * ap)741*d4514f0bSApple OSS Distributions nop_pagein(struct vnop_pagein_args *ap)
742*d4514f0bSApple OSS Distributions {
743*d4514f0bSApple OSS Distributions if (!(ap->a_flags & UPL_NOCOMMIT)) {
744*d4514f0bSApple OSS Distributions assert(ap->a_size <= UINT32_MAX);
745*d4514f0bSApple OSS Distributions ubc_upl_abort_range(ap->a_pl, ap->a_pl_offset, (upl_size_t)ap->a_size, UPL_ABORT_FREE_ON_EMPTY | UPL_ABORT_ERROR);
746*d4514f0bSApple OSS Distributions }
747*d4514f0bSApple OSS Distributions return EINVAL;
748*d4514f0bSApple OSS Distributions }
749*d4514f0bSApple OSS Distributions
750*d4514f0bSApple OSS Distributions int
err_pagein(struct vnop_pagein_args * ap)751*d4514f0bSApple OSS Distributions err_pagein(struct vnop_pagein_args *ap)
752*d4514f0bSApple OSS Distributions {
753*d4514f0bSApple OSS Distributions if (!(ap->a_flags & UPL_NOCOMMIT)) {
754*d4514f0bSApple OSS Distributions assert(ap->a_size <= UINT32_MAX);
755*d4514f0bSApple OSS Distributions ubc_upl_abort_range(ap->a_pl, ap->a_pl_offset, (upl_size_t)ap->a_size, UPL_ABORT_FREE_ON_EMPTY | UPL_ABORT_ERROR);
756*d4514f0bSApple OSS Distributions }
757*d4514f0bSApple OSS Distributions return ENOTSUP;
758*d4514f0bSApple OSS Distributions }
759*d4514f0bSApple OSS Distributions
760*d4514f0bSApple OSS Distributions
761*d4514f0bSApple OSS Distributions struct vnop_pageout_args /* {
762*d4514f0bSApple OSS Distributions * struct vnode *a_vp,
763*d4514f0bSApple OSS Distributions * upl_t a_pl,
764*d4514f0bSApple OSS Distributions * vm_offset_t a_pl_offset,
765*d4514f0bSApple OSS Distributions * off_t a_foffset,
766*d4514f0bSApple OSS Distributions * size_t a_size,
767*d4514f0bSApple OSS Distributions * int a_flags
768*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
769*d4514f0bSApple OSS Distributions * } */;
770*d4514f0bSApple OSS Distributions
771*d4514f0bSApple OSS Distributions int
nop_pageout(struct vnop_pageout_args * ap)772*d4514f0bSApple OSS Distributions nop_pageout(struct vnop_pageout_args *ap)
773*d4514f0bSApple OSS Distributions {
774*d4514f0bSApple OSS Distributions if (!(ap->a_flags & UPL_NOCOMMIT)) {
775*d4514f0bSApple OSS Distributions assert(ap->a_size <= UINT32_MAX);
776*d4514f0bSApple OSS Distributions ubc_upl_abort_range(ap->a_pl, ap->a_pl_offset, (upl_size_t)ap->a_size, UPL_ABORT_FREE_ON_EMPTY | UPL_ABORT_ERROR);
777*d4514f0bSApple OSS Distributions }
778*d4514f0bSApple OSS Distributions return EINVAL;
779*d4514f0bSApple OSS Distributions }
780*d4514f0bSApple OSS Distributions
781*d4514f0bSApple OSS Distributions int
err_pageout(struct vnop_pageout_args * ap)782*d4514f0bSApple OSS Distributions err_pageout(struct vnop_pageout_args *ap)
783*d4514f0bSApple OSS Distributions {
784*d4514f0bSApple OSS Distributions if (!(ap->a_flags & UPL_NOCOMMIT)) {
785*d4514f0bSApple OSS Distributions assert(ap->a_size <= UINT32_MAX);
786*d4514f0bSApple OSS Distributions ubc_upl_abort_range(ap->a_pl, ap->a_pl_offset, (upl_size_t)ap->a_size, UPL_ABORT_FREE_ON_EMPTY | UPL_ABORT_ERROR);
787*d4514f0bSApple OSS Distributions }
788*d4514f0bSApple OSS Distributions return ENOTSUP;
789*d4514f0bSApple OSS Distributions }
790*d4514f0bSApple OSS Distributions
791*d4514f0bSApple OSS Distributions
792*d4514f0bSApple OSS Distributions struct vnop_searchfs /* {
793*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
794*d4514f0bSApple OSS Distributions * void *a_searchparams1;
795*d4514f0bSApple OSS Distributions * void *a_searchparams2;
796*d4514f0bSApple OSS Distributions * struct attrlist *a_searchattrs;
797*d4514f0bSApple OSS Distributions * u_long a_maxmatches;
798*d4514f0bSApple OSS Distributions * struct timeval *a_timelimit;
799*d4514f0bSApple OSS Distributions * struct attrlist *a_returnattrs;
800*d4514f0bSApple OSS Distributions * u_long *a_nummatches;
801*d4514f0bSApple OSS Distributions * u_long a_scriptcode;
802*d4514f0bSApple OSS Distributions * u_long a_options;
803*d4514f0bSApple OSS Distributions * struct uio *a_uio;
804*d4514f0bSApple OSS Distributions * struct searchstate *a_searchstate;
805*d4514f0bSApple OSS Distributions * vfs_context_t a_context;
806*d4514f0bSApple OSS Distributions * } */;
807*d4514f0bSApple OSS Distributions
808*d4514f0bSApple OSS Distributions int
nop_searchfs(struct vnop_searchfs_args * ap)809*d4514f0bSApple OSS Distributions nop_searchfs(struct vnop_searchfs_args *ap)
810*d4514f0bSApple OSS Distributions {
811*d4514f0bSApple OSS Distributions *(ap->a_nummatches) = 0;
812*d4514f0bSApple OSS Distributions return 0;
813*d4514f0bSApple OSS Distributions }
814*d4514f0bSApple OSS Distributions
815*d4514f0bSApple OSS Distributions int
err_searchfs(struct vnop_searchfs_args * ap)816*d4514f0bSApple OSS Distributions err_searchfs(struct vnop_searchfs_args *ap)
817*d4514f0bSApple OSS Distributions {
818*d4514f0bSApple OSS Distributions (void)nop_searchfs(ap);
819*d4514f0bSApple OSS Distributions return ENOTSUP;
820*d4514f0bSApple OSS Distributions }
821*d4514f0bSApple OSS Distributions
822*d4514f0bSApple OSS Distributions struct vnop_copyfile_args /*{
823*d4514f0bSApple OSS Distributions * struct vnodeop_desc *a_desc;
824*d4514f0bSApple OSS Distributions * struct vnode *a_fvp;
825*d4514f0bSApple OSS Distributions * struct vnode *a_tdvp;
826*d4514f0bSApple OSS Distributions * struct vnode *a_tvp;
827*d4514f0bSApple OSS Distributions * struct componentname *a_tcnp;
828*d4514f0bSApple OSS Distributions * int a_flags;
829*d4514f0bSApple OSS Distributions * }*/;
830*d4514f0bSApple OSS Distributions
831*d4514f0bSApple OSS Distributions int
nop_copyfile(__unused struct vnop_copyfile_args * ap)832*d4514f0bSApple OSS Distributions nop_copyfile(__unused struct vnop_copyfile_args *ap)
833*d4514f0bSApple OSS Distributions {
834*d4514f0bSApple OSS Distributions return 0;
835*d4514f0bSApple OSS Distributions }
836*d4514f0bSApple OSS Distributions
837*d4514f0bSApple OSS Distributions
838*d4514f0bSApple OSS Distributions int
err_copyfile(struct vnop_copyfile_args * ap)839*d4514f0bSApple OSS Distributions err_copyfile(struct vnop_copyfile_args *ap)
840*d4514f0bSApple OSS Distributions {
841*d4514f0bSApple OSS Distributions (void)nop_copyfile(ap);
842*d4514f0bSApple OSS Distributions return ENOTSUP;
843*d4514f0bSApple OSS Distributions }
844*d4514f0bSApple OSS Distributions
845*d4514f0bSApple OSS Distributions
846*d4514f0bSApple OSS Distributions struct vnop_blktooff_args /* {
847*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
848*d4514f0bSApple OSS Distributions * daddr64_t a_lblkno;
849*d4514f0bSApple OSS Distributions * off_t *a_offset;
850*d4514f0bSApple OSS Distributions * } */;
851*d4514f0bSApple OSS Distributions
852*d4514f0bSApple OSS Distributions int
nop_blktooff(struct vnop_blktooff_args * ap)853*d4514f0bSApple OSS Distributions nop_blktooff(struct vnop_blktooff_args *ap)
854*d4514f0bSApple OSS Distributions {
855*d4514f0bSApple OSS Distributions *ap->a_offset = (off_t)-1; /* failure */
856*d4514f0bSApple OSS Distributions return 0;
857*d4514f0bSApple OSS Distributions }
858*d4514f0bSApple OSS Distributions
859*d4514f0bSApple OSS Distributions int
err_blktooff(struct vnop_blktooff_args * ap)860*d4514f0bSApple OSS Distributions err_blktooff(struct vnop_blktooff_args *ap)
861*d4514f0bSApple OSS Distributions {
862*d4514f0bSApple OSS Distributions (void)nop_blktooff(ap);
863*d4514f0bSApple OSS Distributions return ENOTSUP;
864*d4514f0bSApple OSS Distributions }
865*d4514f0bSApple OSS Distributions
866*d4514f0bSApple OSS Distributions struct vnop_offtoblk_args /* {
867*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
868*d4514f0bSApple OSS Distributions * off_t a_offset;
869*d4514f0bSApple OSS Distributions * daddr64_t *a_lblkno;
870*d4514f0bSApple OSS Distributions * } */;
871*d4514f0bSApple OSS Distributions
872*d4514f0bSApple OSS Distributions int
nop_offtoblk(struct vnop_offtoblk_args * ap)873*d4514f0bSApple OSS Distributions nop_offtoblk(struct vnop_offtoblk_args *ap)
874*d4514f0bSApple OSS Distributions {
875*d4514f0bSApple OSS Distributions *ap->a_lblkno = (daddr64_t)-1; /* failure */
876*d4514f0bSApple OSS Distributions return 0;
877*d4514f0bSApple OSS Distributions }
878*d4514f0bSApple OSS Distributions
879*d4514f0bSApple OSS Distributions int
err_offtoblk(struct vnop_offtoblk_args * ap)880*d4514f0bSApple OSS Distributions err_offtoblk(struct vnop_offtoblk_args *ap)
881*d4514f0bSApple OSS Distributions {
882*d4514f0bSApple OSS Distributions (void)nop_offtoblk(ap);
883*d4514f0bSApple OSS Distributions return ENOTSUP;
884*d4514f0bSApple OSS Distributions }
885*d4514f0bSApple OSS Distributions
886*d4514f0bSApple OSS Distributions struct vnop_blockmap_args /* {
887*d4514f0bSApple OSS Distributions * struct vnode *a_vp;
888*d4514f0bSApple OSS Distributions * off_t a_foffset;
889*d4514f0bSApple OSS Distributions * size_t a_size;
890*d4514f0bSApple OSS Distributions * daddr64_t *a_bpn;
891*d4514f0bSApple OSS Distributions * size_t *a_run;
892*d4514f0bSApple OSS Distributions * void *a_poff;
893*d4514f0bSApple OSS Distributions * int a_flags;
894*d4514f0bSApple OSS Distributions * } */;
895*d4514f0bSApple OSS Distributions
896*d4514f0bSApple OSS Distributions int
nop_blockmap(__unused struct vnop_blockmap_args * ap)897*d4514f0bSApple OSS Distributions nop_blockmap(__unused struct vnop_blockmap_args *ap)
898*d4514f0bSApple OSS Distributions {
899*d4514f0bSApple OSS Distributions return 0;
900*d4514f0bSApple OSS Distributions }
901*d4514f0bSApple OSS Distributions
902*d4514f0bSApple OSS Distributions int
err_blockmap(__unused struct vnop_blockmap_args * ap)903*d4514f0bSApple OSS Distributions err_blockmap(__unused struct vnop_blockmap_args *ap)
904*d4514f0bSApple OSS Distributions {
905*d4514f0bSApple OSS Distributions return ENOTSUP;
906*d4514f0bSApple OSS Distributions }
907