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