1 $NetBSD: syscalls.master,v 1.4 2021/12/02 04:29:47 ryo Exp $ 2 3; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 4 5; Derived from sys/compat/linux/arch/*/syscalls.master 6; and from Linux include/uapi/asm-generic/unistd.h 7 8; NetBSD aarch64 COMPAT_LINUX system call name/number "master" file. 9; (See syscalls.conf to see what it is processed into.) 10; 11; Fields: number type [type-dependent ...] 12; number system call number, must be in order 13; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 14; the compatibility options defined in syscalls.conf. 15; 16; types: 17; STD always included 18; OBSOL obsolete, not included in system 19; UNIMPL unimplemented, not included in system 20; NODEF included, but don't define the syscall number 21; NOARGS included, but don't define the syscall args structure 22; INDIR included, but don't define the syscall args structure 23; and allow it to be "really" varargs. 24; 25; The compat options are defined in the syscalls.conf file, and the 26; compat option name is prefixed to the syscall name. Other than 27; that, they're like NODEF (for 'compat' options), or STD (for 28; 'libcompat' options). 29; 30; The type-dependent arguments are as follows: 31; For STD, NODEF, NOARGS, and compat syscalls: 32; { pseudo-proto } [alias] 33; For other syscalls: 34; [comment] 35; 36; #ifdef's, etc. may be included, and are copied to the output files. 37; #include's are copied to the syscall names and switch definition files only. 38 39#if defined(_KERNEL_OPT) 40#include "opt_sysv.h" 41#include "opt_compat_43.h" 42#include "opt_compat_netbsd.h" 43#endif 44 45#include <sys/param.h> 46#include <sys/poll.h> 47#include <sys/systm.h> 48#include <sys/signal.h> 49#include <sys/mount.h> 50#include <sys/syscallargs.h> 51#include <sys/time.h> 52 53#include <compat/sys/time.h> 54 55#include <compat/linux/common/linux_types.h> 56#include <compat/linux/common/linux_machdep.h> 57#include <compat/linux/common/linux_mmap.h> 58#include <compat/linux/common/linux_ipc.h> 59#include <compat/linux/common/linux_msg.h> 60#include <compat/linux/common/linux_sem.h> 61#include <compat/linux/common/linux_shm.h> 62#include <compat/linux/common/linux_signal.h> 63#include <compat/linux/common/linux_siginfo.h> 64#include <compat/linux/common/linux_machdep.h> 65 66#include <compat/linux/linux_syscallargs.h> 67 68%% 69 700 UNIMPL io_setup 711 UNIMPL io_destroy 722 UNIMPL io_submit 733 UNIMPL io_cancel 744 UNIMPL io_getevents 755 STD { int|linux_sys||setxattr(char *path, char *name, \ 76 void *value, size_t size, int flags); } 776 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 78 void *value, size_t size, int flags); } 797 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 80 void *value, size_t size, int flags); } 818 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 82 void *value, size_t size); } 839 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 84 void *value, size_t size); } 8510 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 86 void *value, size_t size); } 8711 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 88 size_t size); } 8912 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 90 size_t size); } 9113 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 92 size_t size); } 9314 STD { int|linux_sys||removexattr(char *path, char *name); } 9415 STD { int|linux_sys||lremovexattr(char *path, char *name); } 9516 STD { int|linux_sys||fremovexattr(int fd, char *name); } 9617 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 9718 UNIMPL lookup_dcookie 9819 STD { int|linux_sys||eventfd2(unsigned int initval, \ 99 int flags); } 10020 UNIMPL epoll_create1 10121 UNIMPL epoll_ctl 10222 UNIMPL epoll_pwait 10323 NOARGS { int|sys||dup(int fd); } 10424 STD { int|linux_sys||dup3(int from, int to, int flags); } 10525 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 10626 UNIMPL inotify_init1 10727 UNIMPL inotify_add_watch 10828 UNIMPL inotify_rm_watch 10929 STD { int|linux_sys||ioctl(int fd, u_long com, \ 110 void *data); } 11130 UNIMPL ioprio_set 11231 UNIMPL ioprio_get 11332 NOARGS { int|sys||flock(int fd, int how); } 11433 STD { int|linux_sys||mknodat(int fd, const char *path, \ 115 linux_umode_t mode, unsigned dev); } 11634 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 117 linux_umode_t mode); } 11835 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 119 int flag); } 12036 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 121 const char *path2); } 12237 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 123 int fd2, const char *name2, int flags); } 12438 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 125 int tofd, const char *to); } 12639 UNIMPL umount2 12740 UNIMPL mount 12841 UNIMPL pivot_root 12942 UNIMPL nfsservctl 13043 STD { int|linux_sys||statfs(const char *path, \ 131 struct linux_statfs *sp); } 13244 STD { int|linux_sys||fstatfs(int fd, \ 133 struct linux_statfs *sp); } 13445 STD { int|linux_sys||truncate64(const char *path, \ 135 off_t length); } 13646 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 137 off_t length); } 13847 STD { int|linux_sys||fallocate(int fd, int mode, \ 139 off_t offset, off_t len); } 14048 STD { int|linux_sys||faccessat(int fd, const char *path, \ 141 int amode); } 14249 NOARGS { int|sys||chdir(const char *path); } 14350 NOARGS { int|sys||fchdir(int fd); } 14451 NOARGS { int|sys||chroot(char *path); } 14552 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 14653 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 147 linux_umode_t mode); } 14854 STD { int|linux_sys||fchownat(int fd, const char *path, \ 149 uid_t owner, gid_t group, int flag); } 15055 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 151 gid_t gid); } 15256 STD { int|linux_sys||openat(int fd, const char *path, \ 153 int flags, ... linux_umode_t mode); } 15457 NOARGS { int|sys||close(int fd); } 15558 UNIMPL vhangup 15659 STD { int|linux_sys||pipe2(int *pfds, int flags); } 15760 UNIMPL quotactl 15861 STD { int|linux_sys||getdents64(int fd, \ 159 struct linux_dirent64 *dent, unsigned int count); } 16062 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 161 int whence); } 16263 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 16364 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 164 size_t nbyte); } 16565 NOARGS { ssize_t|sys||readv(int fd, \ 166 const struct iovec *iovp, int iovcnt); } 16766 NOARGS { ssize_t|sys||writev(int fd, \ 168 const struct iovec *iovp, int iovcnt); } 16967 STD { int|linux_sys||pread(int fd, char *buf, \ 170 size_t nbyte, off_t offset); } 17168 STD { int|linux_sys||pwrite(int fd, char *buf, \ 172 size_t nbyte, off_t offset); } 17369 STD { int|linux_sys||preadv(int fd, \ 174 const struct iovec *iovp, int iovcnt, \ 175 unsigned long off_lo, unsigned long off_hi); } 17670 STD { int|linux_sys||pwritev(int fd, \ 177 const struct iovcnt *iovp, int iovcnt, \ 178 unsigned long off_lo, unsigned long off_hi); } 17971 UNIMPL sendfile 18072 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 181 fd_set *writefds, fd_set *exceptfds, \ 182 struct linux_timespec *timeout, \ 183 linux_sized_sigset_t *ss); } 18473 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 185 struct linux_timespec *timeout, \ 186 linux_sigset_t *sigset); } 18774 UNIMPL signalfd4 18875 UNIMPL vmsplice 18976 UNIMPL splice 19077 UNIMPL tee 19178 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 192 char *buf, size_t bufsize); } 19379 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 194 struct linux_stat *sp, int flag); } 19580 STD { int|linux_sys||fstat64(int fd, \ 196 struct linux_stat *sp); } 19781 NOARGS { int|sys||sync(void); } 19882 NOARGS { int|sys||fsync(int fd); } 19983 STD { int|linux_sys||fdatasync(int fd); } 20084 UNIMPL sync_file_range 20185 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 202 int flags); } 20386 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 204 const struct linux_itimerspec *tim, \ 205 struct linux_itimerspec *otim); } 20687 STD { int|linux_sys||timerfd_gettime(int fd, \ 207 struct linux_itimerspec *tim); } 20888 STD { int|linux_sys||utimensat(int fd, const char *path, \ 209 struct linux_timespec *times, int flag); } 21089 NOARGS { int|sys||acct(char *path); } 21190 UNIMPL capget 21291 UNIMPL capset 21392 STD { int|linux_sys||personality(unsigned long per); } 21493 STD { int|linux_sys||exit(int rval); } 21594 STD { int|linux_sys||exit_group(int error_code); } 21695 UNIMPL waitid 21796 STD { int|linux_sys||set_tid_address(int *tid); } 21897 UNIMPL unshare 21998 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 220 const struct linux_timespec *timeout, int *uaddr2, \ 221 int val3); } 222 ; 223 ; The NetBSD native robust list calls have different 224 ; argument names / types, but they are ABI-compatible 225 ; with Linux. 226 ; 22799 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 228 size_t len); } 229100 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 230 void **headp, size_t *lenp); } 231101 STD { int|linux_sys||nanosleep( \ 232 const struct linux_timespec *rqtp, \ 233 struct linux_timespec *rmtp); } 234102 NOARGS { int|compat_50_sys||getitimer(int which, \ 235 struct itimerval50 *itv); } 236103 NOARGS { int|compat_50_sys||setitimer(int which, \ 237 struct itimerval50 *itv, \ 238 struct itimerval50 *oitv); } 239104 UNIMPL kexec_load 240105 UNIMPL init_module 241106 UNIMPL delete_module 242107 STD { int|linux_sys||timer_create(clockid_t clockid, \ 243 struct linux_sigevent *evp, timer_t *timerid); } 244108 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 245 struct linux_itimerspec *tim); } 246109 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 247110 STD { int|linux_sys||timer_settime(timer_t timerid, \ 248 int flags, const struct linux_itimerspec *tim, \ 249 struct linux_itimerspec *otim); } 250111 NOARGS { int|sys||timer_delete(timer_t timerid); } 251112 STD { int|linux_sys||clock_settime(clockid_t which, \ 252 struct linux_timespec *tp); } 253113 STD { int|linux_sys||clock_gettime(clockid_t which, \ 254 struct linux_timespec *tp); } 255114 STD { int|linux_sys||clock_getres(clockid_t which, \ 256 struct linux_timespec *tp); } 257115 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 258 int flags, struct linux_timespec *rqtp, \ 259 struct linux_timespec *rmtp); } 260116 UNIMPL syslog 261117 STD { int|linux_sys||ptrace(long request, long pid, \ 262 long addr, long data); } 263118 STD { int|linux_sys||sched_setparam(pid_t pid, \ 264 const struct linux_sched_param *sp); } 265119 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 266 int policy, const struct linux_sched_param *sp); } 267120 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 268121 STD { int|linux_sys||sched_getparam(pid_t pid, \ 269 struct linux_sched_param *sp); } 270122 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 271 unsigned int len, unsigned long *mask); } 272123 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 273 unsigned int len, unsigned long *mask); } 274124 STD { int|linux_sys||sched_yield(void); } 275125 STD { int|linux_sys||sched_get_priority_max(int policy); } 276126 STD { int|linux_sys||sched_get_priority_min(int policy); } 277127 UNIMPL sys_sched_rr_get_interval 278128 UNIMPL restart_syscall 279129 STD { int|linux_sys||kill(int pid, int signum); } 280130 STD { int|linux_sys||tkill(int tid, int sig); } 281131 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 282132 STD { int|linux_sys||sigaltstack( \ 283 const struct linux_sigaltstack *ss, \ 284 struct linux_sigaltstack *oss); } 285133 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 286 size_t sigsetsize); } 287134 STD { int|linux_sys||rt_sigaction(int signum, \ 288 const struct linux_sigaction *nsa, \ 289 struct linux_sigaction *osa, \ 290 size_t sigsetsize); } 291135 STD { int|linux_sys||rt_sigprocmask(int how, \ 292 const linux_sigset_t *set, \ 293 linux_sigset_t *oset, \ 294 size_t sigsetsize); } 295136 STD { int|linux_sys||rt_sigpending( \ 296 linux_sigset_t *set, \ 297 size_t sigsetsize); } 298137 STD { int|linux_sys||rt_sigtimedwait( \ 299 const linux_sigset_t *set, \ 300 linux_siginfo_t *info, \ 301 const struct linux_timespec *timeout); } 302138 UNIMPL rt_sigqueueinfo 303139 NOARGS { int|linux_sys||rt_sigreturn(void); } 304140 NOARGS { int|sys||setpriority(int which, int who, int prio); } 305141 STD { int|linux_sys||getpriority(int which, int who); } 306142 STD { int|linux_sys||reboot(int magic1, int magic2, \ 307 int cmd, void *arg); } 308143 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 309144 NOARGS { int|sys||setgid(gid_t gid); } 310145 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 311146 NOARGS { int|sys||setuid(uid_t uid); } 312147 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 313 uid_t suid); } 314148 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 315 uid_t *suid); } 316149 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 317 gid_t sgid); } 318150 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 319 gid_t *sgid); } 320151 STD { int|linux_sys||setfsuid(uid_t uid); } 321152 STD { int|linux_sys||setfsgid(gid_t gid); } 322153 STD { int|linux_sys||times(struct times *tms); } 323154 NOARGS { int|sys||setpgid(int pid, int pgid); } 324155 NOARGS { pid_t|sys||getpgid(pid_t pid); } 325156 NOARGS { pid_t|sys||getsid(pid_t pid); } 326157 NOARGS { int|sys||setsid(void); } 327158 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 328159 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 329160 STD { int|linux_sys||uname(struct linux_utsname *up); } 330161 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 331 u_int len);} 332162 STD { int|linux_sys||setdomainname(char *domainname, \ 333 int len); } 334163 STD { int|linux_sys||getrlimit(int which, \ 335 struct rlimit *rlp); } 336164 STD { int|linux_sys||setrlimit(u_int which, \ 337 struct rlimit *rlp); } 338165 NOARGS { int|compat_50_sys||getrusage(int who, \ 339 struct rusage50 *rusage); } 340166 NOARGS { int|sys||umask(int newmask); } 341167 UNIMPL prctl 342168 UNIMPL getcpu 343169 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 344 struct timezone *tzp); } 345170 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 346 struct timezone *tzp); } 347171 UNIMPL adjtimex 348172 STD { pid_t|sys||getpid(void); } 349173 STD { pid_t|sys||getppid(void); } 350174 NOARGS { uid_t|sys||getuid(void); } 351175 NOARGS { uid_t|sys||geteuid(void); } 352176 NOARGS { gid_t|sys||getgid(void); } 353177 NOARGS { gid_t|sys||getegid(void); } 354178 STD { pid_t|linux_sys||gettid(void); } 355179 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 356180 UNIMPL mq_open 357181 UNIMPL mq_unlink 358182 UNIMPL mq_timedsend 359183 UNIMPL mq_timedreceive 360184 UNIMPL mq_notify 361185 UNIMPL mq_getsetattr 362#ifdef SYSVMSG 363186 NOARGS { int|sys||msgget(key_t key, int msgflg); } 364187 NOARGS { int|linux_sys||msgctl(int msqid, int cmd, \ 365 struct linux_msqid_ds *buf); } 366188 NOARGS { ssize_t|sys||msgrcv(int msqid, void *msgp, \ 367 size_t msgsz, long msgtyp, int msgflg); } 368189 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ 369 int msgflg); } 370#else 371186 UNIMPL msgget 372187 UNIMPL msgctl 373188 UNIMPL msgrcv 374189 UNIMPL msgsnd 375#endif 376#ifdef SYSVSEM 377190 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 378191 STD { int|linux_sys||semctl(int semid, int semnum, \ 379 int cmd, union linux_semun arg); } 380192 UNIMPL semtimedop 381193 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ 382 size_t nsops); } 383#else 384190 UNIMPL semget 385191 UNIMPL semctl 386192 UNIMPL semtimedop 387193 UNIMPL semop 388#endif 389#ifdef SYSVSEM 390194 NOARGS { int|linux_sys||shmget(key_t key, size_t size, \ 391 int shmflg); } 392195 NOARGS { int|linux_sys||shmctl(int shmid, int cmd, \ 393 struct linux_shmid_ds *buf); } 394196 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); } 395197 NOARGS { int|sys||shmdt(const void *shmaddr); } 396#else 397194 UNIMPL shmget 398195 UNIMPL shmctl 399196 UNIMPL shmat 400197 UNIMPL shmdt 401#endif 402198 STD { int|linux_sys||socket(int domain, \ 403 int type, int protocol); } 404199 STD { int|linux_sys||socketpair(int domain, int type, \ 405 int protocol, int *rsv); } 406200 STD { int|linux_sys||bind(int s, \ 407 const struct osockaddr *name, \ 408 unsigned int namelen); } 409201 NOARGS { int|sys||listen(int s, int backlog); } 410202 STD { int|linux_sys||accept(int s, struct osockaddr *name, \ 411 int *anamelen); } oaccept 412203 STD { int|linux_sys||connect(int s, \ 413 const struct osockaddr *name, \ 414 unsigned int namelen); } 415204 STD { int|linux_sys||getsockname(int fdec, void *asa, \ 416 int *alen); } 417205 STD { int|linux_sys||getpeername(int fdes, \ 418 struct sockaddr *asa, unsigned int *alen); } 419206 STD { ssize_t|linux_sys||sendto(int s, void *msg, int len, \ 420 int flags, struct osockaddr *to, int tolen); } 421207 STD { ssize_t|linux_sys||recvfrom(int s, void *buf, \ 422 size_t len, int flags, struct osockaddr *from, \ 423 unsigned int *fromlenaddr); } 424208 STD { int|linux_sys||setsockopt(int s, int level, \ 425 int optname, void *optval, int optlen); } 426209 STD { int|linux_sys||getsockopt(int s, int level, \ 427 int optname, void *optval, int *optlen); } 428210 NOARGS { int|sys||shutdown(int s, int how); } 429211 STD { int|linux_sys||sendmsg(int s, \ 430 const struct linux_msghdr *msg, int flags); } 431212 STD { ssize_t|linux_sys||recvmsg(int s, \ 432 struct linux_msghdr *msg, int flags); } 433213 UNIMPL readahead 434214 STD { int|linux_sys||brk(char *nsize); } 435215 NOARGS { int|sys||munmap(void *addr, size_t len); } 436216 STD { void *|linux_sys||mremap(void *old_address, \ 437 size_t old_size, size_t new_size, u_long flags); } 438217 UNIMPL add_key 439218 UNIMPL request_key 440219 UNIMPL keyctl 441220 STD { int|linux_sys||clone(int flags, void *stack, \ 442 void *parent_tidptr, void *child_tidptr, void *tls); } 443221 NOARGS { int|sys||execve(const char *path, char **argp, \ 444 char **envp); } 445222 NOARGS { linux_off_t|linux_sys||mmap(unsigned long addr, \ 446 size_t len, int prot, int flags, int fd, \ 447 linux_off_t offset); } 448223 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 449 size_t len, int advice); } 450224 STD { int|linux_sys||swapon(char *name); } 451225 STD { int|linux_sys||swapoff(const char *path); } 452226 STD { int|linux_sys||mprotect(const void *start, \ 453 unsigned long len, int prot); } 454227 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 455228 NOARGS { int|sys||mlock(void *addr, size_t len); } 456229 NOARGS { int|sys||munlock(void *addr, size_t len); } 457230 NOARGS { int|sys||mlockall(int flags); } 458231 NOARGS { int|sys||munlockall(void); } 459232 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 460233 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 461234 UNIMPL remap_file_pages 462235 UNIMPL mbind 463236 UNIMPL get_mempolicy 464237 UNIMPL set_mempolicy 465238 UNIMPL migrate_pages 466239 UNIMPL move_pages 467240 UNIMPL rt_tgsigqueueinfo 468241 UNIMPL perf_event_open 469242 STD { int|linux_sys||accept4(int s, \ 470 struct osockaddr *name, \ 471 int *anamelen, int flags); } 472243 STD { int|linux_sys||recvmmsg(int s, \ 473 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 474 unsigned int flags, struct timespec *timeout); } 475244 UNIMPL arch_specific_syscall 476245 UNIMPL 477246 UNIMPL 478247 UNIMPL 479248 UNIMPL 480249 UNIMPL 481250 UNIMPL 482251 UNIMPL 483252 UNIMPL 484253 UNIMPL 485254 UNIMPL 486255 UNIMPL 487256 UNIMPL 488257 UNIMPL 489258 UNIMPL 490259 UNIMPL 491260 STD { int|linux_sys||wait4(int pid, int *status, \ 492 int options, struct rusage50 *rusage); } 493261 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 494 struct rlimit *new_rlp, struct rlimit *old_rlp); } 495262 UNIMPL fanotify_init 496263 UNIMPL fanotify_mark 497264 UNIMPL name_to_handle_at 498265 UNIMPL open_by_handle_at 499266 UNIMPL clock_adjtime 500267 UNIMPL syncfs 501268 UNIMPL setns 502269 STD { int|linux_sys||sendmmsg(int s, \ 503 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 504 unsigned int flags); } 505270 UNIMPL process_vm_readv 506271 UNIMPL process_vm_writev 507272 UNIMPL kcmp 508273 UNIMPL finit_module 509274 UNIMPL sched_setattr 510275 UNIMPL sched_getattr 511276 UNIMPL renameat2 512277 UNIMPL seccomp 513278 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 514 unsigned int flags); } 515279 UNIMPL memfd_create 516280 UNIMPL bpf 517281 UNIMPL execveat 518282 UNIMPL userfaultfd 519283 UNIMPL membarrier 520284 UNIMPL mlock2 521285 UNIMPL copy_file_range 522286 UNIMPL preadv2 523287 UNIMPL pwritev2 524288 UNIMPL pkey_mprotect 525289 UNIMPL pkey_alloc 526290 UNIMPL pkey_free 527291 STD { int|linux_sys||statx(int fd, const char *path, \ 528 int flag, unsigned int mask, \ 529 struct linux_statx *sp); } 530292 UNIMPL io_pgetevents 531293 UNIMPL rseq 532294 UNIMPL kexec_file_load 533295 UNIMPL 534296 UNIMPL 535297 UNIMPL 536298 UNIMPL 537299 UNIMPL 538300 UNIMPL 539301 UNIMPL 540302 UNIMPL 541303 UNIMPL 542304 UNIMPL 543305 UNIMPL 544306 UNIMPL 545307 UNIMPL 546308 UNIMPL 547309 UNIMPL 548310 UNIMPL 549311 UNIMPL 550312 UNIMPL 551313 UNIMPL 552314 UNIMPL 553315 UNIMPL 554316 UNIMPL 555317 UNIMPL 556318 UNIMPL 557319 UNIMPL 558320 UNIMPL 559321 UNIMPL 560322 UNIMPL 561323 UNIMPL 562324 UNIMPL 563325 UNIMPL 564326 UNIMPL 565327 UNIMPL 566328 UNIMPL 567329 UNIMPL 568330 UNIMPL 569331 UNIMPL 570332 UNIMPL 571333 UNIMPL 572334 UNIMPL 573335 UNIMPL 574336 UNIMPL 575337 UNIMPL 576338 UNIMPL 577339 UNIMPL 578340 UNIMPL 579341 UNIMPL 580342 UNIMPL 581343 UNIMPL 582344 UNIMPL 583345 UNIMPL 584346 UNIMPL 585347 UNIMPL 586348 UNIMPL 587349 UNIMPL 588350 UNIMPL 589351 UNIMPL 590352 UNIMPL 591353 UNIMPL 592354 UNIMPL 593355 UNIMPL 594356 UNIMPL 595357 UNIMPL 596358 UNIMPL 597359 UNIMPL 598360 UNIMPL 599361 UNIMPL 600362 UNIMPL 601363 UNIMPL 602364 UNIMPL 603365 UNIMPL 604366 UNIMPL 605367 UNIMPL 606368 UNIMPL 607369 UNIMPL 608370 UNIMPL 609371 UNIMPL 610372 UNIMPL 611373 UNIMPL 612374 UNIMPL 613375 UNIMPL 614376 UNIMPL 615377 UNIMPL 616378 UNIMPL 617379 UNIMPL 618380 UNIMPL 619381 UNIMPL 620382 UNIMPL 621383 UNIMPL 622384 UNIMPL 623385 UNIMPL 624386 UNIMPL 625387 UNIMPL 626388 UNIMPL 627389 UNIMPL 628390 UNIMPL 629391 UNIMPL 630392 UNIMPL 631393 UNIMPL 632394 UNIMPL 633395 UNIMPL 634396 UNIMPL 635397 UNIMPL 636398 UNIMPL 637399 UNIMPL 638400 UNIMPL 639401 UNIMPL 640402 UNIMPL 641403 UNIMPL 642404 UNIMPL 643405 UNIMPL 644406 UNIMPL 645407 UNIMPL 646408 UNIMPL 647409 UNIMPL 648410 UNIMPL 649411 UNIMPL 650412 UNIMPL 651413 UNIMPL 652414 UNIMPL 653415 UNIMPL 654416 UNIMPL 655417 UNIMPL 656418 UNIMPL 657419 UNIMPL 658420 UNIMPL 659421 UNIMPL 660422 UNIMPL 661423 UNIMPL 662424 UNIMPL pidfd_send_signal 663425 UNIMPL io_uring_setup 664426 UNIMPL io_uring_enter 665427 UNIMPL io_uring_register 666428 UNIMPL open_tree 667429 UNIMPL move_mount 668430 UNIMPL fsopen 669431 UNIMPL fsconfig 670432 UNIMPL fsmount 671433 UNIMPL fspick 672434 UNIMPL pidfd_open 673435 UNIMPL clone3 674436 UNIMPL 675437 UNIMPL openat2 676438 UNIMPL pidfd_getfd 677439 UNIMPL faccessat2 678 679; we want a "nosys" syscall, we'll just add an extra entry for it. 680440 STD { int|linux_sys||nosys(void); } 681