syscalls.master revision 1.100 1 $NetBSD: syscalls.master,v 1.100 2021/11/24 18:52:13 ryo Exp $
2
3 ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
4
5 ; NetBSD m68k 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_compat_netbsd.h"
38 #include "opt_compat_43.h"
39 #endif
40
41 #include <sys/param.h>
42 #include <sys/poll.h>
43 #include <sys/systm.h>
44 #include <sys/signal.h>
45 #include <sys/mount.h>
46 #include <sys/sched.h>
47 #include <sys/syscallargs.h>
48
49 #include <compat/linux/common/linux_types.h>
50 #include <compat/linux/common/linux_signal.h>
51 #include <compat/linux/common/linux_siginfo.h>
52 #include <compat/linux/common/linux_machdep.h>
53 #include <compat/linux/common/linux_mmap.h>
54
55 #include <compat/linux/linux_syscallargs.h>
56
57 %%
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 lchown on i386; chown on m68k.
81 16 STD { int|linux_sys||chown16(const char *path, \
82 linux_uid16_t uid, linux_gid16_t gid); }
83 17 OBSOL break
84 18 OBSOL ostat
85 #if !defined(_KERNEL) || defined(COMPAT_43)
86 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \
87 int whence); }
88 #else
89 19 UNIMPL compat_43_sys_lseek
90 #endif
91 20 NOARGS { pid_t|sys||getpid(void); }
92 21 UNIMPL mount
93 22 OBSOL umount
94 23 NOARGS linux_setuid16 { int|sys||setuid(uid_t uid); }
95 24 NOARGS linux_getuid16 { uid_t|sys||getuid(void); }
96 25 STD { int|linux_sys||stime(linux_time_t *t); }
97 26 STD { int|linux_sys||ptrace(int request, int pid, \
98 int addr, int data); }
99 27 STD { int|linux_sys||alarm(unsigned int secs); }
100 28 OBSOL ofstat
101 29 STD { int|linux_sys||pause(void); }
102 30 STD { int|linux_sys||utime(const char *path, \
103 struct linux_utimbuf *times); }
104 31 OBSOL stty
105 32 OBSOL gtty
106 33 NOARGS { int|sys||access(const char *path, int flags); }
107 34 STD { int|linux_sys||nice(int incr); }
108 35 OBSOL ftime
109 36 NOARGS { int|sys||sync(void); }
110 37 STD { int|linux_sys||kill(int pid, int signum); }
111 38 NOARGS { int|sys||__posix_rename(const char *from, \
112 const char *to); }
113 39 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); }
114 40 NOARGS { int|sys||rmdir(const char *path); }
115 41 NOARGS { int|sys||dup(int fd); }
116 42 STD { int|linux_sys||pipe(int *pfds); }
117 43 STD { int|linux_sys||times(struct times *tms); }
118 44 OBSOL prof
119 45 STD { int|linux_sys||brk(char *nsize); }
120 46 NOARGS linux_setgid16 { int|sys||setgid(gid_t gid); }
121 47 NOARGS linux_getgid16 { gid_t|sys||getgid(void); }
122 48 STD { int|linux_sys||signal(int signum, \
123 linux_handler_t handler); }
124 49 NOARGS linux_geteuid16 { uid_t|sys||geteuid(void); }
125 50 NOARGS linux_getegid16 { gid_t|sys||getegid(void); }
126 51 NOARGS { int|sys||acct(char *path); }
127 52 UNIMPL umount
128 53 OBSOL lock
129 54 STD { int|linux_sys||ioctl(int fd, u_long com, \
130 void *data); }
131 55 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); }
132 56 OBSOL mpx
133 57 NOARGS { int|sys||setpgid(int pid, int pgid); }
134 58 OBSOL ulimit
135 59 UNIMPL oldolduname
136 60 NOARGS { int|sys||umask(int newmask); }
137 61 NOARGS { int|sys||chroot(char *path); }
138 62 UNIMPL ustat
139 63 NOARGS { int|sys||dup2(int from, int to); }
140 64 NOARGS { pid_t|sys||getppid(void); }
141 65 NOARGS { int|sys||getpgrp(void); }
142 66 NOARGS { int|sys||setsid(void); }
143 67 STD { int|linux_sys||sigaction(int signum, \
144 const struct linux_old_sigaction *nsa, \
145 struct linux_old_sigaction *osa); }
146 68 STD { int|linux_sys||siggetmask(void); }
147 69 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
148 70 STD { int|linux_sys||setreuid16(linux_uid16_t ruid, \
149 linux_uid16_t euid); }
150 71 STD { int|linux_sys||setregid16(linux_gid16_t rgid, \
151 linux_gid16_t egid); }
152 72 STD { int|linux_sys||sigsuspend(void *restart, \
153 int oldmask, int mask); }
154 73 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); }
155 #if !defined(_KERNEL) || defined(COMPAT_43)
156 74 NOARGS { int|compat_43_sys||sethostname(char *hostname, \
157 u_int len);}
158 #else
159 74 UNIMPL compat_43_sys_sethostname
160 #endif
161 75 STD { int|linux_sys||setrlimit(u_int which, \
162 struct orlimit *rlp); }
163 76 STD { int|linux_sys||getrlimit(u_int which, \
164 struct orlimit *rlp); }
165 77 NOARGS { int|compat_50_sys||getrusage(int who, \
166 struct rusage50 *rusage); }
167 78 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \
168 struct timezone *tzp); }
169 79 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \
170 struct timezone *tzp); }
171 80 STD { int|linux_sys||getgroups16(int gidsetsize, \
172 linux_gid16_t *gidset); }
173 81 STD { int|linux_sys||setgroups16(int gidsetsize, \
174 linux_gid16_t *gidset); }
175 82 STD { int|linux_sys||oldselect(struct linux_oldselect *lsp); }
176 83 NOARGS { int|sys||symlink(const char *path, const char *to); }
177 #if !defined(_KERNEL) || defined(COMPAT_43)
178 84 NOARGS { int|compat_43_sys||lstat(const char *path, \
179 struct stat43 *up); } oolstat
180 #else
181 84 UNIMPL compat_43_sys_lstat
182 #endif
183 85 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \
184 int count); }
185 #ifdef EXEC_AOUT
186 86 STD { int|linux_sys||uselib(const char *path); }
187 #else
188 86 UNIMPL sys_uselib
189 #endif
190 87 STD { int|linux_sys||swapon(char *name); }
191 88 STD { int|linux_sys||reboot(int magic1, int magic2, \
192 int cmd, void *arg); }
193 89 STD { int|linux_sys||readdir(int fd, void *dent, \
194 unsigned int count); }
195 90 STD { int|linux_sys||old_mmap(struct linux_oldmmap *lmp); }
196 91 NOARGS { int|sys||munmap(void *addr, size_t len); }
197 92 NOARGS { int|compat_43_sys||truncate(const char *path, \
198 long length); }
199 #if !defined(_KERNEL) || defined(COMPAT_43)
200 93 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); }
201 #else
202 93 UNIMPL compat_43_sys_ftruncate
203 #endif
204 94 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); }
205 95 STD { int|linux_sys||fchown16(int fd, linux_uid16_t uid, \
206 linux_gid16_t gid); }
207 96 STD { int|linux_sys||getpriority(int which, int who); }
208 97 NOARGS { int|sys||setpriority(int which, int who, int prio); }
209 98 NOARGS { int|sys||profil(void *samples, u_int size, \
210 u_int offset, u_int scale); }
211 99 STD { int|linux_sys||statfs(const char *path, \
212 struct linux_statfs *sp); }
213 100 STD { int|linux_sys||fstatfs(int fd, \
214 struct linux_statfs *sp); }
215 101 UNIMPL ioperm
216 102 STD { int|linux_sys||socketcall(int what, void *args); }
217 103 UNIMPL syslog
218 104 NOARGS { int|compat_50_sys||setitimer(int which, \
219 struct itimerval50 *itv, \
220 struct itimerval50 *oitv); }
221 105 NOARGS { int|compat_50_sys||getitimer(int which, \
222 struct itimerval50 *itv); }
223 106 STD { int|linux_sys||stat(const char *path, \
224 struct linux_stat *sp); }
225 107 STD { int|linux_sys||lstat(const char *path, \
226 struct linux_stat *sp); }
227 108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); }
228 109 UNIMPL olduname
229 110 UNIMPL iopl
230 111 UNIMPL vhangup
231 112 UNIMPL idle
232 113 UNIMPL vm86old
233 114 STD { int|linux_sys||wait4(int pid, int *status, \
234 int options, struct rusage50 *rusage); }
235 115 STD { int|linux_sys||swapoff(const char *path); }
236 116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
237 117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \
238 void *ptr); }
239 118 NOARGS { int|sys||fsync(int fd); }
240 119 STD { int|linux_sys||sigreturn(void); }
241 120 STD { int|linux_sys||clone(int flags, void *stack, \
242 void *parent_tidptr, void *tls, void *child_tidptr); }
243 121 STD { int|linux_sys||setdomainname(char *domainname, \
244 int len); }
245 122 STD { int|linux_sys||uname(struct linux_utsname *up); }
246 123 STD { int|linux_sys||cacheflush(unsigned long addr, \
247 int scope, int cache, unsigned long len); }
248 124 UNIMPL adjtimex
249 125 STD { int|linux_sys||mprotect(const void *start, \
250 unsigned long len, int prot); }
251 126 STD { int|linux_sys||sigprocmask(int how, \
252 const linux_old_sigset_t *set, \
253 linux_old_sigset_t *oset); }
254 127 UNIMPL create_module
255 128 UNIMPL init_module
256 129 UNIMPL delete_module
257 130 UNIMPL get_kernel_syms
258 131 UNIMPL quotactl
259 132 NOARGS { pid_t|sys||getpgid(pid_t pid); }
260 133 NOARGS { int|sys||fchdir(int fd); }
261 134 UNIMPL bdflush
262 135 UNIMPL sysfs
263 136 STD { int|linux_sys||personality(unsigned long per); }
264 137 UNIMPL afs_syscall
265 138 NOARGS linux_setfsuid16 { int|linux_sys||setfsuid(uid_t uid); }
266 139 NOARGS linux_setfsgid16 { int|linux_sys||setfsgid(gid_t gid); }
267 140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \
268 u_int32_t olow, void *res, int whence); }
269 141 STD { int|linux_sys||getdents(int fd, \
270 struct linux_dirent *dent, unsigned int count); }
271 142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \
272 fd_set *writefds, fd_set *exceptfds, \
273 struct timeval50 *timeout); }
274 143 NOARGS { int|sys||flock(int fd, int how); }
275 144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); }
276 145 NOARGS { ssize_t|sys||readv(int fd, \
277 const struct iovec *iovp, int iovcnt); }
278 146 NOARGS { ssize_t|sys||writev(int fd, \
279 const struct iovec *iovp, int iovcnt); }
280 147 NOARGS { pid_t|sys||getsid(pid_t pid); }
281 148 STD { int|linux_sys||fdatasync(int fd); }
282 149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
283 150 NOARGS { int|sys||mlock(void *addr, size_t len); }
284 151 NOARGS { int|sys||munlock(void *addr, size_t len); }
285 152 NOARGS { int|sys||mlockall(int flags); }
286 153 NOARGS { int|sys||munlockall(void); }
287 154 STD { int|linux_sys||sched_setparam(pid_t pid, \
288 const struct linux_sched_param *sp); }
289 155 STD { int|linux_sys||sched_getparam(pid_t pid, \
290 struct linux_sched_param *sp); }
291 156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \
292 int policy, const struct linux_sched_param *sp); }
293 157 STD { int|linux_sys||sched_getscheduler(pid_t pid); }
294 158 STD { int|linux_sys||sched_yield(void); }
295 159 STD { int|linux_sys||sched_get_priority_max(int policy); }
296 160 STD { int|linux_sys||sched_get_priority_min(int policy); }
297 161 UNIMPL sched_rr_get_interval
298 162 STD { int|linux_sys||nanosleep( \
299 const struct linux_timespec *rqtp, \
300 struct linux_timespec *rmtp); }
301 163 STD { void *|linux_sys||mremap(void *old_address, \
302 size_t old_size, size_t new_size, u_long flags); }
303 164 STD { int|linux_sys||setresuid16(linux_uid16_t ruid, \
304 linux_uid16_t euid, linux_uid16_t suid); }
305 165 STD { int|linux_sys||getresuid16(linux_uid16_t *ruid, \
306 linux_uid16_t *euid, linux_uid16_t *suid); }
307 166 UNIMPL vm86
308 167 UNIMPL query_module
309 168 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \
310 int timeout); }
311 169 UNIMPL nfsservctl
312 170 STD { int|linux_sys||setresgid16(linux_gid16_t rgid, \
313 linux_gid16_t egid, linux_gid16_t sgid); }
314 171 STD { int|linux_sys||getresgid16(linux_gid16_t *rgid, \
315 linux_gid16_t *egid, linux_gid16_t *sgid); }
316 172 UNIMPL prctl
317 173 STD { int|linux_sys||rt_sigreturn(void); }
318 174 STD { int|linux_sys||rt_sigaction(int signum, \
319 const struct linux_sigaction *nsa, \
320 struct linux_sigaction *osa, \
321 size_t sigsetsize); }
322 175 STD { int|linux_sys||rt_sigprocmask(int how, \
323 const linux_sigset_t *set, \
324 linux_sigset_t *oset, \
325 size_t sigsetsize); }
326 176 STD { int|linux_sys||rt_sigpending( \
327 linux_sigset_t *set, \
328 size_t sigsetsize); }
329 177 STD { int|linux_sys||rt_sigtimedwait( \
330 const linux_sigset_t *set, \
331 linux_siginfo_t *info, \
332 const struct linux_timespec *timeout); }
333 178 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \
334 linux_siginfo_t *uinfo); }
335 179 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
336 size_t sigsetsize); }
337 180 STD { int|linux_sys||pread(int fd, char *buf, \
338 size_t nbyte, off_t offset); }
339 181 STD { int|linux_sys||pwrite(int fd, char *buf, \
340 size_t nbyte, off_t offset); }
341 ;182 chown on i386; lchown on m68k.
342 182 STD { int|linux_sys||lchown16(const char *path, \
343 linux_uid16_t uid, linux_gid16_t gid); }
344 183 NOARGS { int|sys||__getcwd(char *bufp, size_t length); }
345 184 UNIMPL capget
346 185 UNIMPL capset
347 186 STD { int|linux_sys||sigaltstack( \
348 const struct linux_sigaltstack *ss, \
349 struct linux_sigaltstack *oss); }
350 187 UNIMPL sendfile
351 188 UNIMPL getpmsg
352 189 UNIMPL putpmsg
353 190 NOARGS { int|sys|14|vfork(void); }
354 191 STD { int|linux_sys||ugetrlimit(int which, \
355 struct orlimit *rlp); }
356 #define linux_sys_mmap2_args linux_sys_mmap_args
357 192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \
358 size_t len, int prot, int flags, int fd, \
359 linux_off_t offset); }
360 193 STD { int|linux_sys||truncate64(const char *path, \
361 off_t length); }
362 194 STD { int|linux_sys||ftruncate64(unsigned int fd, \
363 off_t length); }
364 195 STD { int|linux_sys||stat64(const char *path, \
365 struct linux_stat64 *sp); }
366 196 STD { int|linux_sys||lstat64(const char *path, \
367 struct linux_stat64 *sp); }
368 197 STD { int|linux_sys||fstat64(int fd, \
369 struct linux_stat64 *sp); }
370 198 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \
371 gid_t gid); }
372 199 NOARGS { uid_t|sys||getuid(void); }
373 200 NOARGS { gid_t|sys||getgid(void); }
374 201 NOARGS { uid_t|sys||geteuid(void); }
375 202 NOARGS { gid_t|sys||getegid(void); }
376 203 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); }
377 204 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); }
378 205 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); }
379 206 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); }
380 207 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \
381 gid_t gid); }
382 208 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
383 uid_t suid); }
384 209 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
385 uid_t *suid); }
386 210 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
387 gid_t sgid); }
388 211 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
389 gid_t *sgid); }
390 212 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \
391 gid_t gid); }
392 213 NOARGS { int|sys||setuid(uid_t uid); }
393 214 NOARGS { int|sys||setgid(gid_t gid); }
394 215 STD { int|linux_sys||setfsuid(uid_t uid); }
395 216 STD { int|linux_sys||setfsgid(gid_t gid); }
396 217 UNIMPL /* unused */
397 218 UNIMPL /* unused */
398 219 UNIMPL /* unused */
399 220 STD { int|linux_sys||getdents64(int fd, \
400 struct linux_dirent64 *dent, unsigned int count); }
401 221 NOARGS { pid_t|linux_sys||gettid(void); }
402 222 STD { int|linux_sys||tkill(int tid, int sig); }
403 223 STD { int|linux_sys||setxattr(char *path, char *name, \
404 void *value, size_t size, int flags); }
405 224 STD { int|linux_sys||lsetxattr(char *path, char *name, \
406 void *value, size_t size, int flags); }
407 225 STD { int|linux_sys||fsetxattr(int fd, char *name, \
408 void *value, size_t size, int flags); }
409 226 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \
410 void *value, size_t size); }
411 227 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \
412 void *value, size_t size); }
413 228 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \
414 void *value, size_t size); }
415 229 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \
416 size_t size); }
417 230 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \
418 size_t size); }
419 231 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \
420 size_t size); }
421 232 STD { int|linux_sys||removexattr(char *path, char *name); }
422 233 STD { int|linux_sys||lremovexattr(char *path, char *name); }
423 234 STD { int|linux_sys||fremovexattr(int fd, char *name); }
424 235 STD { int|linux_sys||futex(int *uaddr, int op, int val, \
425 const struct linux_timespec *timeout, int *uaddr2, \
426 int val3); }
427 236 UNIMPL sendfile64
428 237 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); }
429 238 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); }
430 239 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
431 240 UNIMPL readahead
432 241 UNIMPL io_setup
433 242 UNIMPL io_destroy
434 243 UNIMPL io_getevents
435 244 UNIMPL io_submit
436 245 UNIMPL io_cancel
437 246 STD { int|linux_sys||fadvise64(int fd, off_t offset, \
438 size_t len, int advice); }
439 247 UNIMPL exit_group
440 248 UNIMPL lookup_dcookie
441 249 UNIMPL epoll_create
442 250 UNIMPL epoll_ctl
443 251 UNIMPL epoll_wait
444 252 UNIMPL remap_file_pages
445 253 STD { int|linux_sys||set_tid_address(int *tid); }
446 254 STD { int|linux_sys||timer_create(clockid_t clockid, \
447 struct linux_sigevent *evp, timer_t *timerid); }
448 255 STD { int|linux_sys||timer_settime(timer_t timerid, \
449 int flags, const struct linux_itimerspec *tim, \
450 struct linux_itimerspec *otim); }
451 256 STD { int|linux_sys||timer_gettime(timer_t timerid, \
452 struct linux_itimerspec *tim); }
453 257 NOARGS { int|sys||timer_getoverrun(timer_t timerid); }
454 258 NOARGS { int|sys||timer_delete(timer_t timerid); }
455 259 STD { int|linux_sys||clock_settime(clockid_t which, \
456 struct linux_timespec *tp); }
457 260 STD { int|linux_sys||clock_gettime(clockid_t which, \
458 struct linux_timespec *tp); }
459 261 STD { int|linux_sys||clock_getres(clockid_t which, \
460 struct linux_timespec *tp); }
461 262 STD { int|linux_sys||clock_nanosleep(clockid_t which, \
462 int flags, struct linux_timespec *rqtp, \
463 struct linux_timespec *rmtp); }
464 263 STD { int|linux_sys||statfs64(const char *path, \
465 size_t sz, struct linux_statfs64 *sp); }
466 264 STD { int|linux_sys||fstatfs64(int fd, \
467 size_t sz, struct linux_statfs64 *sp); }
468 265 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); }
469 266 NOARGS { int|compat_50_sys||utimes(const char *path, \
470 const struct timeval50 *tptr); }
471 267 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \
472 off_t len, int advice); }
473 268 UNIMPL mbind
474 269 UNIMPL get_mempolicy
475 270 UNIMPL set_mempolicy
476 271 UNIMPL mq_open
477 272 UNIMPL mq_unlink
478 273 UNIMPL mq_timedsend
479 274 UNIMPL mq_timedreceive
480 275 UNIMPL mq_notify
481 276 UNIMPL mq_getsetattr
482 277 UNIMPL waitid
483 278 UNIMPL vserver
484 279 UNIMPL add_key
485 280 UNIMPL request_key
486 281 UNIMPL keyctl
487 282 UNIMPL ioprio_set
488 283 UNIMPL ioprio_get
489 284 UNIMPL inotify_init
490 285 UNIMPL inotify_add_watch
491 286 UNIMPL inotify_rm_watch
492 287 UNIMPL migrate_pages
493 288 STD { int|linux_sys||openat(int fd, const char *path, \
494 int flags, ... linux_umode_t mode); }
495 289 NOARGS { int|sys||mkdirat(int fd, const char *path, \
496 linux_umode_t mode); }
497 290 STD { int|linux_sys||mknodat(int fd, const char *path, \
498 linux_umode_t mode, unsigned dev); }
499 291 STD { int|linux_sys||fchownat(int fd, const char *path, \
500 uid_t owner, gid_t group, int flag); }
501 292 UNIMPL futimesat
502 293 STD { int|linux_sys||fstatat64(int fd, const char *path, \
503 struct linux_stat64 *sp, int flag); }
504 294 STD { int|linux_sys||unlinkat(int fd, const char *path, \
505 int flag); }
506 295 NOARGS { int|sys||renameat(int fromfd, const char *from, \
507 int tofd, const char *to); }
508 296 STD { int|linux_sys||linkat(int fd1, const char *name1, \
509 int fd2, const char *name2, int flags); }
510 297 NOARGS { int|sys||symlinkat(const char *path1, int fd, \
511 const char *path2); }
512 298 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \
513 char *buf, size_t bufsize); }
514 299 STD { int|linux_sys||fchmodat(int fd, const char *path, \
515 linux_umode_t mode); }
516 300 STD { int|linux_sys||faccessat(int fd, const char *path, \
517 int amode); }
518 301 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 302 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
523 struct linux_timespec *timeout, \
524 linux_sigset_t *sigset); }
525 303 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 304 NOARGS { int|sys||__futex_set_robust_list(void *head, \
532 size_t len); }
533 305 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \
534 void **headp, size_t *lenp); }
535 306 UNIMPL splice
536 307 UNIMPL sync_file_range
537 308 UNIMPL tee
538 309 UNIMPL vmsplice
539 310 UNIMPL move_pages
540 311 STD { int|linux_sys||sched_setaffinity(pid_t pid, \
541 unsigned int len, unsigned long *mask); }
542 312 STD { int|linux_sys||sched_getaffinity(pid_t pid, \
543 unsigned int len, unsigned long *mask); }
544 313 UNIMPL kexec_load
545 314 UNIMPL getcpu
546 315 UNIMPL epoll_wait
547 316 STD { int|linux_sys||utimensat(int fd, const char *path, \
548 struct linux_timespec *times, int flag); }
549 317 UNIMPL signalfd
550 318 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \
551 int flags); }
552 319 STD { int|linux_sys||eventfd(unsigned int initval); }
553 320 STD { int|linux_sys||fallocate(int fd, int mode, \
554 off_t offset, off_t len); }
555 321 STD { int|linux_sys||timerfd_settime(int fd, int flags, \
556 const struct linux_itimerspec *tim, \
557 struct linux_itimerspec *otim); }
558 322 STD { int|linux_sys||timerfd_gettime(int fd, \
559 struct linux_itimerspec *tim); }
560 323 UNIMPL signalfd4
561 324 STD { int|linux_sys||eventfd2(unsigned int initval, \
562 int flags); }
563 325 UNIMPL epoll_create1
564 326 STD { int|linux_sys||dup3(int from, int to, int flags); }
565 327 STD { int|linux_sys||pipe2(int *pfds, int flags); }
566 328 UNIMPL inotify_init1
567 329 STD { int|linux_sys||preadv(int fd, \
568 const struct iovec *iovp, int iovcnt, \
569 unsigned long off_lo, unsigned long off_hi); }
570 330 STD { int|linux_sys||pwritev(int fd, \
571 const struct iovcnt *iovp, int iovcnt, \
572 unsigned long off_lo, unsigned long off_hi); }
573 331 UNIMPL rt_tgsigqueueinfo
574 332 UNIMPL perf_counter_open
575 333 UNIMPL set_thread_area
576 334 UNIMPL get_thread_area
577 335 UNIMPL atomic_cmpxchg_32
578 336 UNIMPL atomic_barrier
579 337 UNIMPL fanotify_init
580 338 UNIMPL fanotify_mark
581 339 UNIMPL prlimit64
582 340 UNIMPL name_to_handle_at
583 341 UNIMPL open_by_handle_at
584 342 UNIMPL clock_adjtime
585 343 UNIMPL syncfs
586 344 UNIMPL setns
587 345 UNIMPL process_vm_readv
588 346 UNIMPL process_vm_writev
589 347 UNIMPL kcmp
590 348 UNIMPL finit_module
591 349 UNIMPL sched_setattr
592 350 UNIMPL sched_getattr
593 351 UNIMPL renameat2
594 352 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \
595 unsigned int flags); }
596 353 UNIMPL memfd_create
597 354 UNIMPL bpf
598 355 UNIMPL execveat
599 356 UNIMPL socket
600 357 UNIMPL socketpair
601 358 UNIMPL bind
602 359 UNIMPL connect
603 360 UNIMPL listen
604 361 STD { int|linux_sys||accept4(int s, \
605 struct osockaddr *name, \
606 int *anamelen, int flags); }
607 362 UNIMPL getsockopt
608 363 UNIMPL setsockopt
609 364 UNIMPL getsockname
610 365 UNIMPL getpeername
611 366 UNIMPL sendto
612 367 UNIMPL sendmsg
613 368 UNIMPL recvfrom
614 369 UNIMPL recvmsg
615 370 UNIMPL shutdown
616 371 STD { int|linux_sys||recvmmsg(int s, \
617 struct linux_mmsghdr *msgvec, unsigned int vlen, \
618 unsigned int flags, struct timespec *timeout); }
619 372 STD { int|linux_sys||sendmmsg(int s, \
620 struct linux_mmsghdr *msgvec, unsigned int vlen, \
621 unsigned int flags); }
622 373 UNIMPL userfaultfd
623 374 UNIMPL membarrier
624 375 UNIMPL mlock2
625 376 UNIMPL copy_file_range
626 377 UNIMPL preadv2
627 378 UNIMPL pwritev2
628