Home | History | Annotate | Line # | Download | only in alpha
syscalls.master revision 1.57
      1 	$NetBSD: syscalls.master,v 1.57 2007/03/04 06:01:18 christos Exp $
      2 ;
      3 ;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
      4 
      5 ; NetBSD alpha COMPAT_LINUX system call name/number "master" file.
      6 ; (See syscalls.conf to see what it is processed into.)
      7 ;
      8 ; Fields: number type [type-dependent ...]
      9 ;	number	system call number, must be in order
     10 ;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
     11 ;		the compatibility options defined in syscalls.conf.
     12 ;
     13 ; types:
     14 ;	STD	always included
     15 ;	OBSOL	obsolete, not included in system
     16 ;	UNIMPL	unimplemented, not included in system
     17 ;	NODEF	included, but don't define the syscall number
     18 ;	NOARGS	included, but don't define the syscall args structure
     19 ;	INDIR	included, but don't define the syscall args structure
     20 ;		and allow it to be "really" varargs.
     21 ;
     22 ; The compat options are defined in the syscalls.conf file, and the
     23 ; compat option name is prefixed to the syscall name.  Other than
     24 ; that, they're like NODEF (for 'compat' options), or STD (for
     25 ; 'libcompat' options).
     26 ;
     27 ; The type-dependent arguments are as follows:
     28 ; For STD, NODEF, NOARGS, and compat syscalls:
     29 ;	{ pseudo-proto } [alias]
     30 ; For other syscalls:
     31 ;	[comment]
     32 ;
     33 ; #ifdef's, etc. may be included, and are copied to the output files.
     34 ; #include's are copied to the syscall names and switch definition files only.
     35 ;
     36 ; (ERH: 3/18/00)
     37 ;
     38 ; XXX XAX things to do:
     39 ;		make sure non-linux_foo() matches real linux syscalls.
     40 ;			create new linux_foo functions otherwise
     41 ;			(i.e. reboot, msgrcv? )
     42 ;		make sure linux_foo() matches expected prototypes in .c files.
     43 ;		kill not used functions.  (ifdef the actual code)
     44 ;		fix getfsuid in linux_misc.c
     45 ;		make linux_sys_sigreturn in linux_machdep.c use frame.extramask
     46 ;
     47 ; NOT USED = This syscall is not really used in Linux, except in its
     48 ;		osf compat mode.  Since Linux binaries shouldn't ever
     49 ;		call it and osf binaries run under a different emulation,
     50 ;		it shouldn't matter that the linux version of the
     51 ;		function might not DTRT.  Define it anyway so we
     52 ;		don't have to split off or ifdef the associated function.
     53 ; 		    A bit better might be to have makesyscalls identify this
     54 ; 		as "define but don't include in table" so it doesn't actually
     55 ; 		ever get called.
     56 ; UNIMPL <blank> = not implemented here nor in linux source
     57 ; UNIMPL osf_*   = osf functions implemented in linux, not here.
     58 ;
     59 
     60 #if defined(_KERNEL_OPT)
     61 #include "opt_sysv.h"
     62 #include "opt_compat_43.h"
     63 #include "opt_compat_osf1.h"
     64 #endif
     65 
     66 #include <sys/param.h>
     67 #include <sys/poll.h>
     68 #include <sys/systm.h>
     69 #include <sys/signal.h>
     70 #include <sys/mount.h>
     71 #include <sys/syscallargs.h>
     72 
     73 #include <compat/linux/common/linux_types.h>
     74 #include <compat/linux/common/linux_signal.h>
     75 #include <compat/linux/common/linux_siginfo.h>
     76 #include <compat/linux/common/linux_ipc.h>
     77 #include <compat/linux/common/linux_msg.h>
     78 #include <compat/linux/common/linux_sem.h>
     79 #include <compat/linux/common/linux_shm.h>
     80 #include <compat/linux/common/linux_mmap.h>
     81 ;#include <compat/linux/common/linux_machdep.h>
     82 
     83 #include <compat/linux/linux_syscallargs.h>
     84 
     85 %%
     86 
     87 0	NOARGS		{ int linux_sys_nosys(void); } syscall
     88 1	NOARGS		{ int sys_exit(int rval); }
     89 2	NOARGS		{ int sys_fork(void); }
     90 3	NOARGS		{ int sys_read(int fd, void *buf, size_t nbyte); }
     91 4	NOARGS		{ int sys_write(int fd, const void *buf, size_t nbyte); }
     92 5	UNIMPL
     93 6	NOARGS		{ int sys_close(int fd); }
     94 7	NODEF		{ int osf1_sys_wait4(int pid, int *status, \
     95 			    int options, struct osf1_rusage *rusage); }
     96 ;8	ALIAS		osf1_sys_old_creat, NOT USED
     97 8	STD		{ int linux_sys_creat(const char *path, mode_t mode); }
     98 9	STD		{ int linux_sys_link(const char *path, const char *link); }
     99 10	STD		{ int linux_sys_unlink(const char *path); }
    100 11	UNIMPL
    101 12	STD		{ int linux_sys_chdir(const char *path); }
    102 13	NOARGS		{ int sys_fchdir(int fd); }
    103 14	STD		{ int linux_sys_mknod(const char *path, int mode, int dev); }
    104 15	STD		{ int linux_sys_chmod(const char *path, int mode); }
    105 16	NOARGS		{ int sys___posix_chown(const char *path, int uid, int 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	STD		{ int linux_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, int mode); }
    141 46	UNIMPL
    142 47	NOARGS		{ gid_t sys_getgid_with_egid(void); }
    143 ; ALIAS osf1_sys_sigprocmask(int how, unsigned long mask);
    144 ; XXX <- copied from osf1/syscalls.master
    145 48	NOARGS		{ int compat_13_sys_sigprocmask(int how, \
    146 			    sigset13_t mask); }
    147 49	UNIMPL
    148 50	UNIMPL
    149 51	NOARGS		{ int sys_acct(const char *path); }
    150 52	STD		{ int linux_sys_sigpending(linux_old_sigset_t *set); }
    151 53	UNIMPL
    152 54	STD		{ int linux_sys_ioctl(int fd, u_long com, \
    153 			    void *data); }
    154 55	UNIMPL
    155 56	UNIMPL
    156 57	STD		{ int linux_sys_symlink(const char *path, const char *to); }
    157 58	STD		{ int linux_sys_readlink(const char *name, char *buf, \
    158 			    int count); }
    159 59	STD		{ int linux_sys_execve(const char *path, char **argp, \
    160 			    char **envp); }
    161 60	NOARGS		{ mode_t sys_umask(mode_t newmask); }
    162 61	NOARGS		{ int sys_chroot(const char *path); }
    163 62	UNIMPL
    164 63	NOARGS		{ int sys_getpgrp(void); }
    165 64	NOARGS		{ int compat_43_sys_getpagesize(void); }
    166 65	UNIMPL
    167 66	NOARGS		{ int sys___vfork14(void); }
    168 67	STD		{ int linux_sys_stat(const char *path, \
    169 			    struct linux_stat *sp); }
    170 68	STD		{ int linux_sys_lstat(const char *path, \
    171 			    struct linux_stat *sp); }
    172 69	UNIMPL
    173 70	UNIMPL
    174 ;71	ALIAS		osf1_sys_mmap
    175 71	NOARGS		{ int linux_sys_mmap(unsigned long addr, size_t len, \
    176 			    int prot, int flags, int fd, linux_off_t offset); }
    177 72	UNIMPL
    178 73	NOARGS		{ int sys_munmap(void *addr, size_t len); }
    179 74	STD		{ int linux_sys_mprotect(const void *start, \
    180 			    unsigned long len, int prot); }
    181 75	NOARGS		{ int sys_madvise(void *addr, size_t len, int behav); }
    182 76	UNIMPL		vhangup
    183 77	UNIMPL
    184 78	UNIMPL
    185 79	NOARGS		{ int sys_getgroups(int gidsetsize, gid_t *gidset); }
    186 80	NOARGS		{ int sys_setgroups(int gidsetsize, const gid_t *gidset); }
    187 81	UNIMPL
    188 82	UNIMPL		setpgrp
    189 83	NODEF		{ int osf1_sys_setitimer(u_int which, \
    190 			    struct osf1_itimerval *itv, \
    191 			    struct osf1_itimerval *oitv); }
    192 84	UNIMPL
    193 85	UNIMPL
    194 86	UNIMPL		osf1_sys_getitimer
    195 87	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
    196 			    u_int len); }
    197 88	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
    198 			    u_int len); }
    199 89	UNIMPL		getdtablesize
    200 90	NOARGS		{ int sys_dup2(int from, int to); }
    201 91	STD		{ int linux_sys_fstat(int fd, struct linux_stat *sp); }
    202 92	STD		{ int linux_sys_fcntl(int fd, int cmd, void *arg); }
    203 93	NODEF		{ int osf1_sys_select(u_int nd, fd_set *in, \
    204 			    fd_set *ou, fd_set *ex, struct osf1_timeval *tv); }
    205 94	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
    206 			    int timeout); }
    207 95	NOARGS		{ int sys_fsync(int fd); }
    208 96	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
    209 97	STD		{ int linux_sys_socket(int domain, int type, \
    210 			    int protocol); }
    211 98	STD		{ int linux_sys_connect(int s, \
    212 			    const struct osockaddr *name, \
    213 			    unsigned int namelen); }
    214 99	STD		{ int linux_sys_accept(int s, \
    215 				struct osockaddr *name, int *anamelen); }
    216 ;100	ALIAS		osf1_sys_getpriority
    217 100	STD		{ int linux_sys_getpriority(int which, int who); }
    218 101	STD		{ int linux_sys_send(int s, void *buf, int len, \
    219 				int flags); }
    220 102	STD		{ int linux_sys_recv(int s, void *buf, int len, \
    221 				int flags); }
    222 103	STD		{ int linux_sys_sigreturn(struct linux_sigframe *sfp); }
    223 104	STD		{ int linux_sys_bind(int s,	     \
    224 				const struct osockaddr *name, \
    225 				unsigned int namelen); }
    226 105	STD		{ int linux_sys_setsockopt(int s, int level, \
    227 				int optname, void *optval, int optlen); }
    228 106	NOARGS		{ int sys_listen(int s, int backlog); }
    229 107	UNIMPL
    230 108	UNIMPL
    231 109	UNIMPL
    232 110	UNIMPL
    233 
    234 111	STD		{ int linux_sys_sigsuspend(void *restart, \
    235 			    int oldmask, int mask); }
    236 ;112	ALIAS		osf1_sys_sigstack
    237 112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
    238 			    struct sigstack *oss); }
    239 113	STD		{ size_t linux_sys_recvmsg(int s, struct msghdr *msg, \
    240 				int flags); }
    241 114	STD		{ ssize_t linux_sys_sendmsg(int s, \
    242 				const struct msghdr *msg, int flags); }
    243 115	UNIMPL
    244 116	NODEF		{ int osf1_sys_gettimeofday(struct osf1_timeval *tv, \
    245 			    struct osf1_timezone *tzp); }
    246 117	NODEF		{ int osf1_sys_getrusage(int who, \
    247 			    struct osf1_rusage *rusage); }
    248 118	STD		{ int linux_sys_getsockopt(int s, int level, \
    249 				int optname, void *optval, int *optlen); }
    250 119	UNIMPL
    251 120	NOARGS		{ ssize_t sys_readv(int fd, const struct iovec *iovp, \
    252 				int iovcnt); }
    253 121	NOARGS		{ ssize_t sys_writev(int fd, const struct iovec *iovp, \
    254 				int iovcnt); }
    255 122	NODEF		{ int osf1_sys_settimeofday(struct osf1_timeval *tv, \
    256 			    struct osf1_timezone *tzp); }
    257 123	NOARGS		{ int sys___posix_fchown(int fd, int uid, int gid); }
    258 124	NOARGS		{ int sys_fchmod(int fd, mode_t mode); }
    259 125	STD		{ int linux_sys_recvfrom(int s, void *buf, int len, \
    260 				int flags, struct osockaddr *from, \
    261 				int *fromlenaddr); }
    262 126	NOARGS		{ int sys_setreuid(uid_t ruid, uid_t euid); }
    263 127	NOARGS		{ int sys_setregid(gid_t rgid, gid_t egid); }
    264 128	STD		{ int linux_sys_rename(const char *from, const char *to); }
    265 129	STD		{ int linux_sys_truncate(const char *path, 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	STD		{ int linux_sys_mkdir(const char *path, int mode); }
    275 137	STD		{ int linux_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	STD		{ 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	STD		{ int linux_sys_msync(void *addr, int len, int fl); }
    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	STD		{ int linux_sys_getpgid(int 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	UNIMPL		setfsgid
    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	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
    541 				struct timespec *rmtp); }
    542 341	STD		{ void *linux_sys_mremap(void *old_address, \
    543 			    size_t old_size, size_t new_size, u_long flags); }
    544 342	UNIMPL		nfsservctl
    545 343	STD		{ int linux_sys_setresuid(uid_t ruid, uid_t euid, \
    546 			    uid_t suid); }
    547 344	STD		{ int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
    548 			    uid_t *suid); }
    549 345	UNIMPL		pciconfig_read
    550 346	UNIMPL		pciconfig_write
    551 347	UNIMPL		query_module
    552 348	UNIMPL		prctl
    553 349	STD		{ int linux_sys_pread(int fd, char *buf, \
    554 			    size_t nbyte, linux_off_t offset); }
    555 350	STD		{ int linux_sys_pwrite(int fd, char *buf, \
    556 			    size_t nbyte, linux_off_t offset); }
    557 351	STD		{ int linux_sys_rt_sigreturn( \
    558 				struct linux_rt_sigframe *sfp); }
    559 352	STD		{ int linux_sys_rt_sigaction(int signum, \
    560 				const struct linux_sigaction *nsa, \
    561 				struct linux_sigaction *osa, \
    562 				size_t sigsetsize); }
    563 353	STD		{ int linux_sys_rt_sigprocmask(int how, \
    564 			    const linux_sigset_t *set, \
    565 			    linux_sigset_t *oset, \
    566 			    size_t sigsetsize); }
    567 354	STD		{ int linux_sys_rt_sigpending( \
    568 			    linux_sigset_t *set, \
    569 			    size_t sigsetsize); }
    570 355	UNIMPL		rt_sigtimedwait
    571 ; XXX XAX int here?  sigset_t here?
    572 356	STD		{ int linux_sys_rt_queueinfo(int pid, int signum, \
    573 			    linux_siginfo_t *uinfo); }
    574 357	STD		{ int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
    575 			    size_t sigsetsize); }
    576 358	STD		{ int linux_sys_select(int nfds, fd_set *readfds, \
    577 			    fd_set *writefds, fd_set *exceptfds, \
    578 			    struct timeval *timeout); }
    579 359	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
    580 			    struct timezone *tzp); }
    581 360	NOARGS		{ int sys_settimeofday(const struct timeval *tp, \
    582 			    const struct timezone *tzp); }
    583 361	NOARGS		{ int sys_getitimer(int which, \
    584 			    struct itimerval *itv); }
    585 362	NOARGS		{ int sys_setitimer(int which, \
    586 			    const struct itimerval *itv, \
    587 			    struct itimerval *oitv); }
    588 363	NOARGS		{ int sys_utimes(char *path, \
    589 			    struct timeval *times); }
    590 364	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
    591 365	STD		{ int linux_sys_wait4(int pid, int *status, \
    592 			    int options, struct rusage *rusage); }
    593 366	UNIMPL		adjtimex
    594 367	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
    595 368	UNIMPL		capget
    596 369	UNIMPL		capset
    597 370	UNIMPL		sendfile
    598 371	UNIMPL		setresgid
    599 372	UNIMPL		getresgid
    600 373	UNIMPL		sys_dipc
    601 374	UNIMPL		pivot_root
    602 375	NOARGS		{ int sys_mincore(void *addr, size_t len, char *vec); }
    603 376	UNIMPL		pciconfig_iobase
    604 377	STD		{ int linux_sys_getdents64(int fd, \
    605 			    struct linux_dirent64 *dent, unsigned int count); }
    606 378	UNIMPL		gettid
    607 379	UNIMPL		readahead
    608 380	UNIMPL		/* unused */
    609 381	UNIMPL		tkill
    610 382	STD		{ int linux_sys_setxattr(char *path, char *name, \
    611 			    void *value, size_t size, int flags); }
    612 383	STD		{ int linux_sys_lsetxattr(char *path, char *name, \
    613 			    void *value, size_t size, int flags); }
    614 384	STD		{ int linux_sys_fsetxattr(int fd, char *name, \
    615 			    void *value, size_t size, int flags); }
    616 385	STD		{ ssize_t linux_sys_getxattr(char *path, char *name, \
    617 			    void *value, size_t size); }
    618 386	STD		{ ssize_t linux_sys_lgetxattr(char *path, char *name, \
    619 			    void *value, size_t size); }
    620 387	STD		{ ssize_t linux_sys_fgetxattr(int fd, char *name, \
    621 			    void *value, size_t size); }
    622 388	STD		{ ssize_t linux_sys_listxattr(char *path, char *list, \
    623 			    size_t size); }
    624 389	STD		{ ssize_t linux_sys_llistxattr(char *path, char *list, \
    625 			    size_t size); }
    626 390	STD		{ ssize_t linux_sys_flistxattr(int fd, char *list, \
    627 			    size_t size); }
    628 391	STD		{ int linux_sys_removexattr(char *path, char *name); }
    629 392	STD		{ int linux_sys_lremovexattr(char *path, char *name); }
    630 393	STD		{ int linux_sys_fremovexattr(int fd, char *name); }
    631 394	UNIMPL		futex
    632 395	UNIMPL		sched_setaffinity
    633 396	UNIMPL		sched_getaffinity
    634 397	UNIMPL		tuxcall
    635 398	UNIMPL		io_setup
    636 399	UNIMPL		io_destroy
    637 400	UNIMPL		io_getevents
    638 401	UNIMPL		io_submit
    639 402	UNIMPL		io_cancel
    640 403	UNIMPL		/* unused */
    641 404	UNIMPL		/* unused */
    642 405	STD		{ int linux_sys_exit_group(int error_code); }
    643 406	UNIMPL		lookup_dcookie
    644 407	UNIMPL		sys_epoll_create
    645 408	UNIMPL		sys_epoll_ctl
    646 409	UNIMPL		sys_epoll_wait
    647 410	UNIMPL		remap_file_pages
    648 411	UNIMPL		set_tid_address
    649 412	UNIMPL		restart_syscall
    650 413	UNIMPL		fadvise64
    651 414	UNIMPL		timer_create
    652 415	UNIMPL		timer_settime
    653 416	UNIMPL		timer_gettime
    654 417	UNIMPL		timer_getoverrun
    655 418	UNIMPL		timer_delete
    656 419	STD		{ int linux_sys_clock_settime(clockid_t which, \
    657 			    struct linux_timespec *tp); }
    658 420	STD		{ int linux_sys_clock_gettime(clockid_t which, \
    659 			    struct linux_timespec *tp); }
    660 421	STD		{ int linux_sys_clock_getres(clockid_t which, \
    661 			    struct linux_timespec *tp); }
    662 422	STD		{ int linux_sys_clock_nanosleep(clockid_t which, \
    663 			    int flags, struct linux_timespec *rqtp, \
    664 			    struct linux_timespec *rmtp); }
    665 423	UNIMPL		semtimedop
    666 424	UNIMPL		tgkill
    667 425	UNIMPL		stat64
    668 426	UNIMPL		lstat64
    669 427	UNIMPL		fstat64
    670 428	UNIMPL		vserver
    671 429	UNIMPL		mbind
    672 430	UNIMPL		get_mempolicy
    673 431	UNIMPL		set_mempolicy
    674 432	UNIMPL		mq_open
    675 433	UNIMPL		mq_unlink
    676 434	UNIMPL		mq_timedsend
    677 435	UNIMPL		mq_timedreceive
    678 436	UNIMPL		mq_notify
    679 437	UNIMPL		mq_getsetattr
    680