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