syscalls.master revision 1.57 1 $NetBSD: syscalls.master,v 1.57 2007/03/04 06:01:18 christos 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, void *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 void *taddr, unsigned long tsize, \
138 void *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 void *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 STD { int linux_sys_mprotect(const void *start, \
180 unsigned long len, int prot); }
181 75 NOARGS { int sys_madvise(void *addr, size_t len, int behav); }
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 STD { int linux_sys_getpriority(int which, int who); }
218 101 STD { int linux_sys_send(int s, void *buf, int len, \
219 int flags); }
220 102 STD { int linux_sys_recv(int s, void *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(void *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 void *asa, int *alen); }
282 142 UNIMPL
283 143 UNIMPL
284 144 STD { int linux_sys_getrlimit(int which, \
285 struct orlimit *rlp); }
286 145 STD { int linux_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 void *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 ; XXX: Dunno
345 191 STD { int linux_sys_ugetrlimit(int which, \
346 struct rlimit *rlp); }
347 192 UNIMPL mmap2
348 193 UNIMPL
349 194 UNIMPL
350 195 UNIMPL
351 196 UNIMPL
352 197 UNIMPL
353 198 UNIMPL
354 199 UNIMPL osf1_sys_swapon
355 #ifdef SYSVMSG
356 200 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \
357 struct linux_msqid_ds *buf); }
358 201 NOARGS { int sys_msgget(key_t key, int msgflg); }
359 202 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \
360 size_t msgsz, long msgtyp, int msgflg); }
361 203 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
362 int msgflg); }
363 #else
364 200 UNIMPL msgctl
365 201 UNIMPL msgget
366 202 UNIMPL msgrcv
367 203 UNIMPL msgsnd
368 #endif
369 #ifdef SYSVSEM
370 204 NOARGS { int linux_sys_semctl(int semid, int semnum, \
371 int cmd, union linux_semun arg); }
372 205 NOARGS { int sys_semget(key_t key, int nsems, int semflg); }
373 206 NOARGS { int sys_semop(int semid, struct sembuf *sops, \
374 size_t nsops); }
375 #else
376 204 UNIMPL semctl
377 205 UNIMPL semget
378 206 UNIMPL semop
379 #endif
380 ;207 ALIAS osf1_sys_utsname
381 207 STD { int linux_sys_olduname(struct linux_old_utsname *up); }
382 208 NOARGS { int sys___posix_lchown(const char *path, int uid, int gid); }
383 #ifdef SYSVSHM
384 209 NOARGS { int linux_sys_shmat(int shmid, void *shmaddr, \
385 int shmflg, u_long *raddr); }
386 210 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \
387 struct linux_shmid_ds *buf); }
388 211 NOARGS { int sys_shmdt(const void *shmaddr); }
389 212 STD { int linux_sys_shmget(key_t key, size_t size, int shmflg); }
390 #else
391 209 UNIMPL shmat
392 210 UNIMPL shmctl
393 211 UNIMPL shmdt
394 212 UNIMPL shmget
395 #endif
396 213 UNIMPL
397 214 UNIMPL
398 215 UNIMPL
399 216 UNIMPL
400 217 STD { int linux_sys_msync(void *addr, int len, int fl); }
401 218 UNIMPL
402 219 UNIMPL
403 220 UNIMPL
404 221 UNIMPL
405 222 UNIMPL
406 223 UNIMPL
407 224 UNIMPL
408 225 UNIMPL
409 226 UNIMPL
410 227 UNIMPL
411 228 UNIMPL
412 229 UNIMPL
413 230 UNIMPL
414 231 UNIMPL
415 232 UNIMPL
416 233 STD { int linux_sys_getpgid(int pid); }
417 234 NOARGS { pid_t sys_getsid(pid_t pid); }
418 235 UNIMPL sigaltstack
419 236 UNIMPL
420 237 UNIMPL
421 238 UNIMPL
422 239 UNIMPL
423 240 UNIMPL
424 241 NODEF { int osf1_sys_sysinfo(int cmd, char buf, long len); }
425 242 UNIMPL
426 243 UNIMPL
427 244 UNIMPL osf1_sys_proplist_syscall
428 245 UNIMPL
429 246 UNIMPL
430 247 UNIMPL
431 248 UNIMPL
432 249 UNIMPL
433 250 UNIMPL
434 251 NODEF { int osf1_sys_usleep_thread( \
435 struct osf1_timeval *sleep, \
436 struct osf1_timeval *slept); }
437 252 UNIMPL
438 253 UNIMPL
439 254 UNIMPL
440 255 UNIMPL sysfs
441 256 NODEF { int osf1_sys_getsysinfo(u_long op, void *buffer, \
442 u_long nbytes, void *arg, u_long flag); }
443 257 NODEF { int osf1_sys_setsysinfo(u_long op, void *buffer, \
444 u_long nbytes, void *arg, u_long flag); }
445 258 UNIMPL
446 259 UNIMPL
447 260 UNIMPL
448 ; This entry doesn't exist in the Alpha linux syscall table but the function is
449 ; implemented and used on other ports.
450 261 STD { int linux_sys_fdatasync(int fd); }
451 262 UNIMPL
452 263 UNIMPL
453 264 UNIMPL
454 265 UNIMPL
455 266 UNIMPL
456 267 UNIMPL
457 268 UNIMPL
458 269 UNIMPL
459 270 UNIMPL
460 271 UNIMPL
461 272 UNIMPL
462 273 UNIMPL
463 274 UNIMPL
464 275 UNIMPL
465 276 UNIMPL
466 277 UNIMPL
467 278 UNIMPL
468 279 UNIMPL
469 280 UNIMPL
470 281 UNIMPL
471 282 UNIMPL
472 283 UNIMPL
473 284 UNIMPL
474 285 UNIMPL
475 286 UNIMPL
476 287 UNIMPL
477 288 UNIMPL
478 289 UNIMPL
479 290 UNIMPL
480 291 UNIMPL
481 292 UNIMPL
482 293 UNIMPL
483 294 UNIMPL
484 295 UNIMPL
485 296 UNIMPL
486 297 UNIMPL
487 298 UNIMPL
488 299 UNIMPL
489 300 UNIMPL bdflush
490 301 UNIMPL sethae
491 302 UNIMPL mount
492 303 UNIMPL old_adjtimex
493 304 STD { int linux_sys_swapoff(const char *path); }
494 305 STD { int linux_sys_getdents(int fd, \
495 struct linux_dirent *dent, unsigned int count); }
496 306 UNIMPL alpha_create_module
497 307 UNIMPL init_module
498 308 UNIMPL delete_module
499 309 UNIMPL get_kernel_syms
500 310 UNIMPL syslog
501 311 STD { int linux_sys_reboot(int magic1, int magic2, \
502 int cmd, void *arg); }
503 312 STD { int linux_sys_clone(int flags, void *stack); }
504 #ifdef EXEC_AOUT
505 313 STD { int linux_sys_uselib(const char *path); }
506 #else
507 313 UNIMPL sys_uselib
508 #endif
509 314 NOARGS { int sys_mlock(const void *addr, size_t len); }
510 315 NOARGS { int sys_munlock(const void *addr, size_t len); }
511 316 NOARGS { int sys_mlockall(int flags); }
512 317 NOARGS { int sys_munlockall(void); }
513 318 STD { int linux_sys_sysinfo(struct linux_sysinfo *arg); }
514 319 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); }
515 320 UNIMPL idle
516 321 UNIMPL oldumount
517 322 STD { int linux_sys_swapon(const char *name); }
518 323 STD { int linux_sys_times(struct times *tms); }
519 324 STD { int linux_sys_personality(int per); }
520 325 STD { int linux_sys_setfsuid(uid_t uid); }
521 326 UNIMPL setfsgid
522 327 UNIMPL ustat
523 328 STD { int linux_sys_statfs(const char *path, \
524 struct linux_statfs *sp); }
525 329 STD { int linux_sys_fstatfs(int fd, \
526 struct linux_statfs *sp); }
527 330 STD { int linux_sys_sched_setparam(pid_t pid, \
528 const struct linux_sched_param *sp); }
529 331 STD { int linux_sys_sched_getparam(pid_t pid, \
530 struct linux_sched_param *sp); }
531 332 STD { int linux_sys_sched_setscheduler(pid_t pid, \
532 int policy, const struct linux_sched_param *sp); }
533 333 STD { int linux_sys_sched_getscheduler(pid_t pid); }
534 334 STD { int linux_sys_sched_yield(void); }
535 335 STD { int linux_sys_sched_get_priority_max(int policy); }
536 336 STD { int linux_sys_sched_get_priority_min(int policy); }
537 337 UNIMPL sched_rr_get_interval
538 338 UNIMPL afs_syscall
539 339 STD { int linux_sys_uname(struct linux_utsname *up); }
540 340 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \
541 struct timespec *rmtp); }
542 341 STD { void *linux_sys_mremap(void *old_address, \
543 size_t old_size, size_t new_size, u_long flags); }
544 342 UNIMPL nfsservctl
545 343 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \
546 uid_t suid); }
547 344 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
548 uid_t *suid); }
549 345 UNIMPL pciconfig_read
550 346 UNIMPL pciconfig_write
551 347 UNIMPL query_module
552 348 UNIMPL prctl
553 349 STD { int linux_sys_pread(int fd, char *buf, \
554 size_t nbyte, linux_off_t offset); }
555 350 STD { int linux_sys_pwrite(int fd, char *buf, \
556 size_t nbyte, linux_off_t offset); }
557 351 STD { int linux_sys_rt_sigreturn( \
558 struct linux_rt_sigframe *sfp); }
559 352 STD { int linux_sys_rt_sigaction(int signum, \
560 const struct linux_sigaction *nsa, \
561 struct linux_sigaction *osa, \
562 size_t sigsetsize); }
563 353 STD { int linux_sys_rt_sigprocmask(int how, \
564 const linux_sigset_t *set, \
565 linux_sigset_t *oset, \
566 size_t sigsetsize); }
567 354 STD { int linux_sys_rt_sigpending( \
568 linux_sigset_t *set, \
569 size_t sigsetsize); }
570 355 UNIMPL rt_sigtimedwait
571 ; XXX XAX int here? sigset_t here?
572 356 STD { int linux_sys_rt_queueinfo(int pid, int signum, \
573 linux_siginfo_t *uinfo); }
574 357 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
575 size_t sigsetsize); }
576 358 STD { int linux_sys_select(int nfds, fd_set *readfds, \
577 fd_set *writefds, fd_set *exceptfds, \
578 struct timeval *timeout); }
579 359 NOARGS { int sys_gettimeofday(struct timeval *tp, \
580 struct timezone *tzp); }
581 360 NOARGS { int sys_settimeofday(const struct timeval *tp, \
582 const struct timezone *tzp); }
583 361 NOARGS { int sys_getitimer(int which, \
584 struct itimerval *itv); }
585 362 NOARGS { int sys_setitimer(int which, \
586 const struct itimerval *itv, \
587 struct itimerval *oitv); }
588 363 NOARGS { int sys_utimes(char *path, \
589 struct timeval *times); }
590 364 NOARGS { int sys_getrusage(int who, struct rusage *rusage); }
591 365 STD { int linux_sys_wait4(int pid, int *status, \
592 int options, struct rusage *rusage); }
593 366 UNIMPL adjtimex
594 367 NOARGS { int sys___getcwd(char *bufp, size_t length); }
595 368 UNIMPL capget
596 369 UNIMPL capset
597 370 UNIMPL sendfile
598 371 UNIMPL setresgid
599 372 UNIMPL getresgid
600 373 UNIMPL sys_dipc
601 374 UNIMPL pivot_root
602 375 NOARGS { int sys_mincore(void *addr, size_t len, char *vec); }
603 376 UNIMPL pciconfig_iobase
604 377 STD { int linux_sys_getdents64(int fd, \
605 struct linux_dirent64 *dent, unsigned int count); }
606 378 UNIMPL gettid
607 379 UNIMPL readahead
608 380 UNIMPL /* unused */
609 381 UNIMPL tkill
610 382 STD { int linux_sys_setxattr(char *path, char *name, \
611 void *value, size_t size, int flags); }
612 383 STD { int linux_sys_lsetxattr(char *path, char *name, \
613 void *value, size_t size, int flags); }
614 384 STD { int linux_sys_fsetxattr(int fd, char *name, \
615 void *value, size_t size, int flags); }
616 385 STD { ssize_t linux_sys_getxattr(char *path, char *name, \
617 void *value, size_t size); }
618 386 STD { ssize_t linux_sys_lgetxattr(char *path, char *name, \
619 void *value, size_t size); }
620 387 STD { ssize_t linux_sys_fgetxattr(int fd, char *name, \
621 void *value, size_t size); }
622 388 STD { ssize_t linux_sys_listxattr(char *path, char *list, \
623 size_t size); }
624 389 STD { ssize_t linux_sys_llistxattr(char *path, char *list, \
625 size_t size); }
626 390 STD { ssize_t linux_sys_flistxattr(int fd, char *list, \
627 size_t size); }
628 391 STD { int linux_sys_removexattr(char *path, char *name); }
629 392 STD { int linux_sys_lremovexattr(char *path, char *name); }
630 393 STD { int linux_sys_fremovexattr(int fd, char *name); }
631 394 UNIMPL futex
632 395 UNIMPL sched_setaffinity
633 396 UNIMPL sched_getaffinity
634 397 UNIMPL tuxcall
635 398 UNIMPL io_setup
636 399 UNIMPL io_destroy
637 400 UNIMPL io_getevents
638 401 UNIMPL io_submit
639 402 UNIMPL io_cancel
640 403 UNIMPL /* unused */
641 404 UNIMPL /* unused */
642 405 STD { int linux_sys_exit_group(int error_code); }
643 406 UNIMPL lookup_dcookie
644 407 UNIMPL sys_epoll_create
645 408 UNIMPL sys_epoll_ctl
646 409 UNIMPL sys_epoll_wait
647 410 UNIMPL remap_file_pages
648 411 UNIMPL set_tid_address
649 412 UNIMPL restart_syscall
650 413 UNIMPL fadvise64
651 414 UNIMPL timer_create
652 415 UNIMPL timer_settime
653 416 UNIMPL timer_gettime
654 417 UNIMPL timer_getoverrun
655 418 UNIMPL timer_delete
656 419 STD { int linux_sys_clock_settime(clockid_t which, \
657 struct linux_timespec *tp); }
658 420 STD { int linux_sys_clock_gettime(clockid_t which, \
659 struct linux_timespec *tp); }
660 421 STD { int linux_sys_clock_getres(clockid_t which, \
661 struct linux_timespec *tp); }
662 422 STD { int linux_sys_clock_nanosleep(clockid_t which, \
663 int flags, struct linux_timespec *rqtp, \
664 struct linux_timespec *rmtp); }
665 423 UNIMPL semtimedop
666 424 UNIMPL tgkill
667 425 UNIMPL stat64
668 426 UNIMPL lstat64
669 427 UNIMPL fstat64
670 428 UNIMPL vserver
671 429 UNIMPL mbind
672 430 UNIMPL get_mempolicy
673 431 UNIMPL set_mempolicy
674 432 UNIMPL mq_open
675 433 UNIMPL mq_unlink
676 434 UNIMPL mq_timedsend
677 435 UNIMPL mq_timedreceive
678 436 UNIMPL mq_notify
679 437 UNIMPL mq_getsetattr
680