Home | History | Annotate | Line # | Download | only in alpha
syscalls.master revision 1.15
      1 	$NetBSD: syscalls.master,v 1.15 1999/12/16 15:13:01 tron 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: 5/26/98)
     37 ;
     38 ; XXX XAX todo:
     39 ;		check arguments.
     40 ;		kill not used functions.  (ifdef the actual code)
     41 ;
     42 ; NOT USED = This syscall is not really used in Linux, except in its
     43 ;		osf compat mode.  Since Linux binaries shouldn't ever
     44 ;		call it and osf binaries run under a different emulation,
     45 ;		it shouldn't matter that the linux version of the
     46 ;		function might not DTRT.  Define it anyway so we
     47 ;		don't have to split off or ifdef the associated function.
     48 ; 		    A bit better might be to have makesyscalls identify this
     49 ; 		as "define but don't include in table" so it doesn't actually
     50 ; 		ever get called.
     51 ; UNIMPL <blank> = not implemented here nor in linux source
     52 ; UNIMPL osf_*   = osf functions implemented in linux, not here.
     53 ;
     54 
     55 #include "opt_sysv.h"
     56 #include "opt_compat_43.h"
     57 
     58 #include <sys/param.h>
     59 #include <sys/poll.h>
     60 #include <sys/systm.h>
     61 #include <sys/signal.h>
     62 #include <sys/mount.h>
     63 #include <sys/syscallargs.h>
     64 
     65 #include <compat/linux/common/linux_types.h>
     66 #include <compat/linux/common/linux_signal.h>
     67 #include <compat/linux/common/linux_siginfo.h>
     68 #include <compat/linux/common/linux_ipc.h>
     69 #include <compat/linux/common/linux_msg.h>
     70 #include <compat/linux/common/linux_sem.h>
     71 #include <compat/linux/common/linux_shm.h>
     72 #include <compat/linux/common/linux_mmap.h>
     73 ;#include <compat/linux/common/linux_machdep.h>
     74 
     75 #include <compat/linux/linux_syscallargs.h>
     76 
     77 
     78 0	NOARGS		{ int sys_nosys(void); } syscall
     79 1	NOARGS		{ int sys_exit(int rval); }
     80 2	NOARGS		{ int sys_fork(void); }
     81 3	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
     82 4	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
     83 5	UNIMPL
     84 6	NOARGS		{ int sys_close(int fd); }
     85 7	UNIMPL		osf_wait4
     86 ;8	OBSOL		osf_old_creat, NOT USED. XXX XAX
     87 8	STD		{ int linux_sys_creat(char *path, int mode); }
     88 9	NOARGS		{ int sys_link(char *path, char *link); }
     89 10	STD		{ int linux_sys_unlink(char *path); }
     90 11	UNIMPL
     91 12	STD		{ int linux_sys_chdir(char *path); }
     92 13	NOARGS		{ int sys_fchdir(int fd); }
     93 14	STD		{ int linux_sys_mknod(char *path, int mode, int dev); }
     94 15	STD		{ int linux_sys_chmod(char *path, int mode); }
     95 16	STD		{ int linux_sys_chown(char *path, int uid, int gid); }
     96 ;17	ALIAS		osf_brk
     97 17	STD		{ int linux_sys_brk(char *nsize); }
     98 18	UNIMPL
     99 19	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
    100 			    int whence); }
    101 20	NOARGS		{ pid_t sys_getpid(void); }
    102 21	UNIMPL		osf_mount
    103 22	UNIMPL		osf_umount
    104 23	NOARGS		{ int sys_setuid(uid_t uid); }
    105 24	NOARGS		{ uid_t sys_getuid(void); }
    106 25	UNIMPL
    107 26	STD		{ int linux_sys_ptrace(int request, int pid, \
    108 			  int addr, int data); }
    109 27	UNIMPL
    110 28	UNIMPL
    111 29	UNIMPL
    112 30	UNIMPL
    113 31	UNIMPL
    114 32	UNIMPL
    115 33	STD		{ int linux_sys_access(char *path, int flags); }
    116 34	UNIMPL
    117 35	UNIMPL
    118 36	NOARGS		{ int sys_sync(void); }
    119 37	STD		{ int linux_sys_kill(int pid, int signum); }
    120 38	UNIMPL
    121 39	NOARGS		{ int sys_setpgid(int pid, int pgid); }
    122 40	UNIMPL
    123 41	NOARGS		{ int sys_dup(u_int fd); }
    124 42	NOARGS		{ int linux_sys_pipe(void); }
    125 43	UNIMPL		osf_set_program_attributes
    126 44	UNIMPL
    127 45	STD		{ int linux_sys_open(char *path, int flags, int mode); }
    128 46	UNIMPL
    129 47	NOARGS		{ gid_t sys_getgid(void); }
    130 48	UNIMPL		osf_sigprocmask
    131 49	UNIMPL
    132 50	UNIMPL
    133 51	NOARGS		{ int sys_acct(char *path); }
    134 52	STD		{ int linux_sys_sigpending(linux_old_sigset_t *set); }
    135 53	UNIMPL
    136 54	STD		{ int linux_sys_ioctl(int fd, u_long com, \
    137 			    caddr_t data); }
    138 55	UNIMPL
    139 56	UNIMPL
    140 57	STD		{ int linux_sys_symlink(char *path, char *to); }
    141 58	STD		{ int linux_sys_readlink(char *name, char *buf, \
    142 			    int count); }
    143 59	STD		{ int linux_sys_execve(char *path, char **argp, \
    144 			    char **envp); }
    145 60	NOARGS		{ int sys_umask(int newmask); }
    146 61	NOARGS		{ int sys_chroot(char *path); }
    147 62	UNIMPL
    148 63	NOARGS		{ int sys_getpgrp(void); }
    149 64	NOARGS		{ int compat_43_sys_getpagesize(void); }
    150 65	UNIMPL
    151 66	NOARGS		{ int sys___vfork14(void); }
    152 67	STD		{ int linux_sys_stat(char *path, \
    153 			    struct linux_stat *sp); }
    154 68	STD		{ int linux_sys_lstat(char *path, \
    155 			    struct linux_stat *sp); }
    156 69	UNIMPL 
    157 70	UNIMPL
    158 71	NOARGS		{ int linux_sys_mmap(unsigned long addr, size_t len, \
    159 			    int prot, int flags, int fd, off_t offset); }
    160 72	UNIMPL
    161 73	NOARGS		{ int sys_munmap(caddr_t addr, int len); }
    162 74	NOARGS		{ int sys_mprotect(caddr_t addr, int len, int prot); }
    163 75	UNIMPL		madvise
    164 76	UNIMPL		vhangup
    165 77	UNIMPL
    166 78	UNIMPL
    167 79	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
    168 80	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
    169 81	UNIMPL
    170 82	UNIMPL		setpgrp
    171 ;83: Uses int for seconds, and time_t.  so need different itimerval struct.
    172 83	UNIMPL		osf_setitimer
    173 84	UNIMPL
    174 85	UNIMPL	
    175 ;86: Uses int for seconds, and time_t.  so need different itimerval struct.
    176 86	UNIMPL		osf_getitimer
    177 ; XXX XAX here, check args match.
    178 87	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
    179 			    u_int len); }
    180 88	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
    181 			    u_int len); }
    182 89	UNIMPL		getdtablesize
    183 90	NOARGS		{ int sys_dup2(u_int from, u_int to); }
    184 91	STD		{ int linux_sys_fstat(int fd, struct linux_stat *sp); }
    185 92	STD		{ int linux_sys_fcntl(int fd, int cmd, void *arg); }
    186 93	UNIMPL		osf_select
    187 94	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
    188 			    int timeout); }
    189 95	NOARGS		{ int sys_fsync(int fd); }
    190 96	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
    191 97	STD		{ int linux_sys_socket(int domain, int type, \
    192 			    int protocol); }
    193 98	NOARGS		{ int sys_connect(int s, const struct sockaddr *name, \
    194 			    int namelen); }
    195 99	NOARGS		{ int compat_43_sys_accept(int s, \
    196 				caddr_t name, int *anamelen); }
    197 ;100	ALIAS		osf_getpriority
    198 100	NOARGS		{ int sys_getpriority(int which, int who); }
    199 101	NOARGS		{ int compat_43_sys_send(int s, caddr_t buf, int len, \
    200 				int flags); }
    201 102	NOARGS		{ int compat_43_sys_recv(int s, caddr_t buf, int len, \
    202 				int flags); }
    203 103	STD		{ int linux_sys_sigreturn(struct linux_sigframe *sfp); }
    204 104	NOARGS		{ int sys_bind(int s, const struct sockaddr *name, \
    205 			    int namelen); }
    206 105	STD		{ int linux_sys_setsockopt(int s, int level, \
    207 				int optname, void *optval, int optlen); }
    208 106	NOARGS		{ int sys_listen(int s, int backlog); }
    209 107	UNIMPL
    210 108	UNIMPL
    211 109	UNIMPL
    212 110	UNIMPL
    213 
    214 111	STD		{ int linux_sys_sigsuspend(caddr_t restart, \
    215 			    int oldmask, int mask); }
    216 112	UNIMPL
    217 113	NOARGS		{ int sys_recvmsg(int fd, struct msghdr *msg, \
    218 				u_int flags); }
    219 114	NOARGS		{ int sys_sendmsg(int fd, struct msghdr *msg, \
    220 				u_int flags); }
    221 115	UNIMPL
    222 116	UNIMPL		osf_gettimeofday
    223 117	UNIMPL		osf_getrusage
    224 118	STD		{ int linux_sys_getsockopt(int s, int level, \
    225 				int optname, void *optval, int *optlen); }
    226 119	UNIMPL
    227 120	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
    228 				u_int iovcnt); }
    229 121	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
    230 				u_int iovcnt); }
    231 122	UNIMPL		osf_settimeofday
    232 123	STD		{ int linux_sys_fchown(int fd, int uid, int gid); }
    233 124	NOARGS		{ int sys_fchmod(int fd, int mode); }
    234 125	STD		{ int linux_sys_recvfrom(int s, void *buf, int len, \
    235 				int flags, struct sockaddr *from, \
    236 				int *fromlen); }
    237 126	STD		{ int linux_sys_setreuid(int ruid, int euid); }
    238 127	STD		{ int linux_sys_setregid(int rgid, int egid); }
    239 128	STD		{ int linux_sys_rename(char *from, char *to); }
    240 129	STD		{ int linux_sys_truncate(char *path, long length); }
    241 130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); }
    242 131	NOARGS		{ int sys_flock(int fd, int how); }
    243 132	NOARGS		{ int sys_setgid(gid_t gid); }
    244 133	STD		{ int linux_sys_sendto(int s, void *msg, int len, \
    245 				int flags, struct sockaddr *to, int tolen); }
    246 134	NOARGS		{ int sys_shutdown(int s, int how); }
    247 135	STD		{ int linux_sys_socketpair(int domain, int type, \
    248 				int protocol, int *rsv); }
    249 136	STD		{ int linux_sys_mkdir(char *path, int mode); }
    250 137	STD		{ int linux_sys_rmdir(char *path); }
    251 138	UNIMPL		osf_utimes
    252 139	UNIMPL
    253 140	UNIMPL
    254 141	NOARGS		{ int compat_43_sys_getpeername(int fdes, \
    255 				caddr_t asa, int *alen); }
    256 142	UNIMPL
    257 143	UNIMPL
    258 144	NOARGS		{ int compat_43_sys_getrlimit(u_int which, \
    259 			    struct orlimit *rlp); }
    260 145	NOARGS		{ int compat_43_sys_setrlimit(u_int which, \
    261 			    struct orlimit *rlp); }
    262 146	UNIMPL
    263 147	NOARGS		{ int sys_setsid(void); }
    264 148	UNIMPL		quotactl
    265 149	UNIMPL
    266 150	NOARGS		{ int compat_43_sys_getsockname(int fdec, \
    267 				caddr_t asa, int *alen); }
    268 151	UNIMPL
    269 152	UNIMPL
    270 153	UNIMPL
    271 154	UNIMPL
    272 155	UNIMPL
    273 ;156	ALIAS		osf_sigaction
    274 156	STD		{ int linux_sys_sigaction(int signum, \
    275 				const struct linux_old_sigaction *nsa, \
    276 				struct linux_old_sigaction *osa); }
    277 157	UNIMPL
    278 158	UNIMPL
    279 159	UNIMPL		osf_getdirentries
    280 160	UNIMPL		osf_statfs
    281 161	UNIMPL		osf_fstatfs
    282 162	UNIMPL
    283 163	UNIMPL
    284 164	UNIMPL
    285 165	UNIMPL		osf_getdomainname
    286 ;166	ALIAS		osf_setdomainname
    287 166	UNIMPL		setdomainname
    288 167	UNIMPL
    289 168	UNIMPL
    290 169	UNIMPL
    291 170	UNIMPL
    292 171	UNIMPL
    293 172	UNIMPL
    294 173	UNIMPL
    295 174	UNIMPL
    296 175	UNIMPL
    297 176	UNIMPL
    298 177	UNIMPL
    299 178	UNIMPL
    300 179	UNIMPL
    301 180	UNIMPL
    302 181	UNIMPL
    303 182	UNIMPL
    304 183	UNIMPL
    305 184	UNIMPL
    306 185	UNIMPL
    307 186	UNIMPL
    308 187	UNIMPL
    309 188	UNIMPL
    310 189	UNIMPL
    311 190	UNIMPL
    312 191	UNIMPL
    313 192	UNIMPL
    314 193	UNIMPL
    315 194	UNIMPL
    316 195	UNIMPL
    317 196	UNIMPL
    318 197	UNIMPL
    319 198	UNIMPL
    320 199	UNIMPL		osf_swapon
    321 #ifdef SYSVMSG
    322 200	NOARGS		{ int linux_sys_msgctl(int msqid, int cmd, \
    323 			    struct linux_msqid_ds *buf); }
    324 201	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
    325 202	NOARGS		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
    326 			    int msgflg); }
    327 203	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
    328 			    int msgflg); }
    329 #else
    330 200	UNIMPL		msgctl
    331 201	UNIMPL		msgget
    332 202	UNIMPL		msgrcv
    333 203	UNIMPL		msgsnd
    334 #endif
    335 #ifdef SYSVSEM
    336 204	NOARGS		{ int linux_sys_semctl(int semid, int semnum, \
    337 			    int cmd, union linux_semun arg); }
    338 205	NOARGS		{ int sys_semget(key_t key, int nsems, int semflg); }
    339 206	NOARGS		{ int sys_semop(int semid, struct sembuf *sops, \
    340 			    unsigned u_int nsops); }
    341 #else
    342 204	UNIMPL		semctl
    343 205	UNIMPL		semget
    344 206	UNIMPL		semop
    345 #endif
    346 ;207	OBSOL		osf_utsname, NOT USED XXX XAX
    347 207	STD		{ int linux_sys_olduname(struct linux_old_utsname *up); }
    348 208	STD		{ int linux_sys_lchown(char *path, int uid, int gid); }
    349 #ifdef SYSVSHM
    350 209	NOARGS		{ int linux_sys_shmat(int shmid, void *shmaddr, \
    351 			    int shmflg, u_long *raddr); }
    352 210	NOARGS		{ int linux_sys_shmctl(int shmid, int cmd, \
    353 			    struct linux_shmid_ds *buf); }
    354 211	NOARGS		{ int sys_shmdt(void *shmaddr); }
    355 212	NOARGS		{ int sys_shmget(key_t key, int size, int shmflg); }
    356 #else
    357 209	UNIMPL		shmat
    358 210	UNIMPL		shmctl
    359 211	UNIMPL		shmdt
    360 212	UNIMPL		shmget
    361 #endif
    362 213	UNIMPL
    363 214	UNIMPL
    364 215	UNIMPL
    365 216	UNIMPL
    366 217	STD		{ int linux_sys_msync(caddr_t addr, int len, int fl); }
    367 218	UNIMPL		osf_signal
    368 219	UNIMPL
    369 220	UNIMPL
    370 221	UNIMPL
    371 222	UNIMPL
    372 223	UNIMPL
    373 224	UNIMPL
    374 225	UNIMPL
    375 226	UNIMPL
    376 227	UNIMPL
    377 228	UNIMPL
    378 229	UNIMPL
    379 230	UNIMPL
    380 231	UNIMPL
    381 232	UNIMPL
    382 233	STD		{ int linux_sys_getpgid(int pid); }
    383 234	NOARGS		{ pid_t sys_getsid(pid_t pid); }
    384 235	UNIMPL
    385 236	UNIMPL
    386 237	UNIMPL
    387 238	UNIMPL
    388 239	UNIMPL
    389 240	UNIMPL
    390 241	UNIMPL		osf_sysinfo
    391 242	UNIMPL
    392 243	UNIMPL
    393 244	UNIMPL		osf_proplist_syscall
    394 245	UNIMPL
    395 246	UNIMPL
    396 247	UNIMPL
    397 248	UNIMPL
    398 249	UNIMPL
    399 250	UNIMPL
    400 251	UNIMPL		osf_usleep_thread
    401 252	UNIMPL
    402 253	UNIMPL
    403 254	UNIMPL		sysfs
    404 255	UNIMPL
    405 256	UNIMPL		osf_getsysinfo
    406 257	UNIMPL		osf_setsysinfo
    407 258	UNIMPL
    408 259	UNIMPL
    409 260	UNIMPL
    410 ;			???: fdatasync isn't implemented in Linux.
    411 261	STD		{ int linux_sys_fdatasync(int fd); }
    412 262	UNIMPL
    413 263	UNIMPL
    414 264	UNIMPL
    415 265	UNIMPL
    416 266	UNIMPL
    417 267	UNIMPL
    418 268	UNIMPL
    419 269	UNIMPL
    420 270	UNIMPL
    421 271	UNIMPL
    422 272	UNIMPL
    423 273	UNIMPL
    424 274	UNIMPL
    425 275	UNIMPL
    426 276	UNIMPL
    427 277	UNIMPL
    428 278	UNIMPL
    429 279	UNIMPL
    430 280	UNIMPL
    431 281	UNIMPL
    432 282	UNIMPL
    433 283	UNIMPL
    434 284	UNIMPL
    435 285	UNIMPL
    436 286	UNIMPL
    437 287	UNIMPL
    438 288	UNIMPL
    439 289	UNIMPL
    440 290	UNIMPL
    441 291	UNIMPL
    442 292	UNIMPL
    443 293	UNIMPL
    444 294	UNIMPL
    445 295	UNIMPL
    446 296	UNIMPL
    447 297	UNIMPL
    448 298	UNIMPL
    449 299	UNIMPL
    450 300	UNIMPL		bdflush
    451 301	UNIMPL		sethae
    452 302	UNIMPL		mount
    453 303	UNIMPL		old_adjtimex
    454 304	UNIMPL		swapoff
    455 305	STD		{ int linux_sys_getdents(int fd, \
    456 			    struct linux_dirent *dent, unsigned int count); }
    457 306	UNIMPL		create_module
    458 307	UNIMPL		init_module
    459 308	UNIMPL		delete_module
    460 309	UNIMPL		get_kernel_syms
    461 310	UNIMPL		syslog
    462 311	NOARGS		{ int sys_reboot(int opt); }
    463 312	UNIMPL		{ int linux_sys_clone(int flags, void *stack); }
    464 ; XXX XAX does alpha linux really have a.out exec?
    465 #ifdef EXEC_AOUT
    466 313	STD		{ int linux_sys_uselib(char *path); }
    467 #else
    468 313	UNIMPL		sys_uselib
    469 #endif
    470 314	NOARGS		{ int sys_mlock(const void *addr, size_t len); }
    471 315	NOARGS		{ int sys_munlock(const void *addr, size_t len); }
    472 316	UNIMPL		mlockall
    473 317	UNIMPL		munlockall
    474 318	UNIMPL		sysinfo
    475 319	STD		{ int linux_sys___sysctl(struct linux___sysctl *lsp); }
    476 320	UNIMPL		idle
    477 321	UNIMPL		umount
    478 322	NOARGS		{ int compat_12_sys_swapon(char *name); }
    479 323	STD		{ int linux_sys_times(struct times *tms); }
    480 324	STD		{ int linux_sys_personality(int per); }
    481 325	UNIMPL		setfsuid
    482 326	UNIMPL		setfsgid
    483 327	UNIMPL		ustat
    484 328	STD		{ int linux_sys_statfs(char *path, \
    485 			    struct linux_statfs *sp); }
    486 329	STD		{ int linux_sys_fstatfs(int fd, \
    487 			    struct linux_statfs *sp); }
    488 330	STD		{ int linux_sys_sched_setparam(pid_t pid, \
    489 			    const struct linux_sched_param *sp); }
    490 331	STD		{ int linux_sys_sched_getparam(pid_t pid, \
    491 			    struct linux_sched_param *sp); }
    492 332	STD		{ int linux_sys_sched_setscheduler(pid_t pid, \
    493 			    int policy, const struct linux_sched_param *sp); }
    494 333	STD		{ int linux_sys_sched_getscheduler(pid_t pid); }
    495 334	STD		{ int linux_sys_sched_yield(void); }
    496 335	STD		{ int linux_sys_sched_get_priority_max(int policy); }
    497 336	STD		{ int linux_sys_sched_get_priority_min(int policy); }
    498 337	UNIMPL		sched_rr_get_interval
    499 338	UNIMPL		afs_syscall
    500 339	STD		{ int linux_sys_uname(struct linux_utsname *up); }
    501 340	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
    502 				struct timespec *rmtp); }
    503 341	STD		{ void *linux_sys_mremap(void *old_address, \
    504 			    size_t old_size, size_t new_size, u_long flags); }
    505 342	UNIMPL		nfsservctl
    506 343	STD		{ int linux_sys_setresuid(uid_t ruid, uid_t euid, \
    507 			    uid_t suid); }
    508 344	STD		{ int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
    509 			    uid_t *suid); }
    510 345	UNIMPL		pciconfig_read
    511 346	UNIMPL		pciconfig_write
    512 347	UNIMPL		query_module
    513 348	UNIMPL		prctl
    514 349	STD		{ int linux_sys_pread(int fd, char *buf, \
    515 			    size_t nbyte, linux_off_t offset); }
    516 350	STD		{ int linux_sys_pwrite(int fd, char *buf, \
    517 			    size_t nbyte, linux_off_t offset); }
    518 351	STD		{ int linux_sys_rt_sigreturn( \
    519 				struct linux_rt_sigframe *sfp); }
    520 352	STD		{ int linux_sys_rt_sigaction(int signum, \
    521 				const struct linux_sigaction *nsa, \
    522 				struct linux_sigaction *osa, \
    523 				size_t sigsetsize); }
    524 353	STD		{ int linux_sys_rt_sigprocmask(int how, \
    525 			    const linux_sigset_t *set, \
    526 			    linux_sigset_t *oset, \
    527 			    size_t sigsetsize); }
    528 354	STD		{ int linux_sys_rt_sigpending( \
    529 			    linux_sigset_t *set, \
    530 			    size_t sigsetsize); }
    531 355	UNIMPL		rt_sigtimedwait
    532 ; XXX XAX int here?  sigset_t here? 
    533 356	STD		{ int linux_sys_rt_queueinfo(int pid, int signum, \
    534 			    linux_siginfo_t *uinfo); }
    535 357	STD		{ int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
    536 			    size_t sigsetsize); }
    537 358	STD		{ int linux_sys_select(int nfds, fd_set *readfds, \
    538 			    fd_set *writefds, fd_set *exceptfds, \
    539 			    struct timeval *timeout); }
    540 359	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
    541 			    struct timezone *tzp); }
    542 360	NOARGS		{ int sys_settimeofday(struct timeval *tp, \
    543 			    struct timezone *tzp); }
    544 361	NOARGS		{ int sys_getitimer(u_int which, \
    545 			    struct itimerval *itv); }
    546 362	NOARGS		{ int sys_setitimer(u_int which, \
    547 			    struct itimerval *itv, struct itimerval *oitv); }
    548 ; XXX XAX Is this correct? no.  utime is a lib call.  utimes is the syscall
    549 ; do we need translation here?  I don't think so.
    550 ; what?
    551 363	NOARGS		{ int sys_utimes(char *path, \
    552 			    struct timecal *times); }
    553 364	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
    554 365	STD		{ int linux_sys_wait4(int pid, int *status, \
    555 			    int options, struct rusage *rusage); }
    556 366	UNIMPL		adjtimex
    557 367	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
    558 368	UNIMPL		capget
    559 369	UNIMPL		capset
    560 370	UNIMPL		sendfile
    561