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