syscalls.master revision 1.29 1 $NetBSD: syscalls.master,v 1.29 2000/12/14 20:38:03 jdolecek 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) && !defined(_LKM)
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 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 NOARGS { int 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 STD { int linux_sys_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, off_t offset); }
177 72 UNIMPL
178 73 NOARGS { int sys_munmap(void *addr, size_t len); }
179 74 NOARGS { int sys_mprotect(void *addr, size_t len, int prot); }
180 ; Liunx sys_madvise just returns 0.
181 75 UNIMPL madvise
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 sockaddr *name, \
213 unsigned int namelen); }
214 99 NOARGS { int compat_43_sys_accept(int s, \
215 caddr_t name, int *anamelen); }
216 ;100 ALIAS osf1_sys_getpriority
217 100 NOARGS { int sys_getpriority(int which, int who); }
218 101 NOARGS { int compat_43_sys_send(int s, caddr_t buf, int len, \
219 int flags); }
220 102 NOARGS { int compat_43_sys_recv(int s, caddr_t buf, int len, \
221 int flags); }
222 103 STD { int linux_sys_sigreturn(struct linux_sigframe *sfp); }
223 104 NOARGS { int sys_bind(int s, const struct sockaddr *name, \
224 unsigned int namelen); }
225 105 STD { int linux_sys_setsockopt(int s, int level, \
226 int optname, void *optval, int optlen); }
227 106 NOARGS { int sys_listen(int s, int backlog); }
228 107 UNIMPL
229 108 UNIMPL
230 109 UNIMPL
231 110 UNIMPL
232
233 111 STD { int linux_sys_sigsuspend(caddr_t restart, \
234 int oldmask, int mask); }
235 ;112 ALIAS osf1_sys_sigstack
236 112 NOARGS { int compat_43_sys_sigstack(struct sigstack *nss, \
237 struct sigstack *oss); }
238 113 NOARGS { size_t sys_recvmsg(int fd, struct msghdr *msg, \
239 int flags); }
240 114 NOARGS { ssize_t sys_sendmsg(int fd, \
241 const struct msghdr *msg, int flags); }
242 115 UNIMPL
243 116 NODEF { int osf1_sys_gettimeofday(struct osf1_timeval *tv, \
244 struct osf1_timezone *tzp); }
245 117 NODEF { int osf1_sys_getrusage(int who, \
246 struct osf1_rusage *rusage); }
247 118 STD { int linux_sys_getsockopt(int s, int level, \
248 int optname, void *optval, int *optlen); }
249 119 UNIMPL
250 120 NOARGS { ssize_t sys_readv(int fd, const struct iovec *iovp, \
251 int iovcnt); }
252 121 NOARGS { ssize_t sys_writev(int fd, const struct iovec *iovp, \
253 int iovcnt); }
254 122 NODEF { int osf1_sys_settimeofday(struct osf1_timeval *tv, \
255 struct osf1_timezone *tzp); }
256 123 STD { int linux_sys_fchown(int fd, int uid, int gid); }
257 124 NOARGS { int sys_fchmod(int fd, mode_t mode); }
258 125 STD { int linux_sys_recvfrom(int s, void *buf, int len, \
259 int flags, struct sockaddr *from, \
260 int *fromlen); }
261 126 STD { int linux_sys_setreuid(int ruid, int euid); }
262 127 STD { int linux_sys_setregid(int rgid, int egid); }
263 128 STD { int linux_sys_rename(const char *from, const char *to); }
264 129 STD { int linux_sys_truncate(const char *path, long length); }
265 130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); }
266 131 NOARGS { int sys_flock(int fd, int how); }
267 132 NOARGS { int sys_setgid(gid_t gid); }
268 133 STD { int linux_sys_sendto(int s, void *msg, int len, \
269 int flags, struct sockaddr *to, int tolen); }
270 134 NOARGS { int sys_shutdown(int s, int how); }
271 135 STD { int linux_sys_socketpair(int domain, int type, \
272 int protocol, int *rsv); }
273 136 STD { int linux_sys_mkdir(const char *path, int mode); }
274 137 STD { int linux_sys_rmdir(const char *path); }
275 138 NODEF { int osf1_sys_utimes(const char *path, \
276 const struct osf1_timeval *tptr); }
277 139 UNIMPL
278 140 UNIMPL
279 141 NOARGS { int compat_43_sys_getpeername(int fdes, \
280 caddr_t asa, int *alen); }
281 142 UNIMPL
282 143 UNIMPL
283 144 NOARGS { int compat_43_sys_getrlimit(int which, \
284 struct orlimit *rlp); }
285 145 NOARGS { int compat_43_sys_setrlimit(int which, \
286 const struct orlimit *rlp); }
287 146 UNIMPL
288 147 NOARGS { int sys_setsid(void); }
289 148 UNIMPL quotactl
290 149 UNIMPL
291 150 NOARGS { int compat_43_sys_getsockname(int fdec, \
292 caddr_t asa, int *alen); }
293 151 UNIMPL
294 152 UNIMPL
295 153 UNIMPL
296 154 UNIMPL
297 155 UNIMPL
298 ;156 ALIAS osf1_sys_sigaction
299 156 STD { int linux_sys_sigaction(int signum, \
300 const struct linux_old_sigaction *nsa, \
301 struct linux_old_sigaction *osa); }
302 157 UNIMPL
303 158 UNIMPL
304 ;159 ALIAS osf1_sys_getdirentries
305 159 NOARGS { int compat_43_sys_getdirentries(int fd, char *buf, \
306 u_int count, long *basep); }
307 160 NODEF { int osf1_sys_statfs(const char *path, \
308 struct osf1_statfs *buf, int len); }
309 161 NODEF { int osf1_sys_fstatfs(int fd, \
310 struct osf1_statfs *buf, int len); }
311 162 UNIMPL
312 163 UNIMPL
313 164 UNIMPL
314 ;165 ALIAS osf1_sys_getdomainname
315 165 NOARGS { int compat_09_sys_getdomainname(char *domainname, \
316 int len); }
317 166 STD { int linux_sys_setdomainname(char *domainname, \
318 int len); }
319 167 UNIMPL
320 168 UNIMPL
321 169 UNIMPL
322 170 UNIMPL
323 171 UNIMPL
324 172 UNIMPL
325 173 UNIMPL
326 174 UNIMPL
327 175 UNIMPL
328 176 UNIMPL
329 177 UNIMPL
330 178 UNIMPL
331 179 UNIMPL
332 180 UNIMPL
333 181 UNIMPL
334 182 UNIMPL
335 183 UNIMPL
336 184 UNIMPL
337 185 UNIMPL
338 186 UNIMPL
339 187 UNIMPL
340 188 UNIMPL
341 189 UNIMPL
342 190 UNIMPL
343 191 UNIMPL
344 192 UNIMPL
345 193 UNIMPL
346 194 UNIMPL
347 195 UNIMPL
348 196 UNIMPL
349 197 UNIMPL
350 198 UNIMPL
351 199 UNIMPL osf1_sys_swapon
352 #ifdef SYSVMSG
353 200 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \
354 struct linux_msqid_ds *buf); }
355 201 NOARGS { int sys_msgget(key_t key, int msgflg); }
356 202 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \
357 size_t msgsz, long msgtyp, int msgflg); }
358 203 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
359 int msgflg); }
360 #else
361 200 UNIMPL msgctl
362 201 UNIMPL msgget
363 202 UNIMPL msgrcv
364 203 UNIMPL msgsnd
365 #endif
366 #ifdef SYSVSEM
367 204 NOARGS { int linux_sys_semctl(int semid, int semnum, \
368 int cmd, union linux_semun arg); }
369 205 NOARGS { int sys_semget(key_t key, int nsems, int semflg); }
370 206 NOARGS { int sys_semop(int semid, struct sembuf *sops, \
371 size_t nsops); }
372 #else
373 204 UNIMPL semctl
374 205 UNIMPL semget
375 206 UNIMPL semop
376 #endif
377 ;207 ALIAS osf1_sys_utsname
378 207 STD { int linux_sys_olduname(struct linux_old_utsname *up); }
379 208 STD { int linux_sys_lchown(char *path, int uid, int gid); }
380 #ifdef SYSVSHM
381 209 NOARGS { int linux_sys_shmat(int shmid, void *shmaddr, \
382 int shmflg, u_long *raddr); }
383 210 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \
384 struct linux_shmid_ds *buf); }
385 211 NOARGS { int sys_shmdt(const void *shmaddr); }
386 212 NOARGS { int sys_shmget(key_t key, size_t size, int shmflg); }
387 #else
388 209 UNIMPL shmat
389 210 UNIMPL shmctl
390 211 UNIMPL shmdt
391 212 UNIMPL shmget
392 #endif
393 213 UNIMPL
394 214 UNIMPL
395 215 UNIMPL
396 216 UNIMPL
397 217 STD { int linux_sys_msync(caddr_t addr, int len, int fl); }
398 218 UNIMPL
399 219 UNIMPL
400 220 UNIMPL
401 221 UNIMPL
402 222 UNIMPL
403 223 UNIMPL
404 224 UNIMPL
405 225 UNIMPL
406 226 UNIMPL
407 227 UNIMPL
408 228 UNIMPL
409 229 UNIMPL
410 230 UNIMPL
411 231 UNIMPL
412 232 UNIMPL
413 233 STD { int linux_sys_getpgid(int pid); }
414 234 NOARGS { pid_t sys_getsid(pid_t pid); }
415 235 UNIMPL sigaltstack
416 236 UNIMPL
417 237 UNIMPL
418 238 UNIMPL
419 239 UNIMPL
420 240 UNIMPL
421 241 NODEF { int osf1_sys_sysinfo(int cmd, char buf, long len); }
422 242 UNIMPL
423 243 UNIMPL
424 244 UNIMPL osf1_sys_proplist_syscall
425 245 UNIMPL
426 246 UNIMPL
427 247 UNIMPL
428 248 UNIMPL
429 249 UNIMPL
430 250 UNIMPL
431 251 NODEF { int osf1_sys_usleep_thread( \
432 struct osf1_timeval *sleep, \
433 struct osf1_timeval *slept); }
434 252 UNIMPL
435 253 UNIMPL
436 254 UNIMPL
437 255 UNIMPL sysfs
438 256 NODEF { int osf1_sys_getsysinfo(u_long op, caddr_t buffer, \
439 u_long nbytes, caddr_t arg, u_long flag); }
440 257 NODEF { int osf1_sys_setsysinfo(u_long op, caddr_t buffer, \
441 u_long nbytes, caddr_t arg, u_long flag); }
442 258 UNIMPL
443 259 UNIMPL
444 260 UNIMPL
445 ; This entry doesn't exist in the Alpha linux syscall table but the function is
446 ; implemented and used on other ports.
447 261 STD { int linux_sys_fdatasync(int fd); }
448 262 UNIMPL
449 263 UNIMPL
450 264 UNIMPL
451 265 UNIMPL
452 266 UNIMPL
453 267 UNIMPL
454 268 UNIMPL
455 269 UNIMPL
456 270 UNIMPL
457 271 UNIMPL
458 272 UNIMPL
459 273 UNIMPL
460 274 UNIMPL
461 275 UNIMPL
462 276 UNIMPL
463 277 UNIMPL
464 278 UNIMPL
465 279 UNIMPL
466 280 UNIMPL
467 281 UNIMPL
468 282 UNIMPL
469 283 UNIMPL
470 284 UNIMPL
471 285 UNIMPL
472 286 UNIMPL
473 287 UNIMPL
474 288 UNIMPL
475 289 UNIMPL
476 290 UNIMPL
477 291 UNIMPL
478 292 UNIMPL
479 293 UNIMPL
480 294 UNIMPL
481 295 UNIMPL
482 296 UNIMPL
483 297 UNIMPL
484 298 UNIMPL
485 299 UNIMPL
486 300 UNIMPL bdflush
487 301 UNIMPL sethae
488 302 UNIMPL mount
489 303 UNIMPL old_adjtimex
490 304 STD { int linux_sys_swapoff(const char *path); }
491 305 STD { int linux_sys_getdents(int fd, \
492 struct linux_dirent *dent, unsigned int count); }
493 306 UNIMPL alpha_create_module
494 307 UNIMPL init_module
495 308 UNIMPL delete_module
496 309 UNIMPL get_kernel_syms
497 310 UNIMPL syslog
498 311 STD { int linux_sys_reboot(int magic1, int magic2, \
499 int cmd, void *arg); }
500 312 STD { int linux_sys_clone(int flags, void *stack); }
501 #ifdef EXEC_AOUT
502 313 STD { int linux_sys_uselib(const char *path); }
503 #else
504 313 UNIMPL sys_uselib
505 #endif
506 314 NOARGS { int sys_mlock(const void *addr, size_t len); }
507 315 NOARGS { int sys_munlock(const void *addr, size_t len); }
508 316 NOARGS { int sys_mlockall(int flags); }
509 317 NOARGS { int sys_munlockall(void); }
510 318 STD { int linux_sys_sysinfo(struct linux_sysinfo *arg); }
511 319 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); }
512 320 UNIMPL idle
513 321 UNIMPL oldumount
514 322 STD { int linux_sys_swapon(const char *name); }
515 323 STD { int linux_sys_times(struct times *tms); }
516 324 STD { int linux_sys_personality(int per); }
517 325 STD { int linux_sys_setfsuid(uid_t uid); }
518 326 UNIMPL setfsgid
519 327 UNIMPL ustat
520 328 STD { int linux_sys_statfs(const char *path, \
521 struct linux_statfs *sp); }
522 329 STD { int linux_sys_fstatfs(int fd, \
523 struct linux_statfs *sp); }
524 330 STD { int linux_sys_sched_setparam(pid_t pid, \
525 const struct linux_sched_param *sp); }
526 331 STD { int linux_sys_sched_getparam(pid_t pid, \
527 struct linux_sched_param *sp); }
528 332 STD { int linux_sys_sched_setscheduler(pid_t pid, \
529 int policy, const struct linux_sched_param *sp); }
530 333 STD { int linux_sys_sched_getscheduler(pid_t pid); }
531 334 STD { int linux_sys_sched_yield(void); }
532 335 STD { int linux_sys_sched_get_priority_max(int policy); }
533 336 STD { int linux_sys_sched_get_priority_min(int policy); }
534 337 UNIMPL sched_rr_get_interval
535 338 UNIMPL afs_syscall
536 339 STD { int linux_sys_uname(struct linux_utsname *up); }
537 340 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \
538 struct timespec *rmtp); }
539 341 STD { void *linux_sys_mremap(void *old_address, \
540 size_t old_size, size_t new_size, u_long flags); }
541 342 UNIMPL nfsservctl
542 343 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \
543 uid_t suid); }
544 344 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
545 uid_t *suid); }
546 345 UNIMPL pciconfig_read
547 346 UNIMPL pciconfig_write
548 347 UNIMPL query_module
549 348 UNIMPL prctl
550 349 STD { int linux_sys_pread(int fd, char *buf, \
551 size_t nbyte, linux_off_t offset); }
552 350 STD { int linux_sys_pwrite(int fd, char *buf, \
553 size_t nbyte, linux_off_t offset); }
554 351 STD { int linux_sys_rt_sigreturn( \
555 struct linux_rt_sigframe *sfp); }
556 352 STD { int linux_sys_rt_sigaction(int signum, \
557 const struct linux_sigaction *nsa, \
558 struct linux_sigaction *osa, \
559 size_t sigsetsize); }
560 353 STD { int linux_sys_rt_sigprocmask(int how, \
561 const linux_sigset_t *set, \
562 linux_sigset_t *oset, \
563 size_t sigsetsize); }
564 354 STD { int linux_sys_rt_sigpending( \
565 linux_sigset_t *set, \
566 size_t sigsetsize); }
567 355 UNIMPL rt_sigtimedwait
568 ; XXX XAX int here? sigset_t here?
569 356 STD { int linux_sys_rt_queueinfo(int pid, int signum, \
570 linux_siginfo_t *uinfo); }
571 357 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
572 size_t sigsetsize); }
573 358 STD { int linux_sys_select(int nfds, fd_set *readfds, \
574 fd_set *writefds, fd_set *exceptfds, \
575 struct timeval *timeout); }
576 359 NOARGS { int sys_gettimeofday(struct timeval *tp, \
577 struct timezone *tzp); }
578 360 NOARGS { int sys_settimeofday(const struct timeval *tp, \
579 const struct timezone *tzp); }
580 361 NOARGS { int sys_getitimer(int which, \
581 struct itimerval *itv); }
582 362 NOARGS { int sys_setitimer(int which, \
583 const struct itimerval *itv, \
584 struct itimerval *oitv); }
585 363 NOARGS { int sys_utimes(char *path, \
586 struct timeval *times); }
587 364 NOARGS { int sys_getrusage(int who, struct rusage *rusage); }
588 365 STD { int linux_sys_wait4(int pid, int *status, \
589 int options, struct rusage *rusage); }
590 366 UNIMPL adjtimex
591 367 NOARGS { int sys___getcwd(char *bufp, size_t length); }
592 368 UNIMPL capget
593 369 UNIMPL capset
594 370 UNIMPL sendfile
595 371 UNIMPL setresgid
596 372 UNIMPL getresgid
597 373 UNIMPL sys_dipc
598 374 UNIMPL shmget
599