rump_syscalls.c revision 1.14 1 1.1 pooka /* $NetBSD: rump_syscalls.c,v 1.14 2008/09/07 19:28:29 pooka Exp $ */
2 1.1 pooka
3 1.1 pooka /*
4 1.1 pooka * System call marshalling for rump.
5 1.1 pooka *
6 1.1 pooka * DO NOT EDIT-- this file is automatically generated.
7 1.13 pooka * created from NetBSD: syscalls.master,v 1.208 2008/08/01 19:32:35 pooka Exp
8 1.1 pooka */
9 1.1 pooka
10 1.1 pooka #include <sys/cdefs.h>
11 1.1 pooka __KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.14 2008/09/07 19:28:29 pooka Exp $");
12 1.1 pooka
13 1.1 pooka #include <sys/types.h>
14 1.1 pooka #include <sys/param.h>
15 1.1 pooka #include <sys/proc.h>
16 1.1 pooka #include <sys/syscallargs.h>
17 1.1 pooka #include "rump_syscalls.h"
18 1.1 pooka
19 1.1 pooka #if BYTE_ORDER == BIG_ENDIAN
20 1.1 pooka #define SPARG(p,k) ((p)->k.be.datum)
21 1.1 pooka #else /* LITTLE_ENDIAN, I hope dearly */
22 1.1 pooka #define SPARG(p,k) ((p)->k.le.datum)
23 1.1 pooka #endif
24 1.1 pooka
25 1.1 pooka ssize_t
26 1.1 pooka rump_sys_read(int fd, void * buf, size_t nbyte, int *error)
27 1.1 pooka {
28 1.14 pooka register_t retval = 0;
29 1.1 pooka struct sys_read_args arg;
30 1.1 pooka
31 1.1 pooka SPARG(&arg, fd) = fd;
32 1.1 pooka SPARG(&arg, buf) = buf;
33 1.1 pooka SPARG(&arg, nbyte) = nbyte;
34 1.1 pooka
35 1.1 pooka *error = sys_read(curlwp, &arg, &retval);
36 1.14 pooka if (*error)
37 1.14 pooka retval = -1;
38 1.1 pooka return retval;
39 1.1 pooka }
40 1.1 pooka
41 1.1 pooka ssize_t
42 1.1 pooka rump_sys_write(int fd, const void * buf, size_t nbyte, int *error)
43 1.1 pooka {
44 1.14 pooka register_t retval = 0;
45 1.1 pooka struct sys_write_args arg;
46 1.1 pooka
47 1.1 pooka SPARG(&arg, fd) = fd;
48 1.1 pooka SPARG(&arg, buf) = buf;
49 1.1 pooka SPARG(&arg, nbyte) = nbyte;
50 1.1 pooka
51 1.1 pooka *error = sys_write(curlwp, &arg, &retval);
52 1.14 pooka if (*error)
53 1.14 pooka retval = -1;
54 1.1 pooka return retval;
55 1.1 pooka }
56 1.1 pooka
57 1.1 pooka int
58 1.1 pooka rump_sys_open(const char * path, int flags, mode_t mode, int *error)
59 1.1 pooka {
60 1.14 pooka register_t retval = 0;
61 1.1 pooka struct sys_open_args arg;
62 1.1 pooka
63 1.1 pooka SPARG(&arg, path) = path;
64 1.1 pooka SPARG(&arg, flags) = flags;
65 1.1 pooka SPARG(&arg, mode) = mode;
66 1.1 pooka
67 1.1 pooka *error = sys_open(curlwp, &arg, &retval);
68 1.14 pooka if (*error)
69 1.14 pooka retval = -1;
70 1.1 pooka return retval;
71 1.1 pooka }
72 1.1 pooka
73 1.1 pooka int
74 1.1 pooka rump_sys_close(int fd, int *error)
75 1.1 pooka {
76 1.14 pooka register_t retval = 0;
77 1.1 pooka struct sys_close_args arg;
78 1.1 pooka
79 1.1 pooka SPARG(&arg, fd) = fd;
80 1.1 pooka
81 1.1 pooka *error = sys_close(curlwp, &arg, &retval);
82 1.14 pooka if (*error)
83 1.14 pooka retval = -1;
84 1.1 pooka return retval;
85 1.1 pooka }
86 1.1 pooka
87 1.1 pooka int
88 1.1 pooka rump_sys_link(const char * path, const char * link, int *error)
89 1.1 pooka {
90 1.14 pooka register_t retval = 0;
91 1.1 pooka struct sys_link_args arg;
92 1.1 pooka
93 1.1 pooka SPARG(&arg, path) = path;
94 1.1 pooka SPARG(&arg, link) = link;
95 1.1 pooka
96 1.1 pooka *error = sys_link(curlwp, &arg, &retval);
97 1.14 pooka if (*error)
98 1.14 pooka retval = -1;
99 1.1 pooka return retval;
100 1.1 pooka }
101 1.1 pooka
102 1.1 pooka int
103 1.1 pooka rump_sys_unlink(const char * path, int *error)
104 1.1 pooka {
105 1.14 pooka register_t retval = 0;
106 1.1 pooka struct sys_unlink_args arg;
107 1.1 pooka
108 1.1 pooka SPARG(&arg, path) = path;
109 1.1 pooka
110 1.1 pooka *error = sys_unlink(curlwp, &arg, &retval);
111 1.14 pooka if (*error)
112 1.14 pooka retval = -1;
113 1.1 pooka return retval;
114 1.1 pooka }
115 1.1 pooka
116 1.1 pooka int
117 1.1 pooka rump_sys_chdir(const char * path, int *error)
118 1.1 pooka {
119 1.14 pooka register_t retval = 0;
120 1.1 pooka struct sys_chdir_args arg;
121 1.1 pooka
122 1.1 pooka SPARG(&arg, path) = path;
123 1.1 pooka
124 1.1 pooka *error = sys_chdir(curlwp, &arg, &retval);
125 1.14 pooka if (*error)
126 1.14 pooka retval = -1;
127 1.1 pooka return retval;
128 1.1 pooka }
129 1.1 pooka
130 1.1 pooka int
131 1.1 pooka rump_sys_fchdir(int fd, int *error)
132 1.1 pooka {
133 1.14 pooka register_t retval = 0;
134 1.1 pooka struct sys_fchdir_args arg;
135 1.1 pooka
136 1.1 pooka SPARG(&arg, fd) = fd;
137 1.1 pooka
138 1.1 pooka *error = sys_fchdir(curlwp, &arg, &retval);
139 1.14 pooka if (*error)
140 1.14 pooka retval = -1;
141 1.1 pooka return retval;
142 1.1 pooka }
143 1.1 pooka
144 1.1 pooka int
145 1.1 pooka rump_sys_mknod(const char * path, mode_t mode, dev_t dev, int *error)
146 1.1 pooka {
147 1.14 pooka register_t retval = 0;
148 1.1 pooka struct sys_mknod_args arg;
149 1.1 pooka
150 1.1 pooka SPARG(&arg, path) = path;
151 1.1 pooka SPARG(&arg, mode) = mode;
152 1.1 pooka SPARG(&arg, dev) = dev;
153 1.1 pooka
154 1.1 pooka *error = sys_mknod(curlwp, &arg, &retval);
155 1.14 pooka if (*error)
156 1.14 pooka retval = -1;
157 1.1 pooka return retval;
158 1.1 pooka }
159 1.1 pooka
160 1.1 pooka int
161 1.1 pooka rump_sys_chmod(const char * path, mode_t mode, int *error)
162 1.1 pooka {
163 1.14 pooka register_t retval = 0;
164 1.1 pooka struct sys_chmod_args arg;
165 1.1 pooka
166 1.1 pooka SPARG(&arg, path) = path;
167 1.1 pooka SPARG(&arg, mode) = mode;
168 1.1 pooka
169 1.1 pooka *error = sys_chmod(curlwp, &arg, &retval);
170 1.14 pooka if (*error)
171 1.14 pooka retval = -1;
172 1.1 pooka return retval;
173 1.1 pooka }
174 1.1 pooka
175 1.1 pooka int
176 1.1 pooka rump_sys_chown(const char * path, uid_t uid, gid_t gid, int *error)
177 1.1 pooka {
178 1.14 pooka register_t retval = 0;
179 1.1 pooka struct sys_chown_args arg;
180 1.1 pooka
181 1.1 pooka SPARG(&arg, path) = path;
182 1.1 pooka SPARG(&arg, uid) = uid;
183 1.1 pooka SPARG(&arg, gid) = gid;
184 1.1 pooka
185 1.1 pooka *error = sys_chown(curlwp, &arg, &retval);
186 1.14 pooka if (*error)
187 1.14 pooka retval = -1;
188 1.1 pooka return retval;
189 1.1 pooka }
190 1.1 pooka
191 1.1 pooka int
192 1.1 pooka rump_sys_unmount(const char * path, int flags, int *error)
193 1.1 pooka {
194 1.14 pooka register_t retval = 0;
195 1.1 pooka struct sys_unmount_args arg;
196 1.1 pooka
197 1.1 pooka SPARG(&arg, path) = path;
198 1.1 pooka SPARG(&arg, flags) = flags;
199 1.1 pooka
200 1.1 pooka *error = sys_unmount(curlwp, &arg, &retval);
201 1.14 pooka if (*error)
202 1.14 pooka retval = -1;
203 1.1 pooka return retval;
204 1.1 pooka }
205 1.1 pooka
206 1.1 pooka int
207 1.1 pooka rump_sys_chflags(const char * path, u_long flags, int *error)
208 1.1 pooka {
209 1.14 pooka register_t retval = 0;
210 1.1 pooka struct sys_chflags_args arg;
211 1.1 pooka
212 1.1 pooka SPARG(&arg, path) = path;
213 1.1 pooka SPARG(&arg, flags) = flags;
214 1.1 pooka
215 1.1 pooka *error = sys_chflags(curlwp, &arg, &retval);
216 1.14 pooka if (*error)
217 1.14 pooka retval = -1;
218 1.1 pooka return retval;
219 1.1 pooka }
220 1.1 pooka
221 1.1 pooka void
222 1.1 pooka rump_sys_sync(int *error)
223 1.1 pooka {
224 1.14 pooka register_t retval = 0;
225 1.1 pooka
226 1.1 pooka *error = sys_sync(curlwp, NULL, &retval);
227 1.14 pooka if (*error)
228 1.14 pooka retval = -1;
229 1.1 pooka }
230 1.1 pooka
231 1.1 pooka int
232 1.1 pooka rump_sys_symlink(const char * path, const char * link, int *error)
233 1.1 pooka {
234 1.14 pooka register_t retval = 0;
235 1.1 pooka struct sys_symlink_args arg;
236 1.1 pooka
237 1.1 pooka SPARG(&arg, path) = path;
238 1.1 pooka SPARG(&arg, link) = link;
239 1.1 pooka
240 1.1 pooka *error = sys_symlink(curlwp, &arg, &retval);
241 1.14 pooka if (*error)
242 1.14 pooka retval = -1;
243 1.1 pooka return retval;
244 1.1 pooka }
245 1.1 pooka
246 1.1 pooka ssize_t
247 1.1 pooka rump_sys_readlink(const char * path, char * buf, size_t count, int *error)
248 1.1 pooka {
249 1.14 pooka register_t retval = 0;
250 1.1 pooka struct sys_readlink_args arg;
251 1.1 pooka
252 1.1 pooka SPARG(&arg, path) = path;
253 1.1 pooka SPARG(&arg, buf) = buf;
254 1.1 pooka SPARG(&arg, count) = count;
255 1.1 pooka
256 1.1 pooka *error = sys_readlink(curlwp, &arg, &retval);
257 1.14 pooka if (*error)
258 1.14 pooka retval = -1;
259 1.1 pooka return retval;
260 1.1 pooka }
261 1.1 pooka
262 1.1 pooka int
263 1.12 pooka rump_sys_fsync(int fd, int *error)
264 1.12 pooka {
265 1.14 pooka register_t retval = 0;
266 1.12 pooka struct sys_fsync_args arg;
267 1.12 pooka
268 1.12 pooka SPARG(&arg, fd) = fd;
269 1.12 pooka
270 1.12 pooka *error = sys_fsync(curlwp, &arg, &retval);
271 1.14 pooka if (*error)
272 1.14 pooka retval = -1;
273 1.12 pooka return retval;
274 1.12 pooka }
275 1.12 pooka
276 1.12 pooka int
277 1.1 pooka rump_sys_rename(const char * from, const char * to, int *error)
278 1.1 pooka {
279 1.14 pooka register_t retval = 0;
280 1.1 pooka struct sys_rename_args arg;
281 1.1 pooka
282 1.1 pooka SPARG(&arg, from) = from;
283 1.1 pooka SPARG(&arg, to) = to;
284 1.1 pooka
285 1.1 pooka *error = sys_rename(curlwp, &arg, &retval);
286 1.14 pooka if (*error)
287 1.14 pooka retval = -1;
288 1.1 pooka return retval;
289 1.1 pooka }
290 1.1 pooka
291 1.1 pooka int
292 1.10 pooka rump_sys_mkfifo(const char * path, mode_t mode, int *error)
293 1.10 pooka {
294 1.14 pooka register_t retval = 0;
295 1.10 pooka struct sys_mkfifo_args arg;
296 1.10 pooka
297 1.10 pooka SPARG(&arg, path) = path;
298 1.10 pooka SPARG(&arg, mode) = mode;
299 1.10 pooka
300 1.10 pooka *error = sys_mkfifo(curlwp, &arg, &retval);
301 1.14 pooka if (*error)
302 1.14 pooka retval = -1;
303 1.10 pooka return retval;
304 1.10 pooka }
305 1.10 pooka
306 1.10 pooka int
307 1.1 pooka rump_sys_mkdir(const char * path, mode_t mode, int *error)
308 1.1 pooka {
309 1.14 pooka register_t retval = 0;
310 1.1 pooka struct sys_mkdir_args arg;
311 1.1 pooka
312 1.1 pooka SPARG(&arg, path) = path;
313 1.1 pooka SPARG(&arg, mode) = mode;
314 1.1 pooka
315 1.1 pooka *error = sys_mkdir(curlwp, &arg, &retval);
316 1.14 pooka if (*error)
317 1.14 pooka retval = -1;
318 1.1 pooka return retval;
319 1.1 pooka }
320 1.1 pooka
321 1.1 pooka int
322 1.1 pooka rump_sys_rmdir(const char * path, int *error)
323 1.1 pooka {
324 1.14 pooka register_t retval = 0;
325 1.1 pooka struct sys_rmdir_args arg;
326 1.1 pooka
327 1.1 pooka SPARG(&arg, path) = path;
328 1.1 pooka
329 1.1 pooka *error = sys_rmdir(curlwp, &arg, &retval);
330 1.14 pooka if (*error)
331 1.14 pooka retval = -1;
332 1.1 pooka return retval;
333 1.1 pooka }
334 1.1 pooka
335 1.11 pooka int
336 1.11 pooka rump_sys_utimes(const char * path, const struct timeval * tptr, int *error)
337 1.11 pooka {
338 1.14 pooka register_t retval = 0;
339 1.11 pooka struct sys_utimes_args arg;
340 1.11 pooka
341 1.11 pooka SPARG(&arg, path) = path;
342 1.11 pooka SPARG(&arg, tptr) = tptr;
343 1.11 pooka
344 1.11 pooka *error = sys_utimes(curlwp, &arg, &retval);
345 1.14 pooka if (*error)
346 1.14 pooka retval = -1;
347 1.11 pooka return retval;
348 1.11 pooka }
349 1.11 pooka
350 1.8 pooka ssize_t
351 1.8 pooka rump_sys_pread(int fd, void * buf, size_t nbyte, int pad, off_t offset, int *error)
352 1.8 pooka {
353 1.14 pooka register_t retval = 0;
354 1.8 pooka struct sys_pread_args arg;
355 1.8 pooka
356 1.8 pooka SPARG(&arg, fd) = fd;
357 1.8 pooka SPARG(&arg, buf) = buf;
358 1.8 pooka SPARG(&arg, nbyte) = nbyte;
359 1.8 pooka SPARG(&arg, pad) = pad;
360 1.8 pooka SPARG(&arg, offset) = offset;
361 1.8 pooka
362 1.8 pooka *error = sys_pread(curlwp, &arg, &retval);
363 1.14 pooka if (*error)
364 1.14 pooka retval = -1;
365 1.8 pooka return retval;
366 1.8 pooka }
367 1.8 pooka
368 1.8 pooka ssize_t
369 1.8 pooka rump_sys_pwrite(int fd, const void * buf, size_t nbyte, int pad, off_t offset, int *error)
370 1.8 pooka {
371 1.14 pooka register_t retval = 0;
372 1.8 pooka struct sys_pwrite_args arg;
373 1.8 pooka
374 1.8 pooka SPARG(&arg, fd) = fd;
375 1.8 pooka SPARG(&arg, buf) = buf;
376 1.8 pooka SPARG(&arg, nbyte) = nbyte;
377 1.8 pooka SPARG(&arg, pad) = pad;
378 1.8 pooka SPARG(&arg, offset) = offset;
379 1.8 pooka
380 1.8 pooka *error = sys_pwrite(curlwp, &arg, &retval);
381 1.14 pooka if (*error)
382 1.14 pooka retval = -1;
383 1.8 pooka return retval;
384 1.8 pooka }
385 1.8 pooka
386 1.1 pooka int
387 1.1 pooka rump_sys_truncate(const char * path, int pad, off_t length, int *error)
388 1.1 pooka {
389 1.14 pooka register_t retval = 0;
390 1.1 pooka struct sys_truncate_args arg;
391 1.1 pooka
392 1.1 pooka SPARG(&arg, path) = path;
393 1.1 pooka SPARG(&arg, pad) = pad;
394 1.1 pooka SPARG(&arg, length) = length;
395 1.1 pooka
396 1.1 pooka *error = sys_truncate(curlwp, &arg, &retval);
397 1.14 pooka if (*error)
398 1.14 pooka retval = -1;
399 1.1 pooka return retval;
400 1.1 pooka }
401 1.1 pooka
402 1.1 pooka int
403 1.13 pooka rump_sys___sysctl(const int * name, u_int namelen, void * old, size_t * oldlenp, const void * new, size_t newlen, int *error)
404 1.13 pooka {
405 1.14 pooka register_t retval = 0;
406 1.13 pooka struct sys___sysctl_args arg;
407 1.13 pooka
408 1.13 pooka SPARG(&arg, name) = name;
409 1.13 pooka SPARG(&arg, namelen) = namelen;
410 1.13 pooka SPARG(&arg, old) = old;
411 1.13 pooka SPARG(&arg, oldlenp) = oldlenp;
412 1.13 pooka SPARG(&arg, new) = new;
413 1.13 pooka SPARG(&arg, newlen) = newlen;
414 1.13 pooka
415 1.13 pooka *error = sys___sysctl(curlwp, &arg, &retval);
416 1.14 pooka if (*error)
417 1.14 pooka retval = -1;
418 1.13 pooka return retval;
419 1.13 pooka }
420 1.13 pooka
421 1.13 pooka int
422 1.1 pooka rump_sys_lchmod(const char * path, mode_t mode, int *error)
423 1.1 pooka {
424 1.14 pooka register_t retval = 0;
425 1.1 pooka struct sys_lchmod_args arg;
426 1.1 pooka
427 1.1 pooka SPARG(&arg, path) = path;
428 1.1 pooka SPARG(&arg, mode) = mode;
429 1.1 pooka
430 1.1 pooka *error = sys_lchmod(curlwp, &arg, &retval);
431 1.14 pooka if (*error)
432 1.14 pooka retval = -1;
433 1.1 pooka return retval;
434 1.1 pooka }
435 1.1 pooka
436 1.1 pooka int
437 1.1 pooka rump_sys_lchown(const char * path, uid_t uid, gid_t gid, int *error)
438 1.1 pooka {
439 1.14 pooka register_t retval = 0;
440 1.1 pooka struct sys_lchown_args arg;
441 1.1 pooka
442 1.1 pooka SPARG(&arg, path) = path;
443 1.1 pooka SPARG(&arg, uid) = uid;
444 1.1 pooka SPARG(&arg, gid) = gid;
445 1.1 pooka
446 1.1 pooka *error = sys_lchown(curlwp, &arg, &retval);
447 1.14 pooka if (*error)
448 1.14 pooka retval = -1;
449 1.1 pooka return retval;
450 1.1 pooka }
451 1.1 pooka
452 1.10 pooka int
453 1.11 pooka rump_sys_lutimes(const char * path, const struct timeval * tptr, int *error)
454 1.11 pooka {
455 1.14 pooka register_t retval = 0;
456 1.11 pooka struct sys_lutimes_args arg;
457 1.11 pooka
458 1.11 pooka SPARG(&arg, path) = path;
459 1.11 pooka SPARG(&arg, tptr) = tptr;
460 1.11 pooka
461 1.11 pooka *error = sys_lutimes(curlwp, &arg, &retval);
462 1.14 pooka if (*error)
463 1.14 pooka retval = -1;
464 1.11 pooka return retval;
465 1.11 pooka }
466 1.11 pooka
467 1.11 pooka int
468 1.10 pooka rump_sys_lchflags(const char * path, u_long flags, int *error)
469 1.10 pooka {
470 1.14 pooka register_t retval = 0;
471 1.10 pooka struct sys_lchflags_args arg;
472 1.10 pooka
473 1.10 pooka SPARG(&arg, path) = path;
474 1.10 pooka SPARG(&arg, flags) = flags;
475 1.10 pooka
476 1.10 pooka *error = sys_lchflags(curlwp, &arg, &retval);
477 1.14 pooka if (*error)
478 1.14 pooka retval = -1;
479 1.10 pooka return retval;
480 1.10 pooka }
481 1.10 pooka
482 1.10 pooka int
483 1.10 pooka rump_sys___stat30(const char * path, struct stat * ub, int *error)
484 1.10 pooka {
485 1.14 pooka register_t retval = 0;
486 1.10 pooka struct sys___stat30_args arg;
487 1.10 pooka
488 1.10 pooka SPARG(&arg, path) = path;
489 1.10 pooka SPARG(&arg, ub) = ub;
490 1.10 pooka
491 1.10 pooka *error = sys___stat30(curlwp, &arg, &retval);
492 1.14 pooka if (*error)
493 1.14 pooka retval = -1;
494 1.10 pooka return retval;
495 1.10 pooka }
496 1.10 pooka
497 1.10 pooka int
498 1.10 pooka rump_sys___lstat30(const char * path, struct stat * ub, int *error)
499 1.10 pooka {
500 1.14 pooka register_t retval = 0;
501 1.10 pooka struct sys___lstat30_args arg;
502 1.10 pooka
503 1.10 pooka SPARG(&arg, path) = path;
504 1.10 pooka SPARG(&arg, ub) = ub;
505 1.10 pooka
506 1.10 pooka *error = sys___lstat30(curlwp, &arg, &retval);
507 1.14 pooka if (*error)
508 1.14 pooka retval = -1;
509 1.10 pooka return retval;
510 1.10 pooka }
511 1.10 pooka
512