syscalls.master revision 1.18 1 $NetBSD: syscalls.master,v 1.18 2000/03/18 23:53:24 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 ; make linux_sys_sigreturn in linux_machdep.c use frame.extramask
49 ;
50 ; NOT USED = This syscall is not really used in Linux, except in its
51 ; osf compat mode. Since Linux binaries shouldn't ever
52 ; call it and osf binaries run under a different emulation,
53 ; it shouldn't matter that the linux version of the
54 ; function might not DTRT. Define it anyway so we
55 ; don't have to split off or ifdef the associated function.
56 ; A bit better might be to have makesyscalls identify this
57 ; as "define but don't include in table" so it doesn't actually
58 ; ever get called.
59 ; UNIMPL <blank> = not implemented here nor in linux source
60 ; UNIMPL osf_* = osf functions implemented in linux, not here.
61 ;
62
63 #include "opt_sysv.h"
64 #include "opt_compat_43.h"
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 0 NOARGS { int sys_nosys(void); } syscall
87 1 NOARGS { int sys_exit(int rval); }
88 2 NOARGS { int sys_fork(void); }
89 3 NOARGS { int sys_read(int fd, void *buf, size_t nbyte); }
90 4 NOARGS { int sys_write(int fd, const void *buf, size_t nbyte); }
91 5 UNIMPL
92 6 NOARGS { int sys_close(int fd); }
93 7 UNIMPL osf_wait4
94 ;8 OBSOL osf_old_creat, NOT USED
95 8 STD { int linux_sys_creat(const char *path, mode_t mode); }
96 9 NOARGS { int sys_link(const char *path, const char *link); }
97 10 STD { int linux_sys_unlink(const char *path); }
98 11 UNIMPL
99 12 STD { int linux_sys_chdir(const char *path); }
100 13 NOARGS { int sys_fchdir(int fd); }
101 14 STD { int linux_sys_mknod(const char *path, int mode, int dev); }
102 15 STD { int linux_sys_chmod(const char *path, int mode); }
103 16 STD { int linux_sys_chown(const char *path, int uid, int gid); }
104 ;17 ALIAS osf_brk
105 17 STD { int linux_sys_brk(char *nsize); }
106 18 UNIMPL
107 19 NOARGS { long compat_43_sys_lseek(int fd, long offset, \
108 int whence); }
109 20 NOARGS { pid_t sys_getpid(void); }
110 21 UNIMPL osf_mount
111 22 UNIMPL osf_umount
112 23 NOARGS { int sys_setuid(uid_t uid); }
113 24 NOARGS { uid_t sys_getuid(void); }
114 25 UNIMPL
115 26 STD { int linux_sys_ptrace(long request, long pid, \
116 long addr, long data); }
117 27 UNIMPL
118 28 UNIMPL
119 29 UNIMPL
120 30 UNIMPL
121 31 UNIMPL
122 32 UNIMPL
123 33 STD { int linux_sys_access(const char *path, int flags); }
124 34 UNIMPL
125 35 UNIMPL
126 36 NOARGS { int sys_sync(void); }
127 37 STD { int linux_sys_kill(int pid, int signum); }
128 38 UNIMPL
129 39 NOARGS { int sys_setpgid(int pid, int pgid); }
130 40 UNIMPL
131 41 NOARGS { int sys_dup(int fd); }
132 42 NOARGS { int linux_sys_pipe(void); }
133 43 UNIMPL osf_set_program_attributes
134 44 UNIMPL
135 45 STD { int linux_sys_open(const char *path, int flags, int mode); }
136 46 UNIMPL
137 47 NOARGS { gid_t sys_getgid(void); }
138 48 UNIMPL osf_sigprocmask
139 49 UNIMPL
140 50 UNIMPL
141 51 NOARGS { int sys_acct(const char *path); }
142 52 STD { int linux_sys_sigpending(linux_old_sigset_t *set); }
143 53 UNIMPL
144 54 STD { int linux_sys_ioctl(int fd, u_long com, \
145 caddr_t data); }
146 55 UNIMPL
147 56 UNIMPL
148 57 STD { int linux_sys_symlink(const char *path, const char *to); }
149 58 STD { int linux_sys_readlink(const char *name, char *buf, \
150 int count); }
151 59 STD { int linux_sys_execve(const char *path, char **argp, \
152 char **envp); }
153 60 NOARGS { mode_t sys_umask(mode_t newmask); }
154 61 NOARGS { int sys_chroot(const char *path); }
155 62 UNIMPL
156 63 NOARGS { int sys_getpgrp(void); }
157 64 NOARGS { int compat_43_sys_getpagesize(void); }
158 65 UNIMPL
159 66 NOARGS { int sys___vfork14(void); }
160 67 STD { int linux_sys_stat(const char *path, \
161 struct linux_stat *sp); }
162 68 STD { int linux_sys_lstat(const char *path, \
163 struct linux_stat *sp); }
164 69 UNIMPL
165 70 UNIMPL
166 71 NOARGS { int linux_sys_mmap(unsigned long addr, size_t len, \
167 int prot, int flags, int fd, off_t offset); }
168 72 UNIMPL
169 73 NOARGS { int sys_munmap(void *addr, size_t len); }
170 74 NOARGS { int sys_mprotect(void *addr, size_t len, int prot); }
171 75 UNIMPL madvise
172 76 UNIMPL vhangup
173 77 UNIMPL
174 78 UNIMPL
175 79 NOARGS { int sys_getgroups(int gidsetsize, gid_t *gidset); }
176 80 NOARGS { int sys_setgroups(int gidsetsize, const gid_t *gidset); }
177 81 UNIMPL
178 82 UNIMPL setpgrp
179 ;83: Uses int for seconds, and time_t. so need different itimerval struct.
180 83 UNIMPL osf_setitimer
181 84 UNIMPL
182 85 UNIMPL
183 ;86: Uses int for seconds, and time_t. so need different itimerval struct.
184 86 UNIMPL osf_getitimer
185 87 NOARGS { int compat_43_sys_gethostname(char *hostname, \
186 u_int len); }
187 88 NOARGS { int compat_43_sys_sethostname(char *hostname, \
188 u_int len); }
189 89 UNIMPL getdtablesize
190 90 NOARGS { int sys_dup2(int from, int to); }
191 91 STD { int linux_sys_fstat(int fd, struct linux_stat *sp); }
192 92 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); }
193 93 UNIMPL osf_select
194 94 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \
195 int timeout); }
196 95 NOARGS { int sys_fsync(int fd); }
197 96 NOARGS { int sys_setpriority(int which, int who, int prio); }
198 97 STD { int linux_sys_socket(int domain, int type, \
199 int protocol); }
200 98 STD { int linux_sys_connect(int s, \
201 const struct sockaddr *name, \
202 unsigned int namelen); }
203 99 NOARGS { int compat_43_sys_accept(int s, \
204 caddr_t name, int *anamelen); }
205 ;100 ALIAS osf_getpriority
206 100 NOARGS { int sys_getpriority(int which, int who); }
207 101 NOARGS { int compat_43_sys_send(int s, caddr_t buf, int len, \
208 int flags); }
209 102 NOARGS { int compat_43_sys_recv(int s, caddr_t buf, int len, \
210 int flags); }
211 103 STD { int linux_sys_sigreturn(struct linux_sigframe *sfp); }
212 104 NOARGS { int sys_bind(int s, const struct sockaddr *name, \
213 unsigned int namelen); }
214 105 STD { int linux_sys_setsockopt(int s, int level, \
215 int optname, void *optval, int optlen); }
216 106 NOARGS { int sys_listen(int s, int backlog); }
217 107 UNIMPL
218 108 UNIMPL
219 109 UNIMPL
220 110 UNIMPL
221
222 111 STD { int linux_sys_sigsuspend(caddr_t restart, \
223 int oldmask, int mask); }
224 112 UNIMPL
225 113 NOARGS { size_t sys_recvmsg(int fd, struct msghdr *msg, \
226 int flags); }
227 114 NOARGS { ssize_t sys_sendmsg(int fd, \
228 const struct msghdr *msg, int flags); }
229 115 UNIMPL
230 116 UNIMPL osf_gettimeofday
231 117 UNIMPL osf_getrusage
232 118 STD { int linux_sys_getsockopt(int s, int level, \
233 int optname, void *optval, int *optlen); }
234 119 UNIMPL
235 120 NOARGS { ssize_t sys_readv(int fd, const struct iovec *iovp, \
236 int iovcnt); }
237 121 NOARGS { ssize_t sys_writev(int fd, struct iovec *iovp, \
238 int iovcnt); }
239 122 UNIMPL osf_settimeofday
240 123 STD { int linux_sys_fchown(int fd, int uid, int gid); }
241 124 NOARGS { int sys_fchmod(int fd, mode_t mode); }
242 125 STD { int linux_sys_recvfrom(int s, void *buf, int len, \
243 int flags, struct sockaddr *from, \
244 int *fromlen); }
245 126 STD { int linux_sys_setreuid(int ruid, int euid); }
246 127 STD { int linux_sys_setregid(int rgid, int egid); }
247 128 STD { int linux_sys_rename(const char *from, const char *to); }
248 129 STD { int linux_sys_truncate(const char *path, long length); }
249 130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); }
250 131 NOARGS { int sys_flock(int fd, int how); }
251 132 NOARGS { int sys_setgid(gid_t gid); }
252 133 STD { int linux_sys_sendto(int s, void *msg, int len, \
253 int flags, struct sockaddr *to, int tolen); }
254 134 NOARGS { int sys_shutdown(int s, int how); }
255 135 STD { int linux_sys_socketpair(int domain, int type, \
256 int protocol, int *rsv); }
257 136 STD { int linux_sys_mkdir(const char *path, int mode); }
258 137 STD { int linux_sys_rmdir(const char *path); }
259 138 UNIMPL osf_utimes
260 139 UNIMPL
261 140 UNIMPL
262 141 NOARGS { int compat_43_sys_getpeername(int fdes, \
263 caddr_t asa, int *alen); }
264 142 UNIMPL
265 143 UNIMPL
266 144 NOARGS { int compat_43_sys_getrlimit(int which, \
267 struct orlimit *rlp); }
268 145 NOARGS { int compat_43_sys_setrlimit(int which, \
269 const struct orlimit *rlp); }
270 146 UNIMPL
271 147 NOARGS { int sys_setsid(void); }
272 148 UNIMPL quotactl
273 149 UNIMPL
274 150 NOARGS { int compat_43_sys_getsockname(int fdec, \
275 caddr_t asa, int *alen); }
276 151 UNIMPL
277 152 UNIMPL
278 153 UNIMPL
279 154 UNIMPL
280 155 UNIMPL
281 ;156 ALIAS osf_sigaction
282 156 STD { int linux_sys_sigaction(int signum, \
283 const struct linux_old_sigaction *nsa, \
284 struct linux_old_sigaction *osa); }
285 157 UNIMPL
286 158 UNIMPL
287 159 UNIMPL osf_getdirentries
288 160 UNIMPL osf_statfs
289 161 UNIMPL osf_fstatfs
290 162 UNIMPL
291 163 UNIMPL
292 164 UNIMPL
293 165 UNIMPL osf_getdomainname
294 ;166 ALIAS osf_setdomainname
295 166 UNIMPL setdomainname
296 167 UNIMPL
297 168 UNIMPL
298 169 UNIMPL
299 170 UNIMPL
300 171 UNIMPL
301 172 UNIMPL
302 173 UNIMPL
303 174 UNIMPL
304 175 UNIMPL
305 176 UNIMPL
306 177 UNIMPL
307 178 UNIMPL
308 179 UNIMPL
309 180 UNIMPL
310 181 UNIMPL
311 182 UNIMPL
312 183 UNIMPL
313 184 UNIMPL
314 185 UNIMPL
315 186 UNIMPL
316 187 UNIMPL
317 188 UNIMPL
318 189 UNIMPL
319 190 UNIMPL
320 191 UNIMPL
321 192 UNIMPL
322 193 UNIMPL
323 194 UNIMPL
324 195 UNIMPL
325 196 UNIMPL
326 197 UNIMPL
327 198 UNIMPL
328 199 UNIMPL osf_swapon
329 #ifdef SYSVMSG
330 200 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \
331 struct linux_msqid_ds *buf); }
332 201 NOARGS { int sys_msgget(key_t key, int msgflg); }
333 202 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \
334 size_t msgsz, long msgtyp, 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