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