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