xref: /original-bsd/sys/kern/vnode_if.src (revision 6093a5ae)
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.4 (Berkeley) 07/12/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};
199
200#vop_strategy {
201#	IN struct buf *bp;
202#};
203
204vop_print {
205	IN struct vnode *vp;
206};
207
208vop_islocked {
209	IN struct vnode *vp;
210};
211
212vop_advlock {
213	IN struct vnode *vp;
214	IN caddr_t id;
215	IN int op;
216	IN struct flock *fl;
217	IN int flags;
218};
219
220vop_blkatoff {
221	IN struct vnode *vp;
222	IN off_t offset;
223	OUT char **res;
224	OUT struct buf **bpp;
225};
226
227vop_valloc {
228	IN struct vnode *pvp;
229	IN int mode;
230	IN struct ucred *cred;
231	OUT struct vnode **vpp;
232};
233
234vop_vfree {
235	IN struct vnode *pvp;
236	IN ino_t ino;
237	IN int mode;
238};
239
240vop_truncate {
241	IN struct vnode *vp;
242	IN off_t length;
243	IN int flags;
244	IN struct ucred *cred;
245	IN struct proc *p;
246};
247
248vop_update {
249	IN struct vnode *vp;
250	IN struct timeval *ta;
251	IN struct timeval *tm;
252	IN int waitfor;
253};
254
255# Needs work: no vp?
256#vop_bwrite {
257#	IN struct buf *bp;
258#};
259