1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 extern struct vnodeop_desc vop_default_desc;
41
42 #include "systm.h"
43
44 struct vop_islocked_args {
45 struct vnodeop_desc *a_desc;
46 struct vnode *a_vp;
47 };
48 extern struct vnodeop_desc vop_islocked_desc;
49 int VOP_ISLOCKED(struct vnode *);
50
51 struct vop_lookup_args {
52 struct vnodeop_desc *a_desc;
53 struct vnode *a_dvp;
54 struct vnode **a_vpp;
55 struct componentname *a_cnp;
56 };
57 extern struct vnodeop_desc vop_lookup_desc;
58 int VOP_LOOKUP(struct vnode *, struct vnode **, struct componentname *);
59
60 struct vop_create_args {
61 struct vnodeop_desc *a_desc;
62 struct vnode *a_dvp;
63 struct vnode **a_vpp;
64 struct componentname *a_cnp;
65 struct vattr *a_vap;
66 };
67 extern struct vnodeop_desc vop_create_desc;
68 int VOP_CREATE(struct vnode *, struct vnode **, struct componentname *,
69 struct vattr *);
70
71 struct vop_mknod_args {
72 struct vnodeop_desc *a_desc;
73 struct vnode *a_dvp;
74 struct vnode **a_vpp;
75 struct componentname *a_cnp;
76 struct vattr *a_vap;
77 };
78 extern struct vnodeop_desc vop_mknod_desc;
79 int VOP_MKNOD(struct vnode *, struct vnode **, struct componentname *,
80 struct vattr *);
81
82 struct vop_open_args {
83 struct vnodeop_desc *a_desc;
84 struct vnode *a_vp;
85 int a_mode;
86 struct ucred *a_cred;
87 struct proc *a_p;
88 };
89 extern struct vnodeop_desc vop_open_desc;
90 int VOP_OPEN(struct vnode *, int, struct ucred *, struct proc *);
91
92 struct vop_close_args {
93 struct vnodeop_desc *a_desc;
94 struct vnode *a_vp;
95 int a_fflag;
96 struct ucred *a_cred;
97 struct proc *a_p;
98 };
99 extern struct vnodeop_desc vop_close_desc;
100 int VOP_CLOSE(struct vnode *, int, struct ucred *, struct proc *);
101
102 struct vop_access_args {
103 struct vnodeop_desc *a_desc;
104 struct vnode *a_vp;
105 int a_mode;
106 struct ucred *a_cred;
107 struct proc *a_p;
108 };
109 extern struct vnodeop_desc vop_access_desc;
110 int VOP_ACCESS(struct vnode *, int, struct ucred *, struct proc *);
111
112 struct vop_getattr_args {
113 struct vnodeop_desc *a_desc;
114 struct vnode *a_vp;
115 struct vattr *a_vap;
116 struct ucred *a_cred;
117 struct proc *a_p;
118 };
119 extern struct vnodeop_desc vop_getattr_desc;
120 int VOP_GETATTR(struct vnode *, struct vattr *, struct ucred *, struct proc *);
121
122 struct vop_setattr_args {
123 struct vnodeop_desc *a_desc;
124 struct vnode *a_vp;
125 struct vattr *a_vap;
126 struct ucred *a_cred;
127 struct proc *a_p;
128 };
129 extern struct vnodeop_desc vop_setattr_desc;
130 int VOP_SETATTR(struct vnode *, struct vattr *, struct ucred *, struct proc *);
131
132 struct vop_read_args {
133 struct vnodeop_desc *a_desc;
134 struct vnode *a_vp;
135 struct uio *a_uio;
136 int a_ioflag;
137 struct ucred *a_cred;
138 };
139 extern struct vnodeop_desc vop_read_desc;
140 int VOP_READ(struct vnode *, struct uio *, int, struct ucred *);
141
142 struct vop_write_args {
143 struct vnodeop_desc *a_desc;
144 struct vnode *a_vp;
145 struct uio *a_uio;
146 int a_ioflag;
147 struct ucred *a_cred;
148 };
149 extern struct vnodeop_desc vop_write_desc;
150 int VOP_WRITE(struct vnode *, struct uio *, int, struct ucred *);
151
152 struct vop_ioctl_args {
153 struct vnodeop_desc *a_desc;
154 struct vnode *a_vp;
155 u_long a_command;
156 void *a_data;
157 int a_fflag;
158 struct ucred *a_cred;
159 struct proc *a_p;
160 };
161 extern struct vnodeop_desc vop_ioctl_desc;
162 int VOP_IOCTL(struct vnode *, u_long, void *, int, struct ucred *,
163 struct proc *);
164
165 struct vop_poll_args {
166 struct vnodeop_desc *a_desc;
167 struct vnode *a_vp;
168 int a_events;
169 struct proc *a_p;
170 };
171 extern struct vnodeop_desc vop_poll_desc;
172 int VOP_POLL(struct vnode *, int, struct proc *);
173
174 struct vop_kqfilter_args {
175 struct vnodeop_desc *a_desc;
176 struct vnode *a_vp;
177 struct knote *a_kn;
178 };
179 extern struct vnodeop_desc vop_kqfilter_desc;
180 int VOP_KQFILTER(struct vnode *, struct knote *);
181
182 struct vop_revoke_args {
183 struct vnodeop_desc *a_desc;
184 struct vnode *a_vp;
185 int a_flags;
186 };
187 extern struct vnodeop_desc vop_revoke_desc;
188 int VOP_REVOKE(struct vnode *, int);
189
190 struct vop_fsync_args {
191 struct vnodeop_desc *a_desc;
192 struct vnode *a_vp;
193 struct ucred *a_cred;
194 int a_waitfor;
195 struct proc *a_p;
196 };
197 extern struct vnodeop_desc vop_fsync_desc;
198 int VOP_FSYNC(struct vnode *, struct ucred *, int, struct proc *);
199
200 struct vop_remove_args {
201 struct vnodeop_desc *a_desc;
202 struct vnode *a_dvp;
203 struct vnode *a_vp;
204 struct componentname *a_cnp;
205 };
206 extern struct vnodeop_desc vop_remove_desc;
207 int VOP_REMOVE(struct vnode *, struct vnode *, struct componentname *);
208
209 struct vop_link_args {
210 struct vnodeop_desc *a_desc;
211 struct vnode *a_dvp;
212 struct vnode *a_vp;
213 struct componentname *a_cnp;
214 };
215 extern struct vnodeop_desc vop_link_desc;
216 int VOP_LINK(struct vnode *, struct vnode *, struct componentname *);
217
218 struct vop_rename_args {
219 struct vnodeop_desc *a_desc;
220 struct vnode *a_fdvp;
221 struct vnode *a_fvp;
222 struct componentname *a_fcnp;
223 struct vnode *a_tdvp;
224 struct vnode *a_tvp;
225 struct componentname *a_tcnp;
226 };
227 extern struct vnodeop_desc vop_rename_desc;
228 int VOP_RENAME(struct vnode *, struct vnode *, struct componentname *,
229 struct vnode *, struct vnode *, struct componentname *);
230
231 struct vop_mkdir_args {
232 struct vnodeop_desc *a_desc;
233 struct vnode *a_dvp;
234 struct vnode **a_vpp;
235 struct componentname *a_cnp;
236 struct vattr *a_vap;
237 };
238 extern struct vnodeop_desc vop_mkdir_desc;
239 int VOP_MKDIR(struct vnode *, struct vnode **, struct componentname *,
240 struct vattr *);
241
242 struct vop_rmdir_args {
243 struct vnodeop_desc *a_desc;
244 struct vnode *a_dvp;
245 struct vnode *a_vp;
246 struct componentname *a_cnp;
247 };
248 extern struct vnodeop_desc vop_rmdir_desc;
249 int VOP_RMDIR(struct vnode *, struct vnode *, struct componentname *);
250
251 struct vop_symlink_args {
252 struct vnodeop_desc *a_desc;
253 struct vnode *a_dvp;
254 struct vnode **a_vpp;
255 struct componentname *a_cnp;
256 struct vattr *a_vap;
257 char *a_target;
258 };
259 extern struct vnodeop_desc vop_symlink_desc;
260 int VOP_SYMLINK(struct vnode *, struct vnode **, struct componentname *,
261 struct vattr *, char *);
262
263 struct vop_readdir_args {
264 struct vnodeop_desc *a_desc;
265 struct vnode *a_vp;
266 struct uio *a_uio;
267 struct ucred *a_cred;
268 int *a_eofflag;
269 int *a_ncookies;
270 u_long **a_cookies;
271 };
272 extern struct vnodeop_desc vop_readdir_desc;
273 int VOP_READDIR(struct vnode *, struct uio *, struct ucred *, int *, int *,
274 u_long **);
275
276 struct vop_readlink_args {
277 struct vnodeop_desc *a_desc;
278 struct vnode *a_vp;
279 struct uio *a_uio;
280 struct ucred *a_cred;
281 };
282 extern struct vnodeop_desc vop_readlink_desc;
283 int VOP_READLINK(struct vnode *, struct uio *, struct ucred *);
284
285 struct vop_abortop_args {
286 struct vnodeop_desc *a_desc;
287 struct vnode *a_dvp;
288 struct componentname *a_cnp;
289 };
290 extern struct vnodeop_desc vop_abortop_desc;
291 int VOP_ABORTOP(struct vnode *, struct componentname *);
292
293 struct vop_inactive_args {
294 struct vnodeop_desc *a_desc;
295 struct vnode *a_vp;
296 struct proc *a_p;
297 };
298 extern struct vnodeop_desc vop_inactive_desc;
299 int VOP_INACTIVE(struct vnode *, struct proc *);
300
301 struct vop_reclaim_args {
302 struct vnodeop_desc *a_desc;
303 struct vnode *a_vp;
304 struct proc *a_p;
305 };
306 extern struct vnodeop_desc vop_reclaim_desc;
307 int VOP_RECLAIM(struct vnode *, struct proc *);
308
309 struct vop_lock_args {
310 struct vnodeop_desc *a_desc;
311 struct vnode *a_vp;
312 int a_flags;
313 struct proc *a_p;
314 };
315 extern struct vnodeop_desc vop_lock_desc;
316 int VOP_LOCK(struct vnode *, int, struct proc *);
317
318 struct vop_unlock_args {
319 struct vnodeop_desc *a_desc;
320 struct vnode *a_vp;
321 int a_flags;
322 struct proc *a_p;
323 };
324 extern struct vnodeop_desc vop_unlock_desc;
325 int VOP_UNLOCK(struct vnode *, int, struct proc *);
326
327 struct vop_bmap_args {
328 struct vnodeop_desc *a_desc;
329 struct vnode *a_vp;
330 daddr64_t a_bn;
331 struct vnode **a_vpp;
332 daddr64_t *a_bnp;
333 int *a_runp;
334 };
335 extern struct vnodeop_desc vop_bmap_desc;
336 int VOP_BMAP(struct vnode *, daddr64_t, struct vnode **, daddr64_t *, int *);
337
338 struct vop_print_args {
339 struct vnodeop_desc *a_desc;
340 struct vnode *a_vp;
341 };
342 extern struct vnodeop_desc vop_print_desc;
343 int VOP_PRINT(struct vnode *);
344
345 struct vop_pathconf_args {
346 struct vnodeop_desc *a_desc;
347 struct vnode *a_vp;
348 int a_name;
349 register_t *a_retval;
350 };
351 extern struct vnodeop_desc vop_pathconf_desc;
352 int VOP_PATHCONF(struct vnode *, int, register_t *);
353
354 struct vop_advlock_args {
355 struct vnodeop_desc *a_desc;
356 struct vnode *a_vp;
357 void *a_id;
358 int a_op;
359 struct flock *a_fl;
360 int a_flags;
361 };
362 extern struct vnodeop_desc vop_advlock_desc;
363 int VOP_ADVLOCK(struct vnode *, void *, int, struct flock *, int);
364
365 struct vop_reallocblks_args {
366 struct vnodeop_desc *a_desc;
367 struct vnode *a_vp;
368 struct cluster_save *a_buflist;
369 };
370 extern struct vnodeop_desc vop_reallocblks_desc;
371 int VOP_REALLOCBLKS(struct vnode *, struct cluster_save *);
372
373
374 #include <sys/buf.h>
375
376 struct vop_strategy_args {
377 struct vnodeop_desc *a_desc;
378 struct buf *a_bp;
379 };
380 extern struct vnodeop_desc vop_strategy_desc;
381 int VOP_STRATEGY(struct buf *);
382
383 struct vop_bwrite_args {
384 struct vnodeop_desc *a_desc;
385 struct buf *a_bp;
386 };
387 extern struct vnodeop_desc vop_bwrite_desc;
388 int VOP_BWRITE(struct buf *);
389
390