Check for out of space condition before extending ifile.
[unix-history] / usr / src / sys / kern / vnode_if.src
CommitLineData
a4b514e3
KM
1#
2# Copyright (c) 1992 The Regents of the University of California.
3# All rights reserved.
4#
5# %sccs.include.redist.sh%
6#
2b83eebf 7# @(#)vnode_if.src 7.4 (Berkeley) %G%
a4b514e3
KM
8#
9vop_lookup {
10 IN struct vnode *dvp;
2b83eebf 11 INOUT struct vnode **vpp;
a4b514e3
KM
12 IN struct componentname *cnp;
13};
14
15vop_create {
c717e4c0 16 IN WILLRELE struct vnode *dvp;
a4b514e3
KM
17 OUT struct vnode **vpp;
18 IN struct componentname *cnp;
19 IN struct vattr *vap;
20};
21
22vop_mknod {
c717e4c0
JH
23 IN WILLRELE struct vnode *dvp;
24 OUT WILLRELE struct vnode **vpp;
a4b514e3
KM
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 {
c717e4c0
JH
119 IN WILLRELE struct vnode *dvp;
120 IN WILLRELE struct vnode *vp;
a4b514e3
KM
121 IN struct componentname *cnp;
122};
123
124vop_link {
c717e4c0 125 IN WILLRELE struct vnode *vp;
a4b514e3
KM
126 IN struct vnode *tdvp;
127 IN struct componentname *cnp;
128};
129
130vop_rename {
c717e4c0
JH
131 IN WILLRELE struct vnode *fdvp;
132 IN WILLRELE struct vnode *fvp;
a4b514e3 133 IN struct componentname *fcnp;
c717e4c0
JH
134 IN WILLRELE struct vnode *tdvp;
135 IN WILLRELE struct vnode *tvp;
a4b514e3
KM
136 IN struct componentname *tcnp;
137};
138
139vop_mkdir {
c717e4c0 140 IN WILLRELE struct vnode *dvp;
a4b514e3
KM
141 OUT struct vnode **vpp;
142 IN struct componentname *cnp;
143 IN struct vattr *vap;
144};
145
146vop_rmdir {
c717e4c0
JH
147 IN WILLRELE struct vnode *dvp;
148 IN WILLRELE struct vnode *vp;
a4b514e3
KM
149 IN struct componentname *cnp;
150};
151
152vop_symlink {
c717e4c0
JH
153 IN WILLRELE struct vnode *dvp;
154 OUT WILLRELE struct vnode **vpp;
a4b514e3
KM
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
a4b514e3
KM
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#};