Home | History | Annotate | Line # | Download | only in rumpkern
rump_syscalls.c revision 1.22
      1 /* $NetBSD: rump_syscalls.c,v 1.22 2008/11/26 15:02:05 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.218 2008/11/26 15:01:17 pooka Exp
      8  */
      9 
     10 #include <sys/cdefs.h>
     11 __KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.22 2008/11/26 15:02:05 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/rump_syscalls.h>
     18 #include "rump_private.h"
     19 
     20 #if	BYTE_ORDER == BIG_ENDIAN
     21 #define SPARG(p,k)	((p)->k.be.datum)
     22 #else /* LITTLE_ENDIAN, I hope dearly */
     23 #define SPARG(p,k)	((p)->k.le.datum)
     24 #endif
     25 
     26 int rump_enosys(void);
     27 int
     28 rump_enosys()
     29 {
     30 
     31 	return ENOSYS;
     32 }
     33 
     34 ssize_t
     35 rump_sys_read(int fd, void * buf, size_t nbyte, int *error)
     36 {
     37 	register_t retval = 0;
     38 	struct sys_read_args arg;
     39 
     40 	SPARG(&arg, fd) = fd;
     41 	SPARG(&arg, buf) = buf;
     42 	SPARG(&arg, nbyte) = nbyte;
     43 
     44 	*error = sys_read(curlwp, &arg, &retval);
     45 	if (*error)
     46 		retval = -1;
     47 	return retval;
     48 }
     49 __weak_alias(sys_read,rump_enosys);
     50 
     51 ssize_t
     52 rump_sys_write(int fd, const void * buf, size_t nbyte, int *error)
     53 {
     54 	register_t retval = 0;
     55 	struct sys_write_args arg;
     56 
     57 	SPARG(&arg, fd) = fd;
     58 	SPARG(&arg, buf) = buf;
     59 	SPARG(&arg, nbyte) = nbyte;
     60 
     61 	*error = sys_write(curlwp, &arg, &retval);
     62 	if (*error)
     63 		retval = -1;
     64 	return retval;
     65 }
     66 __weak_alias(sys_write,rump_enosys);
     67 
     68 int
     69 rump_sys_open(const char * path, int flags, mode_t mode, int *error)
     70 {
     71 	register_t retval = 0;
     72 	struct sys_open_args arg;
     73 
     74 	SPARG(&arg, path) = path;
     75 	SPARG(&arg, flags) = flags;
     76 	SPARG(&arg, mode) = mode;
     77 
     78 	*error = sys_open(curlwp, &arg, &retval);
     79 	if (*error)
     80 		retval = -1;
     81 	return retval;
     82 }
     83 __weak_alias(sys_open,rump_enosys);
     84 
     85 int
     86 rump_sys_close(int fd, int *error)
     87 {
     88 	register_t retval = 0;
     89 	struct sys_close_args arg;
     90 
     91 	SPARG(&arg, fd) = fd;
     92 
     93 	*error = sys_close(curlwp, &arg, &retval);
     94 	if (*error)
     95 		retval = -1;
     96 	return retval;
     97 }
     98 __weak_alias(sys_close,rump_enosys);
     99 
    100 int
    101 rump_sys_link(const char * path, const char * link, int *error)
    102 {
    103 	register_t retval = 0;
    104 	struct sys_link_args arg;
    105 
    106 	SPARG(&arg, path) = path;
    107 	SPARG(&arg, link) = link;
    108 
    109 	*error = sys_link(curlwp, &arg, &retval);
    110 	if (*error)
    111 		retval = -1;
    112 	return retval;
    113 }
    114 __weak_alias(sys_link,rump_enosys);
    115 
    116 int
    117 rump_sys_unlink(const char * path, int *error)
    118 {
    119 	register_t retval = 0;
    120 	struct sys_unlink_args arg;
    121 
    122 	SPARG(&arg, path) = path;
    123 
    124 	*error = sys_unlink(curlwp, &arg, &retval);
    125 	if (*error)
    126 		retval = -1;
    127 	return retval;
    128 }
    129 __weak_alias(sys_unlink,rump_enosys);
    130 
    131 int
    132 rump_sys_chdir(const char * path, int *error)
    133 {
    134 	register_t retval = 0;
    135 	struct sys_chdir_args arg;
    136 
    137 	SPARG(&arg, path) = path;
    138 
    139 	*error = sys_chdir(curlwp, &arg, &retval);
    140 	if (*error)
    141 		retval = -1;
    142 	return retval;
    143 }
    144 __weak_alias(sys_chdir,rump_enosys);
    145 
    146 int
    147 rump_sys_fchdir(int fd, int *error)
    148 {
    149 	register_t retval = 0;
    150 	struct sys_fchdir_args arg;
    151 
    152 	SPARG(&arg, fd) = fd;
    153 
    154 	*error = sys_fchdir(curlwp, &arg, &retval);
    155 	if (*error)
    156 		retval = -1;
    157 	return retval;
    158 }
    159 __weak_alias(sys_fchdir,rump_enosys);
    160 
    161 int
    162 rump_sys_mknod(const char * path, mode_t mode, dev_t dev, int *error)
    163 {
    164 	register_t retval = 0;
    165 	struct sys_mknod_args arg;
    166 
    167 	SPARG(&arg, path) = path;
    168 	SPARG(&arg, mode) = mode;
    169 	SPARG(&arg, dev) = dev;
    170 
    171 	*error = sys_mknod(curlwp, &arg, &retval);
    172 	if (*error)
    173 		retval = -1;
    174 	return retval;
    175 }
    176 __weak_alias(sys_mknod,rump_enosys);
    177 
    178 int
    179 rump_sys_chmod(const char * path, mode_t mode, int *error)
    180 {
    181 	register_t retval = 0;
    182 	struct sys_chmod_args arg;
    183 
    184 	SPARG(&arg, path) = path;
    185 	SPARG(&arg, mode) = mode;
    186 
    187 	*error = sys_chmod(curlwp, &arg, &retval);
    188 	if (*error)
    189 		retval = -1;
    190 	return retval;
    191 }
    192 __weak_alias(sys_chmod,rump_enosys);
    193 
    194 int
    195 rump_sys_chown(const char * path, uid_t uid, gid_t gid, int *error)
    196 {
    197 	register_t retval = 0;
    198 	struct sys_chown_args arg;
    199 
    200 	SPARG(&arg, path) = path;
    201 	SPARG(&arg, uid) = uid;
    202 	SPARG(&arg, gid) = gid;
    203 
    204 	*error = sys_chown(curlwp, &arg, &retval);
    205 	if (*error)
    206 		retval = -1;
    207 	return retval;
    208 }
    209 __weak_alias(sys_chown,rump_enosys);
    210 
    211 int
    212 rump_sys_unmount(const char * path, int flags, int *error)
    213 {
    214 	register_t retval = 0;
    215 	struct sys_unmount_args arg;
    216 
    217 	SPARG(&arg, path) = path;
    218 	SPARG(&arg, flags) = flags;
    219 
    220 	*error = sys_unmount(curlwp, &arg, &retval);
    221 	if (*error)
    222 		retval = -1;
    223 	return retval;
    224 }
    225 __weak_alias(sys_unmount,rump_enosys);
    226 
    227 int
    228 rump_sys_accept(int s, struct sockaddr * name, unsigned int * anamelen, int *error)
    229 {
    230 	register_t retval = 0;
    231 	struct sys_accept_args arg;
    232 
    233 	SPARG(&arg, s) = s;
    234 	SPARG(&arg, name) = name;
    235 	SPARG(&arg, anamelen) = anamelen;
    236 
    237 	*error = sys_accept(curlwp, &arg, &retval);
    238 	if (*error)
    239 		retval = -1;
    240 	return retval;
    241 }
    242 __weak_alias(sys_accept,rump_enosys);
    243 
    244 int
    245 rump_sys_chflags(const char * path, u_long flags, int *error)
    246 {
    247 	register_t retval = 0;
    248 	struct sys_chflags_args arg;
    249 
    250 	SPARG(&arg, path) = path;
    251 	SPARG(&arg, flags) = flags;
    252 
    253 	*error = sys_chflags(curlwp, &arg, &retval);
    254 	if (*error)
    255 		retval = -1;
    256 	return retval;
    257 }
    258 __weak_alias(sys_chflags,rump_enosys);
    259 
    260 void
    261 rump_sys_sync(int *error)
    262 {
    263 	register_t retval = 0;
    264 
    265 	*error = sys_sync(curlwp, NULL, &retval);
    266 	if (*error)
    267 		retval = -1;
    268 }
    269 __weak_alias(sys_sync,rump_enosys);
    270 
    271 int
    272 rump_sys_ioctl(int fd, u_long com, void * data, int *error)
    273 {
    274 	register_t retval = 0;
    275 	struct sys_ioctl_args arg;
    276 
    277 	SPARG(&arg, fd) = fd;
    278 	SPARG(&arg, com) = com;
    279 	SPARG(&arg, data) = data;
    280 
    281 	*error = sys_ioctl(curlwp, &arg, &retval);
    282 	if (*error)
    283 		retval = -1;
    284 	return retval;
    285 }
    286 __weak_alias(sys_ioctl,rump_enosys);
    287 
    288 int
    289 rump_sys_symlink(const char * path, const char * link, int *error)
    290 {
    291 	register_t retval = 0;
    292 	struct sys_symlink_args arg;
    293 
    294 	SPARG(&arg, path) = path;
    295 	SPARG(&arg, link) = link;
    296 
    297 	*error = sys_symlink(curlwp, &arg, &retval);
    298 	if (*error)
    299 		retval = -1;
    300 	return retval;
    301 }
    302 __weak_alias(sys_symlink,rump_enosys);
    303 
    304 ssize_t
    305 rump_sys_readlink(const char * path, char * buf, size_t count, int *error)
    306 {
    307 	register_t retval = 0;
    308 	struct sys_readlink_args arg;
    309 
    310 	SPARG(&arg, path) = path;
    311 	SPARG(&arg, buf) = buf;
    312 	SPARG(&arg, count) = count;
    313 
    314 	*error = sys_readlink(curlwp, &arg, &retval);
    315 	if (*error)
    316 		retval = -1;
    317 	return retval;
    318 }
    319 __weak_alias(sys_readlink,rump_enosys);
    320 
    321 int
    322 rump_sys_fsync(int fd, int *error)
    323 {
    324 	register_t retval = 0;
    325 	struct sys_fsync_args arg;
    326 
    327 	SPARG(&arg, fd) = fd;
    328 
    329 	*error = sys_fsync(curlwp, &arg, &retval);
    330 	if (*error)
    331 		retval = -1;
    332 	return retval;
    333 }
    334 __weak_alias(sys_fsync,rump_enosys);
    335 
    336 int
    337 rump_sys_connect(int s, const struct sockaddr * name, unsigned int namelen, int *error)
    338 {
    339 	register_t retval = 0;
    340 	struct sys_connect_args arg;
    341 
    342 	SPARG(&arg, s) = s;
    343 	SPARG(&arg, name) = name;
    344 	SPARG(&arg, namelen) = namelen;
    345 
    346 	*error = sys_connect(curlwp, &arg, &retval);
    347 	if (*error)
    348 		retval = -1;
    349 	return retval;
    350 }
    351 __weak_alias(sys_connect,rump_enosys);
    352 
    353 int
    354 rump_sys_bind(int s, const struct sockaddr * name, unsigned int namelen, int *error)
    355 {
    356 	register_t retval = 0;
    357 	struct sys_bind_args arg;
    358 
    359 	SPARG(&arg, s) = s;
    360 	SPARG(&arg, name) = name;
    361 	SPARG(&arg, namelen) = namelen;
    362 
    363 	*error = sys_bind(curlwp, &arg, &retval);
    364 	if (*error)
    365 		retval = -1;
    366 	return retval;
    367 }
    368 __weak_alias(sys_bind,rump_enosys);
    369 
    370 int
    371 rump_sys_setsockopt(int s, int level, int name, const void * val, unsigned int valsize, int *error)
    372 {
    373 	register_t retval = 0;
    374 	struct sys_setsockopt_args arg;
    375 
    376 	SPARG(&arg, s) = s;
    377 	SPARG(&arg, level) = level;
    378 	SPARG(&arg, name) = name;
    379 	SPARG(&arg, val) = val;
    380 	SPARG(&arg, valsize) = valsize;
    381 
    382 	*error = sys_setsockopt(curlwp, &arg, &retval);
    383 	if (*error)
    384 		retval = -1;
    385 	return retval;
    386 }
    387 __weak_alias(sys_setsockopt,rump_enosys);
    388 
    389 int
    390 rump_sys_listen(int s, int backlog, int *error)
    391 {
    392 	register_t retval = 0;
    393 	struct sys_listen_args arg;
    394 
    395 	SPARG(&arg, s) = s;
    396 	SPARG(&arg, backlog) = backlog;
    397 
    398 	*error = sys_listen(curlwp, &arg, &retval);
    399 	if (*error)
    400 		retval = -1;
    401 	return retval;
    402 }
    403 __weak_alias(sys_listen,rump_enosys);
    404 
    405 int
    406 rump_sys_getsockopt(int s, int level, int name, void * val, unsigned int * avalsize, int *error)
    407 {
    408 	register_t retval = 0;
    409 	struct sys_getsockopt_args arg;
    410 
    411 	SPARG(&arg, s) = s;
    412 	SPARG(&arg, level) = level;
    413 	SPARG(&arg, name) = name;
    414 	SPARG(&arg, val) = val;
    415 	SPARG(&arg, avalsize) = avalsize;
    416 
    417 	*error = sys_getsockopt(curlwp, &arg, &retval);
    418 	if (*error)
    419 		retval = -1;
    420 	return retval;
    421 }
    422 __weak_alias(sys_getsockopt,rump_enosys);
    423 
    424 int
    425 rump_sys_rename(const char * from, const char * to, int *error)
    426 {
    427 	register_t retval = 0;
    428 	struct sys_rename_args arg;
    429 
    430 	SPARG(&arg, from) = from;
    431 	SPARG(&arg, to) = to;
    432 
    433 	*error = sys_rename(curlwp, &arg, &retval);
    434 	if (*error)
    435 		retval = -1;
    436 	return retval;
    437 }
    438 __weak_alias(sys_rename,rump_enosys);
    439 
    440 int
    441 rump_sys_mkfifo(const char * path, mode_t mode, int *error)
    442 {
    443 	register_t retval = 0;
    444 	struct sys_mkfifo_args arg;
    445 
    446 	SPARG(&arg, path) = path;
    447 	SPARG(&arg, mode) = mode;
    448 
    449 	*error = sys_mkfifo(curlwp, &arg, &retval);
    450 	if (*error)
    451 		retval = -1;
    452 	return retval;
    453 }
    454 __weak_alias(sys_mkfifo,rump_enosys);
    455 
    456 int
    457 rump_sys_mkdir(const char * path, mode_t mode, int *error)
    458 {
    459 	register_t retval = 0;
    460 	struct sys_mkdir_args arg;
    461 
    462 	SPARG(&arg, path) = path;
    463 	SPARG(&arg, mode) = mode;
    464 
    465 	*error = sys_mkdir(curlwp, &arg, &retval);
    466 	if (*error)
    467 		retval = -1;
    468 	return retval;
    469 }
    470 __weak_alias(sys_mkdir,rump_enosys);
    471 
    472 int
    473 rump_sys_rmdir(const char * path, int *error)
    474 {
    475 	register_t retval = 0;
    476 	struct sys_rmdir_args arg;
    477 
    478 	SPARG(&arg, path) = path;
    479 
    480 	*error = sys_rmdir(curlwp, &arg, &retval);
    481 	if (*error)
    482 		retval = -1;
    483 	return retval;
    484 }
    485 __weak_alias(sys_rmdir,rump_enosys);
    486 
    487 int
    488 rump_sys_utimes(const char * path, const struct timeval * tptr, int *error)
    489 {
    490 	register_t retval = 0;
    491 	struct sys_utimes_args arg;
    492 
    493 	SPARG(&arg, path) = path;
    494 	SPARG(&arg, tptr) = tptr;
    495 
    496 	*error = sys_utimes(curlwp, &arg, &retval);
    497 	if (*error)
    498 		retval = -1;
    499 	return retval;
    500 }
    501 __weak_alias(sys_utimes,rump_enosys);
    502 
    503 int
    504 rump_sys_nfssvc(int flag, void * argp, int *error)
    505 {
    506 	register_t retval = 0;
    507 	struct sys_nfssvc_args arg;
    508 
    509 	SPARG(&arg, flag) = flag;
    510 	SPARG(&arg, argp) = argp;
    511 
    512 	*error = sys_nfssvc(curlwp, &arg, &retval);
    513 	if (*error)
    514 		retval = -1;
    515 	return retval;
    516 }
    517 __weak_alias(sys_nfssvc,rump_enosys);
    518 
    519 ssize_t
    520 rump_sys_pread(int fd, void * buf, size_t nbyte, int pad, off_t offset, int *error)
    521 {
    522 	register_t retval = 0;
    523 	struct sys_pread_args arg;
    524 
    525 	SPARG(&arg, fd) = fd;
    526 	SPARG(&arg, buf) = buf;
    527 	SPARG(&arg, nbyte) = nbyte;
    528 	SPARG(&arg, pad) = pad;
    529 	SPARG(&arg, offset) = offset;
    530 
    531 	*error = sys_pread(curlwp, &arg, &retval);
    532 	if (*error)
    533 		retval = -1;
    534 	return retval;
    535 }
    536 __weak_alias(sys_pread,rump_enosys);
    537 
    538 ssize_t
    539 rump_sys_pwrite(int fd, const void * buf, size_t nbyte, int pad, off_t offset, int *error)
    540 {
    541 	register_t retval = 0;
    542 	struct sys_pwrite_args arg;
    543 
    544 	SPARG(&arg, fd) = fd;
    545 	SPARG(&arg, buf) = buf;
    546 	SPARG(&arg, nbyte) = nbyte;
    547 	SPARG(&arg, pad) = pad;
    548 	SPARG(&arg, offset) = offset;
    549 
    550 	*error = sys_pwrite(curlwp, &arg, &retval);
    551 	if (*error)
    552 		retval = -1;
    553 	return retval;
    554 }
    555 __weak_alias(sys_pwrite,rump_enosys);
    556 
    557 int
    558 rump_sys_truncate(const char * path, int pad, off_t length, int *error)
    559 {
    560 	register_t retval = 0;
    561 	struct sys_truncate_args arg;
    562 
    563 	SPARG(&arg, path) = path;
    564 	SPARG(&arg, pad) = pad;
    565 	SPARG(&arg, length) = length;
    566 
    567 	*error = sys_truncate(curlwp, &arg, &retval);
    568 	if (*error)
    569 		retval = -1;
    570 	return retval;
    571 }
    572 __weak_alias(sys_truncate,rump_enosys);
    573 
    574 int
    575 rump_sys___sysctl(const int * name, u_int namelen, void * old, size_t * oldlenp, const void * new, size_t newlen, int *error)
    576 {
    577 	register_t retval = 0;
    578 	struct sys___sysctl_args arg;
    579 
    580 	SPARG(&arg, name) = name;
    581 	SPARG(&arg, namelen) = namelen;
    582 	SPARG(&arg, old) = old;
    583 	SPARG(&arg, oldlenp) = oldlenp;
    584 	SPARG(&arg, new) = new;
    585 	SPARG(&arg, newlen) = newlen;
    586 
    587 	*error = sys___sysctl(curlwp, &arg, &retval);
    588 	if (*error)
    589 		retval = -1;
    590 	return retval;
    591 }
    592 __weak_alias(sys___sysctl,rump_enosys);
    593 
    594 int
    595 rump_sys_lchmod(const char * path, mode_t mode, int *error)
    596 {
    597 	register_t retval = 0;
    598 	struct sys_lchmod_args arg;
    599 
    600 	SPARG(&arg, path) = path;
    601 	SPARG(&arg, mode) = mode;
    602 
    603 	*error = sys_lchmod(curlwp, &arg, &retval);
    604 	if (*error)
    605 		retval = -1;
    606 	return retval;
    607 }
    608 __weak_alias(sys_lchmod,rump_enosys);
    609 
    610 int
    611 rump_sys_lchown(const char * path, uid_t uid, gid_t gid, int *error)
    612 {
    613 	register_t retval = 0;
    614 	struct sys_lchown_args arg;
    615 
    616 	SPARG(&arg, path) = path;
    617 	SPARG(&arg, uid) = uid;
    618 	SPARG(&arg, gid) = gid;
    619 
    620 	*error = sys_lchown(curlwp, &arg, &retval);
    621 	if (*error)
    622 		retval = -1;
    623 	return retval;
    624 }
    625 __weak_alias(sys_lchown,rump_enosys);
    626 
    627 int
    628 rump_sys_lutimes(const char * path, const struct timeval * tptr, int *error)
    629 {
    630 	register_t retval = 0;
    631 	struct sys_lutimes_args arg;
    632 
    633 	SPARG(&arg, path) = path;
    634 	SPARG(&arg, tptr) = tptr;
    635 
    636 	*error = sys_lutimes(curlwp, &arg, &retval);
    637 	if (*error)
    638 		retval = -1;
    639 	return retval;
    640 }
    641 __weak_alias(sys_lutimes,rump_enosys);
    642 
    643 int
    644 rump_sys_lchflags(const char * path, u_long flags, int *error)
    645 {
    646 	register_t retval = 0;
    647 	struct sys_lchflags_args arg;
    648 
    649 	SPARG(&arg, path) = path;
    650 	SPARG(&arg, flags) = flags;
    651 
    652 	*error = sys_lchflags(curlwp, &arg, &retval);
    653 	if (*error)
    654 		retval = -1;
    655 	return retval;
    656 }
    657 __weak_alias(sys_lchflags,rump_enosys);
    658 
    659 int
    660 rump_sys_statvfs1(const char * path, struct statvfs * buf, int flags, int *error)
    661 {
    662 	register_t retval = 0;
    663 	struct sys_statvfs1_args arg;
    664 
    665 	SPARG(&arg, path) = path;
    666 	SPARG(&arg, buf) = buf;
    667 	SPARG(&arg, flags) = flags;
    668 
    669 	*error = sys_statvfs1(curlwp, &arg, &retval);
    670 	if (*error)
    671 		retval = -1;
    672 	return retval;
    673 }
    674 __weak_alias(sys_statvfs1,rump_enosys);
    675 
    676 int
    677 rump_sys___stat30(const char * path, struct stat * ub, int *error)
    678 {
    679 	register_t retval = 0;
    680 	struct sys___stat30_args arg;
    681 
    682 	SPARG(&arg, path) = path;
    683 	SPARG(&arg, ub) = ub;
    684 
    685 	*error = sys___stat30(curlwp, &arg, &retval);
    686 	if (*error)
    687 		retval = -1;
    688 	return retval;
    689 }
    690 __weak_alias(sys___stat30,rump_enosys);
    691 
    692 int
    693 rump_sys___lstat30(const char * path, struct stat * ub, int *error)
    694 {
    695 	register_t retval = 0;
    696 	struct sys___lstat30_args arg;
    697 
    698 	SPARG(&arg, path) = path;
    699 	SPARG(&arg, ub) = ub;
    700 
    701 	*error = sys___lstat30(curlwp, &arg, &retval);
    702 	if (*error)
    703 		retval = -1;
    704 	return retval;
    705 }
    706 __weak_alias(sys___lstat30,rump_enosys);
    707 
    708 int
    709 rump_sys___socket30(int domain, int type, int protocol, int *error)
    710 {
    711 	register_t retval = 0;
    712 	struct sys___socket30_args arg;
    713 
    714 	SPARG(&arg, domain) = domain;
    715 	SPARG(&arg, type) = type;
    716 	SPARG(&arg, protocol) = protocol;
    717 
    718 	*error = sys___socket30(curlwp, &arg, &retval);
    719 	if (*error)
    720 		retval = -1;
    721 	return retval;
    722 }
    723 __weak_alias(sys___socket30,rump_enosys);
    724 
    725 int
    726 rump_sys___getfh30(const char * fname, void * fhp, size_t * fh_size, int *error)
    727 {
    728 	register_t retval = 0;
    729 	struct sys___getfh30_args arg;
    730 
    731 	SPARG(&arg, fname) = fname;
    732 	SPARG(&arg, fhp) = fhp;
    733 	SPARG(&arg, fh_size) = fh_size;
    734 
    735 	*error = sys___getfh30(curlwp, &arg, &retval);
    736 	if (*error)
    737 		retval = -1;
    738 	return retval;
    739 }
    740 __weak_alias(sys___getfh30,rump_enosys);
    741