syscalls.master revision 1.106 1 $NetBSD: syscalls.master,v 1.106 2023/08/19 17:49:49 christos Exp $
2 ;
3 ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
4
5 ; NetBSD alpha 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 ; (ERH: 3/18/00)
37 ;
38 ; XXX XAX things to do:
39 ; make sure non-linux_foo() matches real linux syscalls.
40 ; create new linux_foo functions otherwise
41 ; (i.e. reboot, msgrcv? )
42 ; make sure linux_foo() matches expected prototypes in .c files.
43 ; kill not used functions. (ifdef the actual code)
44 ; make linux_sys_sigreturn in linux_machdep.c use frame.extramask
45 ;
46 ; NOT USED = This syscall is not really used in Linux, except in its
47 ; osf compat mode. Since Linux binaries shouldn't ever
48 ; call it and osf binaries run under a different emulation,
49 ; it shouldn't matter that the linux version of the
50 ; function might not DTRT. Define it anyway so we
51 ; don't have to split off or ifdef the associated function.
52 ; A bit better might be to have makesyscalls identify this
53 ; as "define but don't include in table" so it doesn't actually
54 ; ever get called.
55 ; UNIMPL <blank> = not implemented here nor in linux source
56 ; UNIMPL osf_* = osf functions implemented in linux, not here.
57 ;
58
59 #if defined(_KERNEL_OPT)
60 #include "opt_sysv.h"
61 #endif
62
63 #include <sys/param.h>
64 #include <sys/poll.h>
65 #include <sys/systm.h>
66 #include <sys/signal.h>
67 #include <sys/mount.h>
68 #include <sys/syscallargs.h>
69
70 #include <compat/linux/common/linux_types.h>
71 #include <compat/linux/common/linux_signal.h>
72 #include <compat/linux/common/linux_siginfo.h>
73 #include <compat/linux/common/linux_ipc.h>
74 #include <compat/linux/common/linux_msg.h>
75 #include <compat/linux/common/linux_sem.h>
76 #include <compat/linux/common/linux_shm.h>
77 #include <compat/linux/common/linux_mmap.h>
78 ;#include <compat/linux/common/linux_machdep.h>
79
80 #include <compat/linux/linux_syscallargs.h>
81 #include <compat/linux/arch/alpha/linux_osf1.h>
82
83 %%
84
85 0 NOARGS { int|linux_sys||nosys(void); } syscall
86 1 STD { int|linux_sys||exit(int rval); }
87 2 NOARGS { int|sys||fork(void); }
88 3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
89 4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \
90 size_t nbyte); }
91 5 UNIMPL
92 6 NOARGS { int|sys||close(int fd); }
93 7 STD { int|linux_sys||osf1_wait4(int pid, int *status, \
94 int options, struct osf1_rusage *rusage); }
95 ;8 ALIAS osf1_sys_old_creat, NOT USED
96 8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); }
97 9 NOARGS { int|sys||link(const char *path, const char *link); }
98 10 STD { int|linux_sys||unlink(const char *path); }
99 11 UNIMPL
100 12 NOARGS { int|sys||chdir(const char *path); }
101 13 NOARGS { int|sys||fchdir(int fd); }
102 14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \
103 unsigned dev); }
104 15 NOARGS { int|sys||chmod(const char *path, int mode); }
105 16 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \
106 gid_t gid); }
107 ;17 ALIAS osf1_sys_brk
108 17 STD { int|linux_sys||brk(char *nsize); }
109 18 UNIMPL
110 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \
111 int whence); }
112 20 NOARGS { pid_t|sys||getpid_with_ppid(void); }
113 21 STD { int|linux_sys||osf1_mount(int type, const char *path, \
114 int flags, void *data); }
115 22 UNIMPL umount
116 23 NOARGS { int|sys||setuid(uid_t uid); }
117 24 NOARGS { uid_t|sys||getuid_with_euid(void); }
118 25 UNIMPL
119 26 STD { int|linux_sys||ptrace(long request, long pid, \
120 long addr, long data); }
121 27 UNIMPL
122 28 UNIMPL
123 29 UNIMPL
124 30 UNIMPL
125 31 UNIMPL
126 32 UNIMPL
127 33 NOARGS { int|sys||access(const char *path, int flags); }
128 34 UNIMPL
129 35 UNIMPL
130 36 NOARGS { int|sys||sync(void); }
131 37 STD { int|linux_sys||kill(int pid, int signum); }
132 38 UNIMPL
133 39 NOARGS { int|sys||setpgid(int pid, int pgid); }
134 40 UNIMPL
135 41 NOARGS { int|sys||dup(int fd); }
136 42 NOARGS { int|linux_sys||pipe(void); }
137 43 STD { int|linux_sys||osf1_set_program_attributes( \
138 void *taddr, unsigned long tsize, \
139 void *daddr, unsigned long dsize); }
140 44 UNIMPL
141 45 STD { int|linux_sys||open(const char *path, int flags, \
142 linux_umode_t mode); }
143 46 UNIMPL
144 47 NOARGS { gid_t|sys||getgid_with_egid(void); }
145 ; ALIAS osf1_sys_sigprocmask(int how, unsigned long mask);
146 ; XXX <- copied from osf1/syscalls.master
147 48 NOARGS { int|compat_13_sys||sigprocmask(int how, \
148 sigset13_t mask); }
149 49 UNIMPL
150 50 UNIMPL
151 51 NOARGS { int|sys||acct(const char *path); }
152 52 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); }
153 53 UNIMPL
154 54 STD { int|linux_sys||ioctl(int fd, u_long com, \
155 void *data); }
156 55 UNIMPL
157 56 UNIMPL
158 57 NOARGS { int|sys||symlink(const char *path, const char *to); }
159 58 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \
160 int count); }
161 59 NOARGS { int|sys||execve(const char *path, char **argp, \
162 char **envp); }
163 60 NOARGS { mode_t|sys||umask(mode_t newmask); }
164 61 NOARGS { int|sys||chroot(const char *path); }
165 62 UNIMPL
166 63 NOARGS { int|sys||getpgrp(void); }
167 64 NOARGS { int|compat_43_sys||getpagesize(void); }
168 65 UNIMPL
169 66 NOARGS { int|sys|14|vfork(void); }
170 67 STD { int|linux_sys||stat(const char *path, \
171 struct linux_stat *sp); }
172 68 STD { int|linux_sys||lstat(const char *path, \
173 struct linux_stat *sp); }
174 69 UNIMPL
175 70 UNIMPL
176 ;71 ALIAS osf1_sys_mmap
177 71 NOARGS { int|linux_sys||mmap(unsigned long addr, size_t len, \
178 int prot, int flags, int fd, linux_off_t offset); }
179 72 UNIMPL
180 73 NOARGS { int|sys||munmap(void *addr, size_t len); }
181 74 STD { int|linux_sys||mprotect(const void *start, \
182 unsigned long len, int prot); }
183 75 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); }
184 76 UNIMPL vhangup
185 77 UNIMPL
186 78 UNIMPL
187 79 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); }
188 80 NOARGS { int|sys||setgroups(int gidsetsize, const gid_t *gidset); }
189 81 UNIMPL
190 82 UNIMPL setpgrp
191 83 STD { int|linux_sys||osf1_setitimer(int which, \
192 struct osf1_itimerval *itv, \
193 struct osf1_itimerval *oitv); }
194 84 UNIMPL
195 85 UNIMPL
196 86 UNIMPL osf1_sys_getitimer
197 87 NOARGS { int|compat_43_sys||gethostname(char *hostname, \
198 u_int len); }
199 88 NOARGS { int|compat_43_sys||sethostname(char *hostname, \
200 u_int len); }
201 89 UNIMPL getdtablesize
202 90 NOARGS { int|sys||dup2(int from, int to); }
203 91 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); }
204 92 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); }
205 93 STD { int|linux_sys||osf1_select(u_int nd, fd_set *in, \
206 fd_set *ou, fd_set *ex, struct osf1_timeval *tv); }
207 94 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \
208 int timeout); }
209 95 NOARGS { int|sys||fsync(int fd); }
210 96 NOARGS { int|sys||setpriority(int which, int who, int prio); }
211 97 STD { int|linux_sys||socket(int domain, int type, \
212 int protocol); }
213 98 STD { int|linux_sys||connect(int s, \
214 const struct osockaddr *name, \
215 unsigned int namelen); }
216 99 STD { int|linux_sys||accept(int s, \
217 struct osockaddr *name, int *anamelen); }
218 ;100 ALIAS osf1_sys_getpriority
219 100 STD { int|linux_sys||getpriority(int which, int who); }
220 101 STD { int|linux_sys||send(int s, void *buf, int len, \
221 int flags); }
222 102 STD { int|linux_sys||recv(int s, void *buf, int len, \
223 int flags); }
224 103 STD { int|linux_sys||sigreturn(struct linux_sigframe *sfp); }
225 104 STD { int|linux_sys||bind(int s, \
226 const struct osockaddr *name, \
227 unsigned int namelen); }
228 105 STD { int|linux_sys||setsockopt(int s, int level, \
229 int optname, void *optval, int optlen); }
230 106 NOARGS { int|sys||listen(int s, int backlog); }
231 107 UNIMPL
232 108 UNIMPL
233 109 UNIMPL
234 110 UNIMPL
235
236 111 STD { int|linux_sys||sigsuspend(void *restart, \
237 int oldmask, int mask); }
238 ;112 ALIAS osf1_sys_sigstack
239 112 NOARGS { int|compat_43_sys||sigstack(struct sigstack *nss, \
240 struct sigstack *oss); }
241 113 STD { ssize_t|linux_sys||recvmsg(int s, \
242 struct linux_msghdr *msg, int flags); }
243 114 STD { ssize_t|linux_sys||sendmsg(int s, \
244 const struct linux_msghdr *msg, int flags); }
245 115 UNIMPL
246 116 STD { int|linux_sys||osf1_gettimeofday(struct osf1_timeval *tv, \
247 struct osf1_timezone *tzp); }
248 117 STD { int|linux_sys||osf1_getrusage(int who, \
249 struct osf1_rusage *rusage); }
250 118 STD { int|linux_sys||getsockopt(int s, int level, \
251 int optname, void *optval, int *optlen); }
252 119 UNIMPL
253 120 NOARGS { ssize_t|sys||readv(int fd, const struct iovec *iovp, \
254 int iovcnt); }
255 121 NOARGS { ssize_t|sys||writev(int fd, const struct iovec *iovp, \
256 int iovcnt); }
257 122 STD { int|linux_sys||osf1_settimeofday(struct osf1_timeval *tv, \
258 struct osf1_timezone *tzp); }
259 123 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \
260 gid_t gid); }
261 124 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); }
262 125 STD { int|linux_sys||recvfrom(int s, void *buf, int len, \
263 int flags, struct osockaddr *from, \
264 int *fromlenaddr); }
265 126 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); }
266 127 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); }
267 128 NOARGS { int|sys||__posix_rename(const char *from, const char *to); }
268 129 NOARGS { int|compat_43_sys||truncate(const char *path, \
269 long length); }
270 130 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); }
271 131 NOARGS { int|sys||flock(int fd, int how); }
272 132 NOARGS { int|sys||setgid(gid_t gid); }
273 133 STD { int|linux_sys||sendto(int s, void *msg, int len, \
274 int flags, struct osockaddr *to, int tolen); }
275 134 NOARGS { int|sys||shutdown(int s, int how); }
276 135 STD { int|linux_sys||socketpair(int domain, int type, \
277 int protocol, int *rsv); }
278 136 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); }
279 137 NOARGS { int|sys||rmdir(const char *path); }
280 138 STD { int|linux_sys||osf1_utimes(const char *path, \
281 const struct osf1_timeval *tptr); }
282 139 UNIMPL
283 140 UNIMPL
284 141 STD { int|linux_sys||getpeername(int fdes, \
285 void *asa, int *alen); }
286 142 UNIMPL
287 143 UNIMPL
288 144 STD { int|linux_sys||getrlimit(int which, \
289 struct orlimit *rlp); }
290 145 STD { int|linux_sys||setrlimit(int which, \
291 const struct orlimit *rlp); }
292 146 UNIMPL
293 147 NOARGS { int|sys||setsid(void); }
294 148 UNIMPL quotactl
295 149 UNIMPL
296 150 STD { int|linux_sys||getsockname(int fdec, \
297 void *asa, int *alen); }
298 151 UNIMPL
299 152 UNIMPL
300 153 UNIMPL
301 154 UNIMPL
302 155 UNIMPL
303 ;156 ALIAS osf1_sys_sigaction
304 156 STD { int|linux_sys||sigaction(int signum, \
305 const struct linux_old_sigaction *nsa, \
306 struct linux_old_sigaction *osa); }
307 157 UNIMPL
308 158 UNIMPL
309 ;159 ALIAS osf1_sys_getdirentries
310 159 NOARGS { int|compat_43_sys||getdirentries(int fd, char *buf, \
311 u_int count, long *basep); }
312 160 STD { int|linux_sys||osf1_statfs(const char *path, \
313 struct osf1_statfs *buf, int len); }
314 161 STD { int|linux_sys||osf1_fstatfs(int fd, \
315 struct osf1_statfs *buf, int len); }
316 162 UNIMPL
317 163 UNIMPL
318 164 UNIMPL
319 ;165 ALIAS osf1_sys_getdomainname
320 165 NOARGS { int|compat_09_sys||getdomainname(char *domainname, \
321 int len); }
322 166 STD { int|linux_sys||setdomainname(char *domainname, \
323 int len); }
324 167 UNIMPL
325 168 UNIMPL
326 169 UNIMPL
327 170 UNIMPL
328 171 UNIMPL
329 172 UNIMPL
330 173 UNIMPL
331 174 UNIMPL
332 175 UNIMPL
333 176 UNIMPL
334 177 UNIMPL
335 178 UNIMPL
336 179 UNIMPL
337 180 UNIMPL
338 181 UNIMPL
339 182 UNIMPL
340 183 UNIMPL
341 184 UNIMPL
342 185 UNIMPL
343 186 UNIMPL
344 187 UNIMPL
345 188 UNIMPL
346 189 UNIMPL
347 190 UNIMPL
348 ; XXX: Dunno
349 191 STD { int|linux_sys||ugetrlimit(int which, \
350 struct rlimit *rlp); }
351 192 UNIMPL mmap2
352 193 UNIMPL
353 194 UNIMPL
354 195 UNIMPL
355 196 UNIMPL
356 197 UNIMPL
357 198 UNIMPL
358 199 UNIMPL osf1_sys_swapon
359 #ifdef SYSVMSG
360 200 NOARGS { int|linux_sys||msgctl(int msqid, int cmd, \
361 struct linux_msqid_ds *buf); }
362 201 NOARGS { int|sys||msgget(key_t key, int msgflg); }
363 202 NOARGS { ssize_t|sys||msgrcv(int msqid, void *msgp, \
364 size_t msgsz, long msgtyp, int msgflg); }
365 203 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
366 int msgflg); }
367 #else
368 200 UNIMPL msgctl
369 201 UNIMPL msgget
370 202 UNIMPL msgrcv
371 203 UNIMPL msgsnd
372 #endif
373 #ifdef SYSVSEM
374 204 NOARGS { int|linux_sys||semctl(int semid, int semnum, \
375 int cmd, union linux_semun arg); }
376 205 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); }
377 206 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \
378 size_t nsops); }
379 #else
380 204 UNIMPL semctl
381 205 UNIMPL semget
382 206 UNIMPL semop
383 #endif
384 ;207 ALIAS osf1_sys_utsname
385 207 STD { int|linux_sys||olduname(struct linux_old_utsname *up); }
386 208 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \
387 gid_t gid); }
388 #ifdef SYSVSHM
389 209 NOARGS { int|linux_sys||shmat(int shmid, void *shmaddr, \
390 int shmflg, u_long *raddr); }
391 210 NOARGS { int|linux_sys||shmctl(int shmid, int cmd, \
392 struct linux_shmid_ds *buf); }
393 211 NOARGS { int|sys||shmdt(const void *shmaddr); }
394 212 NOARGS { int|linux_sys||shmget(key_t key, size_t size, int shmflg); }
395 #else
396 209 UNIMPL shmat
397 210 UNIMPL shmctl
398 211 UNIMPL shmdt
399 212 UNIMPL shmget
400 #endif
401 213 UNIMPL
402 214 UNIMPL
403 215 UNIMPL
404 216 UNIMPL
405 217 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); }
406 218 UNIMPL
407 219 UNIMPL
408 220 UNIMPL
409 221 UNIMPL
410 222 UNIMPL
411 223 UNIMPL
412 224 UNIMPL
413 225 UNIMPL
414 226 UNIMPL
415 227 UNIMPL
416 228 UNIMPL
417 229 UNIMPL
418 230 UNIMPL
419 231 UNIMPL
420 232 UNIMPL
421 233 NOARGS { pid_t|sys||getpgid(pid_t pid); }
422 234 NOARGS { pid_t|sys||getsid(pid_t pid); }
423 235 UNIMPL sigaltstack
424 236 UNIMPL
425 237 UNIMPL
426 238 UNIMPL
427 239 UNIMPL
428 240 UNIMPL
429 241 STD { int|linux_sys||osf1_sysinfo(int cmd, char *buf, long len); }
430 242 UNIMPL
431 243 UNIMPL
432 244 UNIMPL osf1_sys_proplist_syscall
433 245 UNIMPL
434 246 UNIMPL
435 247 UNIMPL
436 248 UNIMPL
437 249 UNIMPL
438 250 UNIMPL
439 251 STD { int|linux_sys||osf1_usleep_thread( \
440 struct osf1_timeval *sleep, \
441 struct osf1_timeval *slept); }
442 252 UNIMPL
443 253 UNIMPL
444 254 UNIMPL
445 255 UNIMPL sysfs
446 256 STD { int|linux_sys||osf1_getsysinfo(u_long op, void *buffer, \
447 u_long nbytes, void *arg, u_long flag); }
448 257 STD { int|linux_sys||osf1_setsysinfo(u_long op, void *buffer, \
449 u_long nbytes, void *arg, u_long flag); }
450 258 UNIMPL
451 259 UNIMPL
452 260 UNIMPL
453 ; This entry doesn't exist in the Alpha linux syscall table but the function is
454 ; implemented and used on other ports.
455 261 STD { int|linux_sys||fdatasync(int fd); }
456 262 UNIMPL
457 263 UNIMPL
458 264 UNIMPL
459 265 UNIMPL
460 266 UNIMPL
461 267 UNIMPL
462 268 UNIMPL
463 269 UNIMPL
464 270 UNIMPL
465 271 UNIMPL
466 272 UNIMPL
467 273 UNIMPL
468 274 UNIMPL
469 275 UNIMPL
470 276 UNIMPL
471 277 UNIMPL
472 278 UNIMPL
473 279 UNIMPL
474 280 UNIMPL
475 281 UNIMPL
476 282 UNIMPL
477 283 UNIMPL
478 284 UNIMPL
479 285 UNIMPL
480 286 UNIMPL
481 287 UNIMPL
482 288 UNIMPL
483 289 UNIMPL
484 290 UNIMPL
485 291 UNIMPL
486 292 UNIMPL
487 293 UNIMPL
488 294 UNIMPL
489 295 UNIMPL
490 296 UNIMPL
491 297 UNIMPL
492 298 UNIMPL
493 299 UNIMPL
494 300 UNIMPL bdflush
495 301 UNIMPL sethae
496 302 UNIMPL mount
497 303 UNIMPL old_adjtimex
498 304 STD { int|linux_sys||swapoff(const char *path); }
499 305 STD { int|linux_sys||getdents(int fd, \
500 struct linux_dirent *dent, unsigned int count); }
501 306 UNIMPL alpha_create_module
502 307 UNIMPL init_module
503 308 UNIMPL delete_module
504 309 UNIMPL get_kernel_syms
505 310 UNIMPL syslog
506 311 STD { int|linux_sys||reboot(int magic1, int magic2, \
507 int cmd, void *arg); }
508 312 STD { int|linux_sys||clone(int flags, void *stack, \
509 void *parent_tidptr, void *child_tidptr, void *tls); }
510 #ifdef EXEC_AOUT
511 313 STD { int|linux_sys||uselib(const char *path); }
512 #else
513 313 UNIMPL sys_uselib
514 #endif
515 314 NOARGS { int|sys||mlock(const void *addr, size_t len); }
516 315 NOARGS { int|sys||munlock(const void *addr, size_t len); }
517 316 NOARGS { int|sys||mlockall(int flags); }
518 317 NOARGS { int|sys||munlockall(void); }
519 318 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
520 319 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
521 320 UNIMPL idle
522 321 UNIMPL oldumount
523 322 STD { int|linux_sys||swapon(const char *name); }
524 323 STD { int|linux_sys||times(struct times *tms); }
525 324 STD { int|linux_sys||personality(unsigned long per); }
526 325 STD { int|linux_sys||setfsuid(uid_t uid); }
527 326 STD { int|linux_sys||setfsgid(gid_t gid); }
528 327 UNIMPL ustat
529 328 STD { int|linux_sys||statfs(const char *path, \
530 struct linux_statfs *sp); }
531 329 STD { int|linux_sys||fstatfs(int fd, \
532 struct linux_statfs *sp); }
533 330 STD { int|linux_sys||sched_setparam(pid_t pid, \
534 const struct linux_sched_param *sp); }
535 331 STD { int|linux_sys||sched_getparam(pid_t pid, \
536 struct linux_sched_param *sp); }
537 332 STD { int|linux_sys||sched_setscheduler(pid_t pid, \
538 int policy, const struct linux_sched_param *sp); }
539 333 STD { int|linux_sys||sched_getscheduler(pid_t pid); }
540 334 STD { int|linux_sys||sched_yield(void); }
541 335 STD { int|linux_sys||sched_get_priority_max(int policy); }
542 336 STD { int|linux_sys||sched_get_priority_min(int policy); }
543 337 UNIMPL sched_rr_get_interval
544 338 UNIMPL afs_syscall
545 339 STD { int|linux_sys||uname(struct linux_utsname *up); }
546 340 STD { int|linux_sys||nanosleep( \
547 const struct linux_timespec *rqtp, \
548 struct linux_timespec *rmtp); }
549 341 STD { void *|linux_sys||mremap(void *old_address, \
550 size_t old_size, size_t new_size, u_long flags); }
551 342 UNIMPL nfsservctl
552 343 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
553 uid_t suid); }
554 344 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
555 uid_t *suid); }
556 345 UNIMPL pciconfig_read
557 346 UNIMPL pciconfig_write
558 347 UNIMPL query_module
559 348 UNIMPL prctl
560 349 STD { int|linux_sys||pread(int fd, char *buf, \
561 size_t nbyte, off_t offset); }
562 350 STD { int|linux_sys||pwrite(int fd, char *buf, \
563 size_t nbyte, off_t offset); }
564 351 STD { int|linux_sys||rt_sigreturn( \
565 struct linux_rt_sigframe *sfp); }
566 352 STD { int|linux_sys||rt_sigaction(int signum, \
567 const struct linux_sigaction *nsa, \
568 struct linux_sigaction *osa, \
569 size_t sigsetsize); }
570 353 STD { int|linux_sys||rt_sigprocmask(int how, \
571 const linux_sigset_t *set, \
572 linux_sigset_t *oset, \
573 size_t sigsetsize); }
574 354 STD { int|linux_sys||rt_sigpending( \
575 linux_sigset_t *set, \
576 size_t sigsetsize); }
577 355 STD { int|linux_sys||rt_sigtimedwait( \
578 const linux_sigset_t *set, \
579 linux_siginfo_t *info, \
580 const struct linux_timespec *timeout); }
581 356 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \
582 linux_siginfo_t *uinfo); }
583 357 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
584 size_t sigsetsize); }
585 358 STD { int|linux_sys||select(int nfds, fd_set *readfds, \
586 fd_set *writefds, fd_set *exceptfds, \
587 struct timeval50 *timeout); }
588 359 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \
589 struct timezone *tzp); }
590 360 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \
591 struct timezone *tzp); }
592 361 NOARGS { int|compat_50_sys||getitimer(int which, \
593 struct itimerval50 *itv); }
594 362 NOARGS { int|compat_50_sys||setitimer(int which, \
595 const struct itimerval50 *itv, \
596 struct itimerval50 *oitv); }
597 363 NOARGS { int|compat_50_sys||utimes(const char *path, \
598 const struct timeval50 *tptr); }
599 364 NOARGS { int|compat_50_sys||getrusage(int who, \
600 struct rusage50 *rusage); }
601 365 STD { int|linux_sys||wait4(int pid, int *status, \
602 int options, struct rusage50 *rusage); }
603 366 UNIMPL adjtimex
604 367 NOARGS { int|sys||__getcwd(char *bufp, size_t length); }
605 368 UNIMPL capget
606 369 UNIMPL capset
607 370 UNIMPL sendfile
608 371 UNIMPL setresgid
609 372 UNIMPL getresgid
610 373 UNIMPL sys_dipc
611 374 UNIMPL pivot_root
612 375 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); }
613 376 UNIMPL pciconfig_iobase
614 377 STD { int|linux_sys||getdents64(int fd, \
615 struct linux_dirent64 *dent, unsigned int count); }
616 378 NOARGS { pid_t|linux_sys||gettid(void); }
617 379 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \
618 size_t count); }
619 380 UNIMPL /* unused */
620 381 STD { int|linux_sys||tkill(int tid, int sig); }
621 382 STD { int|linux_sys||setxattr(char *path, char *name, \
622 void *value, size_t size, int flags); }
623 383 STD { int|linux_sys||lsetxattr(char *path, char *name, \
624 void *value, size_t size, int flags); }
625 384 STD { int|linux_sys||fsetxattr(int fd, char *name, \
626 void *value, size_t size, int flags); }
627 385 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \
628 void *value, size_t size); }
629 386 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \
630 void *value, size_t size); }
631 387 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \
632 void *value, size_t size); }
633 388 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \
634 size_t size); }
635 389 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \
636 size_t size); }
637 390 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \
638 size_t size); }
639 391 STD { int|linux_sys||removexattr(char *path, char *name); }
640 392 STD { int|linux_sys||lremovexattr(char *path, char *name); }
641 393 STD { int|linux_sys||fremovexattr(int fd, char *name); }
642 394 STD { int|linux_sys||futex(int *uaddr, int op, int val, \
643 const struct linux_timespec *timeout, int *uaddr2, \
644 int val3); }
645 395 STD { int|linux_sys||sched_setaffinity(pid_t pid, \
646 unsigned int len, unsigned long *mask); }
647 396 STD { int|linux_sys||sched_getaffinity(pid_t pid, \
648 unsigned int len, unsigned long *mask); }
649 397 UNIMPL tuxcall
650 398 UNIMPL io_setup
651 399 UNIMPL io_destroy
652 400 UNIMPL io_getevents
653 401 UNIMPL io_submit
654 402 UNIMPL io_cancel
655 403 UNIMPL /* unused */
656 404 UNIMPL /* unused */
657 405 STD { int|linux_sys||exit_group(int error_code); }
658 406 UNIMPL lookup_dcookie
659 407 STD { int|linux_sys||epoll_create(int size); }
660 408 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \
661 struct linux_epoll_event *event); }
662 409 STD { int|linux_sys||epoll_wait(int epfd, \
663 struct linux_epoll_event *events, int maxevents, \
664 int timeout); }
665 410 UNIMPL remap_file_pages
666 411 STD { int|linux_sys||set_tid_address(int *tid); }
667 412 UNIMPL restart_syscall
668 413 STD { int|linux_sys||fadvise64(int fd, off_t offset, \
669 size_t len, int advice); }
670 414 STD { int|linux_sys||timer_create(clockid_t clockid, \
671 struct linux_sigevent *evp, timer_t *timerid); }
672 415 STD { int|linux_sys||timer_settime(timer_t timerid, \
673 int flags, const struct linux_itimerspec *tim, \
674 struct linux_itimerspec *otim); }
675 416 STD { int|linux_sys||timer_gettime(timer_t timerid, \
676 struct linux_itimerspec *tim); }
677 417 NOARGS { int|sys||timer_getoverrun(timer_t timerid); }
678 418 NOARGS { int|sys||timer_delete(timer_t timerid); }
679 419 STD { int|linux_sys||clock_settime(clockid_t which, \
680 struct linux_timespec *tp); }
681 420 STD { int|linux_sys||clock_gettime(clockid_t which, \
682 struct linux_timespec *tp); }
683 421 STD { int|linux_sys||clock_getres(clockid_t which, \
684 struct linux_timespec *tp); }
685 422 STD { int|linux_sys||clock_nanosleep(clockid_t which, \
686 int flags, struct linux_timespec *rqtp, \
687 struct linux_timespec *rmtp); }
688 423 UNIMPL semtimedop
689 424 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); }
690 425 STD { int|linux_sys||stat64(const char *path, \
691 struct linux_stat64 *sp); }
692 426 STD { int|linux_sys||lstat64(const char *path, \
693 struct linux_stat64 *sp); }
694 427 STD { int|linux_sys||fstat64(int fd, \
695 struct linux_stat64 *sp); }
696 428 UNIMPL vserver
697 429 UNIMPL mbind
698 430 UNIMPL get_mempolicy
699 431 UNIMPL set_mempolicy
700 432 UNIMPL mq_open
701 433 UNIMPL mq_unlink
702 434 UNIMPL mq_timedsend
703 435 UNIMPL mq_timedreceive
704 436 UNIMPL mq_notify
705 437 UNIMPL mq_getsetattr
706 438 STD { int|linux_sys||waitid(int idtype, id_t id, \
707 linux_siginfo_t *infop, int options, \
708 struct rusage50 *rusage); }
709 439 UNIMPL add_key
710 440 UNIMPL request_key
711 441 UNIMPL keyctl
712 442 UNIMPL ioprio_set
713 443 UNIMPL ioprio_get
714 444 STD { int|linux_sys||inotify_init(void); }
715 445 STD { int|linux_sys||inotify_add_watch(int fd, \
716 const char *pathname, uint32_t mask); }
717 446 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); }
718 447 UNIMPL fdatasync
719 448 UNIMPL kexec_load
720 449 UNIMPL migrate_pages
721 450 STD { int|linux_sys||openat(int fd, const char *path, \
722 int flags, ... linux_umode_t mode); }
723 451 NOARGS { int|sys||mkdirat(int fd, const char *path, \
724 linux_umode_t mode); }
725 452 STD { int|linux_sys||mknodat(int fd, const char *path, \
726 linux_umode_t mode, unsigned dev); }
727 453 STD { int|linux_sys||fchownat(int fd, const char *path, \
728 uid_t owner, gid_t group, int flag); }
729 454 UNIMPL futimesat
730 455 STD { int|linux_sys||fstatat64(int fd, const char *path, \
731 struct linux_stat64 *sp, int flag); }
732 456 STD { int|linux_sys||unlinkat(int fd, const char *path, \
733 int flag); }
734 457 NOARGS { int|sys||renameat(int fromfd, const char *from, \
735 int tofd, const char *to); }
736 458 STD { int|linux_sys||linkat(int fd1, const char *name1, \
737 int fd2, const char *name2, int flags); }
738 459 NOARGS { int|sys||symlinkat(const char *path1, int fd, \
739 const char *path2); }
740 460 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \
741 char *buf, size_t bufsize); }
742 461 STD { int|linux_sys||fchmodat(int fd, const char *path, \
743 linux_umode_t mode); }
744 462 STD { int|linux_sys||faccessat(int fd, const char *path, \
745 int amode); }
746 463 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \
747 fd_set *writefds, fd_set *exceptfds, \
748 struct linux_timespec *timeout, \
749 linux_sized_sigset_t *ss); }
750 464 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
751 struct linux_timespec *timeout, \
752 linux_sigset_t *sigset); }
753 465 UNIMPL unshare
754 ;
755 ; The NetBSD native robust list calls have different
756 ; argument names / types, but they are ABI-compatible
757 ; with Linux.
758 ;
759 466 NOARGS { int|sys||__futex_set_robust_list(void *head, \
760 size_t len); }
761 467 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \
762 void **headp, size_t *lenp); }
763 468 UNIMPL splice
764 469 UNIMPL sync_file_range
765 470 UNIMPL tee
766 471 UNIMPL vmsplice
767 472 UNIMPL move_pages
768 473 UNIMPL getcpu
769 474 STD { int|linux_sys||epoll_pwait(int epfd, \
770 struct linux_epoll_event *events, int maxevents, \
771 int timeout, const linux_sigset_t *sigmask); }
772 475 STD { int|linux_sys||utimensat(int fd, const char *path, \
773 struct linux_timespec *times, int flag); }
774 476 UNIMPL signalfd
775 477 UNIMPL timerfd
776 478 STD { int|linux_sys||eventfd(unsigned int initval); }
777 479 STD { int|linux_sys||recvmmsg(int s, \
778 struct linux_mmsghdr *msgvec, unsigned int vlen, \
779 unsigned int flags, struct timespec *timeout); }
780 480 STD { int|linux_sys||fallocate(int fd, int mode, \
781 off_t offset, off_t len); }
782 481 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \
783 int flags); }
784 482 STD { int|linux_sys||timerfd_settime(int fd, int flags, \
785 const struct linux_itimerspec *tim, \
786 struct linux_itimerspec *otim); }
787 483 STD { int|linux_sys||timerfd_gettime(int fd, \
788 struct linux_itimerspec *tim); }
789 484 UNIMPL signalfd4
790 485 STD { int|linux_sys||eventfd2(unsigned int initval, \
791 int flags); }
792 486 STD { int|linux_sys||epoll_create1(int flags); }
793 487 STD { int|linux_sys||dup3(int from, int to, int flags); }
794 488 STD { int|linux_sys||pipe2(int *pfds, int flags); }
795 489 STD { int|linux_sys||inotify_init1(int flags); }
796 490 STD { int|linux_sys||preadv(int fd, \
797 const struct iovec *iovp, int iovcnt, \
798 unsigned long off_lo, unsigned long off_hi); }
799 491 STD { int|linux_sys||pwritev(int fd, \
800 const struct iovcnt *iovp, int iovcnt, \
801 unsigned long off_lo, unsigned long off_hi); }
802 492 UNIMPL rt_tgsigqueueinfo
803 493 UNIMPL perf_counter_open
804 494 UNIMPL fanotify_init
805 495 UNIMPL fanotify_mark
806 496 STD { int|linux_sys||prlimit64(pid_t pid, int which, \
807 struct rlimit *new_rlp, struct rlimit *old_rlp); }
808 497 UNIMPL name_to_handle_at
809 498 UNIMPL open_by_handle_at
810 499 UNIMPL clock_adjtime
811 500 UNIMPL syncfs
812 501 UNIMPL setns
813 502 STD { int|linux_sys||accept4(int s, \
814 struct osockaddr *name, \
815 int *anamelen, int flags); }
816 503 STD { int|linux_sys||sendmmsg(int s, \
817 struct linux_mmsghdr *msgvec, unsigned int vlen, \
818 unsigned int flags); }
819 504 UNIMPL process_vm_readv
820 505 UNIMPL process_vm_writev
821 506 UNIMPL kcmp
822 507 UNIMPL finit_module
823 508 UNIMPL sched_setattr
824 509 UNIMPL sched_getattr
825 510 UNIMPL renameat2
826 511 UNIMPL
827 512 UNIMPL
828 513 UNIMPL
829 514 UNIMPL
830 515 UNIMPL
831 516 UNIMPL
832 517 UNIMPL
833 518 UNIMPL
834 519 UNIMPL
835 520 UNIMPL
836 521 UNIMPL
837 522 STD { int|linux_sys||statx(int fd, const char *path, \
838 int flag, unsigned int mask, \
839 struct linux_statx *sp); }
840 523 UNIMPL
841 524 UNIMPL
842 525 UNIMPL
843 526 UNIMPL
844 527 UNIMPL
845 528 UNIMPL
846 529 UNIMPL
847 530 UNIMPL
848 531 UNIMPL
849 532 UNIMPL
850 533 UNIMPL
851 534 UNIMPL
852 535 UNIMPL
853 536 UNIMPL
854 537 UNIMPL
855 538 UNIMPL
856 539 UNIMPL
857 540 UNIMPL
858 541 UNIMPL
859 542 UNIMPL
860 543 UNIMPL
861 544 UNIMPL
862 545 UNIMPL
863 546 STD { int|linux_sys||close_range(unsigned int first, \
864 unsigned int last, unsigned int flags); }
865 547 UNIMPL
866 548 UNIMPL
867 549 UNIMPL
868 550 UNIMPL
869 551 STD { int|linux_sys||epoll_pwait2(int epfd, \
870 struct linux_epoll_event *events, int maxevents, \
871 const struct linux_timespec *timeout, \
872 const linux_sigset_t *sigmask); }
873