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