xref: /original-bsd/sys/kern/vnode_if.src (revision f737e041)
1#
2# Copyright (c) 1992, 1993
3#	The Regents of the University of California.  All rights reserved.
4#
5# %sccs.include.redist.sh%
6#
7#	@(#)vnode_if.src	8.3 (Berkeley) 02/03/94
8#
9vop_lookup {
10	IN struct vnode *dvp;
11	INOUT struct vnode **vpp;
12	IN struct componentname *cnp;
13};
14
15vop_create {
16	IN WILLRELE struct vnode *dvp;
17	OUT struct vnode **vpp;
18	IN struct componentname *cnp;
19	IN struct vattr *vap;
20};
21
22vop_mknod {
23	IN WILLRELE struct vnode *dvp;
24	OUT WILLRELE struct vnode **vpp;
25	IN struct componentname *cnp;
26	IN struct vattr *vap;
27};
28
29vop_open {
30	IN struct vnode *vp;
31	IN int mode;
32	IN struct ucred *cred;
33	IN struct proc *p;
34};
35
36vop_close {
37	IN struct vnode *vp;
38	IN int fflag;
39	IN struct ucred *cred;
40	IN struct proc *p;
41};
42
43vop_access {
44	IN struct vnode *vp;
45	IN int mode;
46	IN struct ucred *cred;
47	IN struct proc *p;
48};
49
50vop_getattr {
51	IN struct vnode *vp;
52	IN struct vattr *vap;
53	IN struct ucred *cred;
54	IN struct proc *p;
55};
56
57vop_setattr {
58	IN struct vnode *vp;
59	IN struct vattr *vap;
60	IN struct ucred *cred;
61	IN struct proc *p;
62};
63
64vop_read {
65	IN struct vnode *vp;
66	INOUT struct uio *uio;
67	IN int ioflag;
68	IN struct ucred *cred;
69};
70
71vop_write {
72	IN struct vnode *vp;
73	INOUT struct uio *uio;
74	IN int ioflag;
75	IN struct ucred *cred;
76};
77
78vop_ioctl {
79	IN struct vnode *vp;
80	IN int command;
81	IN caddr_t data;
82	IN int fflag;
83	IN struct ucred *cred;
84	IN struct proc *p;
85};
86
87# Needs work?  (fflags)
88vop_select {
89	IN struct vnode *vp;
90	IN int which;
91	IN int fflags;
92	IN struct ucred *cred;
93	IN struct proc *p;
94};
95
96vop_mmap {
97	IN struct vnode *vp;
98	IN int fflags;
99	IN struct ucred *cred;
100	IN struct proc *p;
101};
102
103vop_fsync {
104	IN struct vnode *vp;
105	IN struct ucred *cred;
106	IN int waitfor;
107	IN struct proc *p;
108};
109
110# Needs word: Is newoff right?  What's it mean?
111vop_seek {
112	IN struct vnode *vp;
113	IN off_t oldoff;
114	IN off_t newoff;
115	IN struct ucred *cred;
116};
117
118vop_remove {
119	IN WILLRELE struct vnode *dvp;
120	IN WILLRELE struct vnode *vp;
121	IN struct componentname *cnp;
122};
123
124vop_link {
125	IN WILLRELE struct vnode *vp;
126	IN struct vnode *tdvp;
127	IN struct componentname *cnp;
128};
129
130vop_rename {
131	IN WILLRELE struct vnode *fdvp;
132	IN WILLRELE struct vnode *fvp;
133	IN struct componentname *fcnp;
134	IN WILLRELE struct vnode *tdvp;
135	IN WILLRELE struct vnode *tvp;
136	IN struct componentname *tcnp;
137};
138
139vop_mkdir {
140	IN WILLRELE struct vnode *dvp;
141	OUT struct vnode **vpp;
142	IN struct componentname *cnp;
143	IN struct vattr *vap;
144};
145
146vop_rmdir {
147	IN WILLRELE struct vnode *dvp;
148	IN WILLRELE struct vnode *vp;
149	IN struct componentname *cnp;
150};
151
152vop_symlink {
153	IN WILLRELE struct vnode *dvp;
154	OUT WILLRELE struct vnode **vpp;
155	IN struct componentname *cnp;
156	IN struct vattr *vap;
157	IN char *target;
158};
159
160vop_readdir {
161	IN struct vnode *vp;
162	INOUT struct uio *uio;
163	IN struct ucred *cred;
164};
165
166vop_readlink {
167	IN struct vnode *vp;
168	INOUT struct uio *uio;
169	IN struct ucred *cred;
170};
171
172vop_abortop {
173	IN struct vnode *dvp;
174	IN struct componentname *cnp;
175};
176
177vop_inactive {
178	IN struct vnode *vp;
179};
180
181vop_reclaim {
182	IN struct vnode *vp;
183};
184
185vop_lock {
186	IN struct vnode *vp;
187};
188
189vop_unlock {
190	IN struct vnode *vp;
191};
192
193vop_bmap {
194	IN struct vnode *vp;
195	IN daddr_t bn;
196	OUT struct vnode **vpp;
197	IN daddr_t *bnp;
198	OUT int *runp;
199};
200
201#vop_strategy {
202#	IN struct buf *bp;
203#};
204
205vop_print {
206	IN struct vnode *vp;
207};
208
209vop_islocked {
210	IN struct vnode *vp;
211};
212
213vop_pathconf {
214	IN struct vnode *vp;
215	IN int name;
216	OUT int *retval;
217};
218
219vop_advlock {
220	IN struct vnode *vp;
221	IN caddr_t id;
222	IN int op;
223	IN struct flock *fl;
224	IN int flags;
225};
226
227vop_blkatoff {
228	IN struct vnode *vp;
229	IN off_t offset;
230	OUT char **res;
231	OUT struct buf **bpp;
232};
233
234vop_valloc {
235	IN struct vnode *pvp;
236	IN int mode;
237	IN struct ucred *cred;
238	OUT struct vnode **vpp;
239};
240
241vop_reallocblks {
242	IN struct vnode *vp;
243	IN struct cluster_save *buflist;
244};
245
246vop_vfree {
247	IN struct vnode *pvp;
248	IN ino_t ino;
249	IN int mode;
250};
251
252vop_truncate {
253	IN struct vnode *vp;
254	IN off_t length;
255	IN int flags;
256	IN struct ucred *cred;
257	IN struct proc *p;
258};
259
260vop_update {
261	IN struct vnode *vp;
262	IN struct timeval *access;
263	IN struct timeval *modify;
264	IN int waitfor;
265};
266
267# Needs work: no vp?
268#vop_bwrite {
269#	IN struct buf *bp;
270#};
271