rump_syscalls.c revision 1.13 1 /* $NetBSD: rump_syscalls.c,v 1.13 2008/08/01 19:33:02 pooka 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.208 2008/08/01 19:32:35 pooka Exp
8 */
9
10 #include <sys/cdefs.h>
11 __KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.13 2008/08/01 19:33:02 pooka 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_fsync(int fd, int *error)
232 {
233 register_t retval;
234 struct sys_fsync_args arg;
235
236 SPARG(&arg, fd) = fd;
237
238 *error = sys_fsync(curlwp, &arg, &retval);
239 return retval;
240 }
241
242 int
243 rump_sys_rename(const char * from, const char * to, int *error)
244 {
245 register_t retval;
246 struct sys_rename_args arg;
247
248 SPARG(&arg, from) = from;
249 SPARG(&arg, to) = to;
250
251 *error = sys_rename(curlwp, &arg, &retval);
252 return retval;
253 }
254
255 int
256 rump_sys_mkfifo(const char * path, mode_t mode, int *error)
257 {
258 register_t retval;
259 struct sys_mkfifo_args arg;
260
261 SPARG(&arg, path) = path;
262 SPARG(&arg, mode) = mode;
263
264 *error = sys_mkfifo(curlwp, &arg, &retval);
265 return retval;
266 }
267
268 int
269 rump_sys_mkdir(const char * path, mode_t mode, int *error)
270 {
271 register_t retval;
272 struct sys_mkdir_args arg;
273
274 SPARG(&arg, path) = path;
275 SPARG(&arg, mode) = mode;
276
277 *error = sys_mkdir(curlwp, &arg, &retval);
278 return retval;
279 }
280
281 int
282 rump_sys_rmdir(const char * path, int *error)
283 {
284 register_t retval;
285 struct sys_rmdir_args arg;
286
287 SPARG(&arg, path) = path;
288
289 *error = sys_rmdir(curlwp, &arg, &retval);
290 return retval;
291 }
292
293 int
294 rump_sys_utimes(const char * path, const struct timeval * tptr, int *error)
295 {
296 register_t retval;
297 struct sys_utimes_args arg;
298
299 SPARG(&arg, path) = path;
300 SPARG(&arg, tptr) = tptr;
301
302 *error = sys_utimes(curlwp, &arg, &retval);
303 return retval;
304 }
305
306 ssize_t
307 rump_sys_pread(int fd, void * buf, size_t nbyte, int pad, off_t offset, int *error)
308 {
309 register_t retval;
310 struct sys_pread_args arg;
311
312 SPARG(&arg, fd) = fd;
313 SPARG(&arg, buf) = buf;
314 SPARG(&arg, nbyte) = nbyte;
315 SPARG(&arg, pad) = pad;
316 SPARG(&arg, offset) = offset;
317
318 *error = sys_pread(curlwp, &arg, &retval);
319 return retval;
320 }
321
322 ssize_t
323 rump_sys_pwrite(int fd, const void * buf, size_t nbyte, int pad, off_t offset, int *error)
324 {
325 register_t retval;
326 struct sys_pwrite_args arg;
327
328 SPARG(&arg, fd) = fd;
329 SPARG(&arg, buf) = buf;
330 SPARG(&arg, nbyte) = nbyte;
331 SPARG(&arg, pad) = pad;
332 SPARG(&arg, offset) = offset;
333
334 *error = sys_pwrite(curlwp, &arg, &retval);
335 return retval;
336 }
337
338 int
339 rump_sys_truncate(const char * path, int pad, off_t length, int *error)
340 {
341 register_t retval;
342 struct sys_truncate_args arg;
343
344 SPARG(&arg, path) = path;
345 SPARG(&arg, pad) = pad;
346 SPARG(&arg, length) = length;
347
348 *error = sys_truncate(curlwp, &arg, &retval);
349 return retval;
350 }
351
352 int
353 rump_sys___sysctl(const int * name, u_int namelen, void * old, size_t * oldlenp, const void * new, size_t newlen, int *error)
354 {
355 register_t retval;
356 struct sys___sysctl_args arg;
357
358 SPARG(&arg, name) = name;
359 SPARG(&arg, namelen) = namelen;
360 SPARG(&arg, old) = old;
361 SPARG(&arg, oldlenp) = oldlenp;
362 SPARG(&arg, new) = new;
363 SPARG(&arg, newlen) = newlen;
364
365 *error = sys___sysctl(curlwp, &arg, &retval);
366 return retval;
367 }
368
369 int
370 rump_sys_lchmod(const char * path, mode_t mode, int *error)
371 {
372 register_t retval;
373 struct sys_lchmod_args arg;
374
375 SPARG(&arg, path) = path;
376 SPARG(&arg, mode) = mode;
377
378 *error = sys_lchmod(curlwp, &arg, &retval);
379 return retval;
380 }
381
382 int
383 rump_sys_lchown(const char * path, uid_t uid, gid_t gid, int *error)
384 {
385 register_t retval;
386 struct sys_lchown_args arg;
387
388 SPARG(&arg, path) = path;
389 SPARG(&arg, uid) = uid;
390 SPARG(&arg, gid) = gid;
391
392 *error = sys_lchown(curlwp, &arg, &retval);
393 return retval;
394 }
395
396 int
397 rump_sys_lutimes(const char * path, const struct timeval * tptr, int *error)
398 {
399 register_t retval;
400 struct sys_lutimes_args arg;
401
402 SPARG(&arg, path) = path;
403 SPARG(&arg, tptr) = tptr;
404
405 *error = sys_lutimes(curlwp, &arg, &retval);
406 return retval;
407 }
408
409 int
410 rump_sys_lchflags(const char * path, u_long flags, int *error)
411 {
412 register_t retval;
413 struct sys_lchflags_args arg;
414
415 SPARG(&arg, path) = path;
416 SPARG(&arg, flags) = flags;
417
418 *error = sys_lchflags(curlwp, &arg, &retval);
419 return retval;
420 }
421
422 int
423 rump_sys___stat30(const char * path, struct stat * ub, int *error)
424 {
425 register_t retval;
426 struct sys___stat30_args arg;
427
428 SPARG(&arg, path) = path;
429 SPARG(&arg, ub) = ub;
430
431 *error = sys___stat30(curlwp, &arg, &retval);
432 return retval;
433 }
434
435 int
436 rump_sys___lstat30(const char * path, struct stat * ub, int *error)
437 {
438 register_t retval;
439 struct sys___lstat30_args arg;
440
441 SPARG(&arg, path) = path;
442 SPARG(&arg, ub) = ub;
443
444 *error = sys___lstat30(curlwp, &arg, &retval);
445 return retval;
446 }
447
448