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