Home | History | Annotate | Line # | Download | only in alpha
syscalls.master revision 1.63
      1 	$NetBSD: syscalls.master,v 1.63 2008/11/12 18:07:40 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 #include "opt_compat_43.h"
     62 #include "opt_compat_osf1.h"
     63 #endif
     64 
     65 #include <sys/param.h>
     66 #include <sys/poll.h>
     67 #include <sys/systm.h>
     68 #include <sys/signal.h>
     69 #include <sys/mount.h>
     70 #include <sys/syscallargs.h>
     71 
     72 #include <compat/linux/common/linux_types.h>
     73 #include <compat/linux/common/linux_signal.h>
     74 #include <compat/linux/common/linux_siginfo.h>
     75 #include <compat/linux/common/linux_ipc.h>
     76 #include <compat/linux/common/linux_msg.h>
     77 #include <compat/linux/common/linux_sem.h>
     78 #include <compat/linux/common/linux_shm.h>
     79 #include <compat/linux/common/linux_mmap.h>
     80 ;#include <compat/linux/common/linux_machdep.h>
     81 
     82 #include <compat/linux/linux_syscallargs.h>
     83 
     84 %%
     85 
     86 0	NOARGS		{ int linux_sys_nosys(void); } syscall
     87 1	NOARGS		{ int sys_exit(int rval); }
     88 2	NOARGS		{ int sys_fork(void); }
     89 3	NOARGS		{ int sys_read(int fd, void *buf, size_t nbyte); }
     90 4	NOARGS		{ int sys_write(int fd, const void *buf, size_t nbyte); }
     91 5	UNIMPL
     92 6	NOARGS		{ int sys_close(int fd); }
     93 7	NODEF		{ int osf1_sys_wait4(int pid, int *status, \
     94 			    int options, struct osf1_rusage *rusage); }
     95 ;8	ALIAS		osf1_sys_old_creat, NOT USED
     96 8	STD		{ int linux_sys_creat(const char *path, mode_t mode); }
     97 9	NOARGS		{ int sys_link(const char *path, const char *link); }
     98 10	STD		{ int linux_sys_unlink(const char *path); }
     99 11	UNIMPL
    100 12	NOARGS		{ int sys_chdir(const char *path); }
    101 13	NOARGS		{ int sys_fchdir(int fd); }
    102 14	STD		{ int linux_sys_mknod(const char *path, int mode, int 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, int 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___vfork14(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(u_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		{ size_t linux_sys_recvmsg(int s, struct msghdr *msg, \
    239 				int flags); }
    240 114	STD		{ ssize_t linux_sys_sendmsg(int s, \
    241 				const struct 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, mode_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, int 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___msync13(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 #ifdef EXEC_AOUT
    505 313	STD		{ int linux_sys_uselib(const char *path); }
    506 #else
    507 313	UNIMPL		sys_uselib
    508 #endif
    509 314	NOARGS		{ int sys_mlock(const void *addr, size_t len); }
    510 315	NOARGS		{ int sys_munlock(const void *addr, size_t len); }
    511 316	NOARGS		{ int sys_mlockall(int flags); }
    512 317	NOARGS		{ int sys_munlockall(void); }
    513 318	STD		{ int linux_sys_sysinfo(struct linux_sysinfo *arg); }
    514 319	STD		{ int linux_sys___sysctl(struct linux___sysctl *lsp); }
    515 320	UNIMPL		idle
    516 321	UNIMPL		oldumount
    517 322	STD		{ int linux_sys_swapon(const char *name); }
    518 323	STD		{ int linux_sys_times(struct times *tms); }
    519 324	STD		{ int linux_sys_personality(int per); }
    520 325	STD		{ int linux_sys_setfsuid(uid_t uid); }
    521 326	STD		{ int linux_sys_setfsgid(gid_t gid); }
    522 327	UNIMPL		ustat
    523 328	STD		{ int linux_sys_statfs(const char *path, \
    524 			    struct linux_statfs *sp); }
    525 329	STD		{ int linux_sys_fstatfs(int fd, \
    526 			    struct linux_statfs *sp); }
    527 330	STD		{ int linux_sys_sched_setparam(pid_t pid, \
    528 			    const struct linux_sched_param *sp); }
    529 331	STD		{ int linux_sys_sched_getparam(pid_t pid, \
    530 			    struct linux_sched_param *sp); }
    531 332	STD		{ int linux_sys_sched_setscheduler(pid_t pid, \
    532 			    int policy, const struct linux_sched_param *sp); }
    533 333	STD		{ int linux_sys_sched_getscheduler(pid_t pid); }
    534 334	STD		{ int linux_sys_sched_yield(void); }
    535 335	STD		{ int linux_sys_sched_get_priority_max(int policy); }
    536 336	STD		{ int linux_sys_sched_get_priority_min(int policy); }
    537 337	UNIMPL		sched_rr_get_interval
    538 338	UNIMPL		afs_syscall
    539 339	STD		{ int linux_sys_uname(struct linux_utsname *up); }
    540 340	STD		{ int linux_sys_nanosleep( \
    541 			    const struct linux_timespec *rqtp, \
    542 			    struct linux_timespec *rmtp); }
    543 341	STD		{ void *linux_sys_mremap(void *old_address, \
    544 			    size_t old_size, size_t new_size, u_long flags); }
    545 342	UNIMPL		nfsservctl
    546 343	STD		{ int linux_sys_setresuid(uid_t ruid, uid_t euid, \
    547 			    uid_t suid); }
    548 344	STD		{ int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
    549 			    uid_t *suid); }
    550 345	UNIMPL		pciconfig_read
    551 346	UNIMPL		pciconfig_write
    552 347	UNIMPL		query_module
    553 348	UNIMPL		prctl
    554 349	STD		{ int linux_sys_pread(int fd, char *buf, \
    555 			    size_t nbyte, linux_off_t offset); }
    556 350	STD		{ int linux_sys_pwrite(int fd, char *buf, \
    557 			    size_t nbyte, linux_off_t offset); }
    558 351	STD		{ int linux_sys_rt_sigreturn( \
    559 				struct linux_rt_sigframe *sfp); }
    560 352	STD		{ int linux_sys_rt_sigaction(int signum, \
    561 				const struct linux_sigaction *nsa, \
    562 				struct linux_sigaction *osa, \
    563 				size_t sigsetsize); }
    564 353	STD		{ int linux_sys_rt_sigprocmask(int how, \
    565 			    const linux_sigset_t *set, \
    566 			    linux_sigset_t *oset, \
    567 			    size_t sigsetsize); }
    568 354	STD		{ int linux_sys_rt_sigpending( \
    569 			    linux_sigset_t *set, \
    570 			    size_t sigsetsize); }
    571 355	UNIMPL		rt_sigtimedwait
    572 ; XXX XAX int here?  sigset_t here?
    573 356	STD		{ int linux_sys_rt_queueinfo(int pid, int signum, \
    574 			    linux_siginfo_t *uinfo); }
    575 357	STD		{ int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
    576 			    size_t sigsetsize); }
    577 358	STD		{ int linux_sys_select(int nfds, fd_set *readfds, \
    578 			    fd_set *writefds, fd_set *exceptfds, \
    579 			    struct timeval *timeout); }
    580 359	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
    581 			    struct timezone *tzp); }
    582 360	NOARGS		{ int sys_settimeofday(const struct timeval *tp, \
    583 			    const struct timezone *tzp); }
    584 361	NOARGS		{ int sys_getitimer(int which, \
    585 			    struct itimerval *itv); }
    586 362	NOARGS		{ int sys_setitimer(int which, \
    587 			    const struct itimerval *itv, \
    588 			    struct itimerval *oitv); }
    589 363	NOARGS		{ int sys_utimes(char *path, \
    590 			    struct timeval *times); }
    591 364	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
    592 365	STD		{ int linux_sys_wait4(int pid, int *status, \
    593 			    int options, struct rusage *rusage); }
    594 366	UNIMPL		adjtimex
    595 367	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
    596 368	UNIMPL		capget
    597 369	UNIMPL		capset
    598 370	UNIMPL		sendfile
    599 371	UNIMPL		setresgid
    600 372	UNIMPL		getresgid
    601 373	UNIMPL		sys_dipc
    602 374	UNIMPL		pivot_root
    603 375	NOARGS		{ int sys_mincore(void *addr, size_t len, char *vec); }
    604 376	UNIMPL		pciconfig_iobase
    605 377	STD		{ int linux_sys_getdents64(int fd, \
    606 			    struct linux_dirent64 *dent, unsigned int count); }
    607 378	UNIMPL		gettid
    608 379	UNIMPL		readahead
    609 380	UNIMPL		/* unused */
    610 381	UNIMPL		tkill
    611 382	STD		{ int linux_sys_setxattr(char *path, char *name, \
    612 			    void *value, size_t size, int flags); }
    613 383	STD		{ int linux_sys_lsetxattr(char *path, char *name, \
    614 			    void *value, size_t size, int flags); }
    615 384	STD		{ int linux_sys_fsetxattr(int fd, char *name, \
    616 			    void *value, size_t size, int flags); }
    617 385	STD		{ ssize_t linux_sys_getxattr(char *path, char *name, \
    618 			    void *value, size_t size); }
    619 386	STD		{ ssize_t linux_sys_lgetxattr(char *path, char *name, \
    620 			    void *value, size_t size); }
    621 387	STD		{ ssize_t linux_sys_fgetxattr(int fd, char *name, \
    622 			    void *value, size_t size); }
    623 388	STD		{ ssize_t linux_sys_listxattr(char *path, char *list, \
    624 			    size_t size); }
    625 389	STD		{ ssize_t linux_sys_llistxattr(char *path, char *list, \
    626 			    size_t size); }
    627 390	STD		{ ssize_t linux_sys_flistxattr(int fd, char *list, \
    628 			    size_t size); }
    629 391	STD		{ int linux_sys_removexattr(char *path, char *name); }
    630 392	STD		{ int linux_sys_lremovexattr(char *path, char *name); }
    631 393	STD		{ int linux_sys_fremovexattr(int fd, char *name); }
    632 394	UNIMPL		futex
    633 395	UNIMPL		sched_setaffinity
    634 396	UNIMPL		sched_getaffinity
    635 397	UNIMPL		tuxcall
    636 398	UNIMPL		io_setup
    637 399	UNIMPL		io_destroy
    638 400	UNIMPL		io_getevents
    639 401	UNIMPL		io_submit
    640 402	UNIMPL		io_cancel
    641 403	UNIMPL		/* unused */
    642 404	UNIMPL		/* unused */
    643 405	STD		{ int linux_sys_exit_group(int error_code); }
    644 406	UNIMPL		lookup_dcookie
    645 407	UNIMPL		sys_epoll_create
    646 408	UNIMPL		sys_epoll_ctl
    647 409	UNIMPL		sys_epoll_wait
    648 410	UNIMPL		remap_file_pages
    649 411	UNIMPL		set_tid_address
    650 412	UNIMPL		restart_syscall
    651 413	UNIMPL		fadvise64
    652 414	UNIMPL		timer_create
    653 415	UNIMPL		timer_settime
    654 416	UNIMPL		timer_gettime
    655 417	UNIMPL		timer_getoverrun
    656 418	UNIMPL		timer_delete
    657 419	STD		{ int linux_sys_clock_settime(clockid_t which, \
    658 			    struct linux_timespec *tp); }
    659 420	STD		{ int linux_sys_clock_gettime(clockid_t which, \
    660 			    struct linux_timespec *tp); }
    661 421	STD		{ int linux_sys_clock_getres(clockid_t which, \
    662 			    struct linux_timespec *tp); }
    663 422	STD		{ int linux_sys_clock_nanosleep(clockid_t which, \
    664 			    int flags, struct linux_timespec *rqtp, \
    665 			    struct linux_timespec *rmtp); }
    666 423	UNIMPL		semtimedop
    667 424	UNIMPL		tgkill
    668 425	UNIMPL		stat64
    669 426	UNIMPL		lstat64
    670 427	UNIMPL		fstat64
    671 428	UNIMPL		vserver
    672 429	UNIMPL		mbind
    673 430	UNIMPL		get_mempolicy
    674 431	UNIMPL		set_mempolicy
    675 432	UNIMPL		mq_open
    676 433	UNIMPL		mq_unlink
    677 434	UNIMPL		mq_timedsend
    678 435	UNIMPL		mq_timedreceive
    679 436	UNIMPL		mq_notify
    680 437	UNIMPL		mq_getsetattr
    681