1 $NetBSD: syscalls.master,v 1.11 2023/08/19 17:49:49 christos 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_ipc.h> 57#include <compat/linux/common/linux_machdep.h> 58#include <compat/linux/common/linux_misc.h> 59#include <compat/linux/common/linux_mmap.h> 60#include <compat/linux/common/linux_msg.h> 61#include <compat/linux/common/linux_sem.h> 62#include <compat/linux/common/linux_shm.h> 63#include <compat/linux/common/linux_siginfo.h> 64#include <compat/linux/common/linux_signal.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 STD { int|linux_sys||epoll_create1(int flags); } 10121 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ 102 struct linux_epoll_event *event); } 10322 STD { int|linux_sys||epoll_pwait(int epfd, \ 104 struct linux_epoll_event *events, int maxevents, \ 105 int timeout, const linux_sigset_t *sigmask); } 10623 NOARGS { int|sys||dup(int fd); } 10724 STD { int|linux_sys||dup3(int from, int to, int flags); } 10825 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 10926 STD { int|linux_sys||inotify_init1(int flags); } 11027 STD { int|linux_sys||inotify_add_watch(int fd, \ 111 const char *pathname, uint32_t mask); } 11228 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); } 11329 STD { int|linux_sys||ioctl(int fd, u_long com, \ 114 void *data); } 11530 UNIMPL ioprio_set 11631 UNIMPL ioprio_get 11732 NOARGS { int|sys||flock(int fd, int how); } 11833 STD { int|linux_sys||mknodat(int fd, const char *path, \ 119 linux_umode_t mode, unsigned dev); } 12034 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 121 linux_umode_t mode); } 12235 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 123 int flag); } 12436 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 125 const char *path2); } 12637 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 127 int fd2, const char *name2, int flags); } 12838 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 129 int tofd, const char *to); } 13039 UNIMPL umount2 13140 UNIMPL mount 13241 UNIMPL pivot_root 13342 UNIMPL nfsservctl 13443 STD { int|linux_sys||statfs(const char *path, \ 135 struct linux_statfs *sp); } 13644 STD { int|linux_sys||fstatfs(int fd, \ 137 struct linux_statfs *sp); } 13845 STD { int|linux_sys||truncate64(const char *path, \ 139 off_t length); } 14046 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 141 off_t length); } 14247 STD { int|linux_sys||fallocate(int fd, int mode, \ 143 off_t offset, off_t len); } 14448 STD { int|linux_sys||faccessat(int fd, const char *path, \ 145 int amode); } 14649 NOARGS { int|sys||chdir(const char *path); } 14750 NOARGS { int|sys||fchdir(int fd); } 14851 NOARGS { int|sys||chroot(char *path); } 14952 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 15053 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 151 linux_umode_t mode); } 15254 STD { int|linux_sys||fchownat(int fd, const char *path, \ 153 uid_t owner, gid_t group, int flag); } 15455 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 155 gid_t gid); } 15656 STD { int|linux_sys||openat(int fd, const char *path, \ 157 int flags, ... linux_umode_t mode); } 15857 NOARGS { int|sys||close(int fd); } 15958 UNIMPL vhangup 16059 STD { int|linux_sys||pipe2(int *pfds, int flags); } 16160 UNIMPL quotactl 16261 STD { int|linux_sys||getdents64(int fd, \ 163 struct linux_dirent64 *dent, unsigned int count); } 16462 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 165 int whence); } 16663 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 16764 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 168 size_t nbyte); } 16965 NOARGS { ssize_t|sys||readv(int fd, \ 170 const struct iovec *iovp, int iovcnt); } 17166 NOARGS { ssize_t|sys||writev(int fd, \ 172 const struct iovec *iovp, int iovcnt); } 17367 STD { int|linux_sys||pread(int fd, char *buf, \ 174 size_t nbyte, off_t offset); } 17568 STD { int|linux_sys||pwrite(int fd, char *buf, \ 176 size_t nbyte, off_t offset); } 17769 STD { int|linux_sys||preadv(int fd, \ 178 const struct iovec *iovp, int iovcnt, \ 179 unsigned long off_lo, unsigned long off_hi); } 18070 STD { int|linux_sys||pwritev(int fd, \ 181 const struct iovcnt *iovp, int iovcnt, \ 182 unsigned long off_lo, unsigned long off_hi); } 18371 UNIMPL sendfile 18472 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 185 fd_set *writefds, fd_set *exceptfds, \ 186 struct linux_timespec *timeout, \ 187 linux_sized_sigset_t *ss); } 18873 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 189 struct linux_timespec *timeout, \ 190 linux_sigset_t *sigset); } 19174 UNIMPL signalfd4 19275 UNIMPL vmsplice 19376 UNIMPL splice 19477 UNIMPL tee 19578 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 196 char *buf, size_t bufsize); } 19779 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 198 struct linux_stat *sp, int flag); } 19980 STD { int|linux_sys||fstat64(int fd, \ 200 struct linux_stat *sp); } 20181 NOARGS { int|sys||sync(void); } 20282 NOARGS { int|sys||fsync(int fd); } 20383 STD { int|linux_sys||fdatasync(int fd); } 20484 UNIMPL sync_file_range 20585 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 206 int flags); } 20786 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 208 const struct linux_itimerspec *tim, \ 209 struct linux_itimerspec *otim); } 21087 STD { int|linux_sys||timerfd_gettime(int fd, \ 211 struct linux_itimerspec *tim); } 21288 STD { int|linux_sys||utimensat(int fd, const char *path, \ 213 struct linux_timespec *times, int flag); } 21489 NOARGS { int|sys||acct(char *path); } 21590 UNIMPL capget 21691 UNIMPL capset 21792 STD { int|linux_sys||personality(unsigned long per); } 21893 STD { int|linux_sys||exit(int rval); } 21994 STD { int|linux_sys||exit_group(int error_code); } 22095 STD { int|linux_sys||waitid(int idtype, id_t id, \ 221 linux_siginfo_t *infop, int options, \ 222 struct rusage50 *rusage); } 22396 STD { int|linux_sys||set_tid_address(int *tid); } 22497 UNIMPL unshare 22598 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 226 const struct linux_timespec *timeout, int *uaddr2, \ 227 int val3); } 228 ; 229 ; The NetBSD native robust list calls have different 230 ; argument names / types, but they are ABI-compatible 231 ; with Linux. 232 ; 23399 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 234 size_t len); } 235100 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 236 void **headp, size_t *lenp); } 237101 STD { int|linux_sys||nanosleep( \ 238 const struct linux_timespec *rqtp, \ 239 struct linux_timespec *rmtp); } 240102 NOARGS { int|compat_50_sys||getitimer(int which, \ 241 struct itimerval50 *itv); } 242103 NOARGS { int|compat_50_sys||setitimer(int which, \ 243 struct itimerval50 *itv, \ 244 struct itimerval50 *oitv); } 245104 UNIMPL kexec_load 246105 UNIMPL init_module 247106 UNIMPL delete_module 248107 STD { int|linux_sys||timer_create(clockid_t clockid, \ 249 struct linux_sigevent *evp, timer_t *timerid); } 250108 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 251 struct linux_itimerspec *tim); } 252109 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 253110 STD { int|linux_sys||timer_settime(timer_t timerid, \ 254 int flags, const struct linux_itimerspec *tim, \ 255 struct linux_itimerspec *otim); } 256111 NOARGS { int|sys||timer_delete(timer_t timerid); } 257112 STD { int|linux_sys||clock_settime(clockid_t which, \ 258 struct linux_timespec *tp); } 259113 STD { int|linux_sys||clock_gettime(clockid_t which, \ 260 struct linux_timespec *tp); } 261114 STD { int|linux_sys||clock_getres(clockid_t which, \ 262 struct linux_timespec *tp); } 263115 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 264 int flags, struct linux_timespec *rqtp, \ 265 struct linux_timespec *rmtp); } 266116 UNIMPL syslog 267117 STD { int|linux_sys||ptrace(long request, long pid, \ 268 long addr, long data); } 269118 STD { int|linux_sys||sched_setparam(pid_t pid, \ 270 const struct linux_sched_param *sp); } 271119 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 272 int policy, const struct linux_sched_param *sp); } 273120 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 274121 STD { int|linux_sys||sched_getparam(pid_t pid, \ 275 struct linux_sched_param *sp); } 276122 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 277 unsigned int len, unsigned long *mask); } 278123 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 279 unsigned int len, unsigned long *mask); } 280124 STD { int|linux_sys||sched_yield(void); } 281125 STD { int|linux_sys||sched_get_priority_max(int policy); } 282126 STD { int|linux_sys||sched_get_priority_min(int policy); } 283127 UNIMPL sys_sched_rr_get_interval 284128 UNIMPL restart_syscall 285129 STD { int|linux_sys||kill(int pid, int signum); } 286130 STD { int|linux_sys||tkill(int tid, int sig); } 287131 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 288132 STD { int|linux_sys||sigaltstack( \ 289 const struct linux_sigaltstack *ss, \ 290 struct linux_sigaltstack *oss); } 291133 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 292 size_t sigsetsize); } 293134 STD { int|linux_sys||rt_sigaction(int signum, \ 294 const struct linux_sigaction *nsa, \ 295 struct linux_sigaction *osa, \ 296 size_t sigsetsize); } 297135 STD { int|linux_sys||rt_sigprocmask(int how, \ 298 const linux_sigset_t *set, \ 299 linux_sigset_t *oset, \ 300 size_t sigsetsize); } 301136 STD { int|linux_sys||rt_sigpending( \ 302 linux_sigset_t *set, \ 303 size_t sigsetsize); } 304137 STD { int|linux_sys||rt_sigtimedwait( \ 305 const linux_sigset_t *set, \ 306 linux_siginfo_t *info, \ 307 const struct linux_timespec *timeout); } 308138 UNIMPL rt_sigqueueinfo 309139 NOARGS { int|linux_sys||rt_sigreturn(void); } 310140 NOARGS { int|sys||setpriority(int which, int who, int prio); } 311141 STD { int|linux_sys||getpriority(int which, int who); } 312142 STD { int|linux_sys||reboot(int magic1, int magic2, \ 313 int cmd, void *arg); } 314143 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 315144 NOARGS { int|sys||setgid(gid_t gid); } 316145 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 317146 NOARGS { int|sys||setuid(uid_t uid); } 318147 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 319 uid_t suid); } 320148 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 321 uid_t *suid); } 322149 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 323 gid_t sgid); } 324150 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 325 gid_t *sgid); } 326151 STD { int|linux_sys||setfsuid(uid_t uid); } 327152 STD { int|linux_sys||setfsgid(gid_t gid); } 328153 STD { int|linux_sys||times(struct times *tms); } 329154 NOARGS { int|sys||setpgid(int pid, int pgid); } 330155 NOARGS { pid_t|sys||getpgid(pid_t pid); } 331156 NOARGS { pid_t|sys||getsid(pid_t pid); } 332157 NOARGS { int|sys||setsid(void); } 333158 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 334159 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 335160 STD { int|linux_sys||uname(struct linux_utsname *up); } 336161 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 337 u_int len);} 338162 STD { int|linux_sys||setdomainname(char *domainname, \ 339 int len); } 340163 STD { int|linux_sys||getrlimit(int which, \ 341 struct rlimit *rlp); } 342164 STD { int|linux_sys||setrlimit(u_int which, \ 343 struct rlimit *rlp); } 344165 NOARGS { int|compat_50_sys||getrusage(int who, \ 345 struct rusage50 *rusage); } 346166 NOARGS { int|sys||umask(int newmask); } 347167 UNIMPL prctl 348168 UNIMPL getcpu 349169 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 350 struct timezone *tzp); } 351170 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 352 struct timezone *tzp); } 353171 UNIMPL adjtimex 354172 STD { pid_t|sys||getpid(void); } 355173 STD { pid_t|sys||getppid(void); } 356174 NOARGS { uid_t|sys||getuid(void); } 357175 NOARGS { uid_t|sys||geteuid(void); } 358176 NOARGS { gid_t|sys||getgid(void); } 359177 NOARGS { gid_t|sys||getegid(void); } 360178 STD { pid_t|linux_sys||gettid(void); } 361179 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 362180 UNIMPL mq_open 363181 UNIMPL mq_unlink 364182 UNIMPL mq_timedsend 365183 UNIMPL mq_timedreceive 366184 UNIMPL mq_notify 367185 UNIMPL mq_getsetattr 368#ifdef SYSVMSG 369186 NOARGS { int|sys||msgget(key_t key, int msgflg); } 370187 NOARGS { int|linux_sys||msgctl(int msqid, int cmd, \ 371 struct linux_msqid_ds *buf); } 372188 NOARGS { ssize_t|sys||msgrcv(int msqid, void *msgp, \ 373 size_t msgsz, long msgtyp, int msgflg); } 374189 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ 375 int msgflg); } 376#else 377186 UNIMPL msgget 378187 UNIMPL msgctl 379188 UNIMPL msgrcv 380189 UNIMPL msgsnd 381#endif 382#ifdef SYSVSEM 383190 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 384191 STD { int|linux_sys||semctl(int semid, int semnum, \ 385 int cmd, union linux_semun arg); } 386192 UNIMPL semtimedop 387193 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ 388 size_t nsops); } 389#else 390190 UNIMPL semget 391191 UNIMPL semctl 392192 UNIMPL semtimedop 393193 UNIMPL semop 394#endif 395#ifdef SYSVSEM 396194 NOARGS { int|linux_sys||shmget(key_t key, size_t size, \ 397 int shmflg); } 398195 NOARGS { int|linux_sys||shmctl(int shmid, int cmd, \ 399 struct linux_shmid_ds *buf); } 400196 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); } 401197 NOARGS { int|sys||shmdt(const void *shmaddr); } 402#else 403194 UNIMPL shmget 404195 UNIMPL shmctl 405196 UNIMPL shmat 406197 UNIMPL shmdt 407#endif 408198 STD { int|linux_sys||socket(int domain, \ 409 int type, int protocol); } 410199 STD { int|linux_sys||socketpair(int domain, int type, \ 411 int protocol, int *rsv); } 412200 STD { int|linux_sys||bind(int s, \ 413 const struct osockaddr *name, \ 414 unsigned int namelen); } 415201 NOARGS { int|sys||listen(int s, int backlog); } 416202 STD { int|linux_sys||accept(int s, struct osockaddr *name, \ 417 int *anamelen); } oaccept 418203 STD { int|linux_sys||connect(int s, \ 419 const struct osockaddr *name, \ 420 unsigned int namelen); } 421204 STD { int|linux_sys||getsockname(int fdec, void *asa, \ 422 int *alen); } 423205 STD { int|linux_sys||getpeername(int fdes, \ 424 struct sockaddr *asa, unsigned int *alen); } 425206 STD { ssize_t|linux_sys||sendto(int s, void *msg, int len, \ 426 int flags, struct osockaddr *to, int tolen); } 427207 STD { ssize_t|linux_sys||recvfrom(int s, void *buf, \ 428 size_t len, int flags, struct osockaddr *from, \ 429 unsigned int *fromlenaddr); } 430208 STD { int|linux_sys||setsockopt(int s, int level, \ 431 int optname, void *optval, int optlen); } 432209 STD { int|linux_sys||getsockopt(int s, int level, \ 433 int optname, void *optval, int *optlen); } 434210 NOARGS { int|sys||shutdown(int s, int how); } 435211 STD { int|linux_sys||sendmsg(int s, \ 436 const struct linux_msghdr *msg, int flags); } 437212 STD { ssize_t|linux_sys||recvmsg(int s, \ 438 struct linux_msghdr *msg, int flags); } 439213 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ 440 size_t count); } 441214 STD { int|linux_sys||brk(char *nsize); } 442215 NOARGS { int|sys||munmap(void *addr, size_t len); } 443216 STD { void *|linux_sys||mremap(void *old_address, \ 444 size_t old_size, size_t new_size, u_long flags); } 445217 UNIMPL add_key 446218 UNIMPL request_key 447219 UNIMPL keyctl 448220 STD { int|linux_sys||clone(int flags, void *stack, \ 449 void *parent_tidptr, void *child_tidptr, void *tls); } 450221 NOARGS { int|sys||execve(const char *path, char **argp, \ 451 char **envp); } 452222 NOARGS { linux_off_t|linux_sys||mmap(unsigned long addr, \ 453 size_t len, int prot, int flags, int fd, \ 454 linux_off_t offset); } 455223 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 456 size_t len, int advice); } 457224 STD { int|linux_sys||swapon(char *name); } 458225 STD { int|linux_sys||swapoff(const char *path); } 459226 STD { int|linux_sys||mprotect(const void *start, \ 460 unsigned long len, int prot); } 461227 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 462228 NOARGS { int|sys||mlock(void *addr, size_t len); } 463229 NOARGS { int|sys||munlock(void *addr, size_t len); } 464230 NOARGS { int|sys||mlockall(int flags); } 465231 NOARGS { int|sys||munlockall(void); } 466232 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 467233 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 468234 UNIMPL remap_file_pages 469235 UNIMPL mbind 470236 UNIMPL get_mempolicy 471237 UNIMPL set_mempolicy 472238 UNIMPL migrate_pages 473239 UNIMPL move_pages 474240 UNIMPL rt_tgsigqueueinfo 475241 UNIMPL perf_event_open 476242 STD { int|linux_sys||accept4(int s, \ 477 struct osockaddr *name, \ 478 int *anamelen, int flags); } 479243 STD { int|linux_sys||recvmmsg(int s, \ 480 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 481 unsigned int flags, struct timespec *timeout); } 482244 UNIMPL arch_specific_syscall 483245 UNIMPL 484246 UNIMPL 485247 UNIMPL 486248 UNIMPL 487249 UNIMPL 488250 UNIMPL 489251 UNIMPL 490252 UNIMPL 491253 UNIMPL 492254 UNIMPL 493255 UNIMPL 494256 UNIMPL 495257 UNIMPL 496258 UNIMPL 497259 UNIMPL 498260 STD { int|linux_sys||wait4(int pid, int *status, \ 499 int options, struct rusage50 *rusage); } 500261 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 501 struct rlimit *new_rlp, struct rlimit *old_rlp); } 502262 UNIMPL fanotify_init 503263 UNIMPL fanotify_mark 504264 UNIMPL name_to_handle_at 505265 UNIMPL open_by_handle_at 506266 UNIMPL clock_adjtime 507267 UNIMPL syncfs 508268 UNIMPL setns 509269 STD { int|linux_sys||sendmmsg(int s, \ 510 struct linux_mmsghdr *msgvec, unsigned int vlen, \ 511 unsigned int flags); } 512270 UNIMPL process_vm_readv 513271 UNIMPL process_vm_writev 514272 UNIMPL kcmp 515273 UNIMPL finit_module 516274 UNIMPL sched_setattr 517275 UNIMPL sched_getattr 518276 UNIMPL renameat2 519277 UNIMPL seccomp 520278 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 521 unsigned int flags); } 522279 STD { int|linux_sys||memfd_create(const char *name, \ 523 unsigned int flags); } 524280 UNIMPL bpf 525281 UNIMPL execveat 526282 UNIMPL userfaultfd 527283 UNIMPL membarrier 528284 UNIMPL mlock2 529285 UNIMPL copy_file_range 530286 UNIMPL preadv2 531287 UNIMPL pwritev2 532288 UNIMPL pkey_mprotect 533289 UNIMPL pkey_alloc 534290 UNIMPL pkey_free 535291 STD { int|linux_sys||statx(int fd, const char *path, \ 536 int flag, unsigned int mask, \ 537 struct linux_statx *sp); } 538292 UNIMPL io_pgetevents 539293 UNIMPL rseq 540294 UNIMPL kexec_file_load 541295 UNIMPL 542296 UNIMPL 543297 UNIMPL 544298 UNIMPL 545299 UNIMPL 546300 UNIMPL 547301 UNIMPL 548302 UNIMPL 549303 UNIMPL 550304 UNIMPL 551305 UNIMPL 552306 UNIMPL 553307 UNIMPL 554308 UNIMPL 555309 UNIMPL 556310 UNIMPL 557311 UNIMPL 558312 UNIMPL 559313 UNIMPL 560314 UNIMPL 561315 UNIMPL 562316 UNIMPL 563317 UNIMPL 564318 UNIMPL 565319 UNIMPL 566320 UNIMPL 567321 UNIMPL 568322 UNIMPL 569323 UNIMPL 570324 UNIMPL 571325 UNIMPL 572326 UNIMPL 573327 UNIMPL 574328 UNIMPL 575329 UNIMPL 576330 UNIMPL 577331 UNIMPL 578332 UNIMPL 579333 UNIMPL 580334 UNIMPL 581335 UNIMPL 582336 UNIMPL 583337 UNIMPL 584338 UNIMPL 585339 UNIMPL 586340 UNIMPL 587341 UNIMPL 588342 UNIMPL 589343 UNIMPL 590344 UNIMPL 591345 UNIMPL 592346 UNIMPL 593347 UNIMPL 594348 UNIMPL 595349 UNIMPL 596350 UNIMPL 597351 UNIMPL 598352 UNIMPL 599353 UNIMPL 600354 UNIMPL 601355 UNIMPL 602356 UNIMPL 603357 UNIMPL 604358 UNIMPL 605359 UNIMPL 606360 UNIMPL 607361 UNIMPL 608362 UNIMPL 609363 UNIMPL 610364 UNIMPL 611365 UNIMPL 612366 UNIMPL 613367 UNIMPL 614368 UNIMPL 615369 UNIMPL 616370 UNIMPL 617371 UNIMPL 618372 UNIMPL 619373 UNIMPL 620374 UNIMPL 621375 UNIMPL 622376 UNIMPL 623377 UNIMPL 624378 UNIMPL 625379 UNIMPL 626380 UNIMPL 627381 UNIMPL 628382 UNIMPL 629383 UNIMPL 630384 UNIMPL 631385 UNIMPL 632386 UNIMPL 633387 UNIMPL 634388 UNIMPL 635389 UNIMPL 636390 UNIMPL 637391 UNIMPL 638392 UNIMPL 639393 UNIMPL 640394 UNIMPL 641395 UNIMPL 642396 UNIMPL 643397 UNIMPL 644398 UNIMPL 645399 UNIMPL 646400 UNIMPL 647401 UNIMPL 648402 UNIMPL 649403 UNIMPL 650404 UNIMPL 651405 UNIMPL 652406 UNIMPL 653407 UNIMPL 654408 UNIMPL 655409 UNIMPL 656410 UNIMPL 657411 UNIMPL 658412 UNIMPL 659413 UNIMPL 660414 UNIMPL 661415 UNIMPL 662416 UNIMPL 663417 UNIMPL 664418 UNIMPL 665419 UNIMPL 666420 UNIMPL 667421 UNIMPL 668422 UNIMPL 669423 UNIMPL 670424 UNIMPL pidfd_send_signal 671425 UNIMPL io_uring_setup 672426 UNIMPL io_uring_enter 673427 UNIMPL io_uring_register 674428 UNIMPL open_tree 675429 UNIMPL move_mount 676430 UNIMPL fsopen 677431 UNIMPL fsconfig 678432 UNIMPL fsmount 679433 UNIMPL fspick 680434 UNIMPL pidfd_open 681435 UNIMPL clone3 682436 STD { int|linux_sys||close_range(unsigned int first, \ 683 unsigned int last, unsigned int flags); } 684437 UNIMPL openat2 685438 UNIMPL pidfd_getfd 686439 UNIMPL faccessat2 687 688; we want a "nosys" syscall, we'll just add an extra entry for it. 689440 STD { int|linux_sys||nosys(void); } 690441 STD { int|linux_sys||epoll_pwait2(int epfd, \ 691 struct linux_epoll_event *events, int maxevents, \ 692 const struct linux_timespec *timeout, \ 693 const linux_sigset_t *sigmask); } 694