Home | History | Annotate | Line # | Download | only in i386
syscalls.master revision 1.93
      1  1.93  christos 	$NetBSD: syscalls.master,v 1.93 2008/10/26 16:38:22 christos 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.58       mrg #if defined(_KERNEL_OPT)
     37  1.28  christos #include "opt_compat_43.h"
     38  1.46   mycroft #endif
     39   1.1      fvdl 
     40   1.1      fvdl #include <sys/param.h>
     41  1.32       abs #include <sys/poll.h>
     42   1.1      fvdl #include <sys/systm.h>
     43   1.1      fvdl #include <sys/signal.h>
     44   1.1      fvdl #include <sys/mount.h>
     45   1.1      fvdl #include <sys/syscallargs.h>
     46  1.13   mycroft 
     47  1.27  christos #include <compat/linux/common/linux_types.h>
     48  1.62  christos #include <compat/linux/common/linux_mmap.h>
     49  1.27  christos #include <compat/linux/common/linux_signal.h>
     50  1.27  christos #include <compat/linux/common/linux_siginfo.h>
     51  1.27  christos #include <compat/linux/common/linux_machdep.h>
     52  1.27  christos 
     53  1.27  christos #include <compat/linux/linux_syscallargs.h>
     54  1.13   mycroft 
     55  1.46   mycroft %%
     56   1.1      fvdl 
     57  1.55  jdolecek 0	NOARGS		{ int linux_sys_nosys(void); } syscall
     58  1.13   mycroft 1	NOARGS		{ int sys_exit(int rval); }
     59  1.14   mycroft 2	NOARGS		{ int sys_fork(void); }
     60  1.13   mycroft 3	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
     61  1.13   mycroft 4	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
     62  1.29  christos 5	STD		{ int linux_sys_open(const char *path, int flags, \
     63  1.29  christos 			    int mode); }
     64  1.13   mycroft 6	NOARGS		{ int sys_close(int fd); }
     65  1.13   mycroft 7	STD		{ int linux_sys_waitpid(int pid, int *status, \
     66  1.13   mycroft 			    int options);}
     67  1.29  christos 8	STD		{ int linux_sys_creat(const char *path, int mode); }
     68  1.85     njoly 9	NOARGS		{ int sys_link(const char *path, const char *link); }
     69  1.29  christos 10	STD		{ int linux_sys_unlink(const char *path); }
     70  1.85     njoly 11	NOARGS		{ int sys_execve(const char *path, char **argp, \
     71  1.13   mycroft 			    char **envp); }
     72  1.85     njoly 12	NOARGS		{ int sys_chdir(const char *path); }
     73  1.13   mycroft 13	STD		{ int linux_sys_time(linux_time_t *t); }
     74  1.29  christos 14	STD		{ int linux_sys_mknod(const char *path, int mode, \
     75  1.29  christos 			    int dev); }
     76  1.85     njoly 15	NOARGS		{ int sys_chmod(const char *path, int mode); }
     77  1.51      fvdl 16	STD		{ int linux_sys_lchown16(const char *path, \
     78  1.89     njoly 			    linux_uid16_t uid, linux_gid16_t gid); }
     79  1.26       erh ;17 - no longer in linux source.
     80  1.13   mycroft 17	STD		{ int linux_sys_break(char *nsize); }
     81  1.13   mycroft 18	OBSOL		ostat
     82  1.13   mycroft 19	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
     83  1.13   mycroft 			    int whence); }
     84  1.84  christos #ifdef	LINUX_NPTL
     85  1.84  christos 20	STD		{ pid_t linux_sys_getpid(void); }
     86  1.84  christos #else
     87  1.91        ad 20	NOARGS 		{ pid_t sys_getpid(void); }
     88  1.84  christos #endif
     89  1.13   mycroft 21	UNIMPL		mount
     90  1.13   mycroft 22	UNIMPL		umount
     91  1.52      fvdl 23	NOARGS		linux_setuid16 { int sys_setuid(uid_t uid); }
     92  1.52      fvdl 24	NOARGS		linux_getuid16 { uid_t sys_getuid(void); }
     93  1.35      tron 25	STD		{ int linux_sys_stime(linux_time_t *t); }
     94  1.39      tron 26	STD		{ int linux_sys_ptrace(int request, int pid, \
     95  1.39      tron 			  int addr, int data); }
     96  1.13   mycroft 27	STD		{ int linux_sys_alarm(unsigned int secs); }
     97  1.13   mycroft 28	OBSOL		ofstat
     98  1.13   mycroft 29	STD		{ int linux_sys_pause(void); }
     99  1.29  christos 30	STD		{ int linux_sys_utime(const char *path, \
    100  1.13   mycroft 			    struct linux_utimbuf *times); }
    101  1.26       erh 31	OBSOL		stty
    102  1.26       erh 32	OBSOL		gtty
    103  1.85     njoly 33	NOARGS		{ int sys_access(const char *path, int flags); }
    104  1.17  augustss 34	STD		{ int linux_sys_nice(int incr); }
    105  1.26       erh 35	OBSOL		ftime
    106  1.13   mycroft 36	NOARGS		{ int sys_sync(void); }
    107  1.13   mycroft 37	STD		{ int linux_sys_kill(int pid, int signum); }
    108  1.85     njoly 38	NOARGS		{ int sys___posix_rename(const char *from, \
    109  1.29  christos 			    const char *to); }
    110  1.85     njoly 39	NOARGS		{ int sys_mkdir(const char *path, int mode); }
    111  1.85     njoly 40	NOARGS		{ int sys_rmdir(const char *path); }
    112  1.13   mycroft 41	NOARGS		{ int sys_dup(u_int fd); }
    113  1.13   mycroft 42	STD		{ int linux_sys_pipe(int *pfds); }
    114  1.13   mycroft 43	STD		{ int linux_sys_times(struct times *tms); }
    115  1.26       erh 44	OBSOL		prof
    116  1.13   mycroft 45	STD		{ int linux_sys_brk(char *nsize); }
    117  1.52      fvdl 46	NOARGS		linux_setgid16 { int sys_setgid(gid_t gid); }
    118  1.52      fvdl 47	NOARGS		linux_getgid16 { gid_t sys_getgid(void); }
    119  1.37      tron 48	STD		{ int linux_sys_signal(int signum, \
    120  1.13   mycroft 			    linux_handler_t handler); }
    121  1.52      fvdl 49	NOARGS		linux_geteuid16 { uid_t sys_geteuid(void); }
    122  1.52      fvdl 50	NOARGS		linux_getegid16 { gid_t sys_getegid(void); }
    123  1.13   mycroft 51	NOARGS		{ int sys_acct(char *path); }
    124  1.26       erh 52	OBSOL		phys
    125  1.26       erh 53	OBSOL		lock
    126  1.13   mycroft 54	STD		{ int linux_sys_ioctl(int fd, u_long com, \
    127  1.82  christos 			    void *data); }
    128  1.13   mycroft 55	STD		{ int linux_sys_fcntl(int fd, int cmd, void *arg); }
    129  1.26       erh 56	OBSOL		mpx
    130  1.13   mycroft 57	NOARGS		{ int sys_setpgid(int pid, int pgid); }
    131  1.26       erh 58	OBSOL		ulimit
    132  1.62  christos 59	STD		{ int linux_sys_oldolduname( \
    133  1.62  christos 			    struct linux_oldold_utsname *up); }
    134  1.13   mycroft 60	NOARGS		{ int sys_umask(int newmask); }
    135  1.13   mycroft 61	NOARGS		{ int sys_chroot(char *path); }
    136  1.13   mycroft 62	UNIMPL		ustat
    137  1.13   mycroft 63	NOARGS		{ int sys_dup2(u_int from, u_int to); }
    138  1.84  christos #ifdef LINUX_NPTL
    139  1.84  christos 64	STD		{ pid_t linux_sys_getppid(void); }
    140  1.84  christos #else
    141  1.13   mycroft 64	NOARGS		{ pid_t sys_getppid(void); }
    142  1.84  christos #endif
    143  1.13   mycroft 65	NOARGS		{ int sys_getpgrp(void); }
    144  1.13   mycroft 66	NOARGS		{ int sys_setsid(void); }
    145  1.13   mycroft 67	STD		{ int linux_sys_sigaction(int signum, \
    146  1.26       erh 			    const struct linux_old_sigaction *nsa, \
    147  1.26       erh 			    struct linux_old_sigaction *osa); }
    148  1.13   mycroft 68	STD		{ int linux_sys_siggetmask(void); }
    149  1.26       erh 69	STD		{ int linux_sys_sigsetmask(linux_old_sigset_t mask); }
    150  1.89     njoly 70	STD		{ int linux_sys_setreuid16(linux_uid16_t ruid, \
    151  1.89     njoly 			    linux_uid16_t euid); }
    152  1.89     njoly 71	STD		{ int linux_sys_setregid16(linux_gid16_t rgid, \
    153  1.89     njoly 			    linux_gid16_t egid); }
    154  1.82  christos 72	STD		{ int linux_sys_sigsuspend(void *restart, \
    155  1.13   mycroft 			    int oldmask, int mask); }
    156  1.26       erh 73	STD		{ int linux_sys_sigpending(linux_old_sigset_t *set); }
    157  1.13   mycroft 74	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
    158  1.13   mycroft 			    u_int len);}
    159  1.61  christos 75	STD		{ int linux_sys_setrlimit(u_int which, \
    160  1.20   mycroft 			    struct orlimit *rlp); }
    161  1.61  christos 76	STD		{ int linux_sys_getrlimit(u_int which, \
    162  1.20   mycroft 			    struct orlimit *rlp); }
    163  1.13   mycroft 77	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
    164  1.57      manu 78	STD		{ int linux_sys_gettimeofday(struct timeval *tp, \
    165  1.13   mycroft 			    struct timezone *tzp); }
    166  1.57      manu 79	STD		{ int linux_sys_settimeofday(struct timeval *tp, \
    167  1.13   mycroft 			    struct timezone *tzp); }
    168  1.89     njoly 80	STD		{ int linux_sys_getgroups16(int gidsetsize, \
    169  1.89     njoly 			    linux_gid16_t *gidset); }
    170  1.62  christos 81	STD		{ int linux_sys_setgroups16(int gidsetsize, \
    171  1.89     njoly 			    linux_gid16_t *gidset); }
    172  1.26       erh 82	STD		{ int linux_sys_oldselect(struct linux_oldselect *lsp); }
    173  1.85     njoly 83	NOARGS		{ int sys_symlink(const char *path, const char *to); }
    174  1.29  christos 84	NOARGS		{ int compat_43_sys_lstat(const char *path, \
    175  1.21  christos 			    struct stat43 *up); } oolstat
    176  1.85     njoly 85	NOARGS		{ int sys_readlink(const char *name, char *buf, \
    177  1.13   mycroft 			    int count); }
    178  1.74     joerg #ifdef EXEC_AOUT
    179  1.29  christos 86	STD		{ int linux_sys_uselib(const char *path); }
    180  1.74     joerg #else
    181  1.74     joerg 86	UNIMPL		sys_uselib
    182  1.74     joerg #endif
    183  1.44  jdolecek 87	STD		{ int linux_sys_swapon(char *name); }
    184  1.41       erh 88	STD		{ int linux_sys_reboot(int magic1, int magic2, \
    185  1.41       erh 			    int cmd, void *arg); }
    186  1.82  christos 89	STD		{ int linux_sys_readdir(int fd, void *dent, \
    187   1.1      fvdl 			    unsigned int count); }
    188  1.26       erh 90	STD		{ int linux_sys_old_mmap(struct linux_oldmmap *lmp); }
    189  1.82  christos 91	NOARGS		{ int sys_munmap(void *addr, int len); }
    190  1.85     njoly 92	NOARGS		{ int compat_43_sys_truncate(const char *path, \
    191  1.29  christos 			    long length); }
    192  1.13   mycroft 93	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); }
    193  1.13   mycroft 94	NOARGS		{ int sys_fchmod(int fd, int mode); }
    194  1.89     njoly 95	STD		{ int linux_sys_fchown16(int fd, linux_uid16_t uid, \
    195  1.89     njoly 			    linux_gid16_t gid); }
    196  1.78  christos 96	STD		{ int linux_sys_getpriority(int which, int who); }
    197  1.13   mycroft 97	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
    198  1.82  christos 98	NOARGS		{ int sys_profil(void *samples, u_int size, \
    199  1.13   mycroft 			    u_int offset, u_int scale); }
    200  1.29  christos 99	STD		{ int linux_sys_statfs(const char *path, \
    201  1.13   mycroft 			    struct linux_statfs *sp); }
    202  1.13   mycroft 100	STD		{ int linux_sys_fstatfs(int fd, \
    203  1.13   mycroft 			    struct linux_statfs *sp); }
    204  1.13   mycroft 101	STD		{ int linux_sys_ioperm(unsigned int lo, \
    205  1.13   mycroft 			    unsigned int hi, int val); }
    206  1.13   mycroft 102	STD		{ int linux_sys_socketcall(int what, void *args); }
    207  1.26       erh 103	UNIMPL		syslog
    208  1.13   mycroft 104	NOARGS		{ int sys_setitimer(u_int which, \
    209  1.13   mycroft 			    struct itimerval *itv, struct itimerval *oitv); }
    210  1.13   mycroft 105	NOARGS		{ int sys_getitimer(u_int which, \
    211  1.13   mycroft 			    struct itimerval *itv); }
    212  1.29  christos 106	STD		{ int linux_sys_stat(const char *path, \
    213  1.13   mycroft 			    struct linux_stat *sp); }
    214  1.29  christos 107	STD		{ int linux_sys_lstat(const char *path, \
    215  1.13   mycroft 			    struct linux_stat *sp); }
    216  1.13   mycroft 108	STD		{ int linux_sys_fstat(int fd, struct linux_stat *sp); }
    217  1.13   mycroft 109	STD		{ int linux_sys_olduname(struct linux_old_utsname *up); }
    218  1.13   mycroft 110	STD		{ int linux_sys_iopl(int level); }
    219  1.13   mycroft 111	UNIMPL		vhangup
    220  1.13   mycroft 112	UNIMPL		idle
    221  1.26       erh 113	UNIMPL		vm86old
    222  1.13   mycroft 114	STD		{ int linux_sys_wait4(int pid, int *status, \
    223  1.13   mycroft 			    int options, struct rusage *rusage); }
    224  1.45  jdolecek 115	STD		{ int linux_sys_swapoff(const char *path); }
    225  1.50  augustss 116	STD		{ int linux_sys_sysinfo(struct linux_sysinfo *arg); }
    226  1.13   mycroft 117	STD		{ int linux_sys_ipc(int what, int a1, int a2, int a3, \
    227  1.82  christos 			    void *ptr); }
    228  1.13   mycroft 118	NOARGS		{ int sys_fsync(int fd); }
    229  1.13   mycroft 119	STD		{ int linux_sys_sigreturn(struct linux_sigcontext *scp); }
    230  1.84  christos 120	STD		{ int linux_sys_clone(int flags, void *stack, \
    231  1.84  christos 			    void *parent_tidptr, void *child_tidptr); }
    232  1.44  jdolecek 121	STD		{ int linux_sys_setdomainname(char *domainname, \
    233  1.13   mycroft 			    int len); }
    234  1.13   mycroft 122	STD		{ int linux_sys_uname(struct linux_utsname *up); }
    235  1.13   mycroft 123	STD		{ int linux_sys_modify_ldt(int func, void *ptr, \
    236  1.13   mycroft 			    size_t bytecount); }
    237  1.13   mycroft 124	UNIMPL		adjtimex
    238  1.62  christos 125	STD		{ int linux_sys_mprotect(const void *start, \
    239  1.62  christos 			    unsigned long len, int prot); }
    240  1.13   mycroft 126	STD		{ int linux_sys_sigprocmask(int how, \
    241  1.26       erh 			    const linux_old_sigset_t *set, \
    242  1.26       erh 			    linux_old_sigset_t *oset); }
    243  1.13   mycroft 127	UNIMPL		create_module
    244  1.13   mycroft 128	UNIMPL		init_module
    245  1.13   mycroft 129	UNIMPL		delete_module
    246  1.13   mycroft 130	UNIMPL		get_kernel_syms
    247  1.13   mycroft 131	UNIMPL		quotactl
    248  1.88     njoly 132	NOARGS		{ pid_t sys_getpgid(pid_t pid); }
    249  1.13   mycroft 133	NOARGS		{ int sys_fchdir(int fd); }
    250  1.13   mycroft 134	UNIMPL		bdflush
    251  1.13   mycroft 135	UNIMPL		sysfs
    252  1.13   mycroft 136	STD		{ int linux_sys_personality(int per); }
    253  1.13   mycroft 137	UNIMPL		afs_syscall
    254  1.52      fvdl 138	NOARGS		linux_setfsuid16 { int linux_sys_setfsuid(uid_t uid); }
    255  1.87     njoly 139	NOARGS		linux_setfsgid16 { int linux_sys_setfsgid(gid_t gid); }
    256  1.13   mycroft 140	STD		{ int linux_sys_llseek(int fd, u_int32_t ohigh, \
    257  1.82  christos 			    u_int32_t olow, void *res, int whence); }
    258  1.26       erh 141	STD		{ int linux_sys_getdents(int fd, \
    259  1.26       erh 			    struct linux_dirent *dent, unsigned int count); }
    260  1.13   mycroft 142	STD		{ int linux_sys_select(int nfds, fd_set *readfds, \
    261  1.13   mycroft 			    fd_set *writefds, fd_set *exceptfds, \
    262  1.13   mycroft 			    struct timeval *timeout); }
    263  1.13   mycroft 143	NOARGS		{ int sys_flock(int fd, int how); }
    264  1.90     njoly 144	NOARGS		{ int sys___msync13(void *addr, size_t len, int flags); }
    265  1.15      fvdl 145	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
    266  1.15      fvdl 				u_int iovcnt); }
    267  1.15      fvdl 146	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
    268  1.15      fvdl 				u_int iovcnt); }
    269  1.23   mycroft 147	NOARGS		{ pid_t sys_getsid(pid_t pid); }
    270  1.16      fvdl 148	STD		{ int linux_sys_fdatasync(int fd); }
    271  1.16      fvdl 149	STD		{ int linux_sys___sysctl(struct linux___sysctl *lsp); }
    272  1.82  christos 150	NOARGS		{ int sys_mlock(void *addr, size_t len); }
    273  1.82  christos 151	NOARGS		{ int sys_munlock(void *addr, size_t len); }
    274  1.43  jdolecek 152	NOARGS		{ int sys_mlockall(int flags); }
    275  1.43  jdolecek 153	NOARGS		{ int sys_munlockall(void); }
    276  1.36      tron 154	STD		{ int linux_sys_sched_setparam(pid_t pid, \
    277  1.36      tron 			    const struct linux_sched_param *sp); }
    278  1.36      tron 155	STD		{ int linux_sys_sched_getparam(pid_t pid, \
    279  1.36      tron 			    struct linux_sched_param *sp); }
    280  1.36      tron 156	STD		{ int linux_sys_sched_setscheduler(pid_t pid, \
    281  1.36      tron 			    int policy, const struct linux_sched_param *sp); }
    282  1.36      tron 157	STD		{ int linux_sys_sched_getscheduler(pid_t pid); }
    283  1.36      tron 158	STD		{ int linux_sys_sched_yield(void); }
    284  1.36      tron 159	STD		{ int linux_sys_sched_get_priority_max(int policy); }
    285  1.36      tron 160	STD		{ int linux_sys_sched_get_priority_min(int policy); }
    286  1.36      tron 161	UNIMPL		sys_sched_rr_get_interval
    287  1.24     perry 162	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
    288  1.24     perry 				struct timespec *rmtp); }
    289  1.19   mycroft 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     njoly 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     njoly 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.32       abs 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     njoly 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     njoly 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.26       erh 173	STD		{ int linux_sys_rt_sigreturn( \
    306  1.66  christos 			    struct linux_ucontext *ucp); }
    307  1.26       erh 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.26       erh 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.26       erh 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.26       erh 178	STD		{ int linux_sys_rt_queueinfo(int pid, int signum, \
    321  1.26       erh 			    void *uinfo); }
    322  1.26       erh 179	STD		{ int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
    323  1.26       erh 			    size_t sigsetsize); }
    324  1.38      tron 180	STD		{ int linux_sys_pread(int fd, char *buf, \
    325  1.38      tron 			    size_t nbyte, linux_off_t offset); }
    326  1.38      tron 181	STD		{ int linux_sys_pwrite(int fd, char *buf, \
    327  1.38      tron 			    size_t nbyte, linux_off_t offset); }
    328  1.89     njoly 182	STD		{ int linux_sys_chown16(const char *path, \
    329  1.89     njoly 			    linux_uid16_t uid, linux_gid16_t gid); }
    330  1.31      tron 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.42  christos 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.34   thorpej 190	NOARGS		{ int sys___vfork14(void); }
    340  1.61  christos 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.65  christos 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.49  jdolecek 193	STD		{ int linux_sys_truncate64(const char *path, \
    347  1.61  christos 			    off_t length); }
    348  1.67  jdolecek 194	STD		{ int linux_sys_ftruncate64(unsigned int fd, \
    349  1.62  christos 			    off_t length); }
    350  1.48  jdolecek 195	STD		{ int linux_sys_stat64(const char *path, \
    351  1.61  christos 			    struct linux_stat64 *sp); }
    352  1.48  jdolecek 196	STD		{ int linux_sys_lstat64(const char *path, \
    353  1.61  christos 			    struct linux_stat64 *sp); }
    354  1.48  jdolecek 197	STD		{ int linux_sys_fstat64(int fd, \
    355  1.61  christos 			    struct linux_stat64 *sp); }
    356  1.85     njoly 198	NOARGS		{ int sys___posix_lchown(const char *path, uid_t uid, \
    357  1.61  christos 			    gid_t gid); }
    358  1.51      fvdl 199	NOARGS		{ uid_t sys_getuid(void); }
    359  1.51      fvdl 200	NOARGS		{ gid_t sys_getgid(void); }
    360  1.51      fvdl 201	NOARGS		{ uid_t sys_geteuid(void); }
    361  1.51      fvdl 202	NOARGS		{ gid_t sys_getegid(void); }
    362  1.51      fvdl 203	NOARGS		{ int sys_setreuid(uid_t ruid, uid_t euid); }
    363  1.51      fvdl 204	NOARGS		{ int sys_setregid(gid_t rgid, gid_t egid); }
    364  1.52      fvdl 205	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
    365  1.52      fvdl 206	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
    366  1.51      fvdl 207	NOARGS		{ int sys___posix_fchown(int fd, uid_t uid, \
    367  1.61  christos 			    gid_t gid); }
    368  1.52      fvdl 208	STD		{ int linux_sys_setresuid(uid_t ruid, uid_t euid, \
    369  1.52      fvdl 			    uid_t suid); }
    370  1.52      fvdl 209	STD		{ int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
    371  1.52      fvdl 			    uid_t *suid); }
    372  1.52      fvdl 210	STD		{ int linux_sys_setresgid(gid_t rgid, gid_t egid, \
    373  1.52      fvdl 			    gid_t sgid); }
    374  1.52      fvdl 211	STD		{ int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \
    375  1.52      fvdl 			    gid_t *sgid); }
    376  1.85     njoly 212	NOARGS		{ int sys___posix_chown(const char *path, uid_t uid, \
    377  1.51      fvdl 				gid_t gid); }
    378  1.51      fvdl 213	NOARGS		{ int sys_setuid(uid_t uid); }
    379  1.51      fvdl 214	NOARGS		{ int sys_setgid(gid_t gid); }
    380  1.52      fvdl 215	STD		{ int linux_sys_setfsuid(uid_t uid); }
    381  1.87     njoly 216	STD		{ int linux_sys_setfsgid(gid_t gid); }
    382  1.47  jdolecek 217	UNIMPL		pivot_root
    383  1.68  jdolecek 218	NOARGS		{ int sys_mincore(void *addr, size_t len, char *vec); }
    384  1.68  jdolecek 219	NOARGS		{ int sys_madvise(void *addr, size_t len, int behav); }
    385  1.63  christos 220	STD		{ int linux_sys_getdents64(int fd, \
    386  1.63  christos 			    struct linux_dirent64 *dent, unsigned int count); }
    387  1.62  christos 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.84  christos 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.72      fvdl 226	STD		{ int linux_sys_setxattr(char *path, char *name, \
    398  1.72      fvdl 			    void *value, size_t size, int flags); }
    399  1.72      fvdl 227	STD		{ int linux_sys_lsetxattr(char *path, char *name, \
    400  1.72      fvdl 			    void *value, size_t size, int flags); }
    401  1.72      fvdl 228	STD		{ int linux_sys_fsetxattr(int fd, char *name, \
    402  1.72      fvdl 			    void *value, size_t size, int flags); }
    403  1.72      fvdl 229	STD		{ ssize_t linux_sys_getxattr(char *path, char *name, \
    404  1.72      fvdl 			    void *value, size_t size); }
    405  1.72      fvdl 230	STD		{ ssize_t linux_sys_lgetxattr(char *path, char *name, \
    406  1.72      fvdl 			    void *value, size_t size); }
    407  1.72      fvdl 231	STD		{ ssize_t linux_sys_fgetxattr(int fd, char *name, \
    408  1.72      fvdl 			    void *value, size_t size); }
    409  1.72      fvdl 232	STD		{ ssize_t linux_sys_listxattr(char *path, char *list, \
    410  1.72      fvdl 			    size_t size); }
    411  1.72      fvdl 233	STD		{ ssize_t linux_sys_llistxattr(char *path, char *list, \
    412  1.72      fvdl 			    size_t size); }
    413  1.72      fvdl 234	STD		{ ssize_t linux_sys_flistxattr(int fd, char *list, \
    414  1.72      fvdl 			    size_t size); }
    415  1.72      fvdl 235	STD		{ int linux_sys_removexattr(char *path, char *name); }
    416  1.72      fvdl 236	STD		{ int linux_sys_lremovexattr(char *path, char *name); }
    417  1.72      fvdl 237	STD		{ int linux_sys_fremovexattr(int fd, char *name); }
    418  1.84  christos #ifdef LINUX_NPTL
    419  1.84  christos 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.83  christos 240	STD		{ int linux_sys_futex(int *uaddr, int op, int val, \
    425  1.83  christos 			    const struct timespec *timeout, int *uaddr2, \
    426  1.83  christos 			    int val3); }
    427  1.84  christos #ifdef LINUX_NPTL
    428  1.84  christos 241	STD		{ int linux_sys_sched_setaffinity(pid_t pid, \
    429  1.84  christos 			    unsigned int len, unsigned long *mask); }
    430  1.84  christos 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.92  christos #ifdef LINUX_NPTL
    437  1.92  christos 243	STD		{ int linux_sys_set_thread_area( \
    438  1.92  christos 			    struct linux_user_desc *desc); }
    439  1.92  christos 244	STD		{ int linux_sys_get_thread_area( \
    440  1.92  christos 			    struct linux_user_desc *desc); }
    441  1.92  christos #else
    442  1.69  jdolecek 243	UNIMPL		set_thread_area
    443  1.69  jdolecek 244	UNIMPL		get_thread_area
    444  1.92  christos #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.70  jdolecek 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.84  christos 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.73      fvdl 264	STD		{ int linux_sys_clock_settime(clockid_t which, \
    469  1.73      fvdl 			    struct linux_timespec *tp); }
    470  1.73      fvdl 265	STD		{ int linux_sys_clock_gettime(clockid_t which, \
    471  1.73      fvdl 			    struct linux_timespec *tp); }
    472  1.73      fvdl 266	STD		{ int linux_sys_clock_getres(clockid_t which, \
    473  1.73      fvdl 			    struct linux_timespec *tp); }
    474  1.73      fvdl 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.71  jdolecek 268	STD		{ int linux_sys_statfs64(const char *path, \
    478  1.71  jdolecek 			    size_t sz, struct linux_statfs64 *sp); }
    479  1.71  jdolecek 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.84  christos 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.93  christos 284	UNIMPL		waitid
    500  1.93  christos 285	OBSOL		/* XXXJDM really? */
    501  1.93  christos 286	UNIMPL		add_key
    502  1.93  christos 287	UNIMPL		request_key
    503  1.93  christos 288	UNIMPL		keyctl
    504  1.93  christos 289	UNIMPL		ioprio_set
    505  1.93  christos 290	UNIMPL		ioprio_get
    506  1.93  christos 291	UNIMPL		inotify_init
    507  1.93  christos 292	UNIMPL		inotify_add_watch
    508  1.93  christos 293	UNIMPL		inotify_rm_watch
    509  1.93  christos 294	UNIMPL		migrate_pages
    510  1.93  christos 295	UNIMPL		openat
    511  1.93  christos 296	UNIMPL		mkdirat
    512  1.93  christos 297	UNIMPL		mknodat
    513  1.93  christos 298	UNIMPL		fchownat
    514  1.93  christos 299	UNIMPL		futimesat
    515  1.93  christos 300	UNIMPL		fstatat64
    516  1.93  christos 301	UNIMPL		unlinkat
    517  1.93  christos 302	UNIMPL		renameat
    518  1.93  christos 303	UNIMPL		linkat
    519  1.93  christos 304	UNIMPL		symlinkat
    520  1.93  christos 305	UNIMPL		readlinkat
    521  1.93  christos 306	UNIMPL		fchmodat
    522  1.93  christos 307	UNIMPL		faccessat
    523  1.93  christos 308	UNIMPL		pselect6
    524  1.93  christos 309	UNIMPL		ppoll
    525  1.93  christos 310	UNIMPL		unshare
    526  1.93  christos 311	STD		{ int linux_sys_set_robust_list( \
    527  1.93  christos 			    struct linux_robust_list_head *head, size_t len); }
    528  1.93  christos 312	STD		{ int linux_sys_get_robust_list(int pid, \
    529  1.93  christos 			    struct linux_robust_list_head **head, \
    530  1.93  christos 			    size_t *len); }
    531  1.93  christos 313	UNIMPL		splice
    532  1.93  christos 314	UNIMPL		sync_file_range
    533  1.93  christos 315	UNIMPL		tee
    534  1.93  christos 316	UNIMPL		vmsplice
    535