syscalls.master revision 1.3 1 $NetBSD: syscalls.master,v 1.3 2021/11/25 02:29:33 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
70 0 UNIMPL io_setup
71 1 UNIMPL io_destroy
72 2 UNIMPL io_submit
73 3 UNIMPL io_cancel
74 4 UNIMPL io_getevents
75 5 STD { int|linux_sys||setxattr(char *path, char *name, \
76 void *value, size_t size, int flags); }
77 6 STD { int|linux_sys||lsetxattr(char *path, char *name, \
78 void *value, size_t size, int flags); }
79 7 STD { int|linux_sys||fsetxattr(int fd, char *name, \
80 void *value, size_t size, int flags); }
81 8 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \
82 void *value, size_t size); }
83 9 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \
84 void *value, size_t size); }
85 10 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \
86 void *value, size_t size); }
87 11 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \
88 size_t size); }
89 12 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \
90 size_t size); }
91 13 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \
92 size_t size); }
93 14 STD { int|linux_sys||removexattr(char *path, char *name); }
94 15 STD { int|linux_sys||lremovexattr(char *path, char *name); }
95 16 STD { int|linux_sys||fremovexattr(int fd, char *name); }
96 17 NOARGS { int|sys||__getcwd(char *bufp, size_t length); }
97 18 UNIMPL lookup_dcookie
98 19 STD { int|linux_sys||eventfd2(unsigned int initval, \
99 int flags); }
100 20 UNIMPL epoll_create1
101 21 UNIMPL epoll_ctl
102 22 UNIMPL epoll_pwait
103 23 NOARGS { int|sys||dup(int fd); }
104 24 STD { int|linux_sys||dup3(int from, int to, int flags); }
105 25 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); }
106 26 UNIMPL inotify_init1
107 27 UNIMPL inotify_add_watch
108 28 UNIMPL inotify_rm_watch
109 29 STD { int|linux_sys||ioctl(int fd, u_long com, \
110 void *data); }
111 30 UNIMPL ioprio_set
112 31 UNIMPL ioprio_get
113 32 NOARGS { int|sys||flock(int fd, int how); }
114 33 STD { int|linux_sys||mknodat(int fd, const char *path, \
115 linux_umode_t mode, unsigned dev); }
116 34 NOARGS { int|sys||mkdirat(int fd, const char *path, \
117 linux_umode_t mode); }
118 35 STD { int|linux_sys||unlinkat(int fd, const char *path, \
119 int flag); }
120 36 NOARGS { int|sys||symlinkat(const char *path1, int fd, \
121 const char *path2); }
122 37 STD { int|linux_sys||linkat(int fd1, const char *name1, \
123 int fd2, const char *name2, int flags); }
124 38 NOARGS { int|sys||renameat(int fromfd, const char *from, \
125 int tofd, const char *to); }
126 39 UNIMPL umount2
127 40 UNIMPL mount
128 41 UNIMPL pivot_root
129 42 UNIMPL nfsservctl
130 43 STD { int|linux_sys||statfs(const char *path, \
131 struct linux_statfs *sp); }
132 44 STD { int|linux_sys||fstatfs(int fd, \
133 struct linux_statfs *sp); }
134 45 STD { int|linux_sys||truncate64(const char *path, \
135 off_t length); }
136 46 STD { int|linux_sys||ftruncate64(unsigned int fd, \
137 off_t length); }
138 47 STD { int|linux_sys||fallocate(int fd, int mode, \
139 off_t offset, off_t len); }
140 48 STD { int|linux_sys||faccessat(int fd, const char *path, \
141 int amode); }
142 49 NOARGS { int|sys||chdir(const char *path); }
143 50 NOARGS { int|sys||fchdir(int fd); }
144 51 NOARGS { int|sys||chroot(char *path); }
145 52 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); }
146 53 STD { int|linux_sys||fchmodat(int fd, const char *path, \
147 linux_umode_t mode); }
148 54 STD { int|linux_sys||fchownat(int fd, const char *path, \
149 uid_t owner, gid_t group, int flag); }
150 55 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \
151 gid_t gid); }
152 56 STD { int|linux_sys||openat(int fd, const char *path, \
153 int flags, ... linux_umode_t mode); }
154 57 NOARGS { int|sys||close(int fd); }
155 58 UNIMPL vhangup
156 59 STD { int|linux_sys||pipe2(int *pfds, int flags); }
157 60 UNIMPL quotactl
158 61 STD { int|linux_sys||getdents64(int fd, \
159 struct linux_dirent64 *dent, unsigned int count); }
160 62 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \
161 int whence); }
162 63 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
163 64 NOARGS { ssize_t|sys||write(int fd, const void *buf, \
164 size_t nbyte); }
165 65 NOARGS { ssize_t|sys||readv(int fd, \
166 const struct iovec *iovp, int iovcnt); }
167 66 NOARGS { ssize_t|sys||writev(int fd, \
168 const struct iovec *iovp, int iovcnt); }
169 67 STD { int|linux_sys||pread(int fd, char *buf, \
170 size_t nbyte, off_t offset); }
171 68 STD { int|linux_sys||pwrite(int fd, char *buf, \
172 size_t nbyte, off_t offset); }
173 69 STD { int|linux_sys||preadv(int fd, \
174 const struct iovec *iovp, int iovcnt, \
175 unsigned long off_lo, unsigned long off_hi); }
176 70 STD { int|linux_sys||pwritev(int fd, \
177 const struct iovcnt *iovp, int iovcnt, \
178 unsigned long off_lo, unsigned long off_hi); }
179 71 UNIMPL sendfile
180 72 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); }
184 73 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
185 struct linux_timespec *timeout, \
186 linux_sigset_t *sigset); }
187 74 UNIMPL signalfd4
188 75 UNIMPL vmsplice
189 76 UNIMPL splice
190 77 UNIMPL tee
191 78 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \
192 char *buf, size_t bufsize); }
193 79 STD { int|linux_sys||fstatat64(int fd, const char *path, \
194 struct linux_stat *sp, int flag); }
195 80 STD { int|linux_sys||fstat64(int fd, \
196 struct linux_stat *sp); }
197 81 NOARGS { int|sys||sync(void); }
198 82 NOARGS { int|sys||fsync(int fd); }
199 83 STD { int|linux_sys||fdatasync(int fd); }
200 84 UNIMPL sync_file_range
201 85 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \
202 int flags); }
203 86 STD { int|linux_sys||timerfd_settime(int fd, int flags, \
204 const struct linux_itimerspec *tim, \
205 struct linux_itimerspec *otim); }
206 87 STD { int|linux_sys||timerfd_gettime(int fd, \
207 struct linux_itimerspec *tim); }
208 88 STD { int|linux_sys||utimensat(int fd, const char *path, \
209 struct linux_timespec *times, int flag); }
210 89 NOARGS { int|sys||acct(char *path); }
211 90 UNIMPL capget
212 91 UNIMPL capset
213 92 STD { int|linux_sys||personality(unsigned long per); }
214 93 STD { int|linux_sys||exit(int rval); }
215 94 STD { int|linux_sys||exit_group(int error_code); }
216 95 UNIMPL waitid
217 96 STD { int|linux_sys||set_tid_address(int *tid); }
218 97 UNIMPL unshare
219 98 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 ;
227 99 NOARGS { int|sys||__futex_set_robust_list(void *head, \
228 size_t len); }
229 100 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \
230 void **headp, size_t *lenp); }
231 101 STD { int|linux_sys||nanosleep( \
232 const struct linux_timespec *rqtp, \
233 struct linux_timespec *rmtp); }
234 102 NOARGS { int|compat_50_sys||getitimer(int which, \
235 struct itimerval50 *itv); }
236 103 NOARGS { int|compat_50_sys||setitimer(int which, \
237 struct itimerval50 *itv, \
238 struct itimerval50 *oitv); }
239 104 UNIMPL kexec_load
240 105 UNIMPL init_module
241 106 UNIMPL delete_module
242 107 STD { int|linux_sys||timer_create(clockid_t clockid, \
243 struct linux_sigevent *evp, timer_t *timerid); }
244 108 STD { int|linux_sys||timer_gettime(timer_t timerid, \
245 struct linux_itimerspec *tim); }
246 109 NOARGS { int|sys||timer_getoverrun(timer_t timerid); }
247 110 STD { int|linux_sys||timer_settime(timer_t timerid, \
248 int flags, const struct linux_itimerspec *tim, \
249 struct linux_itimerspec *otim); }
250 111 NOARGS { int|sys||timer_delete(timer_t timerid); }
251 112 STD { int|linux_sys||clock_settime(clockid_t which, \
252 struct linux_timespec *tp); }
253 113 STD { int|linux_sys||clock_gettime(clockid_t which, \
254 struct linux_timespec *tp); }
255 114 STD { int|linux_sys||clock_getres(clockid_t which, \
256 struct linux_timespec *tp); }
257 115 STD { int|linux_sys||clock_nanosleep(clockid_t which, \
258 int flags, struct linux_timespec *rqtp, \
259 struct linux_timespec *rmtp); }
260 116 UNIMPL syslog
261 117 STD { int|linux_sys||ptrace(long request, long pid, \
262 long addr, long data); }
263 118 STD { int|linux_sys||sched_setparam(pid_t pid, \
264 const struct linux_sched_param *sp); }
265 119 STD { int|linux_sys||sched_setscheduler(pid_t pid, \
266 int policy, const struct linux_sched_param *sp); }
267 120 STD { int|linux_sys||sched_getscheduler(pid_t pid); }
268 121 STD { int|linux_sys||sched_getparam(pid_t pid, \
269 struct linux_sched_param *sp); }
270 122 STD { int|linux_sys||sched_setaffinity(pid_t pid, \
271 unsigned int len, unsigned long *mask); }
272 123 STD { int|linux_sys||sched_getaffinity(pid_t pid, \
273 unsigned int len, unsigned long *mask); }
274 124 STD { int|linux_sys||sched_yield(void); }
275 125 STD { int|linux_sys||sched_get_priority_max(int policy); }
276 126 STD { int|linux_sys||sched_get_priority_min(int policy); }
277 127 UNIMPL sys_sched_rr_get_interval
278 128 UNIMPL restart_syscall
279 129 STD { int|linux_sys||kill(int pid, int signum); }
280 130 STD { int|linux_sys||tkill(int tid, int sig); }
281 131 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); }
282 132 STD { int|linux_sys||sigaltstack( \
283 const struct linux_sigaltstack *ss, \
284 struct linux_sigaltstack *oss); }
285 133 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
286 size_t sigsetsize); }
287 134 STD { int|linux_sys||rt_sigaction(int signum, \
288 const struct linux_sigaction *nsa, \
289 struct linux_sigaction *osa, \
290 size_t sigsetsize); }
291 135 STD { int|linux_sys||rt_sigprocmask(int how, \
292 const linux_sigset_t *set, \
293 linux_sigset_t *oset, \
294 size_t sigsetsize); }
295 136 STD { int|linux_sys||rt_sigpending( \
296 linux_sigset_t *set, \
297 size_t sigsetsize); }
298 137 STD { int|linux_sys||rt_sigtimedwait( \
299 const linux_sigset_t *set, \
300 linux_siginfo_t *info, \
301 const struct linux_timespec *timeout); }
302 138 UNIMPL rt_sigqueueinfo
303 139 NOARGS { int|linux_sys||rt_sigreturn(void); }
304 140 NOARGS { int|sys||setpriority(int which, int who, int prio); }
305 141 STD { int|linux_sys||getpriority(int which, int who); }
306 142 STD { int|linux_sys||reboot(int magic1, int magic2, \
307 int cmd, void *arg); }
308 143 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); }
309 144 NOARGS { int|sys||setgid(gid_t gid); }
310 145 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); }
311 146 NOARGS { int|sys||setuid(uid_t uid); }
312 147 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
313 uid_t suid); }
314 148 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
315 uid_t *suid); }
316 149 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
317 gid_t sgid); }
318 150 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
319 gid_t *sgid); }
320 151 STD { int|linux_sys||setfsuid(uid_t uid); }
321 152 STD { int|linux_sys||setfsgid(gid_t gid); }
322 153 STD { int|linux_sys||times(struct times *tms); }
323 154 NOARGS { int|sys||setpgid(int pid, int pgid); }
324 155 NOARGS { pid_t|sys||getpgid(pid_t pid); }
325 156 NOARGS { pid_t|sys||getsid(pid_t pid); }
326 157 NOARGS { int|sys||setsid(void); }
327 158 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); }
328 159 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); }
329 160 STD { int|linux_sys||uname(struct linux_utsname *up); }
330 161 NOARGS { int|compat_43_sys||sethostname(char *hostname, \
331 u_int len);}
332 162 STD { int|linux_sys||setdomainname(char *domainname, \
333 int len); }
334 163 STD { int|linux_sys||getrlimit(int which, \
335 struct rlimit *rlp); }
336 164 STD { int|linux_sys||setrlimit(u_int which, \
337 struct rlimit *rlp); }
338 165 NOARGS { int|compat_50_sys||getrusage(int who, \
339 struct rusage50 *rusage); }
340 166 NOARGS { int|sys||umask(int newmask); }
341 167 UNIMPL prctl
342 168 UNIMPL getcpu
343 169 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \
344 struct timezone *tzp); }
345 170 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \
346 struct timezone *tzp); }
347 171 UNIMPL adjtimex
348 172 STD { pid_t|sys||getpid(void); }
349 173 STD { pid_t|sys||getppid(void); }
350 174 NOARGS { uid_t|sys||getuid(void); }
351 175 NOARGS { uid_t|sys||geteuid(void); }
352 176 NOARGS { gid_t|sys||getgid(void); }
353 177 NOARGS { gid_t|sys||getegid(void); }
354 178 STD { pid_t|linux_sys||gettid(void); }
355 179 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
356 180 UNIMPL mq_open
357 181 UNIMPL mq_unlink
358 182 UNIMPL mq_timedsend
359 183 UNIMPL mq_timedreceive
360 184 UNIMPL mq_notify
361 185 UNIMPL mq_getsetattr
362 #ifdef SYSVMSG
363 186 NOARGS { int|sys||msgget(key_t key, int msgflg); }
364 187 NOARGS { int|linux_sys||msgctl(int msqid, int cmd, \
365 struct linux_msqid_ds *buf); }
366 188 NOARGS { ssize_t|sys||msgrcv(int msqid, void *msgp, \
367 size_t msgsz, long msgtyp, int msgflg); }
368 189 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
369 int msgflg); }
370 #else
371 186 UNIMPL msgget
372 187 UNIMPL msgctl
373 188 UNIMPL msgrcv
374 189 UNIMPL msgsnd
375 #endif
376 #ifdef SYSVSEM
377 190 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); }
378 191 STD { int|linux_sys||semctl(int semid, int semnum, \
379 int cmd, union linux_semun arg); }
380 192 UNIMPL semtimedop
381 193 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \
382 size_t nsops); }
383 #else
384 190 UNIMPL semget
385 191 UNIMPL semctl
386 192 UNIMPL semtimedop
387 193 UNIMPL semop
388 #endif
389 #ifdef SYSVSEM
390 194 NOARGS { int|linux_sys||shmget(key_t key, size_t size, \
391 int shmflg); }
392 195 NOARGS { int|linux_sys||shmctl(int shmid, int cmd, \
393 struct linux_shmid_ds *buf); }
394 196 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); }
395 197 NOARGS { int|sys||shmdt(const void *shmaddr); }
396 #else
397 194 UNIMPL shmget
398 195 UNIMPL shmctl
399 196 UNIMPL shmat
400 197 UNIMPL shmdt
401 #endif
402 198 STD { int|linux_sys||socket(int domain, \
403 int type, int protocol); }
404 199 STD { int|linux_sys||socketpair(int domain, int type, \
405 int protocol, int *rsv); }
406 200 STD { int|linux_sys||bind(int s, \
407 const struct osockaddr *name, \
408 unsigned int namelen); }
409 201 NOARGS { int|sys||listen(int s, int backlog); }
410 202 STD { int|linux_sys||accept(int s, struct osockaddr *name, \
411 int *anamelen); } oaccept
412 203 STD { int|linux_sys||connect(int s, \
413 const struct osockaddr *name, \
414 unsigned int namelen); }
415 204 STD { int|linux_sys||getsockname(int fdec, void *asa, \
416 int *alen); }
417 205 STD { int|linux_sys||getpeername(int fdes, \
418 struct sockaddr *asa, unsigned int *alen); }
419 206 STD { ssize_t|linux_sys||sendto(int s, void *msg, int len, \
420 int flags, struct osockaddr *to, int tolen); }
421 207 STD { ssize_t|linux_sys||recvfrom(int s, void *buf, \
422 size_t len, int flags, struct osockaddr *from, \
423 unsigned int *fromlenaddr); }
424 208 STD { int|linux_sys||setsockopt(int s, int level, \
425 int optname, void *optval, int optlen); }
426 209 STD { int|linux_sys||getsockopt(int s, int level, \
427 int optname, void *optval, int *optlen); }
428 210 NOARGS { int|sys||shutdown(int s, int how); }
429 211 STD { int|linux_sys||sendmsg(int s, \
430 const struct linux_msghdr *msg, int flags); }
431 212 STD { ssize_t|linux_sys||recvmsg(int s, \
432 struct linux_msghdr *msg, int flags); }
433 213 UNIMPL readahead
434 214 STD { int|linux_sys||brk(char *nsize); }
435 215 NOARGS { int|sys||munmap(void *addr, size_t len); }
436 216 STD { void *|linux_sys||mremap(void *old_address, \
437 size_t old_size, size_t new_size, u_long flags); }
438 217 UNIMPL add_key
439 218 UNIMPL request_key
440 219 UNIMPL keyctl
441 220 STD { int|linux_sys||clone(int flags, void *stack, \
442 void *parent_tidptr, void *child_tidptr, void *tls); }
443 221 NOARGS { int|sys||execve(const char *path, char **argp, \
444 char **envp); }
445 222 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); }
448 223 STD { int|linux_sys||fadvise64(int fd, off_t offset, \
449 size_t len, int advice); }
450 224 STD { int|linux_sys||swapon(char *name); }
451 225 STD { int|linux_sys||swapoff(const char *path); }
452 226 STD { int|linux_sys||mprotect(const void *start, \
453 unsigned long len, int prot); }
454 227 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); }
455 228 NOARGS { int|sys||mlock(void *addr, size_t len); }
456 229 NOARGS { int|sys||munlock(void *addr, size_t len); }
457 230 NOARGS { int|sys||mlockall(int flags); }
458 231 NOARGS { int|sys||munlockall(void); }
459 232 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); }
460 233 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); }
461 234 UNIMPL remap_file_pages
462 235 UNIMPL mbind
463 236 UNIMPL get_mempolicy
464 237 UNIMPL set_mempolicy
465 238 UNIMPL migrate_pages
466 239 UNIMPL move_pages
467 240 UNIMPL rt_tgsigqueueinfo
468 241 UNIMPL perf_event_open
469 242 STD { int|linux_sys||accept4(int s, \
470 struct osockaddr *name, \
471 int *anamelen, int flags); }
472 243 STD { int|linux_sys||recvmmsg(int s, \
473 struct linux_mmsghdr *msgvec, unsigned int vlen, \
474 unsigned int flags, struct timespec *timeout); }
475 244 UNIMPL arch_specific_syscall
476 245 UNIMPL
477 246 UNIMPL
478 247 UNIMPL
479 248 UNIMPL
480 249 UNIMPL
481 250 UNIMPL
482 251 UNIMPL
483 252 UNIMPL
484 253 UNIMPL
485 254 UNIMPL
486 255 UNIMPL
487 256 UNIMPL
488 257 UNIMPL
489 258 UNIMPL
490 259 UNIMPL
491 260 STD { int|linux_sys||wait4(int pid, int *status, \
492 int options, struct rusage50 *rusage); }
493 261 UNIMPL prlimit64
494 262 UNIMPL fanotify_init
495 263 UNIMPL fanotify_mark
496 264 UNIMPL name_to_handle_at
497 265 UNIMPL open_by_handle_at
498 266 UNIMPL clock_adjtime
499 267 UNIMPL syncfs
500 268 UNIMPL setns
501 269 STD { int|linux_sys||sendmmsg(int s, \
502 struct linux_mmsghdr *msgvec, unsigned int vlen, \
503 unsigned int flags); }
504 270 UNIMPL process_vm_readv
505 271 UNIMPL process_vm_writev
506 272 UNIMPL kcmp
507 273 UNIMPL finit_module
508 274 UNIMPL sched_setattr
509 275 UNIMPL sched_getattr
510 276 UNIMPL renameat2
511 277 UNIMPL seccomp
512 278 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \
513 unsigned int flags); }
514 279 UNIMPL memfd_create
515 280 UNIMPL bpf
516 281 UNIMPL execveat
517 282 UNIMPL userfaultfd
518 283 UNIMPL membarrier
519 284 UNIMPL mlock2
520 285 UNIMPL copy_file_range
521 286 UNIMPL preadv2
522 287 UNIMPL pwritev2
523 288 UNIMPL pkey_mprotect
524 289 UNIMPL pkey_alloc
525 290 UNIMPL pkey_free
526 291 STD { int|linux_sys||statx(int fd, const char *path, \
527 int flag, unsigned int mask, \
528 struct linux_statx *sp); }
529 292 UNIMPL io_pgetevents
530 293 UNIMPL rseq
531 294 UNIMPL kexec_file_load
532 295 UNIMPL
533 296 UNIMPL
534 297 UNIMPL
535 298 UNIMPL
536 299 UNIMPL
537 300 UNIMPL
538 301 UNIMPL
539 302 UNIMPL
540 303 UNIMPL
541 304 UNIMPL
542 305 UNIMPL
543 306 UNIMPL
544 307 UNIMPL
545 308 UNIMPL
546 309 UNIMPL
547 310 UNIMPL
548 311 UNIMPL
549 312 UNIMPL
550 313 UNIMPL
551 314 UNIMPL
552 315 UNIMPL
553 316 UNIMPL
554 317 UNIMPL
555 318 UNIMPL
556 319 UNIMPL
557 320 UNIMPL
558 321 UNIMPL
559 322 UNIMPL
560 323 UNIMPL
561 324 UNIMPL
562 325 UNIMPL
563 326 UNIMPL
564 327 UNIMPL
565 328 UNIMPL
566 329 UNIMPL
567 330 UNIMPL
568 331 UNIMPL
569 332 UNIMPL
570 333 UNIMPL
571 334 UNIMPL
572 335 UNIMPL
573 336 UNIMPL
574 337 UNIMPL
575 338 UNIMPL
576 339 UNIMPL
577 340 UNIMPL
578 341 UNIMPL
579 342 UNIMPL
580 343 UNIMPL
581 344 UNIMPL
582 345 UNIMPL
583 346 UNIMPL
584 347 UNIMPL
585 348 UNIMPL
586 349 UNIMPL
587 350 UNIMPL
588 351 UNIMPL
589 352 UNIMPL
590 353 UNIMPL
591 354 UNIMPL
592 355 UNIMPL
593 356 UNIMPL
594 357 UNIMPL
595 358 UNIMPL
596 359 UNIMPL
597 360 UNIMPL
598 361 UNIMPL
599 362 UNIMPL
600 363 UNIMPL
601 364 UNIMPL
602 365 UNIMPL
603 366 UNIMPL
604 367 UNIMPL
605 368 UNIMPL
606 369 UNIMPL
607 370 UNIMPL
608 371 UNIMPL
609 372 UNIMPL
610 373 UNIMPL
611 374 UNIMPL
612 375 UNIMPL
613 376 UNIMPL
614 377 UNIMPL
615 378 UNIMPL
616 379 UNIMPL
617 380 UNIMPL
618 381 UNIMPL
619 382 UNIMPL
620 383 UNIMPL
621 384 UNIMPL
622 385 UNIMPL
623 386 UNIMPL
624 387 UNIMPL
625 388 UNIMPL
626 389 UNIMPL
627 390 UNIMPL
628 391 UNIMPL
629 392 UNIMPL
630 393 UNIMPL
631 394 UNIMPL
632 395 UNIMPL
633 396 UNIMPL
634 397 UNIMPL
635 398 UNIMPL
636 399 UNIMPL
637 400 UNIMPL
638 401 UNIMPL
639 402 UNIMPL
640 403 UNIMPL
641 404 UNIMPL
642 405 UNIMPL
643 406 UNIMPL
644 407 UNIMPL
645 408 UNIMPL
646 409 UNIMPL
647 410 UNIMPL
648 411 UNIMPL
649 412 UNIMPL
650 413 UNIMPL
651 414 UNIMPL
652 415 UNIMPL
653 416 UNIMPL
654 417 UNIMPL
655 418 UNIMPL
656 419 UNIMPL
657 420 UNIMPL
658 421 UNIMPL
659 422 UNIMPL
660 423 UNIMPL
661 424 UNIMPL pidfd_send_signal
662 425 UNIMPL io_uring_setup
663 426 UNIMPL io_uring_enter
664 427 UNIMPL io_uring_register
665 428 UNIMPL open_tree
666 429 UNIMPL move_mount
667 430 UNIMPL fsopen
668 431 UNIMPL fsconfig
669 432 UNIMPL fsmount
670 433 UNIMPL fspick
671 434 UNIMPL pidfd_open
672 435 UNIMPL clone3
673 436 UNIMPL
674 437 UNIMPL openat2
675 438 UNIMPL pidfd_getfd
676 439 UNIMPL faccessat2
677
678 ; we want a "nosys" syscall, we'll just add an extra entry for it.
679 440 STD { int|linux_sys||nosys(void); }
680