syscalls.master revision 1.17 1 $NetBSD: syscalls.master,v 1.17 2000/03/18 22:46:27 erh 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 ; fix clone in linux_sched.c
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 ; XXX XXX XAX msgrcv is (int, void*, size_t, long, int) in kern/syscalls.master.
333 202 NOARGS { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
334 int msgflg); }
335 203 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
336 int msgflg); }
337 #else
338 200 UNIMPL msgctl
339 201 UNIMPL msgget
340 202 UNIMPL msgrcv
341 203 UNIMPL msgsnd
342 #endif
343 #ifdef SYSVSEM
344 204 NOARGS { int linux_sys_semctl(int semid, int semnum, \
345 int cmd, union linux_semun arg); }
346 205 NOARGS { int sys_semget(key_t key, int nsems, int semflg); }
347 206 NOARGS { int sys_semop(int semid, struct sembuf *sops, \
348 size_t nsops); }
349 #else
350 204 UNIMPL semctl
351 205 UNIMPL semget
352 206 UNIMPL semop
353 #endif
354 ;207 OBSOL osf_utsname, NOT USED
355 207 STD { int linux_sys_olduname(struct linux_old_utsname *up); }
356 208 STD { int linux_sys_lchown(char *path, int uid, int gid); }
357 #ifdef SYSVSHM
358 209 NOARGS { int linux_sys_shmat(int shmid, void *shmaddr, \
359 int shmflg, u_long *raddr); }
360 210 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \
361 struct linux_shmid_ds *buf); }
362 211 NOARGS { int sys_shmdt(const void *shmaddr); }
363 212 NOARGS { int sys_shmget(key_t key, size_t size, int shmflg); }
364 #else
365 209 UNIMPL shmat
366 210 UNIMPL shmctl
367 211 UNIMPL shmdt
368 212 UNIMPL shmget
369 #endif
370 213 UNIMPL
371 214 UNIMPL
372 215 UNIMPL
373 216 UNIMPL
374 217 STD { int linux_sys_msync(caddr_t addr, int len, int fl); }
375 218 UNIMPL osf_signal
376 219 UNIMPL
377 220 UNIMPL
378 221 UNIMPL
379 222 UNIMPL
380 223 UNIMPL
381 224 UNIMPL
382 225 UNIMPL
383 226 UNIMPL
384 227 UNIMPL
385 228 UNIMPL
386 229 UNIMPL
387 230 UNIMPL
388 231 UNIMPL
389 232 UNIMPL
390 233 STD { int linux_sys_getpgid(int pid); }
391 234 NOARGS { pid_t sys_getsid(pid_t pid); }
392 235 UNIMPL
393 236 UNIMPL
394 237 UNIMPL
395 238 UNIMPL
396 239 UNIMPL
397 240 UNIMPL
398 241 UNIMPL osf_sysinfo
399 242 UNIMPL
400 243 UNIMPL
401 244 UNIMPL osf_proplist_syscall
402 245 UNIMPL
403 246 UNIMPL
404 247 UNIMPL
405 248 UNIMPL
406 249 UNIMPL
407 250 UNIMPL
408 251 UNIMPL osf_usleep_thread
409 252 UNIMPL
410 253 UNIMPL
411 254 UNIMPL sysfs
412 255 UNIMPL
413 256 UNIMPL osf_getsysinfo
414 257 UNIMPL osf_setsysinfo
415 258 UNIMPL
416 259 UNIMPL
417 260 UNIMPL
418 ; ???: fdatasync isn't implemented in Linux.
419 261 STD { int linux_sys_fdatasync(int fd); }
420 262 UNIMPL
421 263 UNIMPL
422 264 UNIMPL
423 265 UNIMPL
424 266 UNIMPL
425 267 UNIMPL
426 268 UNIMPL
427 269 UNIMPL
428 270 UNIMPL
429 271 UNIMPL
430 272 UNIMPL
431 273 UNIMPL
432 274 UNIMPL
433 275 UNIMPL
434 276 UNIMPL
435 277 UNIMPL
436 278 UNIMPL
437 279 UNIMPL
438 280 UNIMPL
439 281 UNIMPL
440 282 UNIMPL
441 283 UNIMPL
442 284 UNIMPL
443 285 UNIMPL
444 286 UNIMPL
445 287 UNIMPL
446 288 UNIMPL
447 289 UNIMPL
448 290 UNIMPL
449 291 UNIMPL
450 292 UNIMPL
451 293 UNIMPL
452 294 UNIMPL
453 295 UNIMPL
454 296 UNIMPL
455 297 UNIMPL
456 298 UNIMPL
457 299 UNIMPL
458 300 UNIMPL bdflush
459 301 UNIMPL sethae
460 302 UNIMPL mount
461 303 UNIMPL old_adjtimex
462 304 UNIMPL swapoff
463 305 STD { int linux_sys_getdents(int fd, \
464 struct linux_dirent *dent, unsigned int count); }
465 306 UNIMPL create_module
466 307 UNIMPL init_module
467 308 UNIMPL delete_module
468 309 UNIMPL get_kernel_syms
469 310 UNIMPL syslog
470 311 STD { int linux_sys_reboot(int magic1, int magic2, \
471 int cmd, void *arg); }
472 ; XXX XXX XAX need machine dependant sys_clone
473 312 UNIMPL { int linux_sys_clone(int flags, void *stack); }
474 ; XXX XAX does alpha linux really have a.out exec?
475 #ifdef EXEC_AOUT
476 313 STD { int linux_sys_uselib(char *path); }
477 #else
478 313 UNIMPL sys_uselib
479 #endif
480 314 NOARGS { int sys_mlock(const void *addr, size_t len); }
481 315 NOARGS { int sys_munlock(const void *addr, size_t len); }
482 316 UNIMPL mlockall
483 317 UNIMPL munlockall
484 318 UNIMPL sysinfo
485 319 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); }
486 320 UNIMPL idle
487 321 UNIMPL umount
488 322 NOARGS { int compat_12_sys_swapon(const char *name); }
489 323 STD { int linux_sys_times(struct times *tms); }
490 324 STD { int linux_sys_personality(int per); }
491 325 STD { int linux_sys_setfsuid(uid_t uid); }
492 326 UNIMPL setfsgid
493 327 UNIMPL ustat
494 328 STD { int linux_sys_statfs(const char *path, \
495 struct linux_statfs *sp); }
496 329 STD { int linux_sys_fstatfs(int fd, \
497 struct linux_statfs *sp); }
498 330 STD { int linux_sys_sched_setparam(pid_t pid, \
499 const struct linux_sched_param *sp); }
500 331 STD { int linux_sys_sched_getparam(pid_t pid, \
501 struct linux_sched_param *sp); }
502 332 STD { int linux_sys_sched_setscheduler(pid_t pid, \
503 int policy, const struct linux_sched_param *sp); }
504 333 STD { int linux_sys_sched_getscheduler(pid_t pid); }
505 334 STD { int linux_sys_sched_yield(void); }
506 335 STD { int linux_sys_sched_get_priority_max(int policy); }
507 336 STD { int linux_sys_sched_get_priority_min(int policy); }
508 337 UNIMPL sched_rr_get_interval
509 338 UNIMPL afs_syscall
510 339 STD { int linux_sys_uname(struct linux_utsname *up); }
511 340 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \
512 struct timespec *rmtp); }
513 341 STD { void *linux_sys_mremap(void *old_address, \
514 size_t old_size, size_t new_size, u_long flags); }
515 342 UNIMPL nfsservctl
516 343 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \
517 uid_t suid); }
518 344 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
519 uid_t *suid); }
520 345 UNIMPL pciconfig_read
521 346 UNIMPL pciconfig_write
522 347 UNIMPL query_module
523 348 UNIMPL prctl
524 349 STD { int linux_sys_pread(int fd, char *buf, \
525 size_t nbyte, linux_off_t offset); }
526 350 STD { int linux_sys_pwrite(int fd, char *buf, \
527 size_t nbyte, linux_off_t offset); }
528 351 STD { int linux_sys_rt_sigreturn( \
529 struct linux_rt_sigframe *sfp); }
530 352 STD { int linux_sys_rt_sigaction(int signum, \
531 const struct linux_sigaction *nsa, \
532 struct linux_sigaction *osa, \
533 size_t sigsetsize); }
534 353 STD { int linux_sys_rt_sigprocmask(int how, \
535 const linux_sigset_t *set, \
536 linux_sigset_t *oset, \
537 size_t sigsetsize); }
538 354 STD { int linux_sys_rt_sigpending( \
539 linux_sigset_t *set, \
540 size_t sigsetsize); }
541 355 UNIMPL rt_sigtimedwait
542 ; XXX XAX int here? sigset_t here?
543 356 STD { int linux_sys_rt_queueinfo(int pid, int signum, \
544 linux_siginfo_t *uinfo); }
545 357 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
546 size_t sigsetsize); }
547 358 STD { int linux_sys_select(int nfds, fd_set *readfds, \
548 fd_set *writefds, fd_set *exceptfds, \
549 struct timeval *timeout); }
550 359 NOARGS { int sys_gettimeofday(struct timeval *tp, \
551 struct timezone *tzp); }
552 360 NOARGS { int sys_settimeofday(const struct timeval *tp, \
553 const struct timezone *tzp); }
554 361 NOARGS { int sys_getitimer(int which, \
555 struct itimerval *itv); }
556 362 NOARGS { int sys_setitimer(int which, \
557 const struct itimerval *itv, \
558 struct itimerval *oitv); }
559 363 NOARGS { int sys_utimes(char *path, \
560 struct timeval *times); }
561 364 NOARGS { int sys_getrusage(int who, struct rusage *rusage); }
562 365 STD { int linux_sys_wait4(int pid, int *status, \
563 int options, struct rusage *rusage); }
564 366 UNIMPL adjtimex
565 367 NOARGS { int sys___getcwd(char *bufp, size_t length); }
566 368 UNIMPL capget
567 369 UNIMPL capset
568 370 UNIMPL sendfile
569