Home | History | Annotate | Line # | Download | only in alpha
syscalls.master revision 1.41
      1 	$NetBSD: syscalls.master,v 1.41 2002/04/10 18:18:26 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, caddr_t 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 			    caddr_t taddr, unsigned long tsize, \
    138 			    caddr_t 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 			    caddr_t 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 ; Linux sys_madvise just returns 0.
    182 75	UNIMPL		madvise
    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(u_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	NOARGS		{ int sys_getpriority(int which, int who); }
    219 101	STD		{ int linux_sys_send(int s, caddr_t buf, int len, \
    220 				int flags); }
    221 102	STD		{ int linux_sys_recv(int s, caddr_t 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(caddr_t 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		{ size_t linux_sys_recvmsg(int s, struct msghdr *msg, \
    241 				int flags); }
    242 114	STD		{ ssize_t linux_sys_sendmsg(int s, \
    243 				const struct 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, int uid, int gid); }
    259 124	NOARGS		{ int sys_fchmod(int fd, mode_t mode); }
    260 125	STD		{ int linux_sys_recvfrom(int s, void *buf, int len, \
    261 				int flags, struct osockaddr *from, \
    262 				int *fromlenaddr); }
    263 126	NOARGS		{ int sys_setreuid(uid_t ruid, uid_t euid); }
    264 127	NOARGS		{ int sys_setregid(gid_t rgid, gid_t egid); }
    265 128	STD		{ int linux_sys_rename(const char *from, const char *to); }
    266 129	STD		{ int linux_sys_truncate(const char *path, long length); }
    267 130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); }
    268 131	NOARGS		{ int sys_flock(int fd, int how); }
    269 132	NOARGS		{ int sys_setgid(gid_t gid); }
    270 133	STD		{ int linux_sys_sendto(int s, void *msg, int len, \
    271 				int flags, struct osockaddr *to, int tolen); }
    272 134	NOARGS		{ int sys_shutdown(int s, int how); }
    273 135	STD		{ int linux_sys_socketpair(int domain, int type, \
    274 				int protocol, int *rsv); }
    275 136	STD		{ int linux_sys_mkdir(const char *path, int mode); }
    276 137	STD		{ int linux_sys_rmdir(const char *path); }
    277 138	NODEF		{ int osf1_sys_utimes(const char *path, \
    278 			    const struct osf1_timeval *tptr); }
    279 139	UNIMPL
    280 140	UNIMPL
    281 141	STD		{ int linux_sys_getpeername(int fdes, \
    282 				caddr_t asa, int *alen); }
    283 142	UNIMPL
    284 143	UNIMPL
    285 144	STD		{ int linux_sys_getrlimit(int which, \
    286 			    struct orlimit *rlp); }
    287 145	STD		{ int linux_sys_setrlimit(int which, \
    288 			    const struct orlimit *rlp); }
    289 146	UNIMPL
    290 147	NOARGS		{ int sys_setsid(void); }
    291 148	UNIMPL		quotactl
    292 149	UNIMPL
    293 150	STD		{ int linux_sys_getsockname(int fdec, \
    294 				caddr_t asa, int *alen); }
    295 151	UNIMPL
    296 152	UNIMPL
    297 153	UNIMPL
    298 154	UNIMPL
    299 155	UNIMPL
    300 ;156	ALIAS		osf1_sys_sigaction
    301 156	STD		{ int linux_sys_sigaction(int signum, \
    302 				const struct linux_old_sigaction *nsa, \
    303 				struct linux_old_sigaction *osa); }
    304 157	UNIMPL
    305 158	UNIMPL
    306 ;159	ALIAS		osf1_sys_getdirentries
    307 159	NOARGS		{ int compat_43_sys_getdirentries(int fd, char *buf, \
    308 			    u_int count, long *basep); }
    309 160	NODEF		{ int osf1_sys_statfs(const char *path, \
    310 			    struct osf1_statfs *buf, int len); }
    311 161	NODEF		{ int osf1_sys_fstatfs(int fd, \
    312 			    struct osf1_statfs *buf, int len); }
    313 162	UNIMPL
    314 163	UNIMPL
    315 164	UNIMPL
    316 ;165	ALIAS		osf1_sys_getdomainname
    317 165	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
    318 			    int len); }
    319 166	STD		{ int linux_sys_setdomainname(char *domainname, \
    320                             int len); }
    321 167	UNIMPL
    322 168	UNIMPL
    323 169	UNIMPL
    324 170	UNIMPL
    325 171	UNIMPL
    326 172	UNIMPL
    327 173	UNIMPL
    328 174	UNIMPL
    329 175	UNIMPL
    330 176	UNIMPL
    331 177	UNIMPL
    332 178	UNIMPL
    333 179	UNIMPL
    334 180	UNIMPL
    335 181	UNIMPL
    336 182	UNIMPL
    337 183	UNIMPL
    338 184	UNIMPL
    339 185	UNIMPL
    340 186	UNIMPL
    341 187	UNIMPL
    342 188	UNIMPL
    343 189	UNIMPL
    344 190	UNIMPL
    345 ; XXX: Dunno
    346 191	STD		{ int linux_sys_ugetrlimit(int which, \
    347 			    struct rlimit *rlp); }
    348 192	UNIMPL		mmap2
    349 193	UNIMPL
    350 194	UNIMPL
    351 195	UNIMPL
    352 196	UNIMPL
    353 197	UNIMPL
    354 198	UNIMPL
    355 199	UNIMPL		osf1_sys_swapon
    356 #ifdef SYSVMSG
    357 200	NOARGS		{ int linux_sys_msgctl(int msqid, int cmd, \
    358 			    struct linux_msqid_ds *buf); }
    359 201	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
    360 202	NOARGS		{ ssize_t sys_msgrcv(int msqid, void *msgp, \
    361 			    size_t msgsz, long msgtyp, int msgflg); }
    362 203	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
    363 			    int msgflg); }
    364 #else
    365 200	UNIMPL		msgctl
    366 201	UNIMPL		msgget
    367 202	UNIMPL		msgrcv
    368 203	UNIMPL		msgsnd
    369 #endif
    370 #ifdef SYSVSEM
    371 204	NOARGS		{ int linux_sys_semctl(int semid, int semnum, \
    372 			    int cmd, union linux_semun arg); }
    373 205	NOARGS		{ int sys_semget(key_t key, int nsems, int semflg); }
    374 206	NOARGS		{ int sys_semop(int semid, struct sembuf *sops, \
    375 			    size_t nsops); }
    376 #else
    377 204	UNIMPL		semctl
    378 205	UNIMPL		semget
    379 206	UNIMPL		semop
    380 #endif
    381 ;207	ALIAS		osf1_sys_utsname
    382 207	STD		{ int linux_sys_olduname(struct linux_old_utsname *up); }
    383 208	NOARGS		{ int sys___posix_lchown(const char *path, int uid, int gid); }
    384 #ifdef SYSVSHM
    385 209	NOARGS		{ int linux_sys_shmat(int shmid, void *shmaddr, \
    386 			    int shmflg, u_long *raddr); }
    387 210	NOARGS		{ int linux_sys_shmctl(int shmid, int cmd, \
    388 			    struct linux_shmid_ds *buf); }
    389 211	NOARGS		{ int sys_shmdt(const void *shmaddr); }
    390 212	NOARGS		{ int sys_shmget(key_t key, size_t size, int shmflg); }
    391 #else
    392 209	UNIMPL		shmat
    393 210	UNIMPL		shmctl
    394 211	UNIMPL		shmdt
    395 212	UNIMPL		shmget
    396 #endif
    397 213	UNIMPL
    398 214	UNIMPL
    399 215	UNIMPL
    400 216	UNIMPL
    401 217	STD		{ int linux_sys_msync(caddr_t addr, int len, int fl); }
    402 218	UNIMPL
    403 219	UNIMPL
    404 220	UNIMPL
    405 221	UNIMPL
    406 222	UNIMPL
    407 223	UNIMPL
    408 224	UNIMPL
    409 225	UNIMPL
    410 226	UNIMPL
    411 227	UNIMPL
    412 228	UNIMPL
    413 229	UNIMPL
    414 230	UNIMPL
    415 231	UNIMPL
    416 232	UNIMPL
    417 233	STD		{ int linux_sys_getpgid(int pid); }
    418 234	NOARGS		{ pid_t sys_getsid(pid_t pid); }
    419 235	UNIMPL		sigaltstack
    420 236	UNIMPL
    421 237	UNIMPL
    422 238	UNIMPL
    423 239	UNIMPL
    424 240	UNIMPL
    425 241	NODEF		{ int osf1_sys_sysinfo(int cmd, char buf, long len); }
    426 242	UNIMPL
    427 243	UNIMPL
    428 244	UNIMPL		osf1_sys_proplist_syscall
    429 245	UNIMPL
    430 246	UNIMPL
    431 247	UNIMPL
    432 248	UNIMPL
    433 249	UNIMPL
    434 250	UNIMPL
    435 251	NODEF		{ int osf1_sys_usleep_thread( \
    436 			    struct osf1_timeval *sleep, \
    437 			    struct osf1_timeval *slept); }
    438 252	UNIMPL
    439 253	UNIMPL
    440 254	UNIMPL
    441 255	UNIMPL		sysfs
    442 256	NODEF		{ int osf1_sys_getsysinfo(u_long op, caddr_t buffer, \
    443 			    u_long nbytes, caddr_t arg, u_long flag); }
    444 257	NODEF		{ int osf1_sys_setsysinfo(u_long op, caddr_t buffer, \
    445 			    u_long nbytes, caddr_t arg, u_long flag); }
    446 258	UNIMPL
    447 259	UNIMPL
    448 260	UNIMPL
    449 ; This entry doesn't exist in the Alpha linux syscall table but the function is
    450 ; implemented and used on other ports.
    451 261	STD		{ int linux_sys_fdatasync(int fd); }
    452 262	UNIMPL
    453 263	UNIMPL
    454 264	UNIMPL
    455 265	UNIMPL
    456 266	UNIMPL
    457 267	UNIMPL
    458 268	UNIMPL
    459 269	UNIMPL
    460 270	UNIMPL
    461 271	UNIMPL
    462 272	UNIMPL
    463 273	UNIMPL
    464 274	UNIMPL
    465 275	UNIMPL
    466 276	UNIMPL
    467 277	UNIMPL
    468 278	UNIMPL
    469 279	UNIMPL
    470 280	UNIMPL
    471 281	UNIMPL
    472 282	UNIMPL
    473 283	UNIMPL
    474 284	UNIMPL
    475 285	UNIMPL
    476 286	UNIMPL
    477 287	UNIMPL
    478 288	UNIMPL
    479 289	UNIMPL
    480 290	UNIMPL
    481 291	UNIMPL
    482 292	UNIMPL
    483 293	UNIMPL
    484 294	UNIMPL
    485 295	UNIMPL
    486 296	UNIMPL
    487 297	UNIMPL
    488 298	UNIMPL
    489 299	UNIMPL
    490 300	UNIMPL		bdflush
    491 301	UNIMPL		sethae
    492 302	UNIMPL		mount
    493 303	UNIMPL		old_adjtimex
    494 304	STD		{ int linux_sys_swapoff(const char *path); }
    495 305	STD		{ int linux_sys_getdents(int fd, \
    496 			    struct linux_dirent *dent, unsigned int count); }
    497 306	UNIMPL		alpha_create_module
    498 307	UNIMPL		init_module
    499 308	UNIMPL		delete_module
    500 309	UNIMPL		get_kernel_syms
    501 310	UNIMPL		syslog
    502 311	STD		{ int linux_sys_reboot(int magic1, int magic2, \
    503 			    int cmd, void *arg); }
    504 312	STD		{ int linux_sys_clone(int flags, void *stack); }
    505 #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(int per); }
    521 325	STD		{ int linux_sys_setfsuid(uid_t uid); }
    522 326	UNIMPL		setfsgid
    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	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
    542 				struct 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	UNIMPL		mincore
    604 376	UNIMPL		pciconfig_iobase
    605 377	STD		{ int linux_sys_getdents64(int fd, \
    606 			    struct linux_dirent64 *dent, unsigned int count); }
    607