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