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