rump_syscalls.c revision 1.8.2.2 1 /* $NetBSD: rump_syscalls.c,v 1.8.2.2 2008/07/03 18:38:24 simonb Exp $ */
2
3 /*
4 * System call marshalling for rump.
5 *
6 * DO NOT EDIT-- this file is automatically generated.
7 * created from NetBSD: syscalls.master,v 1.205 2008/07/01 13:03:08 pooka Exp
8 */
9
10 #include <sys/cdefs.h>
11 __KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.8.2.2 2008/07/03 18:38:24 simonb Exp $");
12
13 #include <sys/types.h>
14 #include <sys/param.h>
15 #include <sys/proc.h>
16 #include <sys/syscallargs.h>
17 #include "rump_syscalls.h"
18
19 #if BYTE_ORDER == BIG_ENDIAN
20 #define SPARG(p,k) ((p)->k.be.datum)
21 #else /* LITTLE_ENDIAN, I hope dearly */
22 #define SPARG(p,k) ((p)->k.le.datum)
23 #endif
24
25 ssize_t
26 rump_sys_read(int fd, void * buf, size_t nbyte, int *error)
27 {
28 register_t retval;
29 struct sys_read_args arg;
30
31 SPARG(&arg, fd) = fd;
32 SPARG(&arg, buf) = buf;
33 SPARG(&arg, nbyte) = nbyte;
34
35 *error = sys_read(curlwp, &arg, &retval);
36 return retval;
37 }
38
39 ssize_t
40 rump_sys_write(int fd, const void * buf, size_t nbyte, int *error)
41 {
42 register_t retval;
43 struct sys_write_args arg;
44
45 SPARG(&arg, fd) = fd;
46 SPARG(&arg, buf) = buf;
47 SPARG(&arg, nbyte) = nbyte;
48
49 *error = sys_write(curlwp, &arg, &retval);
50 return retval;
51 }
52
53 int
54 rump_sys_open(const char * path, int flags, mode_t mode, int *error)
55 {
56 register_t retval;
57 struct sys_open_args arg;
58
59 SPARG(&arg, path) = path;
60 SPARG(&arg, flags) = flags;
61 SPARG(&arg, mode) = mode;
62
63 *error = sys_open(curlwp, &arg, &retval);
64 return retval;
65 }
66
67 int
68 rump_sys_close(int fd, int *error)
69 {
70 register_t retval;
71 struct sys_close_args arg;
72
73 SPARG(&arg, fd) = fd;
74
75 *error = sys_close(curlwp, &arg, &retval);
76 return retval;
77 }
78
79 int
80 rump_sys_link(const char * path, const char * link, int *error)
81 {
82 register_t retval;
83 struct sys_link_args arg;
84
85 SPARG(&arg, path) = path;
86 SPARG(&arg, link) = link;
87
88 *error = sys_link(curlwp, &arg, &retval);
89 return retval;
90 }
91
92 int
93 rump_sys_unlink(const char * path, int *error)
94 {
95 register_t retval;
96 struct sys_unlink_args arg;
97
98 SPARG(&arg, path) = path;
99
100 *error = sys_unlink(curlwp, &arg, &retval);
101 return retval;
102 }
103
104 int
105 rump_sys_chdir(const char * path, int *error)
106 {
107 register_t retval;
108 struct sys_chdir_args arg;
109
110 SPARG(&arg, path) = path;
111
112 *error = sys_chdir(curlwp, &arg, &retval);
113 return retval;
114 }
115
116 int
117 rump_sys_fchdir(int fd, int *error)
118 {
119 register_t retval;
120 struct sys_fchdir_args arg;
121
122 SPARG(&arg, fd) = fd;
123
124 *error = sys_fchdir(curlwp, &arg, &retval);
125 return retval;
126 }
127
128 int
129 rump_sys_mknod(const char * path, mode_t mode, dev_t dev, int *error)
130 {
131 register_t retval;
132 struct sys_mknod_args arg;
133
134 SPARG(&arg, path) = path;
135 SPARG(&arg, mode) = mode;
136 SPARG(&arg, dev) = dev;
137
138 *error = sys_mknod(curlwp, &arg, &retval);
139 return retval;
140 }
141
142 int
143 rump_sys_chmod(const char * path, mode_t mode, int *error)
144 {
145 register_t retval;
146 struct sys_chmod_args arg;
147
148 SPARG(&arg, path) = path;
149 SPARG(&arg, mode) = mode;
150
151 *error = sys_chmod(curlwp, &arg, &retval);
152 return retval;
153 }
154
155 int
156 rump_sys_chown(const char * path, uid_t uid, gid_t gid, int *error)
157 {
158 register_t retval;
159 struct sys_chown_args arg;
160
161 SPARG(&arg, path) = path;
162 SPARG(&arg, uid) = uid;
163 SPARG(&arg, gid) = gid;
164
165 *error = sys_chown(curlwp, &arg, &retval);
166 return retval;
167 }
168
169 int
170 rump_sys_unmount(const char * path, int flags, int *error)
171 {
172 register_t retval;
173 struct sys_unmount_args arg;
174
175 SPARG(&arg, path) = path;
176 SPARG(&arg, flags) = flags;
177
178 *error = sys_unmount(curlwp, &arg, &retval);
179 return retval;
180 }
181
182 int
183 rump_sys_chflags(const char * path, u_long flags, int *error)
184 {
185 register_t retval;
186 struct sys_chflags_args arg;
187
188 SPARG(&arg, path) = path;
189 SPARG(&arg, flags) = flags;
190
191 *error = sys_chflags(curlwp, &arg, &retval);
192 return retval;
193 }
194
195 void
196 rump_sys_sync(int *error)
197 {
198 register_t retval;
199
200 *error = sys_sync(curlwp, NULL, &retval);
201 }
202
203 int
204 rump_sys_symlink(const char * path, const char * link, int *error)
205 {
206 register_t retval;
207 struct sys_symlink_args arg;
208
209 SPARG(&arg, path) = path;
210 SPARG(&arg, link) = link;
211
212 *error = sys_symlink(curlwp, &arg, &retval);
213 return retval;
214 }
215
216 ssize_t
217 rump_sys_readlink(const char * path, char * buf, size_t count, int *error)
218 {
219 register_t retval;
220 struct sys_readlink_args arg;
221
222 SPARG(&arg, path) = path;
223 SPARG(&arg, buf) = buf;
224 SPARG(&arg, count) = count;
225
226 *error = sys_readlink(curlwp, &arg, &retval);
227 return retval;
228 }
229
230 int
231 rump_sys_rename(const char * from, const char * to, int *error)
232 {
233 register_t retval;
234 struct sys_rename_args arg;
235
236 SPARG(&arg, from) = from;
237 SPARG(&arg, to) = to;
238
239 *error = sys_rename(curlwp, &arg, &retval);
240 return retval;
241 }
242
243 int
244 rump_sys_mkfifo(const char * path, mode_t mode, int *error)
245 {
246 register_t retval;
247 struct sys_mkfifo_args arg;
248
249 SPARG(&arg, path) = path;
250 SPARG(&arg, mode) = mode;
251
252 *error = sys_mkfifo(curlwp, &arg, &retval);
253 return retval;
254 }
255
256 int
257 rump_sys_mkdir(const char * path, mode_t mode, int *error)
258 {
259 register_t retval;
260 struct sys_mkdir_args arg;
261
262 SPARG(&arg, path) = path;
263 SPARG(&arg, mode) = mode;
264
265 *error = sys_mkdir(curlwp, &arg, &retval);
266 return retval;
267 }
268
269 int
270 rump_sys_rmdir(const char * path, int *error)
271 {
272 register_t retval;
273 struct sys_rmdir_args arg;
274
275 SPARG(&arg, path) = path;
276
277 *error = sys_rmdir(curlwp, &arg, &retval);
278 return retval;
279 }
280
281 ssize_t
282 rump_sys_pread(int fd, void * buf, size_t nbyte, int pad, off_t offset, int *error)
283 {
284 register_t retval;
285 struct sys_pread_args arg;
286
287 SPARG(&arg, fd) = fd;
288 SPARG(&arg, buf) = buf;
289 SPARG(&arg, nbyte) = nbyte;
290 SPARG(&arg, pad) = pad;
291 SPARG(&arg, offset) = offset;
292
293 *error = sys_pread(curlwp, &arg, &retval);
294 return retval;
295 }
296
297 ssize_t
298 rump_sys_pwrite(int fd, const void * buf, size_t nbyte, int pad, off_t offset, int *error)
299 {
300 register_t retval;
301 struct sys_pwrite_args arg;
302
303 SPARG(&arg, fd) = fd;
304 SPARG(&arg, buf) = buf;
305 SPARG(&arg, nbyte) = nbyte;
306 SPARG(&arg, pad) = pad;
307 SPARG(&arg, offset) = offset;
308
309 *error = sys_pwrite(curlwp, &arg, &retval);
310 return retval;
311 }
312
313 int
314 rump_sys_truncate(const char * path, int pad, off_t length, int *error)
315 {
316 register_t retval;
317 struct sys_truncate_args arg;
318
319 SPARG(&arg, path) = path;
320 SPARG(&arg, pad) = pad;
321 SPARG(&arg, length) = length;
322
323 *error = sys_truncate(curlwp, &arg, &retval);
324 return retval;
325 }
326
327 int
328 rump_sys_lchmod(const char * path, mode_t mode, int *error)
329 {
330 register_t retval;
331 struct sys_lchmod_args arg;
332
333 SPARG(&arg, path) = path;
334 SPARG(&arg, mode) = mode;
335
336 *error = sys_lchmod(curlwp, &arg, &retval);
337 return retval;
338 }
339
340 int
341 rump_sys_lchown(const char * path, uid_t uid, gid_t gid, int *error)
342 {
343 register_t retval;
344 struct sys_lchown_args arg;
345
346 SPARG(&arg, path) = path;
347 SPARG(&arg, uid) = uid;
348 SPARG(&arg, gid) = gid;
349
350 *error = sys_lchown(curlwp, &arg, &retval);
351 return retval;
352 }
353
354 int
355 rump_sys_lchflags(const char * path, u_long flags, int *error)
356 {
357 register_t retval;
358 struct sys_lchflags_args arg;
359
360 SPARG(&arg, path) = path;
361 SPARG(&arg, flags) = flags;
362
363 *error = sys_lchflags(curlwp, &arg, &retval);
364 return retval;
365 }
366
367 int
368 rump_sys___stat30(const char * path, struct stat * ub, int *error)
369 {
370 register_t retval;
371 struct sys___stat30_args arg;
372
373 SPARG(&arg, path) = path;
374 SPARG(&arg, ub) = ub;
375
376 *error = sys___stat30(curlwp, &arg, &retval);
377 return retval;
378 }
379
380 int
381 rump_sys___lstat30(const char * path, struct stat * ub, int *error)
382 {
383 register_t retval;
384 struct sys___lstat30_args arg;
385
386 SPARG(&arg, path) = path;
387 SPARG(&arg, ub) = ub;
388
389 *error = sys___lstat30(curlwp, &arg, &retval);
390 return retval;
391 }
392
393