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