|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25:
26: /*
27: * Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
28: * Copyright (c) 1992, 1993, 1994, 1995
29: * The Regents of the University of California. All rights reserved.
30: *
31: * The NEXTSTEP Software License Agreement specifies the terms
32: * and conditions for redistribution.
33: *
34: */
35:
36:
37: /*
38: * Warning: This file is generated automatically.
39: * (Modifications made here may easily be lost!)
40: *
41: * Created by the script:
42: * @(#)vnode_if.sh 8.7 (Berkeley) 5/11/95
43: */
44:
45:
46: extern struct vnodeop_desc vop_default_desc;
47:
48:
49: struct vop_lookup_args {
50: struct vnodeop_desc *a_desc;
51: struct vnode *a_dvp;
52: struct vnode **a_vpp;
53: struct componentname *a_cnp;
54: };
55: extern struct vnodeop_desc vop_lookup_desc;
56: #define VOP_LOOKUP(dvp, vpp, cnp) _VOP_LOOKUP(dvp, vpp, cnp)
57: static __inline int _VOP_LOOKUP(dvp, vpp, cnp)
58: struct vnode *dvp;
59: struct vnode **vpp;
60: struct componentname *cnp;
61: {
62: struct vop_lookup_args a;
63: a.a_desc = VDESC(vop_lookup);
64: a.a_dvp = dvp;
65: a.a_vpp = vpp;
66: a.a_cnp = cnp;
67: return (VCALL(dvp, VOFFSET(vop_lookup), &a));
68: }
69:
70: struct vop_create_args {
71: struct vnodeop_desc *a_desc;
72: struct vnode *a_dvp;
73: struct vnode **a_vpp;
74: struct componentname *a_cnp;
75: struct vattr *a_vap;
76: };
77: extern struct vnodeop_desc vop_create_desc;
78: #define VOP_CREATE(dvp, vpp, cnp, vap) _VOP_CREATE(dvp, vpp, cnp, vap)
79: static __inline int _VOP_CREATE(dvp, vpp, cnp, vap)
80: struct vnode *dvp;
81: struct vnode **vpp;
82: struct componentname *cnp;
83: struct vattr *vap;
84: {
85: struct vop_create_args a;
86: a.a_desc = VDESC(vop_create);
87: a.a_dvp = dvp;
88: a.a_vpp = vpp;
89: a.a_cnp = cnp;
90: a.a_vap = vap;
91: return (VCALL(dvp, VOFFSET(vop_create), &a));
92: }
93:
94: struct vop_whiteout_args {
95: struct vnodeop_desc *a_desc;
96: struct vnode *a_dvp;
97: struct componentname *a_cnp;
98: int a_flags;
99: };
100: extern struct vnodeop_desc vop_whiteout_desc;
101: #define VOP_WHITEOUT(dvp, cnp, flags) _VOP_WHITEOUT(dvp, cnp, flags)
102: static __inline int _VOP_WHITEOUT(dvp, cnp, flags)
103: struct vnode *dvp;
104: struct componentname *cnp;
105: int flags;
106: {
107: struct vop_whiteout_args a;
108: a.a_desc = VDESC(vop_whiteout);
109: a.a_dvp = dvp;
110: a.a_cnp = cnp;
111: a.a_flags = flags;
112: return (VCALL(dvp, VOFFSET(vop_whiteout), &a));
113: }
114:
115: struct vop_mknod_args {
116: struct vnodeop_desc *a_desc;
117: struct vnode *a_dvp;
118: struct vnode **a_vpp;
119: struct componentname *a_cnp;
120: struct vattr *a_vap;
121: };
122: extern struct vnodeop_desc vop_mknod_desc;
123: #define VOP_MKNOD(dvp, vpp, cnp, vap) _VOP_MKNOD(dvp, vpp, cnp, vap)
124: static __inline int _VOP_MKNOD(dvp, vpp, cnp, vap)
125: struct vnode *dvp;
126: struct vnode **vpp;
127: struct componentname *cnp;
128: struct vattr *vap;
129: {
130: struct vop_mknod_args a;
131: a.a_desc = VDESC(vop_mknod);
132: a.a_dvp = dvp;
133: a.a_vpp = vpp;
134: a.a_cnp = cnp;
135: a.a_vap = vap;
136: return (VCALL(dvp, VOFFSET(vop_mknod), &a));
137: }
138:
139: struct vop_mkcomplex_args {
140: struct vnodeop_desc *a_desc;
141: struct vnode *a_dvp;
142: struct vnode **a_vpp;
143: struct componentname *a_cnp;
144: struct vattr *a_vap;
145: u_long a_type;
146: };
147: extern struct vnodeop_desc vop_mkcomplex_desc;
148: #define VOP_MKCOMPLEX(dvp, vpp, cnp, vap, type) _VOP_MKCOMPLEX(dvp, vpp, cnp, vap, type)
149: static __inline int _VOP_MKCOMPLEX(dvp, vpp, cnp, vap, type)
150: struct vnode *dvp;
151: struct vnode **vpp;
152: struct componentname *cnp;
153: struct vattr *vap;
154: u_long type;
155: {
156: struct vop_mkcomplex_args a;
157: a.a_desc = VDESC(vop_mkcomplex);
158: a.a_dvp = dvp;
159: a.a_vpp = vpp;
160: a.a_cnp = cnp;
161: a.a_vap = vap;
162: a.a_type = type;
163: return (VCALL(dvp, VOFFSET(vop_mkcomplex), &a));
164: }
165:
166: struct vop_open_args {
167: struct vnodeop_desc *a_desc;
168: struct vnode *a_vp;
169: int a_mode;
170: struct ucred *a_cred;
171: struct proc *a_p;
172: };
173: extern struct vnodeop_desc vop_open_desc;
174: #define VOP_OPEN(vp, mode, cred, p) _VOP_OPEN(vp, mode, cred, p)
175: static __inline int _VOP_OPEN(vp, mode, cred, p)
176: struct vnode *vp;
177: int mode;
178: struct ucred *cred;
179: struct proc *p;
180: {
181: struct vop_open_args a;
182: a.a_desc = VDESC(vop_open);
183: a.a_vp = vp;
184: a.a_mode = mode;
185: a.a_cred = cred;
186: a.a_p = p;
187: return (VCALL(vp, VOFFSET(vop_open), &a));
188: }
189:
190: struct vop_close_args {
191: struct vnodeop_desc *a_desc;
192: struct vnode *a_vp;
193: int a_fflag;
194: struct ucred *a_cred;
195: struct proc *a_p;
196: };
197: extern struct vnodeop_desc vop_close_desc;
198: #define VOP_CLOSE(vp, fflag, cred, p) _VOP_CLOSE(vp, fflag, cred, p)
199: static __inline int _VOP_CLOSE(vp, fflag, cred, p)
200: struct vnode *vp;
201: int fflag;
202: struct ucred *cred;
203: struct proc *p;
204: {
205: struct vop_close_args a;
206: a.a_desc = VDESC(vop_close);
207: a.a_vp = vp;
208: a.a_fflag = fflag;
209: a.a_cred = cred;
210: a.a_p = p;
211: return (VCALL(vp, VOFFSET(vop_close), &a));
212: }
213:
214: struct vop_access_args {
215: struct vnodeop_desc *a_desc;
216: struct vnode *a_vp;
217: int a_mode;
218: struct ucred *a_cred;
219: struct proc *a_p;
220: };
221: extern struct vnodeop_desc vop_access_desc;
222: #define VOP_ACCESS(vp, mode, cred, p) _VOP_ACCESS(vp, mode, cred, p)
223: static __inline int _VOP_ACCESS(vp, mode, cred, p)
224: struct vnode *vp;
225: int mode;
226: struct ucred *cred;
227: struct proc *p;
228: {
229: struct vop_access_args a;
230: a.a_desc = VDESC(vop_access);
231: a.a_vp = vp;
232: a.a_mode = mode;
233: a.a_cred = cred;
234: a.a_p = p;
235: return (VCALL(vp, VOFFSET(vop_access), &a));
236: }
237:
238: struct vop_getattr_args {
239: struct vnodeop_desc *a_desc;
240: struct vnode *a_vp;
241: struct vattr *a_vap;
242: struct ucred *a_cred;
243: struct proc *a_p;
244: };
245: extern struct vnodeop_desc vop_getattr_desc;
246: #define VOP_GETATTR(vp, vap, cred, p) _VOP_GETATTR(vp, vap, cred, p)
247: static __inline int _VOP_GETATTR(vp, vap, cred, p)
248: struct vnode *vp;
249: struct vattr *vap;
250: struct ucred *cred;
251: struct proc *p;
252: {
253: struct vop_getattr_args a;
254: a.a_desc = VDESC(vop_getattr);
255: a.a_vp = vp;
256: a.a_vap = vap;
257: a.a_cred = cred;
258: a.a_p = p;
259: return (VCALL(vp, VOFFSET(vop_getattr), &a));
260: }
261:
262: struct vop_setattr_args {
263: struct vnodeop_desc *a_desc;
264: struct vnode *a_vp;
265: struct vattr *a_vap;
266: struct ucred *a_cred;
267: struct proc *a_p;
268: };
269: extern struct vnodeop_desc vop_setattr_desc;
270: #define VOP_SETATTR(vp, vap, cred, p) _VOP_SETATTR(vp, vap, cred, p)
271: static __inline int _VOP_SETATTR(vp, vap, cred, p)
272: struct vnode *vp;
273: struct vattr *vap;
274: struct ucred *cred;
275: struct proc *p;
276: {
277: struct vop_setattr_args a;
278: a.a_desc = VDESC(vop_setattr);
279: a.a_vp = vp;
280: a.a_vap = vap;
281: a.a_cred = cred;
282: a.a_p = p;
283: return (VCALL(vp, VOFFSET(vop_setattr), &a));
284: }
285:
286: struct vop_getattrlist_args {
287: struct vnodeop_desc *a_desc;
288: struct vnode *a_vp;
289: struct attrlist *a_alist;
290: struct uio *a_uio;
291: struct ucred *a_cred;
292: struct proc *a_p;
293: };
294: extern struct vnodeop_desc vop_getattrlist_desc;
295: #define VOP_GETATTRLIST(vp, alist, uio, cred, p) _VOP_GETATTRLIST(vp, alist, uio, cred, p)
296: static __inline int _VOP_GETATTRLIST(vp, alist, uio, cred, p)
297: struct vnode *vp;
298: struct attrlist *alist;
299: struct uio *uio;
300: struct ucred *cred;
301: struct proc *p;
302: {
303: struct vop_getattrlist_args a;
304: a.a_desc = VDESC(vop_getattrlist);
305: a.a_vp = vp;
306: a.a_alist = alist;
307: a.a_uio = uio;
308: a.a_cred = cred;
309: a.a_p = p;
310: return (VCALL(vp, VOFFSET(vop_getattrlist), &a));
311: }
312:
313: struct vop_setattrlist_args {
314: struct vnodeop_desc *a_desc;
315: struct vnode *a_vp;
316: struct attrlist *a_alist;
317: struct uio *a_uio;
318: struct ucred *a_cred;
319: struct proc *a_p;
320: };
321: extern struct vnodeop_desc vop_setattrlist_desc;
322: #define VOP_SETATTRLIST(vp, alist, uio, cred, p) _VOP_SETATTRLIST(vp, alist, uio, cred, p)
323: static __inline int _VOP_SETATTRLIST(vp, alist, uio, cred, p)
324: struct vnode *vp;
325: struct attrlist *alist;
326: struct uio *uio;
327: struct ucred *cred;
328: struct proc *p;
329: {
330: struct vop_setattrlist_args a;
331: a.a_desc = VDESC(vop_setattrlist);
332: a.a_vp = vp;
333: a.a_alist = alist;
334: a.a_uio = uio;
335: a.a_cred = cred;
336: a.a_p = p;
337: return (VCALL(vp, VOFFSET(vop_setattrlist), &a));
338: }
339:
340: struct vop_read_args {
341: struct vnodeop_desc *a_desc;
342: struct vnode *a_vp;
343: struct uio *a_uio;
344: int a_ioflag;
345: struct ucred *a_cred;
346: };
347: extern struct vnodeop_desc vop_read_desc;
348: #define VOP_READ(vp, uio, ioflag, cred) _VOP_READ(vp, uio, ioflag, cred)
349: static __inline int _VOP_READ(vp, uio, ioflag, cred)
350: struct vnode *vp;
351: struct uio *uio;
352: int ioflag;
353: struct ucred *cred;
354: {
355: struct vop_read_args a;
356: a.a_desc = VDESC(vop_read);
357: a.a_vp = vp;
358: a.a_uio = uio;
359: a.a_ioflag = ioflag;
360: a.a_cred = cred;
361: return (VCALL(vp, VOFFSET(vop_read), &a));
362: }
363:
364: struct vop_write_args {
365: struct vnodeop_desc *a_desc;
366: struct vnode *a_vp;
367: struct uio *a_uio;
368: int a_ioflag;
369: struct ucred *a_cred;
370: };
371: extern struct vnodeop_desc vop_write_desc;
372: #define VOP_WRITE(vp, uio, ioflag, cred) _VOP_WRITE(vp, uio, ioflag, cred)
373: static __inline int _VOP_WRITE(vp, uio, ioflag, cred)
374: struct vnode *vp;
375: struct uio *uio;
376: int ioflag;
377: struct ucred *cred;
378: {
379: struct vop_write_args a;
380: a.a_desc = VDESC(vop_write);
381: a.a_vp = vp;
382: a.a_uio = uio;
383: a.a_ioflag = ioflag;
384: a.a_cred = cred;
385: return (VCALL(vp, VOFFSET(vop_write), &a));
386: }
387:
388: struct vop_lease_args {
389: struct vnodeop_desc *a_desc;
390: struct vnode *a_vp;
391: struct proc *a_p;
392: struct ucred *a_cred;
393: int a_flag;
394: };
395: extern struct vnodeop_desc vop_lease_desc;
396: #define VOP_LEASE(vp, p, cred, flag) _VOP_LEASE(vp, p, cred, flag)
397: static __inline int _VOP_LEASE(vp, p, cred, flag)
398: struct vnode *vp;
399: struct proc *p;
400: struct ucred *cred;
401: int flag;
402: {
403: struct vop_lease_args a;
404: a.a_desc = VDESC(vop_lease);
405: a.a_vp = vp;
406: a.a_p = p;
407: a.a_cred = cred;
408: a.a_flag = flag;
409: return (VCALL(vp, VOFFSET(vop_lease), &a));
410: }
411:
412: struct vop_ioctl_args {
413: struct vnodeop_desc *a_desc;
414: struct vnode *a_vp;
415: u_long a_command;
416: caddr_t a_data;
417: int a_fflag;
418: struct ucred *a_cred;
419: struct proc *a_p;
420: };
421: extern struct vnodeop_desc vop_ioctl_desc;
422: #define VOP_IOCTL(vp, command, data, fflag, cred, p) _VOP_IOCTL(vp, command, data, fflag, cred, p)
423: static __inline int _VOP_IOCTL(vp, command, data, fflag, cred, p)
424: struct vnode *vp;
425: u_long command;
426: caddr_t data;
427: int fflag;
428: struct ucred *cred;
429: struct proc *p;
430: {
431: struct vop_ioctl_args a;
432: a.a_desc = VDESC(vop_ioctl);
433: a.a_vp = vp;
434: a.a_command = command;
435: a.a_data = data;
436: a.a_fflag = fflag;
437: a.a_cred = cred;
438: a.a_p = p;
439: return (VCALL(vp, VOFFSET(vop_ioctl), &a));
440: }
441:
442: struct vop_select_args {
443: struct vnodeop_desc *a_desc;
444: struct vnode *a_vp;
445: int a_which;
446: int a_fflags;
447: struct ucred *a_cred;
448: struct proc *a_p;
449: };
450: extern struct vnodeop_desc vop_select_desc;
451: #define VOP_SELECT(vp, which, fflags, cred, p) _VOP_SELECT(vp, which, fflags, cred, p)
452: static __inline int _VOP_SELECT(vp, which, fflags, cred, p)
453: struct vnode *vp;
454: int which;
455: int fflags;
456: struct ucred *cred;
457: struct proc *p;
458: {
459: struct vop_select_args a;
460: a.a_desc = VDESC(vop_select);
461: a.a_vp = vp;
462: a.a_which = which;
463: a.a_fflags = fflags;
464: a.a_cred = cred;
465: a.a_p = p;
466: return (VCALL(vp, VOFFSET(vop_select), &a));
467: }
468:
469: struct vop_exchange_args {
470: struct vnodeop_desc *a_desc;
471: struct vnode *a_fvp;
472: struct vnode *a_tvp;
473: struct ucred *a_cred;
474: struct proc *a_p;
475: };
476: extern struct vnodeop_desc vop_exchange_desc;
477: #define VOP_EXCHANGE(fvp, tvp, cred, p) _VOP_EXCHANGE(fvp, tvp, cred, p)
478: static __inline int _VOP_EXCHANGE(fvp, tvp, cred, p)
479: struct vnode *fvp;
480: struct vnode *tvp;
481: struct ucred *cred;
482: struct proc *p;
483: {
484: struct vop_exchange_args a;
485: a.a_desc = VDESC(vop_exchange);
486: a.a_fvp = fvp;
487: a.a_tvp = tvp;
488: a.a_cred = cred;
489: a.a_p = p;
490: return (VCALL(fvp, VOFFSET(vop_exchange), &a));
491: }
492:
493: struct vop_revoke_args {
494: struct vnodeop_desc *a_desc;
495: struct vnode *a_vp;
496: int a_flags;
497: };
498: extern struct vnodeop_desc vop_revoke_desc;
499: #define VOP_REVOKE(vp, flags) _VOP_REVOKE(vp, flags)
500: static __inline int _VOP_REVOKE(vp, flags)
501: struct vnode *vp;
502: int flags;
503: {
504: struct vop_revoke_args a;
505: a.a_desc = VDESC(vop_revoke);
506: a.a_vp = vp;
507: a.a_flags = flags;
508: return (VCALL(vp, VOFFSET(vop_revoke), &a));
509: }
510:
511: struct vop_mmap_args {
512: struct vnodeop_desc *a_desc;
513: struct vnode *a_vp;
514: int a_fflags;
515: struct ucred *a_cred;
516: struct proc *a_p;
517: };
518: extern struct vnodeop_desc vop_mmap_desc;
519: #define VOP_MMAP(vp, fflags, cred, p) _VOP_MMAP(vp, fflags, cred, p)
520: static __inline int _VOP_MMAP(vp, fflags, cred, p)
521: struct vnode *vp;
522: int fflags;
523: struct ucred *cred;
524: struct proc *p;
525: {
526: struct vop_mmap_args a;
527: a.a_desc = VDESC(vop_mmap);
528: a.a_vp = vp;
529: a.a_fflags = fflags;
530: a.a_cred = cred;
531: a.a_p = p;
532: return (VCALL(vp, VOFFSET(vop_mmap), &a));
533: }
534:
535: struct vop_fsync_args {
536: struct vnodeop_desc *a_desc;
537: struct vnode *a_vp;
538: struct ucred *a_cred;
539: int a_waitfor;
540: struct proc *a_p;
541: };
542: extern struct vnodeop_desc vop_fsync_desc;
543: #define VOP_FSYNC(vp, cred, waitfor, p) _VOP_FSYNC(vp, cred, waitfor, p)
544: static __inline int _VOP_FSYNC(vp, cred, waitfor, p)
545: struct vnode *vp;
546: struct ucred *cred;
547: int waitfor;
548: struct proc *p;
549: {
550: struct vop_fsync_args a;
551: a.a_desc = VDESC(vop_fsync);
552: a.a_vp = vp;
553: a.a_cred = cred;
554: a.a_waitfor = waitfor;
555: a.a_p = p;
556: return (VCALL(vp, VOFFSET(vop_fsync), &a));
557: }
558:
559: struct vop_seek_args {
560: struct vnodeop_desc *a_desc;
561: struct vnode *a_vp;
562: off_t a_oldoff;
563: off_t a_newoff;
564: struct ucred *a_cred;
565: };
566: extern struct vnodeop_desc vop_seek_desc;
567: #define VOP_SEEK(vp, oldoff, newoff, cred) _VOP_SEEK(vp, oldoff, newoff, cred)
568: static __inline int _VOP_SEEK(vp, oldoff, newoff, cred)
569: struct vnode *vp;
570: off_t oldoff;
571: off_t newoff;
572: struct ucred *cred;
573: {
574: struct vop_seek_args a;
575: a.a_desc = VDESC(vop_seek);
576: a.a_vp = vp;
577: a.a_oldoff = oldoff;
578: a.a_newoff = newoff;
579: a.a_cred = cred;
580: return (VCALL(vp, VOFFSET(vop_seek), &a));
581: }
582:
583: struct vop_remove_args {
584: struct vnodeop_desc *a_desc;
585: struct vnode *a_dvp;
586: struct vnode *a_vp;
587: struct componentname *a_cnp;
588: };
589: extern struct vnodeop_desc vop_remove_desc;
590: #define VOP_REMOVE(dvp, vp, cnp) _VOP_REMOVE(dvp, vp, cnp)
591: static __inline int _VOP_REMOVE(dvp, vp, cnp)
592: struct vnode *dvp;
593: struct vnode *vp;
594: struct componentname *cnp;
595: {
596: struct vop_remove_args a;
597: a.a_desc = VDESC(vop_remove);
598: a.a_dvp = dvp;
599: a.a_vp = vp;
600: a.a_cnp = cnp;
601: return (VCALL(dvp, VOFFSET(vop_remove), &a));
602: }
603:
604: struct vop_link_args {
605: struct vnodeop_desc *a_desc;
606: struct vnode *a_vp;
607: struct vnode *a_tdvp;
608: struct componentname *a_cnp;
609: };
610: extern struct vnodeop_desc vop_link_desc;
611: #define VOP_LINK(vp, tdvp, cnp) _VOP_LINK(vp, tdvp, cnp)
612: static __inline int _VOP_LINK(vp, tdvp, cnp)
613: struct vnode *vp;
614: struct vnode *tdvp;
615: struct componentname *cnp;
616: {
617: struct vop_link_args a;
618: a.a_desc = VDESC(vop_link);
619: a.a_vp = vp;
620: a.a_tdvp = tdvp;
621: a.a_cnp = cnp;
622: return (VCALL(vp, VOFFSET(vop_link), &a));
623: }
624:
625: struct vop_rename_args {
626: struct vnodeop_desc *a_desc;
627: struct vnode *a_fdvp;
628: struct vnode *a_fvp;
629: struct componentname *a_fcnp;
630: struct vnode *a_tdvp;
631: struct vnode *a_tvp;
632: struct componentname *a_tcnp;
633: };
634: extern struct vnodeop_desc vop_rename_desc;
635: #define VOP_RENAME(fdvp, fvp, fcnp, tdvp, tvp, tcnp) _VOP_RENAME(fdvp, fvp, fcnp, tdvp, tvp, tcnp)
636: static __inline int _VOP_RENAME(fdvp, fvp, fcnp, tdvp, tvp, tcnp)
637: struct vnode *fdvp;
638: struct vnode *fvp;
639: struct componentname *fcnp;
640: struct vnode *tdvp;
641: struct vnode *tvp;
642: struct componentname *tcnp;
643: {
644: struct vop_rename_args a;
645: a.a_desc = VDESC(vop_rename);
646: a.a_fdvp = fdvp;
647: a.a_fvp = fvp;
648: a.a_fcnp = fcnp;
649: a.a_tdvp = tdvp;
650: a.a_tvp = tvp;
651: a.a_tcnp = tcnp;
652: return (VCALL(fdvp, VOFFSET(vop_rename), &a));
653: }
654:
655: struct vop_mkdir_args {
656: struct vnodeop_desc *a_desc;
657: struct vnode *a_dvp;
658: struct vnode **a_vpp;
659: struct componentname *a_cnp;
660: struct vattr *a_vap;
661: };
662: extern struct vnodeop_desc vop_mkdir_desc;
663: #define VOP_MKDIR(dvp, vpp, cnp, vap) _VOP_MKDIR(dvp, vpp, cnp, vap)
664: static __inline int _VOP_MKDIR(dvp, vpp, cnp, vap)
665: struct vnode *dvp;
666: struct vnode **vpp;
667: struct componentname *cnp;
668: struct vattr *vap;
669: {
670: struct vop_mkdir_args a;
671: a.a_desc = VDESC(vop_mkdir);
672: a.a_dvp = dvp;
673: a.a_vpp = vpp;
674: a.a_cnp = cnp;
675: a.a_vap = vap;
676: return (VCALL(dvp, VOFFSET(vop_mkdir), &a));
677: }
678:
679: struct vop_rmdir_args {
680: struct vnodeop_desc *a_desc;
681: struct vnode *a_dvp;
682: struct vnode *a_vp;
683: struct componentname *a_cnp;
684: };
685: extern struct vnodeop_desc vop_rmdir_desc;
686: #define VOP_RMDIR(dvp, vp, cnp) _VOP_RMDIR(dvp, vp, cnp)
687: static __inline int _VOP_RMDIR(dvp, vp, cnp)
688: struct vnode *dvp;
689: struct vnode *vp;
690: struct componentname *cnp;
691: {
692: struct vop_rmdir_args a;
693: a.a_desc = VDESC(vop_rmdir);
694: a.a_dvp = dvp;
695: a.a_vp = vp;
696: a.a_cnp = cnp;
697: return (VCALL(dvp, VOFFSET(vop_rmdir), &a));
698: }
699:
700: struct vop_symlink_args {
701: struct vnodeop_desc *a_desc;
702: struct vnode *a_dvp;
703: struct vnode **a_vpp;
704: struct componentname *a_cnp;
705: struct vattr *a_vap;
706: char *a_target;
707: };
708: extern struct vnodeop_desc vop_symlink_desc;
709: #define VOP_SYMLINK(dvp, vpp, cnp, vap, target) _VOP_SYMLINK(dvp, vpp, cnp, vap, target)
710: static __inline int _VOP_SYMLINK(dvp, vpp, cnp, vap, target)
711: struct vnode *dvp;
712: struct vnode **vpp;
713: struct componentname *cnp;
714: struct vattr *vap;
715: char *target;
716: {
717: struct vop_symlink_args a;
718: a.a_desc = VDESC(vop_symlink);
719: a.a_dvp = dvp;
720: a.a_vpp = vpp;
721: a.a_cnp = cnp;
722: a.a_vap = vap;
723: a.a_target = target;
724: return (VCALL(dvp, VOFFSET(vop_symlink), &a));
725: }
726:
727: struct vop_readdir_args {
728: struct vnodeop_desc *a_desc;
729: struct vnode *a_vp;
730: struct uio *a_uio;
731: struct ucred *a_cred;
732: int *a_eofflag;
733: int *a_ncookies;
734: u_long **a_cookies;
735: };
736: extern struct vnodeop_desc vop_readdir_desc;
737: #define VOP_READDIR(vp, uio, cred, eofflag, ncookies, cookies) _VOP_READDIR(vp, uio, cred, eofflag, ncookies, cookies)
738: static __inline int _VOP_READDIR(vp, uio, cred, eofflag, ncookies, cookies)
739: struct vnode *vp;
740: struct uio *uio;
741: struct ucred *cred;
742: int *eofflag;
743: int *ncookies;
744: u_long **cookies;
745: {
746: struct vop_readdir_args a;
747: a.a_desc = VDESC(vop_readdir);
748: a.a_vp = vp;
749: a.a_uio = uio;
750: a.a_cred = cred;
751: a.a_eofflag = eofflag;
752: a.a_ncookies = ncookies;
753: a.a_cookies = cookies;
754: return (VCALL(vp, VOFFSET(vop_readdir), &a));
755: }
756:
757: struct vop_readdirattr_args {
758: struct vnodeop_desc *a_desc;
759: struct vnode *a_vp;
760: struct attrlist *a_alist;
761: struct uio *a_uio;
762: int a_index;
763: int *a_eofflag;
764: u_long *a_ncookies;
765: u_long **a_cookies;
766: struct ucred *a_cred;
767: };
768: extern struct vnodeop_desc vop_readdirattr_desc;
769: #define VOP_READDIRATTR(vp, alist, uio, index, eofflag, ncookies, cookies, cred) _VOP_READDIRATTR(vp, alist, uio, index, eofflag, ncookies, cookies, cred)
770: static __inline int _VOP_READDIRATTR(vp, alist, uio, index, eofflag, ncookies, cookies, cred)
771: struct vnode *vp;
772: struct attrlist *alist;
773: struct uio *uio;
774: int index;
775: int *eofflag;
776: u_long *ncookies;
777: u_long **cookies;
778: struct ucred *cred;
779: {
780: struct vop_readdirattr_args a;
781: a.a_desc = VDESC(vop_readdirattr);
782: a.a_vp = vp;
783: a.a_alist = alist;
784: a.a_uio = uio;
785: a.a_index = index;
786: a.a_eofflag = eofflag;
787: a.a_ncookies = ncookies;
788: a.a_cookies = cookies;
789: a.a_cred = cred;
790: return (VCALL(vp, VOFFSET(vop_readdirattr), &a));
791: }
792:
793: struct vop_readlink_args {
794: struct vnodeop_desc *a_desc;
795: struct vnode *a_vp;
796: struct uio *a_uio;
797: struct ucred *a_cred;
798: };
799: extern struct vnodeop_desc vop_readlink_desc;
800: #define VOP_READLINK(vp, uio, cred) _VOP_READLINK(vp, uio, cred)
801: static __inline int _VOP_READLINK(vp, uio, cred)
802: struct vnode *vp;
803: struct uio *uio;
804: struct ucred *cred;
805: {
806: struct vop_readlink_args a;
807: a.a_desc = VDESC(vop_readlink);
808: a.a_vp = vp;
809: a.a_uio = uio;
810: a.a_cred = cred;
811: return (VCALL(vp, VOFFSET(vop_readlink), &a));
812: }
813:
814: struct vop_abortop_args {
815: struct vnodeop_desc *a_desc;
816: struct vnode *a_dvp;
817: struct componentname *a_cnp;
818: };
819: extern struct vnodeop_desc vop_abortop_desc;
820: #define VOP_ABORTOP(dvp, cnp) _VOP_ABORTOP(dvp, cnp)
821: static __inline int _VOP_ABORTOP(dvp, cnp)
822: struct vnode *dvp;
823: struct componentname *cnp;
824: {
825: struct vop_abortop_args a;
826: a.a_desc = VDESC(vop_abortop);
827: a.a_dvp = dvp;
828: a.a_cnp = cnp;
829: return (VCALL(dvp, VOFFSET(vop_abortop), &a));
830: }
831:
832: struct vop_inactive_args {
833: struct vnodeop_desc *a_desc;
834: struct vnode *a_vp;
835: struct proc *a_p;
836: };
837: extern struct vnodeop_desc vop_inactive_desc;
838: #define VOP_INACTIVE(vp, p) _VOP_INACTIVE(vp, p)
839: static __inline int _VOP_INACTIVE(vp, p)
840: struct vnode *vp;
841: struct proc *p;
842: {
843: struct vop_inactive_args a;
844: a.a_desc = VDESC(vop_inactive);
845: a.a_vp = vp;
846: a.a_p = p;
847: return (VCALL(vp, VOFFSET(vop_inactive), &a));
848: }
849:
850: struct vop_reclaim_args {
851: struct vnodeop_desc *a_desc;
852: struct vnode *a_vp;
853: struct proc *a_p;
854: };
855: extern struct vnodeop_desc vop_reclaim_desc;
856: #define VOP_RECLAIM(vp, p) _VOP_RECLAIM(vp, p)
857: static __inline int _VOP_RECLAIM(vp, p)
858: struct vnode *vp;
859: struct proc *p;
860: {
861: struct vop_reclaim_args a;
862: a.a_desc = VDESC(vop_reclaim);
863: a.a_vp = vp;
864: a.a_p = p;
865: return (VCALL(vp, VOFFSET(vop_reclaim), &a));
866: }
867:
868: struct vop_lock_args {
869: struct vnodeop_desc *a_desc;
870: struct vnode *a_vp;
871: int a_flags;
872: struct proc *a_p;
873: };
874: extern struct vnodeop_desc vop_lock_desc;
875: #define VOP_LOCK(vp, flags, p) _VOP_LOCK(vp, flags, p)
876: static __inline int _VOP_LOCK(vp, flags, p)
877: struct vnode *vp;
878: int flags;
879: struct proc *p;
880: {
881: struct vop_lock_args a;
882: a.a_desc = VDESC(vop_lock);
883: a.a_vp = vp;
884: a.a_flags = flags;
885: a.a_p = p;
886: return (VCALL(vp, VOFFSET(vop_lock), &a));
887: }
888:
889: struct vop_unlock_args {
890: struct vnodeop_desc *a_desc;
891: struct vnode *a_vp;
892: int a_flags;
893: struct proc *a_p;
894: };
895: extern struct vnodeop_desc vop_unlock_desc;
896: #define VOP_UNLOCK(vp, flags, p) _VOP_UNLOCK(vp, flags, p)
897: static __inline int _VOP_UNLOCK(vp, flags, p)
898: struct vnode *vp;
899: int flags;
900: struct proc *p;
901: {
902: struct vop_unlock_args a;
903: a.a_desc = VDESC(vop_unlock);
904: a.a_vp = vp;
905: a.a_flags = flags;
906: a.a_p = p;
907: return (VCALL(vp, VOFFSET(vop_unlock), &a));
908: }
909:
910: struct vop_bmap_args {
911: struct vnodeop_desc *a_desc;
912: struct vnode *a_vp;
913: daddr_t a_bn;
914: struct vnode **a_vpp;
915: daddr_t *a_bnp;
916: int *a_runp;
917: };
918: extern struct vnodeop_desc vop_bmap_desc;
919: #define VOP_BMAP(vp, bn, vpp, bnp, runp) _VOP_BMAP(vp, bn, vpp, bnp, runp)
920: static __inline int _VOP_BMAP(vp, bn, vpp, bnp, runp)
921: struct vnode *vp;
922: daddr_t bn;
923: struct vnode **vpp;
924: daddr_t *bnp;
925: int *runp;
926: {
927: struct vop_bmap_args a;
928: a.a_desc = VDESC(vop_bmap);
929: a.a_vp = vp;
930: a.a_bn = bn;
931: a.a_vpp = vpp;
932: a.a_bnp = bnp;
933: a.a_runp = runp;
934: return (VCALL(vp, VOFFSET(vop_bmap), &a));
935: }
936:
937: struct vop_print_args {
938: struct vnodeop_desc *a_desc;
939: struct vnode *a_vp;
940: };
941: extern struct vnodeop_desc vop_print_desc;
942: #define VOP_PRINT(vp) _VOP_PRINT(vp)
943: static __inline int _VOP_PRINT(vp)
944: struct vnode *vp;
945: {
946: struct vop_print_args a;
947: a.a_desc = VDESC(vop_print);
948: a.a_vp = vp;
949: return (VCALL(vp, VOFFSET(vop_print), &a));
950: }
951:
952: struct vop_islocked_args {
953: struct vnodeop_desc *a_desc;
954: struct vnode *a_vp;
955: };
956: extern struct vnodeop_desc vop_islocked_desc;
957: #define VOP_ISLOCKED(vp) _VOP_ISLOCKED(vp)
958: static __inline int _VOP_ISLOCKED(vp)
959: struct vnode *vp;
960: {
961: struct vop_islocked_args a;
962: a.a_desc = VDESC(vop_islocked);
963: a.a_vp = vp;
964: return (VCALL(vp, VOFFSET(vop_islocked), &a));
965: }
966:
967: struct vop_pathconf_args {
968: struct vnodeop_desc *a_desc;
969: struct vnode *a_vp;
970: int a_name;
971: register_t *a_retval;
972: };
973: extern struct vnodeop_desc vop_pathconf_desc;
974: #define VOP_PATHCONF(vp, name, retval) _VOP_PATHCONF(vp, name, retval)
975: static __inline int _VOP_PATHCONF(vp, name, retval)
976: struct vnode *vp;
977: int name;
978: register_t *retval;
979: {
980: struct vop_pathconf_args a;
981: a.a_desc = VDESC(vop_pathconf);
982: a.a_vp = vp;
983: a.a_name = name;
984: a.a_retval = retval;
985: return (VCALL(vp, VOFFSET(vop_pathconf), &a));
986: }
987:
988: struct vop_advlock_args {
989: struct vnodeop_desc *a_desc;
990: struct vnode *a_vp;
991: caddr_t a_id;
992: int a_op;
993: struct flock *a_fl;
994: int a_flags;
995: };
996: extern struct vnodeop_desc vop_advlock_desc;
997: #define VOP_ADVLOCK(vp, id, op, fl, flags) _VOP_ADVLOCK(vp, id, op, fl, flags)
998: static __inline int _VOP_ADVLOCK(vp, id, op, fl, flags)
999: struct vnode *vp;
1000: caddr_t id;
1001: int op;
1002: struct flock *fl;
1003: int flags;
1004: {
1005: struct vop_advlock_args a;
1006: a.a_desc = VDESC(vop_advlock);
1007: a.a_vp = vp;
1008: a.a_id = id;
1009: a.a_op = op;
1010: a.a_fl = fl;
1011: a.a_flags = flags;
1012: return (VCALL(vp, VOFFSET(vop_advlock), &a));
1013: }
1014:
1015: struct vop_blkatoff_args {
1016: struct vnodeop_desc *a_desc;
1017: struct vnode *a_vp;
1018: off_t a_offset;
1019: char **a_res;
1020: struct buf **a_bpp;
1021: };
1022: extern struct vnodeop_desc vop_blkatoff_desc;
1023: #define VOP_BLKATOFF(vp, offset, res, bpp) _VOP_BLKATOFF(vp, offset, res, bpp)
1024: static __inline int _VOP_BLKATOFF(vp, offset, res, bpp)
1025: struct vnode *vp;
1026: off_t offset;
1027: char **res;
1028: struct buf **bpp;
1029: {
1030: struct vop_blkatoff_args a;
1031: a.a_desc = VDESC(vop_blkatoff);
1032: a.a_vp = vp;
1033: a.a_offset = offset;
1034: a.a_res = res;
1035: a.a_bpp = bpp;
1036: return (VCALL(vp, VOFFSET(vop_blkatoff), &a));
1037: }
1038:
1039: struct vop_valloc_args {
1040: struct vnodeop_desc *a_desc;
1041: struct vnode *a_pvp;
1042: int a_mode;
1043: struct ucred *a_cred;
1044: struct vnode **a_vpp;
1045: };
1046: extern struct vnodeop_desc vop_valloc_desc;
1047: #define VOP_VALLOC(pvp, mode, cred, vpp) _VOP_VALLOC(pvp, mode, cred, vpp)
1048: static __inline int _VOP_VALLOC(pvp, mode, cred, vpp)
1049: struct vnode *pvp;
1050: int mode;
1051: struct ucred *cred;
1052: struct vnode **vpp;
1053: {
1054: struct vop_valloc_args a;
1055: a.a_desc = VDESC(vop_valloc);
1056: a.a_pvp = pvp;
1057: a.a_mode = mode;
1058: a.a_cred = cred;
1059: a.a_vpp = vpp;
1060: return (VCALL(pvp, VOFFSET(vop_valloc), &a));
1061: }
1062:
1063: struct vop_reallocblks_args {
1064: struct vnodeop_desc *a_desc;
1065: struct vnode *a_vp;
1066: struct cluster_save *a_buflist;
1067: };
1068: extern struct vnodeop_desc vop_reallocblks_desc;
1069: #define VOP_REALLOCBLKS(vp, buflist) _VOP_REALLOCBLKS(vp, buflist)
1070: static __inline int _VOP_REALLOCBLKS(vp, buflist)
1071: struct vnode *vp;
1072: struct cluster_save *buflist;
1073: {
1074: struct vop_reallocblks_args a;
1075: a.a_desc = VDESC(vop_reallocblks);
1076: a.a_vp = vp;
1077: a.a_buflist = buflist;
1078: return (VCALL(vp, VOFFSET(vop_reallocblks), &a));
1079: }
1080:
1081: struct vop_vfree_args {
1082: struct vnodeop_desc *a_desc;
1083: struct vnode *a_pvp;
1084: ino_t a_ino;
1085: int a_mode;
1086: };
1087: extern struct vnodeop_desc vop_vfree_desc;
1088: #define VOP_VFREE(pvp, ino, mode) _VOP_VFREE(pvp, ino, mode)
1089: static __inline int _VOP_VFREE(pvp, ino, mode)
1090: struct vnode *pvp;
1091: ino_t ino;
1092: int mode;
1093: {
1094: struct vop_vfree_args a;
1095: a.a_desc = VDESC(vop_vfree);
1096: a.a_pvp = pvp;
1097: a.a_ino = ino;
1098: a.a_mode = mode;
1099: return (VCALL(pvp, VOFFSET(vop_vfree), &a));
1100: }
1101:
1102: struct vop_truncate_args {
1103: struct vnodeop_desc *a_desc;
1104: struct vnode *a_vp;
1105: off_t a_length;
1106: int a_flags;
1107: struct ucred *a_cred;
1108: struct proc *a_p;
1109: };
1110: extern struct vnodeop_desc vop_truncate_desc;
1111: #define VOP_TRUNCATE(vp, length, flags, cred, p) _VOP_TRUNCATE(vp, length, flags, cred, p)
1112: static __inline int _VOP_TRUNCATE(vp, length, flags, cred, p)
1113: struct vnode *vp;
1114: off_t length;
1115: int flags;
1116: struct ucred *cred;
1117: struct proc *p;
1118: {
1119: struct vop_truncate_args a;
1120: a.a_desc = VDESC(vop_truncate);
1121: a.a_vp = vp;
1122: a.a_length = length;
1123: a.a_flags = flags;
1124: a.a_cred = cred;
1125: a.a_p = p;
1126: return (VCALL(vp, VOFFSET(vop_truncate), &a));
1127: }
1128:
1129: struct vop_allocate_args {
1130: struct vnodeop_desc *a_desc;
1131: struct vnode *a_vp;
1132: off_t a_length;
1133: u_int32_t a_flags;
1134: off_t *a_bytesallocated;
1135: struct ucred *a_cred;
1136: struct proc *a_p;
1137: };
1138: extern struct vnodeop_desc vop_allocate_desc;
1139: #define VOP_ALLOCATE(vp, length, flags, bytesallocated, cred, p) _VOP_ALLOCATE(vp, length, flags, bytesallocated, cred, p)
1140: static __inline int _VOP_ALLOCATE(vp, length, flags, bytesallocated, cred, p)
1141: struct vnode *vp;
1142: off_t length;
1143: u_int32_t flags;
1144: off_t *bytesallocated;
1145: struct ucred *cred;
1146: struct proc *p;
1147: {
1148: struct vop_allocate_args a;
1149: a.a_desc = VDESC(vop_allocate);
1150: a.a_vp = vp;
1151: a.a_length = length;
1152: a.a_flags = flags;
1153: a.a_bytesallocated = bytesallocated;
1154: a.a_cred = cred;
1155: a.a_p = p;
1156: return (VCALL(vp, VOFFSET(vop_allocate), &a));
1157: }
1158:
1159: struct vop_update_args {
1160: struct vnodeop_desc *a_desc;
1161: struct vnode *a_vp;
1162: struct timeval *a_access;
1163: struct timeval *a_modify;
1164: int a_waitfor;
1165: };
1166: extern struct vnodeop_desc vop_update_desc;
1167: #define VOP_UPDATE(vp, access, modify, waitfor) _VOP_UPDATE(vp, access, modify, waitfor)
1168: static __inline int _VOP_UPDATE(vp, access, modify, waitfor)
1169: struct vnode *vp;
1170: struct timeval *access;
1171: struct timeval *modify;
1172: int waitfor;
1173: {
1174: struct vop_update_args a;
1175: a.a_desc = VDESC(vop_update);
1176: a.a_vp = vp;
1177: a.a_access = access;
1178: a.a_modify = modify;
1179: a.a_waitfor = waitfor;
1180: return (VCALL(vp, VOFFSET(vop_update), &a));
1181: }
1182:
1183: struct vop_pgrd_args {
1184: struct vnodeop_desc *a_desc;
1185: struct vnode *a_vp;
1186: struct uio *a_uio;
1187: struct ucred *a_cred;
1188: };
1189: extern struct vnodeop_desc vop_pgrd_desc;
1190: #define VOP_PGRD(vp, uio, cred) _VOP_PGRD(vp, uio, cred)
1191: static __inline int _VOP_PGRD(vp, uio, cred)
1192: struct vnode *vp;
1193: struct uio *uio;
1194: struct ucred *cred;
1195: {
1196: struct vop_pgrd_args a;
1197: a.a_desc = VDESC(vop_pgrd);
1198: a.a_vp = vp;
1199: a.a_uio = uio;
1200: a.a_cred = cred;
1201: return (VCALL(vp, VOFFSET(vop_pgrd), &a));
1202: }
1203:
1204: struct vop_pgwr_args {
1205: struct vnodeop_desc *a_desc;
1206: struct vnode *a_vp;
1207: struct uio *a_uio;
1208: struct ucred *a_cred;
1209: vm_offset_t a_offset;
1210: };
1211: extern struct vnodeop_desc vop_pgwr_desc;
1212: #define VOP_PGWR(vp, uio, cred, offset) _VOP_PGWR(vp, uio, cred, offset)
1213: static __inline int _VOP_PGWR(vp, uio, cred, offset)
1214: struct vnode *vp;
1215: struct uio *uio;
1216: struct ucred *cred;
1217: vm_offset_t offset;
1218: {
1219: struct vop_pgwr_args a;
1220: a.a_desc = VDESC(vop_pgwr);
1221: a.a_vp = vp;
1222: a.a_uio = uio;
1223: a.a_cred = cred;
1224: a.a_offset = offset;
1225: return (VCALL(vp, VOFFSET(vop_pgwr), &a));
1226: }
1227:
1228: struct vop_pagein_args {
1229: struct vnodeop_desc *a_desc;
1230: struct vnode *a_vp;
1231: struct uio *a_uio;
1232: int a_ioflag;
1233: struct ucred *a_cred;
1234: };
1235: extern struct vnodeop_desc vop_pagein_desc;
1236: #define VOP_PAGEIN(vp, uio, ioflag, cred) _VOP_PAGEIN(vp, uio, ioflag, cred)
1237: static __inline int _VOP_PAGEIN(vp, uio, ioflag, cred)
1238: struct vnode *vp;
1239: struct uio *uio;
1240: int ioflag;
1241: struct ucred *cred;
1242: {
1243: struct vop_pagein_args a;
1244: a.a_desc = VDESC(vop_pagein);
1245: a.a_vp = vp;
1246: a.a_uio = uio;
1247: a.a_ioflag = ioflag;
1248: a.a_cred = cred;
1249: return (VCALL(vp, VOFFSET(vop_pagein), &a));
1250: }
1251:
1252: struct vop_pageout_args {
1253: struct vnodeop_desc *a_desc;
1254: struct vnode *a_vp;
1255: struct uio *a_uio;
1256: int a_ioflag;
1257: struct ucred *a_cred;
1258: };
1259: extern struct vnodeop_desc vop_pageout_desc;
1260: #define VOP_PAGEOUT(vp, uio, ioflag, cred) _VOP_PAGEOUT(vp, uio, ioflag, cred)
1261: static __inline int _VOP_PAGEOUT(vp, uio, ioflag, cred)
1262: struct vnode *vp;
1263: struct uio *uio;
1264: int ioflag;
1265: struct ucred *cred;
1266: {
1267: struct vop_pageout_args a;
1268: a.a_desc = VDESC(vop_pageout);
1269: a.a_vp = vp;
1270: a.a_uio = uio;
1271: a.a_ioflag = ioflag;
1272: a.a_cred = cred;
1273: return (VCALL(vp, VOFFSET(vop_pageout), &a));
1274: }
1275:
1276: struct vop_devblocksize_args {
1277: struct vnodeop_desc *a_desc;
1278: struct vnode *a_vp;
1279: register_t *a_retval;
1280: };
1281: extern struct vnodeop_desc vop_devblocksize_desc;
1282: #define VOP_DEVBLOCKSIZE(vp, retval) _VOP_DEVBLOCKSIZE(vp, retval)
1283: static __inline int _VOP_DEVBLOCKSIZE(vp, retval)
1284: struct vnode *vp;
1285: register_t *retval;
1286: {
1287: struct vop_devblocksize_args a;
1288: a.a_desc = VDESC(vop_devblocksize);
1289: a.a_vp = vp;
1290: a.a_retval = retval;
1291: return (VCALL(vp, VOFFSET(vop_devblocksize), &a));
1292: }
1293:
1294: struct vop_searchfs_args {
1295: struct vnodeop_desc *a_desc;
1296: struct vnode *a_vp;
1297: void *a_searchparams1;
1298: void *a_searchparams2;
1299: struct attrlist *a_searchattrs;
1300: u_long a_maxmatches;
1301: struct timeval *a_timelimit;
1302: struct attrlist *a_returnattrs;
1303: u_long *a_nummatches;
1304: u_long a_scriptcode;
1305: u_long a_options;
1306: struct uio *a_uio;
1307: struct searchstate *a_searchstate;
1308: };
1309: extern struct vnodeop_desc vop_searchfs_desc;
1310: #define VOP_SEARCHFS(vp, searchparams1, searchparams2, searchattrs, maxmatches, timelimit, returnattrs, nummatches, scriptcode, options, uio, searchstate) _VOP_SEARCHFS(vp, searchparams1, searchparams2, searchattrs, maxmatches, timelimit, returnattrs, nummatches, scriptcode, options, uio, searchstate)
1311: static __inline int _VOP_SEARCHFS(vp, searchparams1, searchparams2, searchattrs, maxmatches, timelimit, returnattrs, nummatches, scriptcode, options, uio, searchstate)
1312: struct vnode *vp;
1313: void *searchparams1;
1314: void *searchparams2;
1315: struct attrlist *searchattrs;
1316: u_long maxmatches;
1317: struct timeval *timelimit;
1318: struct attrlist *returnattrs;
1319: u_long *nummatches;
1320: u_long scriptcode;
1321: u_long options;
1322: struct uio *uio;
1323: struct searchstate *searchstate;
1324: {
1325: struct vop_searchfs_args a;
1326: a.a_desc = VDESC(vop_searchfs);
1327: a.a_vp = vp;
1328: a.a_searchparams1 = searchparams1;
1329: a.a_searchparams2 = searchparams2;
1330: a.a_searchattrs = searchattrs;
1331: a.a_maxmatches = maxmatches;
1332: a.a_timelimit = timelimit;
1333: a.a_returnattrs = returnattrs;
1334: a.a_nummatches = nummatches;
1335: a.a_scriptcode = scriptcode;
1336: a.a_options = options;
1337: a.a_uio = uio;
1338: a.a_searchstate = searchstate;
1339: return (VCALL(vp, VOFFSET(vop_searchfs), &a));
1340: }
1341:
1342: /* Special cases: */
1343: #include <sys/buf.h>
1344: #include <sys/vm.h>
1345:
1346: struct vop_strategy_args {
1347: struct vnodeop_desc *a_desc;
1348: struct buf *a_bp;
1349: };
1350: extern struct vnodeop_desc vop_strategy_desc;
1351: #define VOP_STRATEGY(bp) _VOP_STRATEGY(bp)
1352: static __inline int _VOP_STRATEGY(bp)
1353: struct buf *bp;
1354: {
1355: struct vop_strategy_args a;
1356: a.a_desc = VDESC(vop_strategy);
1357: a.a_bp = bp;
1358: return (VCALL(bp->b_vp, VOFFSET(vop_strategy), &a));
1359: }
1360:
1361: struct vop_bwrite_args {
1362: struct vnodeop_desc *a_desc;
1363: struct buf *a_bp;
1364: };
1365: extern struct vnodeop_desc vop_bwrite_desc;
1366: #define VOP_BWRITE(bp) _VOP_BWRITE(bp)
1367: static __inline int _VOP_BWRITE(bp)
1368: struct buf *bp;
1369: {
1370: struct vop_bwrite_args a;
1371: a.a_desc = VDESC(vop_bwrite);
1372: a.a_bp = bp;
1373: return (VCALL(bp->b_vp, VOFFSET(vop_bwrite), &a));
1374: }
1375:
1376: /* End of special cases. */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.