xref: /original-bsd/sys/kern/vnode_if.src (revision d4dfefc4)
1#
2# Copyright (c) 1992 The Regents of the University of California.
3# All rights reserved.
4#
5# %sccs.include.redist.sh%
6#
7#	@(#)vnode_if.src	7.5 (Berkeley) 10/07/92
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_advlock {
214	IN struct vnode *vp;
215	IN caddr_t id;
216	IN int op;
217	IN struct flock *fl;
218	IN int flags;
219};
220
221vop_blkatoff {
222	IN struct vnode *vp;
223	IN off_t offset;
224	OUT char **res;
225	OUT struct buf **bpp;
226};
227
228vop_valloc {
229	IN struct vnode *pvp;
230	IN int mode;
231	IN struct ucred *cred;
232	OUT struct vnode **vpp;
233};
234
235vop_vfree {
236	IN struct vnode *pvp;
237	IN ino_t ino;
238	IN int mode;
239};
240
241vop_truncate {
242	IN struct vnode *vp;
243	IN off_t length;
244	IN int flags;
245	IN struct ucred *cred;
246	IN struct proc *p;
247};
248
249vop_update {
250	IN struct vnode *vp;
251	IN struct timeval *ta;
252	IN struct timeval *tm;
253	IN int waitfor;
254};
255
256# Needs work: no vp?
257#vop_bwrite {
258#	IN struct buf *bp;
259#};
260