syscalls.master revision 1.89.6.2       1  1.89.6.1       mjf 	$NetBSD: syscalls.master,v 1.89.6.2 2009/01/17 13:28:44 mjf Exp $
      2       1.1      fvdl 
      3       1.1      fvdl ;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
      4       1.1      fvdl 
      5      1.26       erh ; NetBSD i386 COMPAT_LINUX system call name/number "master" file.
      6       1.1      fvdl ; (See syscalls.conf to see what it is processed into.)
      7       1.1      fvdl ;
      8       1.1      fvdl ; Fields: number type [type-dependent ...]
      9       1.1      fvdl ;	number	system call number, must be in order
     10       1.1      fvdl ;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
     11       1.1      fvdl ;		the compatibility options defined in syscalls.conf.
     12       1.1      fvdl ;
     13       1.1      fvdl ; types:
     14       1.1      fvdl ;	STD	always included
     15       1.1      fvdl ;	OBSOL	obsolete, not included in system
     16       1.1      fvdl ;	UNIMPL	unimplemented, not included in system
     17       1.1      fvdl ;	NODEF	included, but don't define the syscall number
     18       1.1      fvdl ;	NOARGS	included, but don't define the syscall args structure
     19      1.26       erh ;	INDIR	included, but don't define the syscall args structure
     20      1.26       erh ;		and allow it to be "really" varargs.
     21       1.1      fvdl ;
     22       1.1      fvdl ; The compat options are defined in the syscalls.conf file, and the
     23       1.1      fvdl ; compat option name is prefixed to the syscall name.  Other than
     24       1.1      fvdl ; that, they're like NODEF (for 'compat' options), or STD (for
     25       1.1      fvdl ; 'libcompat' options).
     26       1.1      fvdl ;
     27       1.1      fvdl ; The type-dependent arguments are as follows:
     28       1.1      fvdl ; For STD, NODEF, NOARGS, and compat syscalls:
     29       1.1      fvdl ;	{ pseudo-proto } [alias]
     30       1.1      fvdl ; For other syscalls:
     31       1.1      fvdl ;	[comment]
     32       1.1      fvdl ;
     33       1.1      fvdl ; #ifdef's, etc. may be included, and are copied to the output files.
     34      1.22   thorpej ; #include's are copied to the syscall names and switch definition files only.
     35      1.28  christos 
     36       1.1      fvdl #include <sys/param.h>
     37      1.32       abs #include <sys/poll.h>
     38       1.1      fvdl #include <sys/systm.h>
     39       1.1      fvdl #include <sys/signal.h>
     40       1.1      fvdl #include <sys/mount.h>
     41       1.1      fvdl #include <sys/syscallargs.h>
     42      1.13   mycroft 
     43  1.89.6.2       mjf #include <compat/sys/time.h>
     44  1.89.6.2       mjf 
     45      1.27  christos #include <compat/linux/common/linux_types.h>
     46      1.62  christos #include <compat/linux/common/linux_mmap.h>
     47      1.27  christos #include <compat/linux/common/linux_signal.h>
     48      1.27  christos #include <compat/linux/common/linux_siginfo.h>
     49      1.27  christos #include <compat/linux/common/linux_machdep.h>
     50      1.27  christos 
     51      1.27  christos #include <compat/linux/linux_syscallargs.h>
     52      1.13   mycroft 
     53      1.46   mycroft %%
     54       1.1      fvdl 
     55  1.89.6.2       mjf 0	NOARGS		{ int|linux_sys||nosys(void); } syscall
     56  1.89.6.2       mjf 1	NOARGS		{ int|sys||exit(int rval); }
     57  1.89.6.2       mjf 2	NOARGS		{ int|sys||fork(void); }
     58  1.89.6.2       mjf 3	NOARGS		{ int|sys||read(int fd, char *buf, u_int nbyte); }
     59  1.89.6.2       mjf 4	NOARGS		{ int|sys||write(int fd, char *buf, u_int nbyte); }
     60  1.89.6.2       mjf 5	STD		{ int|linux_sys||open(const char *path, int flags, \
     61      1.29  christos 			    int mode); }
     62  1.89.6.2       mjf 6	NOARGS		{ int|sys||close(int fd); }
     63  1.89.6.2       mjf 7	STD		{ int|linux_sys||waitpid(int pid, int *status, \
     64      1.13   mycroft 			    int options);}
     65  1.89.6.2       mjf 8	STD		{ int|linux_sys||creat(const char *path, int mode); }
     66  1.89.6.2       mjf 9	NOARGS		{ int|sys||link(const char *path, const char *link); }
     67  1.89.6.2       mjf 10	STD		{ int|linux_sys||unlink(const char *path); }
     68  1.89.6.2       mjf 11	NOARGS		{ int|sys||execve(const char *path, char **argp, \
     69      1.13   mycroft 			    char **envp); }
     70  1.89.6.2       mjf 12	NOARGS		{ int|sys||chdir(const char *path); }
     71  1.89.6.2       mjf 13	STD		{ int|linux_sys||time(linux_time_t *t); }
     72  1.89.6.2       mjf 14	STD		{ int|linux_sys||mknod(const char *path, int mode, \
     73      1.29  christos 			    int dev); }
     74  1.89.6.2       mjf 15	NOARGS		{ int|sys||chmod(const char *path, int mode); }
     75  1.89.6.2       mjf 16	STD		{ int|linux_sys||lchown16(const char *path, \
     76      1.89     njoly 			    linux_uid16_t uid, linux_gid16_t gid); }
     77      1.26       erh ;17 - no longer in linux source.
     78  1.89.6.2       mjf 17	STD		{ int|linux_sys||break(char *nsize); }
     79      1.13   mycroft 18	OBSOL		ostat
     80  1.89.6.2       mjf 19	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
     81      1.13   mycroft 			    int whence); }
     82      1.84  christos #ifdef	LINUX_NPTL
     83  1.89.6.2       mjf 20	STD		{ pid_t|linux_sys||getpid(void); }
     84      1.84  christos #else
     85  1.89.6.2       mjf 20	NOARGS 		{ pid_t|sys||getpid(void); }
     86      1.84  christos #endif
     87      1.13   mycroft 21	UNIMPL		mount
     88      1.13   mycroft 22	UNIMPL		umount
     89  1.89.6.2       mjf 23	NOARGS		linux_setuid16 { int|sys||setuid(uid_t uid); }
     90  1.89.6.2       mjf 24	NOARGS		linux_getuid16 { uid_t|sys||getuid(void); }
     91  1.89.6.2       mjf 25	STD		{ int|linux_sys||stime(linux_time_t *t); }
     92  1.89.6.2       mjf 26	STD		{ int|linux_sys||ptrace(int request, int pid, \
     93      1.39      tron 			  int addr, int data); }
     94  1.89.6.2       mjf 27	STD		{ int|linux_sys||alarm(unsigned int secs); }
     95      1.13   mycroft 28	OBSOL		ofstat
     96  1.89.6.2       mjf 29	STD		{ int|linux_sys||pause(void); }
     97  1.89.6.2       mjf 30	STD		{ int|linux_sys||utime(const char *path, \
     98      1.13   mycroft 			    struct linux_utimbuf *times); }
     99      1.26       erh 31	OBSOL		stty
    100      1.26       erh 32	OBSOL		gtty
    101  1.89.6.2       mjf 33	NOARGS		{ int|sys||access(const char *path, int flags); }
    102  1.89.6.2       mjf 34	STD		{ int|linux_sys||nice(int incr); }
    103      1.26       erh 35	OBSOL		ftime
    104  1.89.6.2       mjf 36	NOARGS		{ int|sys||sync(void); }
    105  1.89.6.2       mjf 37	STD		{ int|linux_sys||kill(int pid, int signum); }
    106  1.89.6.2       mjf 38	NOARGS		{ int|sys||__posix_rename(const char *from, \
    107      1.29  christos 			    const char *to); }
    108  1.89.6.2       mjf 39	NOARGS		{ int|sys||mkdir(const char *path, int mode); }
    109  1.89.6.2       mjf 40	NOARGS		{ int|sys||rmdir(const char *path); }
    110  1.89.6.2       mjf 41	NOARGS		{ int|sys||dup(u_int fd); }
    111  1.89.6.2       mjf 42	STD		{ int|linux_sys||pipe(int *pfds); }
    112  1.89.6.2       mjf 43	STD		{ int|linux_sys||times(struct times *tms); }
    113      1.26       erh 44	OBSOL		prof
    114  1.89.6.2       mjf 45	STD		{ int|linux_sys||brk(char *nsize); }
    115  1.89.6.2       mjf 46	NOARGS		linux_setgid16 { int|sys||setgid(gid_t gid); }
    116  1.89.6.2       mjf 47	NOARGS		linux_getgid16 { gid_t|sys||getgid(void); }
    117  1.89.6.2       mjf 48	STD		{ int|linux_sys||signal(int signum, \
    118      1.13   mycroft 			    linux_handler_t handler); }
    119  1.89.6.2       mjf 49	NOARGS		linux_geteuid16 { uid_t|sys||geteuid(void); }
    120  1.89.6.2       mjf 50	NOARGS		linux_getegid16 { gid_t|sys||getegid(void); }
    121  1.89.6.2       mjf 51	NOARGS		{ int|sys||acct(char *path); }
    122      1.26       erh 52	OBSOL		phys
    123      1.26       erh 53	OBSOL		lock
    124  1.89.6.2       mjf 54	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
    125      1.82  christos 			    void *data); }
    126  1.89.6.2       mjf 55	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
    127      1.26       erh 56	OBSOL		mpx
    128  1.89.6.2       mjf 57	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
    129      1.26       erh 58	OBSOL		ulimit
    130  1.89.6.2       mjf 59	STD		{ int|linux_sys||oldolduname( \
    131      1.62  christos 			    struct linux_oldold_utsname *up); }
    132  1.89.6.2       mjf 60	NOARGS		{ int|sys||umask(int newmask); }
    133  1.89.6.2       mjf 61	NOARGS		{ int|sys||chroot(char *path); }
    134      1.13   mycroft 62	UNIMPL		ustat
    135  1.89.6.2       mjf 63	NOARGS		{ int|sys||dup2(u_int from, u_int to); }
    136      1.84  christos #ifdef LINUX_NPTL
    137  1.89.6.2       mjf 64	STD		{ pid_t|linux_sys||getppid(void); }
    138      1.84  christos #else
    139  1.89.6.2       mjf 64	NOARGS		{ pid_t|sys||getppid(void); }
    140      1.84  christos #endif
    141  1.89.6.2       mjf 65	NOARGS		{ int|sys||getpgrp(void); }
    142  1.89.6.2       mjf 66	NOARGS		{ int|sys||setsid(void); }
    143  1.89.6.2       mjf 67	STD		{ int|linux_sys||sigaction(int signum, \
    144      1.26       erh 			    const struct linux_old_sigaction *nsa, \
    145      1.26       erh 			    struct linux_old_sigaction *osa); }
    146  1.89.6.2       mjf 68	STD		{ int|linux_sys||siggetmask(void); }
    147  1.89.6.2       mjf 69	STD		{ int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
    148  1.89.6.2       mjf 70	STD		{ int|linux_sys||setreuid16(linux_uid16_t ruid, \
    149      1.89     njoly 			    linux_uid16_t euid); }
    150  1.89.6.2       mjf 71	STD		{ int|linux_sys||setregid16(linux_gid16_t rgid, \
    151      1.89     njoly 			    linux_gid16_t egid); }
    152  1.89.6.2       mjf 72	STD		{ int|linux_sys||sigsuspend(void *restart, \
    153      1.13   mycroft 			    int oldmask, int mask); }
    154  1.89.6.2       mjf 73	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
    155  1.89.6.2       mjf 74	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
    156      1.13   mycroft 			    u_int len);}
    157  1.89.6.2       mjf 75	STD		{ int|linux_sys||setrlimit(u_int which, \
    158      1.20   mycroft 			    struct orlimit *rlp); }
    159  1.89.6.2       mjf 76	STD		{ int|linux_sys||getrlimit(u_int which, \
    160      1.20   mycroft 			    struct orlimit *rlp); }
    161  1.89.6.2       mjf 77	NOARGS		{ int|compat_50_sys||getrusage(int who, \
    162  1.89.6.2       mjf 			    struct rusage50 *rusage); }
    163  1.89.6.2       mjf 78	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
    164      1.13   mycroft 			    struct timezone *tzp); }
    165  1.89.6.2       mjf 79	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
    166      1.13   mycroft 			    struct timezone *tzp); }
    167  1.89.6.2       mjf 80	STD		{ int|linux_sys||getgroups16(int gidsetsize, \
    168      1.89     njoly 			    linux_gid16_t *gidset); }
    169  1.89.6.2       mjf 81	STD		{ int|linux_sys||setgroups16(int gidsetsize, \
    170      1.89     njoly 			    linux_gid16_t *gidset); }
    171  1.89.6.2       mjf 82	STD		{ int|linux_sys||oldselect(struct linux_oldselect *lsp); }
    172  1.89.6.2       mjf 83	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
    173  1.89.6.2       mjf 84	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
    174      1.21  christos 			    struct stat43 *up); } oolstat
    175  1.89.6.2       mjf 85	NOARGS		{ int|sys||readlink(const char *name, char *buf, \
    176      1.13   mycroft 			    int count); }
    177      1.74     joerg #ifdef EXEC_AOUT
    178  1.89.6.2       mjf 86	STD		{ int|linux_sys||uselib(const char *path); }
    179      1.74     joerg #else
    180      1.74     joerg 86	UNIMPL		sys_uselib
    181      1.74     joerg #endif
    182  1.89.6.2       mjf 87	STD		{ int|linux_sys||swapon(char *name); }
    183  1.89.6.2       mjf 88	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
    184      1.41       erh 			    int cmd, void *arg); }
    185  1.89.6.2       mjf 89	STD		{ int|linux_sys||readdir(int fd, void *dent, \
    186       1.1      fvdl 			    unsigned int count); }
    187  1.89.6.2       mjf 90	STD		{ int|linux_sys||old_mmap(struct linux_oldmmap *lmp); }
    188  1.89.6.2       mjf 91	NOARGS		{ int|sys||munmap(void *addr, int len); }
    189  1.89.6.2       mjf 92	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
    190      1.29  christos 			    long length); }
    191  1.89.6.2       mjf 93	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
    192  1.89.6.2       mjf 94	NOARGS		{ int|sys||fchmod(int fd, int mode); }
    193  1.89.6.2       mjf 95	STD		{ int|linux_sys||fchown16(int fd, linux_uid16_t uid, \
    194      1.89     njoly 			    linux_gid16_t gid); }
    195  1.89.6.2       mjf 96	STD		{ int|linux_sys||getpriority(int which, int who); }
    196  1.89.6.2       mjf 97	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
    197  1.89.6.2       mjf 98	NOARGS		{ int|sys||profil(void *samples, u_int size, \
    198      1.13   mycroft 			    u_int offset, u_int scale); }
    199  1.89.6.2       mjf 99	STD		{ int|linux_sys||statfs(const char *path, \
    200      1.13   mycroft 			    struct linux_statfs *sp); }
    201  1.89.6.2       mjf 100	STD		{ int|linux_sys||fstatfs(int fd, \
    202      1.13   mycroft 			    struct linux_statfs *sp); }
    203  1.89.6.2       mjf 101	STD		{ int|linux_sys||ioperm(unsigned int lo, \
    204      1.13   mycroft 			    unsigned int hi, int val); }
    205  1.89.6.2       mjf 102	STD		{ int|linux_sys||socketcall(int what, void *args); }
    206      1.26       erh 103	UNIMPL		syslog
    207  1.89.6.2       mjf 104	NOARGS		{ int|compat_50_sys||setitimer(u_int which, \
    208  1.89.6.2       mjf 			    struct itimerval50 *itv, struct itimerval50 *oitv); }
    209  1.89.6.2       mjf 105	NOARGS		{ int|compat_50_sys||getitimer(u_int which, \
    210  1.89.6.2       mjf 			    struct itimerval50 *itv); }
    211  1.89.6.2       mjf 106	STD		{ int|linux_sys||stat(const char *path, \
    212      1.13   mycroft 			    struct linux_stat *sp); }
    213  1.89.6.2       mjf 107	STD		{ int|linux_sys||lstat(const char *path, \
    214      1.13   mycroft 			    struct linux_stat *sp); }
    215  1.89.6.2       mjf 108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
    216  1.89.6.2       mjf 109	STD		{ int|linux_sys||olduname(struct linux_old_utsname *up); }
    217  1.89.6.2       mjf 110	STD		{ int|linux_sys||iopl(int level); }
    218      1.13   mycroft 111	UNIMPL		vhangup
    219      1.13   mycroft 112	UNIMPL		idle
    220      1.26       erh 113	UNIMPL		vm86old
    221  1.89.6.2       mjf 114	STD		{ int|linux_sys||wait4(int pid, int *status, \
    222      1.13   mycroft 			    int options, struct rusage *rusage); }
    223  1.89.6.2       mjf 115	STD		{ int|linux_sys||swapoff(const char *path); }
    224  1.89.6.2       mjf 116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
    225  1.89.6.2       mjf 117	STD		{ int|linux_sys||ipc(int what, int a1, int a2, int a3, \
    226      1.82  christos 			    void *ptr); }
    227  1.89.6.2       mjf 118	NOARGS		{ int|sys||fsync(int fd); }
    228  1.89.6.2       mjf 119	STD		{ int|linux_sys||sigreturn(struct linux_sigcontext *scp); }
    229  1.89.6.2       mjf 120	STD		{ int|linux_sys||clone(int flags, void *stack, \
    230      1.84  christos 			    void *parent_tidptr, void *child_tidptr); }
    231  1.89.6.2       mjf 121	STD		{ int|linux_sys||setdomainname(char *domainname, \
    232      1.13   mycroft 			    int len); }
    233  1.89.6.2       mjf 122	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
    234  1.89.6.2       mjf 123	STD		{ int|linux_sys||modify_ldt(int func, void *ptr, \
    235      1.13   mycroft 			    size_t bytecount); }
    236      1.13   mycroft 124	UNIMPL		adjtimex
    237  1.89.6.2       mjf 125	STD		{ int|linux_sys||mprotect(const void *start, \
    238      1.62  christos 			    unsigned long len, int prot); }
    239  1.89.6.2       mjf 126	STD		{ int|linux_sys||sigprocmask(int how, \
    240      1.26       erh 			    const linux_old_sigset_t *set, \
    241      1.26       erh 			    linux_old_sigset_t *oset); }
    242      1.13   mycroft 127	UNIMPL		create_module
    243      1.13   mycroft 128	UNIMPL		init_module
    244      1.13   mycroft 129	UNIMPL		delete_module
    245      1.13   mycroft 130	UNIMPL		get_kernel_syms
    246      1.13   mycroft 131	UNIMPL		quotactl
    247  1.89.6.2       mjf 132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
    248  1.89.6.2       mjf 133	NOARGS		{ int|sys||fchdir(int fd); }
    249      1.13   mycroft 134	UNIMPL		bdflush
    250      1.13   mycroft 135	UNIMPL		sysfs
    251  1.89.6.2       mjf 136	STD		{ int|linux_sys||personality(int per); }
    252      1.13   mycroft 137	UNIMPL		afs_syscall
    253  1.89.6.2       mjf 138	NOARGS		linux_setfsuid16 { int|linux_sys||setfsuid(uid_t uid); }
    254  1.89.6.2       mjf 139	NOARGS		linux_setfsgid16 { int|linux_sys||setfsgid(gid_t gid); }
    255  1.89.6.2       mjf 140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
    256      1.82  christos 			    u_int32_t olow, void *res, int whence); }
    257  1.89.6.2       mjf 141	STD		{ int|linux_sys||getdents(int fd, \
    258      1.26       erh 			    struct linux_dirent *dent, unsigned int count); }
    259  1.89.6.2       mjf 142	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
    260      1.13   mycroft 			    fd_set *writefds, fd_set *exceptfds, \
    261  1.89.6.2       mjf 			    struct timeval50 *timeout); }
    262  1.89.6.2       mjf 143	NOARGS		{ int|sys||flock(int fd, int how); }
    263  1.89.6.2       mjf 144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
    264  1.89.6.2       mjf 145	NOARGS		{ int|sys||readv(int fd, struct iovec *iovp, \
    265      1.15      fvdl 				u_int iovcnt); }
    266  1.89.6.2       mjf 146	NOARGS		{ int|sys||writev(int fd, struct iovec *iovp, \
    267      1.15      fvdl 				u_int iovcnt); }
    268  1.89.6.2       mjf 147	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
    269  1.89.6.2       mjf 148	STD		{ int|linux_sys||fdatasync(int fd); }
    270  1.89.6.2       mjf 149	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
    271  1.89.6.2       mjf 150	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
    272  1.89.6.2       mjf 151	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
    273  1.89.6.2       mjf 152	NOARGS		{ int|sys||mlockall(int flags); }
    274  1.89.6.2       mjf 153	NOARGS		{ int|sys||munlockall(void); }
    275  1.89.6.2       mjf 154	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
    276      1.36      tron 			    const struct linux_sched_param *sp); }
    277  1.89.6.2       mjf 155	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
    278      1.36      tron 			    struct linux_sched_param *sp); }
    279  1.89.6.2       mjf 156	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
    280      1.36      tron 			    int policy, const struct linux_sched_param *sp); }
    281  1.89.6.2       mjf 157	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
    282  1.89.6.2       mjf 158	STD		{ int|linux_sys||sched_yield(void); }
    283  1.89.6.2       mjf 159	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
    284  1.89.6.2       mjf 160	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
    285      1.36      tron 161	UNIMPL		sys_sched_rr_get_interval
    286  1.89.6.2       mjf 162	STD		{ int|linux_sys||nanosleep( \
    287  1.89.6.2       mjf 			    const struct linux_timespec *rqtp, \
    288  1.89.6.2       mjf 			    struct linux_timespec *rmtp); }
    289  1.89.6.2       mjf 163	STD		{ void *|linux_sys||mremap(void *old_address, \
    290      1.19   mycroft 			    size_t old_size, size_t new_size, u_long flags); }
    291  1.89.6.2       mjf 164	STD		{ int|linux_sys||setresuid16(linux_uid16_t ruid, \
    292      1.89     njoly 			    linux_uid16_t euid, linux_uid16_t suid); }
    293  1.89.6.2       mjf 165	STD		{ int|linux_sys||getresuid16(linux_uid16_t *ruid, \
    294      1.89     njoly 			    linux_uid16_t *euid, linux_uid16_t *suid); }
    295      1.26       erh 166	UNIMPL		vm86
    296      1.26       erh 167	UNIMPL		query_module
    297  1.89.6.2       mjf 168	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
    298      1.32       abs 			    int timeout); }
    299      1.26       erh 169	UNIMPL		nfsservctl
    300  1.89.6.2       mjf 170	STD		{ int|linux_sys||setresgid16(linux_gid16_t rgid, \
    301      1.89     njoly 			    linux_gid16_t egid, linux_gid16_t sgid); }
    302  1.89.6.2       mjf 171	STD		{ int|linux_sys||getresgid16(linux_gid16_t *rgid, \
    303      1.89     njoly 			    linux_gid16_t *egid, linux_gid16_t *sgid); }
    304      1.26       erh 172	UNIMPL		prctl
    305  1.89.6.2       mjf 173	STD		{ int|linux_sys||rt_sigreturn( \
    306      1.66  christos 			    struct linux_ucontext *ucp); }
    307  1.89.6.2       mjf 174	STD		{ int|linux_sys||rt_sigaction(int signum, \
    308      1.26       erh 			    const struct linux_sigaction *nsa, \
    309      1.26       erh 			    struct linux_sigaction *osa, \
    310      1.26       erh 			    size_t sigsetsize); }
    311  1.89.6.2       mjf 175	STD		{ int|linux_sys||rt_sigprocmask(int how, \
    312      1.26       erh 			    const linux_sigset_t *set, \
    313      1.26       erh 			    linux_sigset_t *oset, \
    314      1.26       erh 			    size_t sigsetsize); }
    315  1.89.6.2       mjf 176	STD		{ int|linux_sys||rt_sigpending( \
    316      1.26       erh 			    linux_sigset_t *set, \
    317      1.26       erh 			    size_t sigsetsize); }
    318      1.26       erh 177	UNIMPL		rt_sigtimedwait
    319      1.26       erh ; XXX XAX int here?  sigset_t here?  siginfo_t
    320  1.89.6.2       mjf 178	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
    321      1.26       erh 			    void *uinfo); }
    322  1.89.6.2       mjf 179	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
    323      1.26       erh 			    size_t sigsetsize); }
    324  1.89.6.2       mjf 180	STD		{ int|linux_sys||pread(int fd, char *buf, \
    325      1.38      tron 			    size_t nbyte, linux_off_t offset); }
    326  1.89.6.2       mjf 181	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
    327      1.38      tron 			    size_t nbyte, linux_off_t offset); }
    328  1.89.6.2       mjf 182	STD		{ int|linux_sys||chown16(const char *path, \
    329      1.89     njoly 			    linux_uid16_t uid, linux_gid16_t gid); }
    330  1.89.6.2       mjf 183	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
    331      1.26       erh 184	UNIMPL		capget
    332      1.26       erh 185	UNIMPL		capset
    333  1.89.6.2       mjf 186	STD		{ int|linux_sys||sigaltstack( \
    334      1.42  christos 			    const struct linux_sigaltstack *ss, \
    335      1.42  christos 			    struct linux_sigaltstack *oss); }
    336      1.34   thorpej 187	UNIMPL		sendfile
    337      1.34   thorpej 188	UNIMPL		getpmsg
    338      1.34   thorpej 189	UNIMPL		putpmsg
    339  1.89.6.2       mjf 190	NOARGS		{ int|sys|14|vfork(void); }
    340  1.89.6.2       mjf 191	STD		{ int|linux_sys||ugetrlimit(int which, \
    341      1.61  christos 			    struct orlimit *rlp); }
    342      1.86       dsl #define linux_sys_mmap2_args linux_sys_mmap_args
    343  1.89.6.2       mjf 192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
    344      1.62  christos 			    size_t len, int prot, int flags, int fd, \
    345      1.62  christos 			    linux_off_t offset); }
    346  1.89.6.2       mjf 193	STD		{ int|linux_sys||truncate64(const char *path, \
    347      1.61  christos 			    off_t length); }
    348  1.89.6.2       mjf 194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
    349      1.62  christos 			    off_t length); }
    350  1.89.6.2       mjf 195	STD		{ int|linux_sys||stat64(const char *path, \
    351      1.61  christos 			    struct linux_stat64 *sp); }
    352  1.89.6.2       mjf 196	STD		{ int|linux_sys||lstat64(const char *path, \
    353      1.61  christos 			    struct linux_stat64 *sp); }
    354  1.89.6.2       mjf 197	STD		{ int|linux_sys||fstat64(int fd, \
    355      1.61  christos 			    struct linux_stat64 *sp); }
    356  1.89.6.2       mjf 198	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
    357      1.61  christos 			    gid_t gid); }
    358  1.89.6.2       mjf 199	NOARGS		{ uid_t|sys||getuid(void); }
    359  1.89.6.2       mjf 200	NOARGS		{ gid_t|sys||getgid(void); }
    360  1.89.6.2       mjf 201	NOARGS		{ uid_t|sys||geteuid(void); }
    361  1.89.6.2       mjf 202	NOARGS		{ gid_t|sys||getegid(void); }
    362  1.89.6.2       mjf 203	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
    363  1.89.6.2       mjf 204	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
    364  1.89.6.2       mjf 205	NOARGS		{ int|sys||getgroups(u_int gidsetsize, gid_t *gidset); }
    365  1.89.6.2       mjf 206	NOARGS		{ int|sys||setgroups(u_int gidsetsize, gid_t *gidset); }
    366  1.89.6.2       mjf 207	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
    367      1.61  christos 			    gid_t gid); }
    368  1.89.6.2       mjf 208	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
    369      1.52      fvdl 			    uid_t suid); }
    370  1.89.6.2       mjf 209	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
    371      1.52      fvdl 			    uid_t *suid); }
    372  1.89.6.2       mjf 210	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
    373      1.52      fvdl 			    gid_t sgid); }
    374  1.89.6.2       mjf 211	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
    375      1.52      fvdl 			    gid_t *sgid); }
    376  1.89.6.2       mjf 212	NOARGS		{ int|sys||__posix_chown(const char *path, uid_t uid, \
    377      1.51      fvdl 				gid_t gid); }
    378  1.89.6.2       mjf 213	NOARGS		{ int|sys||setuid(uid_t uid); }
    379  1.89.6.2       mjf 214	NOARGS		{ int|sys||setgid(gid_t gid); }
    380  1.89.6.2       mjf 215	STD		{ int|linux_sys||setfsuid(uid_t uid); }
    381  1.89.6.2       mjf 216	STD		{ int|linux_sys||setfsgid(gid_t gid); }
    382      1.47  jdolecek 217	UNIMPL		pivot_root
    383  1.89.6.2       mjf 218	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
    384  1.89.6.2       mjf 219	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
    385  1.89.6.2       mjf 220	STD		{ int|linux_sys||getdents64(int fd, \
    386      1.63  christos 			    struct linux_dirent64 *dent, unsigned int count); }
    387  1.89.6.2       mjf 221	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
    388      1.69  jdolecek 222	UNIMPL		/* unused */
    389      1.69  jdolecek 223	UNIMPL		/* unused */
    390      1.84  christos #ifdef LINUX_NPTL
    391  1.89.6.2       mjf 224	STD		{ pid_t|linux_sys||gettid(void); }
    392      1.84  christos #else
    393      1.69  jdolecek 224	UNIMPL		gettid
    394      1.84  christos #endif
    395      1.69  jdolecek 225	UNIMPL		readahead
    396      1.72      fvdl 
    397  1.89.6.2       mjf 226	STD		{ int|linux_sys||setxattr(char *path, char *name, \
    398      1.72      fvdl 			    void *value, size_t size, int flags); }
    399  1.89.6.2       mjf 227	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
    400      1.72      fvdl 			    void *value, size_t size, int flags); }
    401  1.89.6.2       mjf 228	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
    402      1.72      fvdl 			    void *value, size_t size, int flags); }
    403  1.89.6.2       mjf 229	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
    404      1.72      fvdl 			    void *value, size_t size); }
    405  1.89.6.2       mjf 230	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
    406      1.72      fvdl 			    void *value, size_t size); }
    407  1.89.6.2       mjf 231	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
    408      1.72      fvdl 			    void *value, size_t size); }
    409  1.89.6.2       mjf 232	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
    410      1.72      fvdl 			    size_t size); }
    411  1.89.6.2       mjf 233	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
    412      1.72      fvdl 			    size_t size); }
    413  1.89.6.2       mjf 234	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
    414      1.72      fvdl 			    size_t size); }
    415  1.89.6.2       mjf 235	STD		{ int|linux_sys||removexattr(char *path, char *name); }
    416  1.89.6.2       mjf 236	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
    417  1.89.6.2       mjf 237	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
    418      1.84  christos #ifdef LINUX_NPTL
    419  1.89.6.2       mjf 238	STD		{ int|linux_sys||tkill(int tid, int sig); }
    420      1.84  christos #else
    421      1.69  jdolecek 238	UNIMPL		tkill
    422      1.84  christos #endif
    423      1.69  jdolecek 239	UNIMPL		sendfile64
    424  1.89.6.2       mjf 240	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
    425  1.89.6.2       mjf 			    const struct linux_timespec *timeout, int *uaddr2, \
    426      1.83  christos 			    int val3); }
    427      1.84  christos #ifdef LINUX_NPTL
    428  1.89.6.2       mjf 241	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
    429      1.84  christos 			    unsigned int len, unsigned long *mask); }
    430  1.89.6.2       mjf 242	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
    431      1.84  christos 			    unsigned int len, unsigned long *mask); }
    432      1.84  christos #else
    433      1.84  christos 241	UNIMPL		setaffinity
    434      1.84  christos 242	UNIMPL		getaffinity
    435      1.84  christos #endif
    436  1.89.6.2       mjf #ifdef LINUX_NPTL
    437  1.89.6.2       mjf 243	STD		{ int|linux_sys||set_thread_area( \
    438  1.89.6.2       mjf 			    struct linux_user_desc *desc); }
    439  1.89.6.2       mjf 244	STD		{ int|linux_sys||get_thread_area( \
    440  1.89.6.2       mjf 			    struct linux_user_desc *desc); }
    441  1.89.6.2       mjf #else
    442      1.69  jdolecek 243	UNIMPL		set_thread_area
    443      1.69  jdolecek 244	UNIMPL		get_thread_area
    444  1.89.6.2       mjf #endif
    445      1.69  jdolecek 245	UNIMPL		io_setup
    446      1.69  jdolecek 246	UNIMPL		io_destroy
    447      1.69  jdolecek 247	UNIMPL		io_getevents
    448      1.69  jdolecek 248	UNIMPL		io_submit
    449      1.69  jdolecek 249	UNIMPL		io_cancel
    450      1.69  jdolecek 250	UNIMPL		fadvise64
    451      1.69  jdolecek 251	UNIMPL		/* unused */
    452  1.89.6.2       mjf 252	STD		{ int|linux_sys||exit_group(int error_code); }
    453      1.69  jdolecek 253	UNIMPL		lookup_dcookie
    454      1.69  jdolecek 254	UNIMPL		epoll_create
    455      1.69  jdolecek 255	UNIMPL		epoll_ctl
    456      1.69  jdolecek 256	UNIMPL		epoll_wait
    457      1.69  jdolecek 257	UNIMPL		remap_file_pages
    458      1.84  christos #ifdef LINUX_NPTL
    459  1.89.6.2       mjf 258	STD		{ int|linux_sys||set_tid_address(int *tid); }
    460      1.84  christos #else
    461      1.69  jdolecek 258	UNIMPL		set_tid_address
    462      1.84  christos #endif
    463      1.69  jdolecek 259	UNIMPL		timer_create
    464      1.69  jdolecek 260	UNIMPL		timer_settime
    465      1.69  jdolecek 261	UNIMPL		timer_gettime
    466      1.69  jdolecek 262	UNIMPL		timer_getoverrun
    467      1.69  jdolecek 263	UNIMPL		timer_delete
    468  1.89.6.2       mjf 264	STD		{ int|linux_sys||clock_settime(clockid_t which, \
    469      1.73      fvdl 			    struct linux_timespec *tp); }
    470  1.89.6.2       mjf 265	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
    471      1.73      fvdl 			    struct linux_timespec *tp); }
    472  1.89.6.2       mjf 266	STD		{ int|linux_sys||clock_getres(clockid_t which, \
    473      1.73      fvdl 			    struct linux_timespec *tp); }
    474  1.89.6.2       mjf 267	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
    475      1.73      fvdl 			    int flags, struct linux_timespec *rqtp, \
    476      1.73      fvdl 			    struct linux_timespec *rmtp); }
    477  1.89.6.2       mjf 268	STD		{ int|linux_sys||statfs64(const char *path, \
    478      1.71  jdolecek 			    size_t sz, struct linux_statfs64 *sp); }
    479  1.89.6.2       mjf 269	STD		{ int|linux_sys||fstatfs64(int fd, \
    480      1.71  jdolecek 			    size_t sz, struct linux_statfs64 *sp); }
    481      1.84  christos #ifdef LINUX_NPTL
    482  1.89.6.2       mjf 270	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
    483      1.84  christos #else
    484      1.69  jdolecek 270	UNIMPL		tgkill
    485      1.84  christos #endif
    486      1.69  jdolecek 271	UNIMPL		utimes
    487      1.69  jdolecek 272	UNIMPL		fadvise64_64
    488      1.69  jdolecek 273	UNIMPL		vserver
    489      1.69  jdolecek 274	UNIMPL		mbind
    490      1.69  jdolecek 275	UNIMPL		get_mempolicy
    491      1.69  jdolecek 276	UNIMPL		set_mempolicy
    492      1.69  jdolecek 277	UNIMPL		mq_open
    493      1.69  jdolecek 278	UNIMPL		mq_unlink
    494      1.69  jdolecek 279	UNIMPL		mq_timedsend
    495      1.69  jdolecek 280	UNIMPL		mq_timedreceive
    496      1.69  jdolecek 281	UNIMPL		mq_notify
    497      1.69  jdolecek 282	UNIMPL		mq_getsetattr
    498      1.69  jdolecek 283	UNIMPL		sys_kexec_load
    499  1.89.6.2       mjf 284	UNIMPL		waitid
    500  1.89.6.2       mjf 285	OBSOL		/* XXXJDM really? */
    501  1.89.6.2       mjf 286	UNIMPL		add_key
    502  1.89.6.2       mjf 287	UNIMPL		request_key
    503  1.89.6.2       mjf 288	UNIMPL		keyctl
    504  1.89.6.2       mjf 289	UNIMPL		ioprio_set
    505  1.89.6.2       mjf 290	UNIMPL		ioprio_get
    506  1.89.6.2       mjf 291	UNIMPL		inotify_init
    507  1.89.6.2       mjf 292	UNIMPL		inotify_add_watch
    508  1.89.6.2       mjf 293	UNIMPL		inotify_rm_watch
    509  1.89.6.2       mjf 294	UNIMPL		migrate_pages
    510  1.89.6.2       mjf 295	UNIMPL		openat
    511  1.89.6.2       mjf 296	UNIMPL		mkdirat
    512  1.89.6.2       mjf 297	UNIMPL		mknodat
    513  1.89.6.2       mjf 298	UNIMPL		fchownat
    514  1.89.6.2       mjf 299	UNIMPL		futimesat
    515  1.89.6.2       mjf 300	UNIMPL		fstatat64
    516  1.89.6.2       mjf 301	UNIMPL		unlinkat
    517  1.89.6.2       mjf 302	UNIMPL		renameat
    518  1.89.6.2       mjf 303	UNIMPL		linkat
    519  1.89.6.2       mjf 304	UNIMPL		symlinkat
    520  1.89.6.2       mjf 305	UNIMPL		readlinkat
    521  1.89.6.2       mjf 306	UNIMPL		fchmodat
    522  1.89.6.2       mjf 307	UNIMPL		faccessat
    523  1.89.6.2       mjf 308	UNIMPL		pselect6
    524  1.89.6.2       mjf 309	UNIMPL		ppoll
    525  1.89.6.2       mjf 310	UNIMPL		unshare
    526  1.89.6.2       mjf 311	STD		{ int|linux_sys||set_robust_list( \
    527  1.89.6.2       mjf 			    struct linux_robust_list_head *head, size_t len); }
    528  1.89.6.2       mjf 312	STD		{ int|linux_sys||get_robust_list(int pid, \
    529  1.89.6.2       mjf 			    struct linux_robust_list_head **head, \
    530  1.89.6.2       mjf 			    size_t *len); }
    531  1.89.6.2       mjf 313	UNIMPL		splice
    532  1.89.6.2       mjf 314	UNIMPL		sync_file_range
    533  1.89.6.2       mjf 315	UNIMPL		tee
    534  1.89.6.2       mjf 316	UNIMPL		vmsplice
    535