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