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