1 $NetBSD: syscalls.master,v 1.12 2014/01/10 20:10:23 njoly Exp $ 2 3; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 4 5; NetBSD system call name/number "master" file. 6; (See syscalls.conf to see what it is processed into.) 7; 8; Fields: number type [type-dependent ...] 9; number system call number, must be in order 10; type one of NODEF, UNIMPL, or NOARGS 11; 12; types: 13; NODEF always included 14; UNIMPL unimplemented, not included in system 15; NODEF included, but don't define the syscall number 16; NOARGS included, but don't define the syscall args structure 17; 18; arguments: 19; PAD argument not part of the C interface, used only for padding 20; 21; 22; The purpose of this syscalls.master is to map to the Linux types which 23; are marshalled into the arg structure by the clientside rump_syscalls.c 24; code in librumpclient. 25; 26 27#include <sys/param.h> 28#include <sys/systm.h> 29#include <sys/signal.h> 30#include <sys/socket.h> 31#include <sys/mount.h> 32#include <sys/sched.h> 33#include <sys/syscallargs.h> 34 35#include <compat/linux/common/linux_types.h> 36#include <compat/linux/common/linux_signal.h> 37#include <compat/linux/linux_syscallargs.h> 38#include <compat/linux/linux_syscall.h> 39 40#ifdef LINUX_SYS_socketcall 41#include <compat/linux/common/linux_socketcall.h> 42#endif 43 44#include "rump_linux_syscallargs.h" 45 46%% 47 480 NOARGS { int|linux_sys||nosys(void); } 491 UNIMPL exit 502 UNIMPL fork 513 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 524 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 53 size_t nbyte); } 545 NOARGS { int|linux_sys||open(const char *path, \ 55 int flags, int mode); } 566 NOARGS { int|sys||close(int fd); } 577 UNIMPL wait4 588 UNIMPL creat 599 NOARGS { int|sys||link(const char *path, const char *link); } 6010 NOARGS { int|linux_sys||unlink(const char *path); } 6111 UNIMPL execv 6212 NOARGS { int|sys||chdir(const char *path); } 6313 NOARGS { int|sys||fchdir(int fd); } 6414 UNIMPL mknod 6515 NOARGS { int|sys||chmod(const char *path, mode_t mode); } 6616 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 67 gid_t gid); } 6817 UNIMPL obreak 6918 UNIMPL getfsstat 7019 UNIMPL lseek 7120 NOARGS { pid_t|sys||getpid_with_ppid(void); } getpid 7221 UNIMPL mount 7322 UNIMPL unmount 7423 NOARGS { int|sys||setuid(uid_t uid); } 7524 NOARGS { uid_t|sys||getuid_with_euid(void); } getuid 7625 NOARGS { uid_t|sys||geteuid(void); } 7726 UNIMPL ptrace 7827 NOARGS { ssize_t|linux_sys||recvmsg(int s, \ 79 struct linux_msghdr *msg, int flags); } 8028 NOARGS { ssize_t|linux_sys||sendmsg(int s, \ 81 const struct linux_msghdr *msg, int flags); } 8229 NOARGS { ssize_t|linux_sys||recvfrom(int s, void *buf, \ 83 int len, int flags, struct osockaddr *from, \ 84 int *fromlenaddr); } 8530 NOARGS { int|linux_sys||accept(int s, struct osockaddr *name, \ 86 int *anamelen); } 8731 NOARGS { int|linux_sys||getpeername(int fdes, \ 88 struct osockaddr *asa, int *alen); } 8932 NOARGS { int|linux_sys||getsockname(int fdes, \ 90 struct osockaddr *asa, int *alen); } 9133 NOARGS { int|sys||access(const char *path, int flags); } 9234 UNIMPL chflags 9335 UNIMPL fchflags 9436 NOARGS { void|sys||sync(void); } 9537 UNIMPL kill 9638 UNIMPL stat 9739 UNIMPL getppid 9840 UNIMPL lstat 9941 NOARGS { int|sys||dup(int fd); } 100 101; we mimic the librumpclient calling convention, therefore no linux_sys_pipe 10242 NOARGS { int|sys||pipe(void); } 103 10443 UNIMPL getegid 10544 UNIMPL profil 10645 UNIMPL ktrace 10746 UNIMPL sigaction 10847 NOARGS { gid_t|sys||getgid_with_egid(void); } getgid 10948 UNIMPL sigprocmask 11049 UNIMPL __getlogin 11150 UNIMPL __setlogin 11251 UNIMPL acct 11352 UNIMPL sigpending 11453 UNIMPL sigaltstack 11554 NOARGS { int|linux_sys||ioctl(int fd, \ 116 u_long com, void *data); } 11755 UNIMPL reboot 11856 UNIMPL revoke 11957 NOARGS { int|sys||symlink(const char *path, \ 120 const char *link); } 12158 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 122 int count); } 12359 UNIMPL execve 12460 NOARGS { mode_t|sys||umask(mode_t newmask); } 12561 NOARGS { int|sys||chroot(const char *path); } 12662 UNIMPL fstat43 12763 UNIMPL getkerninfo 12864 UNIMPL getpagesize 12965 UNIMPL msync 13066 UNIMPL vfork 13167 UNIMPL vread 13268 UNIMPL vwrite 13369 UNIMPL sbrk 13470 UNIMPL sstk 13571 UNIMPL mmap 13672 UNIMPL ovadvise 13773 UNIMPL munmap 13874 UNIMPL mprotect 13975 UNIMPL madvise 14076 UNIMPL vhangup 14177 UNIMPL vlimit 14278 UNIMPL mincore 14379 NOARGS { int|sys||getgroups(int gidsetsize, \ 144 int *gidset); } 14580 NOARGS { int|sys||setgroups(int gidsetsize, \ 146 const int *gidset); } 14781 NOARGS { int|sys||getpgrp(void); } 14882 NOARGS { int|sys||setpgid(int pid, int pgid); } 14983 UNIMPL setitimer 15084 UNIMPL wait 15185 UNIMPL swapon 15286 UNIMPL getitimer 15387 UNIMPL gethostname 15488 UNIMPL sethostname 15589 UNIMPL getdtablesize 15690 NOARGS { int|sys||dup2(int from, int to); } 15791 UNIMPL getdopt 15892 NOARGS { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 15993 UNIMPL select 16094 UNIMPL setdopt 16195 NOARGS { int|sys||fsync(int fd); } 16296 UNIMPL setpriority 16397 UNIMPL socket 16498 NOARGS { int|linux_sys||connect(int s, \ 165 const struct osockaddr *name, \ 166 unsigned int namelen); } 16799 UNIMPL accept 168100 UNIMPL getpriority 169 170101 UNIMPL send 171102 UNIMPL recv 172 173103 UNIMPL sigreturn 174104 NOARGS { int|linux_sys||bind(int s, \ 175 const struct osockaddr *name, unsigned namelen); } 176105 NOARGS { int|linux_sys||setsockopt(int s, int level, \ 177 int name, const void *val, int optlen); } 178106 NOARGS { int|sys||listen(int s, int backlog); } 179107 UNIMPL vtimes 180108 UNIMPL sigvec 181109 UNIMPL sigblock 182110 UNIMPL sigsetmask 183111 UNIMPL sigsuspend 184112 UNIMPL sigstack 185113 UNIMPL orecvmsg 186114 UNIMPL osendmsg 187115 UNIMPL vtrace 188116 UNIMPL gettimeofday 189117 UNIMPL getrusage 190118 NOARGS { int|linux_sys||getsockopt(int s, int level, \ 191 int name, void *val, int *avalsize); } 192119 UNIMPL resuba 193120 NOARGS { ssize_t|sys||readv(int fd, \ 194 const struct iovec *iovp, int iovcnt); } 195121 NOARGS { ssize_t|sys||writev(int fd, \ 196 const struct iovec *iovp, int iovcnt); } 197122 UNIMPL settimeofday 198123 NOARGS { int|sys||__posix_fchown(int fd, int uid, int gid); } 199124 NOARGS { int|sys||fchmod(int fd, mode_t mode); } 200125 UNIMPL orecvfrom 201126 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 202127 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 203128 NOARGS { int|sys||__posix_rename(const char *from, \ 204 const char *to); } 205129 UNIMPL otruncate 206130 UNIMPL oftruncate 207131 NOARGS { int|sys||flock(int fd, int how); } 208132 UNIMPL mkfifo 209133 NOARGS { int|linux_sys||sendto(int s, void *buf, \ 210 int len, int flags, const struct osockaddr *to, \ 211 int tolen); } 212134 NOARGS { int|sys||shutdown(int s, int how); } 213135 NOARGS { int|linux_sys||socketpair(int domain, int type, \ 214 int protocol, int *rsv); } 215136 NOARGS { int|sys||mkdir(const char *path, mode_t mode); } 216137 NOARGS { int|sys||rmdir(const char *path); } 217138 UNIMPL utimes 218 219139 UNIMPL 4.2 sigreturn 220140 UNIMPL adjtime 221141 UNIMPL ogetpeername 222142 UNIMPL ogethostid 223143 UNIMPL osethostid 224144 UNIMPL ogetrlimit 225145 UNIMPL osetrlimit 226146 UNIMPL okillpg 227147 NOARGS { int|sys||setsid(void); } 228148 UNIMPL quotactl 229149 UNIMPL oquota 230150 UNIMPL ogetsockname 231 232; Syscalls 151-180 inclusive are reserved for vendor-specific 233; system calls. (This includes various calls added for compatibity 234; with other Unix variants.) 235; Some of these calls are now supported by BSD... 236151 UNIMPL 237152 UNIMPL 238153 UNIMPL 239154 UNIMPL 240155 UNIMPL nfssvc 241156 UNIMPL ogetdirentries 242157 UNIMPL statfs12 243158 UNIMPL fstatfs12 244159 UNIMPL 245160 UNIMPL 246161 UNIMPL getfh30 247162 UNIMPL ogetdomainname 248163 UNIMPL osetdomainname 249164 UNIMPL ouname 250165 UNIMPL sysarch 251166 UNIMPL 252167 UNIMPL 253168 UNIMPL 254169 UNIMPL 1.0 semsys 255170 UNIMPL 1.0 msgsys 256171 UNIMPL 1.0 shmsys 257172 UNIMPL 258173 NOARGS { ssize_t|sys||pread(int fd, char *buf, \ 259 size_t nbyte, int PAD, linux_off_t offset); } 260174 NOARGS { ssize_t|sys||pwrite(int fd, char *buf, \ 261 size_t nbyte, int PAD, linux_off_t offset); } 262175 UNIMPL ntp_gettime 263176 UNIMPL ntp_adjtime 264177 UNIMPL 265178 UNIMPL 266179 UNIMPL 267180 UNIMPL 268 269; Syscalls 180-199 are used by/reserved for BSD 270181 NOARGS { int|sys||setgid(gid_t gid); } 271182 NOARGS { int|sys||setegid(gid_t egid); } 272183 NOARGS { int|sys||seteuid(uid_t euid); } 273184 UNIMPL lfs_bmapv 274185 UNIMPL lfs_markv 275186 UNIMPL lfs_segclean 276187 UNIMPL lfs_segwait 277188 UNIMPL stat12 278189 UNIMPL fstat12 279190 UNIMPL lstat12 280191 UNIMPL pathconf 281192 UNIMPL fpathconf 282193 UNIMPL 283194 NOARGS { int|linux_sys||getrlimit(int which, \ 284 struct orlimit *rlp); } 285195 NOARGS { int|linux_sys||setrlimit(int which, \ 286 const struct orlimit *rlp); } 287196 UNIMPL getdirentries 288197 UNIMPL mmap 289198 UNIMPL __syscall 290199 NOARGS { off_t|sys||lseek(int fd, int PAD, off_t offset, \ 291 int whence); } 292200 NOARGS { int|sys||truncate(const char *path, int PAD, \ 293 off_t length); } 294201 NOARGS { int|sys||ftruncate(int fd, int PAD, off_t length); } 295202 UNIMPL __sysctl 296203 UNIMPL mlock 297204 UNIMPL munlock 298205 UNIMPL undelete 299206 UNIMPL futimes 300207 NOARGS { pid_t|sys||getpgid(pid_t pid); } 301208 UNIMPL reboot 302209 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 303 int timeout); } 304; 305; Syscalls 210-219 are reserved for dynamically loaded syscalls 306; 307210 UNIMPL afssys 308211 UNIMPL 309212 UNIMPL 310213 UNIMPL 311214 UNIMPL 312215 UNIMPL 313216 UNIMPL 314217 UNIMPL 315218 UNIMPL 316219 UNIMPL 317220 UNIMPL compat_14_semctl 318221 UNIMPL semget 319222 UNIMPL semop 320223 UNIMPL semconfig 321224 UNIMPL compat_14_msgctl 322225 UNIMPL msgget 323226 UNIMPL msgsnd 324227 UNIMPL msgrcv 325228 UNIMPL shmat 326229 UNIMPL compat_14_shmctl 327230 UNIMPL shmdt 328231 UNIMPL shmget 329 330232 UNIMPL clock_gettime 331233 UNIMPL clock_settime 332234 UNIMPL clock_getres 333235 UNIMPL timer_create 334236 UNIMPL timer_delete 335237 UNIMPL timer_settime 336238 UNIMPL timer_gettime 337239 UNIMPL timer_getoverrun 338; 339; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls 340; 341240 UNIMPL nanosleep 342241 NOARGS { int|linux_sys||fdatasync(int fd); } 343242 UNIMPL mlockall 344243 UNIMPL munlockall 345244 UNIMPL __sigtimedwait 346245 UNIMPL sigqueueinfo 347246 UNIMPL modctl 348247 UNIMPL _ksem_init 349248 UNIMPL _ksem_open 350249 UNIMPL _ksem_unlink 351250 UNIMPL _ksem_close 352251 UNIMPL _ksem_post 353252 UNIMPL _ksem_wait 354253 UNIMPL _ksem_trywait 355254 UNIMPL _ksem_getvalue 356255 UNIMPL _ksem_destroy 357256 UNIMPL _ksem_timedwait 358 359257 UNIMPL mq_open 360258 UNIMPL mq_close 361259 UNIMPL mq_unlink 362260 UNIMPL mq_getattr 363261 UNIMPL mq_setattr 364262 UNIMPL mq_notify 365263 UNIMPL mq_send 366264 UNIMPL mq_receive 367265 UNIMPL mq_timedsend 368266 UNIMPL mq_timedreceive 369267 UNIMPL 370268 UNIMPL 371269 UNIMPL 372270 UNIMPL __posix_rename 373271 UNIMPL swapctl 374272 UNIMPL getdents 375273 UNIMPL minherit 376274 UNIMPL lchmod 377275 UNIMPL lchown 378276 UNIMPL lutimes 379277 UNIMPL msync 380278 UNIMPL stat 381279 UNIMPL fstat 382280 UNIMPL lstat 383281 UNIMPL sigaltstack 384282 UNIMPL vfork 385283 UNIMPL __posix_chown 386284 UNIMPL __posix_fchown 387285 UNIMPL __posix_lchown 388286 NOARGS { pid_t|sys||getsid(pid_t pid); } 389 390287 UNIMPL __clone 391288 UNIMPL fktrace 392289 UNIMPL { ssize_t|sys||preadv(int fd, \ 393 const struct iovec *iovp, int iovcnt, \ 394 int PAD, off_t offset); } 395290 UNIMPL { ssize_t|sys||pwritev(int fd, \ 396 const struct iovec *iovp, int iovcnt, \ 397 int PAD, off_t offset); } 398291 UNIMPL sigaction 399292 UNIMPL sigpending 400293 UNIMPL sigprocmask 401294 UNIMPL sigsuspend 402295 UNIMPL sigreturn 403296 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 404297 NOARGS { int|sys||fchroot(int fd); } 405298 UNIMPL fhopen 406299 UNIMPL fhstat 407300 UNIMPL fhstatfs 408301 UNIMPL ____semctl13 409302 UNIMPL __msgctl13 410303 UNIMPL __shmctl13 411304 UNIMPL lchflags 412305 UNIMPL issetugid 413306 UNIMPL utrace 414307 UNIMPL getcontext 415308 UNIMPL setcontext 416309 UNIMPL _lwp_create 417310 UNIMPL _lwp_exit 418311 UNIMPL _lwp_self 419312 UNIMPL _lwp_wait 420313 UNIMPL _lwp_suspend 421314 UNIMPL _lwp_continue 422315 UNIMPL _lwp_wakeup 423316 UNIMPL _lwp_getprivate 424317 UNIMPL _lwp_setprivate 425318 UNIMPL _lwp_kill 426319 UNIMPL _lwp_detach 427320 UNIMPL _lwp_park 428321 UNIMPL _lwp_unpark 429322 UNIMPL _lwp_unpark_all 430323 UNIMPL _lwp_setname 431324 UNIMPL _lwp_getname 432325 UNIMPL _lwp_ctl 433 434; Syscalls 326-339 reserved for LWP syscalls. 435326 UNIMPL 436327 UNIMPL 437328 UNIMPL 438329 UNIMPL 439; SA system calls. 440330 UNIMPL sa_register 441331 UNIMPL sa_stacks 442332 UNIMPL sa_enable 443333 UNIMPL sa_setconcurrency 444334 UNIMPL sa_yield 445335 UNIMPL sa_preempt 446336 UNIMPL sys_sa_unblockyield 447; 448; Syscalls 337-339 are reserved for other scheduler activation syscalls. 449; 450337 UNIMPL 451338 UNIMPL 452339 UNIMPL 453 454340 UNIMPL __sigaction_sigtramp 455341 UNIMPL pmc_get_info 456342 UNIMPL pmc_control 457343 UNIMPL rasctl 458344 UNIMPL kqueue 459345 UNIMPL kevent 460 461; Scheduling system calls. 462346 UNIMPL _sched_setparam 463347 UNIMPL _sched_getparam 464348 UNIMPL _sched_setaffinity 465349 UNIMPL _sched_getaffinity 466350 UNIMPL sched_yield 467351 UNIMPL 468352 UNIMPL 469353 UNIMPL 470 471354 UNIMPL fsync_range 472355 UNIMPL uuidgen 473356 UNIMPL getvfsstat 474357 UNIMPL statvfs1 475358 UNIMPL fstatvfs1 476359 UNIMPL fhstatvfs1 477360 UNIMPL extattrctl 478361 UNIMPL extattr_set_file 479362 UNIMPL extattr_get_file 480363 UNIMPL extattr_delete_file 481364 UNIMPL extattr_set_fd 482365 UNIMPL extattr_get_fd 483366 UNIMPL extattr_delete_fd 484367 UNIMPL extattr_set_link 485368 UNIMPL extattr_get_link 486369 UNIMPL extattr_delete_link 487370 UNIMPL extattr_list_fd 488371 UNIMPL extattr_list_file 489372 UNIMPL extattr_list_link 490373 UNIMPL pselect 491374 UNIMPL pollts 492375 UNIMPL setxattr 493376 UNIMPL lsetxattr 494377 UNIMPL fsetxattr 495378 UNIMPL getxattr 496379 UNIMPL lgetxattr 497380 UNIMPL fgetxattr 498381 UNIMPL listxattr 499382 UNIMPL llistxattr 500383 UNIMPL flistxattr 501384 UNIMPL removexattr 502385 UNIMPL lremovexattr 503386 UNIMPL fremovexattr 504387 UNIMPL stat30 505388 UNIMPL fstat30 506389 UNIMPL lstat30 507390 NOARGS { int|linux_sys||getdents64(int fd, \ 508 struct linux_dirent64 *dent, unsigned int count); } 509391 UNIMPL old posix_fadvise 510392 UNIMPL fhstat 511393 UNIMPL ntp_gettime 512394 NOARGS { int|linux_sys||socket(int domain, \ 513 int type, int protocol); } 514395 UNIMPL getfh 515396 UNIMPL fhopen 516397 UNIMPL fhstatvfs1 517398 UNIMPL fhstat 518 519; Asynchronous I/O system calls 520399 UNIMPL aio_cancel 521400 UNIMPL aio_error 522401 UNIMPL aio_fsync 523402 UNIMPL aio_read 524403 UNIMPL aio_return 525404 UNIMPL aio_suspend 526405 UNIMPL aio_write 527406 UNIMPL lio_listio 528 529407 UNIMPL 530408 UNIMPL 531409 UNIMPL 532 533410 UNIMPL mount 534411 UNIMPL mremap 535 536; Processor-sets system calls 537412 UNIMPL pset_create 538413 UNIMPL pset_destroy 539414 UNIMPL pset_assign 540415 UNIMPL _pset_bind 541416 UNIMPL fadvise 542417 NOARGS { int|linux_sys||select(int nd, \ 543 fd_set *in, fd_set *ou, fd_set *ex, \ 544 struct timeval50 *tv); } 545418 UNIMPL gettimeofday 546419 UNIMPL settimeofday 547420 NOARGS { int|linux_sys||utimes(const char *path, \ 548 struct linux_timeval *tv); } 549421 UNIMPL adjtime 550422 UNIMPL lfs_segwait 551423 NOARGS { int|sys|50|futimes(int fd, \ 552 const struct timeval *tptr); } 553424 NOARGS { int|sys|50|lutimes(const char *path, \ 554 const struct timeval *tptr); } 555425 UNIMPL setitimer 556426 UNIMPL getitimer 557427 UNIMPL clock_gettime 558428 UNIMPL clock_settime 559429 UNIMPL clock_getres 560430 UNIMPL nanosleep 561431 UNIMPL __sigtimedwait 562432 UNIMPL mq_timedsend 563433 UNIMPL mq_timedreceive 564434 UNIMPL _lwp_park 565435 UNIMPL kevent 566436 UNIMPL pselect 567437 NOARGS { int|linux_sys||ppoll(struct pollfd *fds, \ 568 u_int nfds, const struct linux_timespec *timeout, \ 569 const linux_sigset_t *mask);} 570438 UNIMPL aio_suspend 571439 NOARGS { int|linux_sys||stat64(const char *path, \ 572 struct linux_stat64 *sp); } 573440 NOARGS { int|linux_sys||fstat64(int fd, \ 574 struct linux_stat64 *sp); } 575441 NOARGS { int|linux_sys||lstat64(const char *path, \ 576 struct linux_stat64 *sp); } 577442 UNIMPL __semctl 578443 UNIMPL shmctl 579444 UNIMPL msgctl 580445 UNIMPL getrusage 581446 UNIMPL timer_settime 582447 UNIMPL timer_gettime 583448 UNIMPL ntp_gettime 584449 UNIMPL wait4 585450 NOARGS { int|linux_sys||mknod(const char *path, mode_t mode, \ 586 int dev); } 587451 UNIMPL fhstat 588 589; 452 only ever appeared in 5.99.x and can be reused after netbsd-7 590452 UNIMPL 5.99 quotactl 591453 UNIMPL pipe2 592454 NOARGS { int|linux_sys||dup3(int from, int to, int flags); } 593455 UNIMPL kqueue1 594456 UNIMPL paccept 595457 NOARGS { int|linux_sys||linkat(int fd1, const char *name1, \ 596 int fd2, const char *name2, int flags); } 597458 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 598 int tofd, const char *to); } 599459 UNIMPL mkfifoat 600460 STD { int|rump_linux_sys||mknodat(int fd, const char *path, \ 601 mode_t mode, int PAD, unsigned dev); } 602461 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 603 mode_t mode); } 604462 NOARGS { int|linux_sys||faccessat(int fd, const char *path, \ 605 int amode); } 606463 NOARGS { int|linux_sys||fchmodat(int fd, const char *path, \ 607 mode_t mode); } 608464 NOARGS { int|linux_sys||fchownat(int fd, const char *path, \ 609 uid_t owner, gid_t group, int flag); } 610465 UNIMPL fexecve 611466 NOARGS { int|linux_sys||fstatat64(int fd, const char *path, \ 612 struct linux_stat *sp, int flag); } 613467 NOARGS { int|linux_sys||utimensat(int fd, const char *path, \ 614 struct linux_timespec *times, int flag); } 615468 NOARGS { int|linux_sys||openat(int fd, const char *path, \ 616 int flags, ... mode_t mode); } 617469 NOARGS { int|sys||readlinkat(int fd, const char *path, \ 618 char *buf, size_t bufsize); } 619470 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 620 const char *path2); } 621471 NOARGS { int|linux_sys||unlinkat(int fd, const char *path, \ 622 int flag); } 623472 UNIMPL futimens 624473 UNIMPL __quotactl 625474 UNIMPL posix_spawn 626475 UNIMPL recvmmsg 627476 UNIMPL sendmmsg 628