Home | History | Annotate | Line # | Download | only in alpha
syscalls.master revision 1.60
      1  1.60     njoly 	$NetBSD: syscalls.master,v 1.60 2007/12/21 22:26:20 njoly Exp $
      2  1.16       erh ;
      3   1.1       erh ;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
      4   1.1       erh 
      5   1.1       erh ; NetBSD alpha COMPAT_LINUX system call name/number "master" file.
      6   1.1       erh ; (See syscalls.conf to see what it is processed into.)
      7   1.1       erh ;
      8   1.1       erh ; Fields: number type [type-dependent ...]
      9   1.1       erh ;	number	system call number, must be in order
     10   1.1       erh ;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
     11   1.1       erh ;		the compatibility options defined in syscalls.conf.
     12   1.1       erh ;
     13   1.1       erh ; types:
     14   1.1       erh ;	STD	always included
     15   1.1       erh ;	OBSOL	obsolete, not included in system
     16   1.1       erh ;	UNIMPL	unimplemented, not included in system
     17   1.1       erh ;	NODEF	included, but don't define the syscall number
     18   1.1       erh ;	NOARGS	included, but don't define the syscall args structure
     19   1.1       erh ;	INDIR	included, but don't define the syscall args structure
     20   1.1       erh ;		and allow it to be "really" varargs.
     21   1.1       erh ;
     22   1.1       erh ; The compat options are defined in the syscalls.conf file, and the
     23   1.1       erh ; compat option name is prefixed to the syscall name.  Other than
     24   1.1       erh ; that, they're like NODEF (for 'compat' options), or STD (for
     25   1.1       erh ; 'libcompat' options).
     26   1.1       erh ;
     27   1.1       erh ; The type-dependent arguments are as follows:
     28   1.1       erh ; For STD, NODEF, NOARGS, and compat syscalls:
     29   1.1       erh ;	{ pseudo-proto } [alias]
     30   1.1       erh ; For other syscalls:
     31   1.1       erh ;	[comment]
     32   1.1       erh ;
     33   1.1       erh ; #ifdef's, etc. may be included, and are copied to the output files.
     34   1.1       erh ; #include's are copied to the syscall names and switch definition files only.
     35   1.1       erh ;
     36  1.16       erh ; (ERH: 3/18/00)
     37   1.1       erh ;
     38  1.16       erh ; XXX XAX things to do:
     39  1.16       erh ;		make sure non-linux_foo() matches real linux syscalls.
     40  1.16       erh ;			create new linux_foo functions otherwise
     41  1.16       erh ;			(i.e. reboot, msgrcv? )
     42  1.16       erh ;		make sure linux_foo() matches expected prototypes in .c files.
     43   1.1       erh ;		kill not used functions.  (ifdef the actual code)
     44  1.18       erh ;		make linux_sys_sigreturn in linux_machdep.c use frame.extramask
     45   1.1       erh ;
     46   1.1       erh ; NOT USED = This syscall is not really used in Linux, except in its
     47   1.1       erh ;		osf compat mode.  Since Linux binaries shouldn't ever
     48   1.1       erh ;		call it and osf binaries run under a different emulation,
     49   1.1       erh ;		it shouldn't matter that the linux version of the
     50   1.1       erh ;		function might not DTRT.  Define it anyway so we
     51   1.1       erh ;		don't have to split off or ifdef the associated function.
     52   1.1       erh ; 		    A bit better might be to have makesyscalls identify this
     53   1.1       erh ; 		as "define but don't include in table" so it doesn't actually
     54   1.1       erh ; 		ever get called.
     55   1.1       erh ; UNIMPL <blank> = not implemented here nor in linux source
     56   1.1       erh ; UNIMPL osf_*   = osf functions implemented in linux, not here.
     57   1.1       erh ;
     58   1.4      tron 
     59  1.34       mrg #if defined(_KERNEL_OPT)
     60   1.4      tron #include "opt_sysv.h"
     61   1.6  christos #include "opt_compat_43.h"
     62  1.22       erh #include "opt_compat_osf1.h"
     63  1.25   mycroft #endif
     64   1.1       erh 
     65   1.1       erh #include <sys/param.h>
     66   1.9      tron #include <sys/poll.h>
     67   1.1       erh #include <sys/systm.h>
     68   1.1       erh #include <sys/signal.h>
     69   1.1       erh #include <sys/mount.h>
     70   1.1       erh #include <sys/syscallargs.h>
     71   1.1       erh 
     72   1.2  christos #include <compat/linux/common/linux_types.h>
     73   1.2  christos #include <compat/linux/common/linux_signal.h>
     74   1.2  christos #include <compat/linux/common/linux_siginfo.h>
     75   1.2  christos #include <compat/linux/common/linux_ipc.h>
     76   1.2  christos #include <compat/linux/common/linux_msg.h>
     77   1.2  christos #include <compat/linux/common/linux_sem.h>
     78   1.2  christos #include <compat/linux/common/linux_shm.h>
     79   1.5       erh #include <compat/linux/common/linux_mmap.h>
     80   1.2  christos ;#include <compat/linux/common/linux_machdep.h>
     81   1.2  christos 
     82   1.2  christos #include <compat/linux/linux_syscallargs.h>
     83  1.25   mycroft 
     84  1.25   mycroft %%
     85   1.1       erh 
     86  1.32  jdolecek 0	NOARGS		{ int linux_sys_nosys(void); } syscall
     87   1.1       erh 1	NOARGS		{ int sys_exit(int rval); }
     88   1.1       erh 2	NOARGS		{ int sys_fork(void); }
     89  1.16       erh 3	NOARGS		{ int sys_read(int fd, void *buf, size_t nbyte); }
     90  1.16       erh 4	NOARGS		{ int sys_write(int fd, const void *buf, size_t nbyte); }
     91   1.1       erh 5	UNIMPL
     92   1.1       erh 6	NOARGS		{ int sys_close(int fd); }
     93  1.22       erh 7	NODEF		{ int osf1_sys_wait4(int pid, int *status, \
     94  1.22       erh 			    int options, struct osf1_rusage *rusage); }
     95  1.22       erh ;8	ALIAS		osf1_sys_old_creat, NOT USED
     96  1.16       erh 8	STD		{ int linux_sys_creat(const char *path, mode_t mode); }
     97  1.58     njoly 9	NOARGS		{ int sys_link(const char *path, const char *link); }
     98  1.16       erh 10	STD		{ int linux_sys_unlink(const char *path); }
     99   1.1       erh 11	UNIMPL
    100  1.58     njoly 12	NOARGS		{ int sys_chdir(const char *path); }
    101   1.1       erh 13	NOARGS		{ int sys_fchdir(int fd); }
    102  1.16       erh 14	STD		{ int linux_sys_mknod(const char *path, int mode, int dev); }
    103  1.58     njoly 15	NOARGS		{ int sys_chmod(const char *path, int mode); }
    104  1.30   thorpej 16	NOARGS		{ int sys___posix_chown(const char *path, int uid, int gid); }
    105  1.22       erh ;17	ALIAS		osf1_sys_brk
    106   1.1       erh 17	STD		{ int linux_sys_brk(char *nsize); }
    107   1.1       erh 18	UNIMPL
    108   1.1       erh 19	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
    109   1.1       erh 			    int whence); }
    110  1.27   mycroft 20	NOARGS		{ pid_t sys_getpid_with_ppid(void); }
    111  1.22       erh 21	NODEF		{ int osf1_sys_mount(int type, const char *path, \
    112  1.57  christos 			    int flags, void *data); }
    113  1.21       erh 22	UNIMPL		umount
    114   1.1       erh 23	NOARGS		{ int sys_setuid(uid_t uid); }
    115  1.28   mycroft 24	NOARGS		{ uid_t sys_getuid_with_euid(void); }
    116   1.1       erh 25	UNIMPL
    117  1.16       erh 26	STD		{ int linux_sys_ptrace(long request, long pid, \
    118  1.16       erh 			  long addr, long data); }
    119   1.1       erh 27	UNIMPL
    120   1.1       erh 28	UNIMPL
    121   1.1       erh 29	UNIMPL
    122   1.1       erh 30	UNIMPL
    123   1.1       erh 31	UNIMPL
    124   1.1       erh 32	UNIMPL
    125  1.58     njoly 33	NOARGS		{ int sys_access(const char *path, int flags); }
    126   1.1       erh 34	UNIMPL
    127   1.1       erh 35	UNIMPL
    128   1.1       erh 36	NOARGS		{ int sys_sync(void); }
    129   1.1       erh 37	STD		{ int linux_sys_kill(int pid, int signum); }
    130   1.1       erh 38	UNIMPL
    131   1.1       erh 39	NOARGS		{ int sys_setpgid(int pid, int pgid); }
    132   1.1       erh 40	UNIMPL
    133  1.16       erh 41	NOARGS		{ int sys_dup(int fd); }
    134   1.1       erh 42	NOARGS		{ int linux_sys_pipe(void); }
    135  1.22       erh 43	NODEF		{ int osf1_sys_set_program_attributes( \
    136  1.57  christos 			    void *taddr, unsigned long tsize, \
    137  1.57  christos 			    void *daddr, unsigned long dsize); }
    138   1.1       erh 44	UNIMPL
    139  1.16       erh 45	STD		{ int linux_sys_open(const char *path, int flags, int mode); }
    140   1.1       erh 46	UNIMPL
    141  1.28   mycroft 47	NOARGS		{ gid_t sys_getgid_with_egid(void); }
    142  1.22       erh ; ALIAS osf1_sys_sigprocmask(int how, unsigned long mask);
    143  1.22       erh ; XXX <- copied from osf1/syscalls.master
    144  1.22       erh 48	NOARGS		{ int compat_13_sys_sigprocmask(int how, \
    145  1.22       erh 			    sigset13_t mask); }
    146   1.1       erh 49	UNIMPL
    147   1.1       erh 50	UNIMPL
    148  1.16       erh 51	NOARGS		{ int sys_acct(const char *path); }
    149   1.1       erh 52	STD		{ int linux_sys_sigpending(linux_old_sigset_t *set); }
    150   1.1       erh 53	UNIMPL
    151   1.1       erh 54	STD		{ int linux_sys_ioctl(int fd, u_long com, \
    152  1.57  christos 			    void *data); }
    153   1.1       erh 55	UNIMPL
    154   1.1       erh 56	UNIMPL
    155  1.58     njoly 57	NOARGS		{ int sys_symlink(const char *path, const char *to); }
    156  1.58     njoly 58	NOARGS		{ int sys_readlink(const char *name, char *buf, \
    157   1.1       erh 			    int count); }
    158  1.58     njoly 59	NOARGS		{ int sys_execve(const char *path, char **argp, \
    159   1.1       erh 			    char **envp); }
    160  1.16       erh 60	NOARGS		{ mode_t sys_umask(mode_t newmask); }
    161  1.16       erh 61	NOARGS		{ int sys_chroot(const char *path); }
    162   1.1       erh 62	UNIMPL
    163   1.1       erh 63	NOARGS		{ int sys_getpgrp(void); }
    164   1.1       erh 64	NOARGS		{ int compat_43_sys_getpagesize(void); }
    165   1.1       erh 65	UNIMPL
    166  1.11   thorpej 66	NOARGS		{ int sys___vfork14(void); }
    167  1.16       erh 67	STD		{ int linux_sys_stat(const char *path, \
    168   1.1       erh 			    struct linux_stat *sp); }
    169  1.16       erh 68	STD		{ int linux_sys_lstat(const char *path, \
    170   1.1       erh 			    struct linux_stat *sp); }
    171  1.49     perry 69	UNIMPL
    172   1.1       erh 70	UNIMPL
    173  1.22       erh ;71	ALIAS		osf1_sys_mmap
    174   1.3       erh 71	NOARGS		{ int linux_sys_mmap(unsigned long addr, size_t len, \
    175  1.36      manu 			    int prot, int flags, int fd, linux_off_t offset); }
    176   1.1       erh 72	UNIMPL
    177  1.16       erh 73	NOARGS		{ int sys_munmap(void *addr, size_t len); }
    178  1.40  christos 74	STD		{ int linux_sys_mprotect(const void *start, \
    179  1.40  christos 			    unsigned long len, int prot); }
    180  1.43  jdolecek 75	NOARGS		{ int sys_madvise(void *addr, size_t len, int behav); }
    181   1.1       erh 76	UNIMPL		vhangup
    182   1.1       erh 77	UNIMPL
    183   1.1       erh 78	UNIMPL
    184  1.16       erh 79	NOARGS		{ int sys_getgroups(int gidsetsize, gid_t *gidset); }
    185  1.16       erh 80	NOARGS		{ int sys_setgroups(int gidsetsize, const gid_t *gidset); }
    186   1.1       erh 81	UNIMPL
    187   1.1       erh 82	UNIMPL		setpgrp
    188  1.22       erh 83	NODEF		{ int osf1_sys_setitimer(u_int which, \
    189  1.22       erh 			    struct osf1_itimerval *itv, \
    190  1.22       erh 			    struct osf1_itimerval *oitv); }
    191   1.1       erh 84	UNIMPL
    192  1.49     perry 85	UNIMPL
    193  1.22       erh 86	UNIMPL		osf1_sys_getitimer
    194   1.1       erh 87	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
    195   1.1       erh 			    u_int len); }
    196   1.1       erh 88	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
    197   1.1       erh 			    u_int len); }
    198   1.1       erh 89	UNIMPL		getdtablesize
    199  1.16       erh 90	NOARGS		{ int sys_dup2(int from, int to); }
    200   1.1       erh 91	STD		{ int linux_sys_fstat(int fd, struct linux_stat *sp); }
    201   1.1       erh 92	STD		{ int linux_sys_fcntl(int fd, int cmd, void *arg); }
    202  1.22       erh 93	NODEF		{ int osf1_sys_select(u_int nd, fd_set *in, \
    203  1.22       erh 			    fd_set *ou, fd_set *ex, struct osf1_timeval *tv); }
    204   1.9      tron 94	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
    205   1.9      tron 			    int timeout); }
    206   1.1       erh 95	NOARGS		{ int sys_fsync(int fd); }
    207   1.1       erh 96	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
    208   1.1       erh 97	STD		{ int linux_sys_socket(int domain, int type, \
    209   1.1       erh 			    int protocol); }
    210  1.17       erh 98	STD		{ int linux_sys_connect(int s, \
    211  1.35  jdolecek 			    const struct osockaddr *name, \
    212  1.16       erh 			    unsigned int namelen); }
    213  1.35  jdolecek 99	STD		{ int linux_sys_accept(int s, \
    214  1.35  jdolecek 				struct osockaddr *name, int *anamelen); }
    215  1.22       erh ;100	ALIAS		osf1_sys_getpriority
    216  1.53  christos 100	STD		{ int linux_sys_getpriority(int which, int who); }
    217  1.57  christos 101	STD		{ int linux_sys_send(int s, void *buf, int len, \
    218   1.1       erh 				int flags); }
    219  1.57  christos 102	STD		{ int linux_sys_recv(int s, void *buf, int len, \
    220   1.1       erh 				int flags); }
    221   1.1       erh 103	STD		{ int linux_sys_sigreturn(struct linux_sigframe *sfp); }
    222  1.35  jdolecek 104	STD		{ int linux_sys_bind(int s,	     \
    223  1.35  jdolecek 				const struct osockaddr *name, \
    224  1.35  jdolecek 				unsigned int namelen); }
    225   1.1       erh 105	STD		{ int linux_sys_setsockopt(int s, int level, \
    226   1.1       erh 				int optname, void *optval, int optlen); }
    227   1.1       erh 106	NOARGS		{ int sys_listen(int s, int backlog); }
    228   1.1       erh 107	UNIMPL
    229   1.1       erh 108	UNIMPL
    230   1.1       erh 109	UNIMPL
    231   1.1       erh 110	UNIMPL
    232   1.1       erh 
    233  1.57  christos 111	STD		{ int linux_sys_sigsuspend(void *restart, \
    234   1.1       erh 			    int oldmask, int mask); }
    235  1.22       erh ;112	ALIAS		osf1_sys_sigstack
    236  1.22       erh 112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
    237  1.22       erh 			    struct sigstack *oss); }
    238  1.35  jdolecek 113	STD		{ size_t linux_sys_recvmsg(int s, struct msghdr *msg, \
    239  1.16       erh 				int flags); }
    240  1.35  jdolecek 114	STD		{ ssize_t linux_sys_sendmsg(int s, \
    241  1.16       erh 				const struct msghdr *msg, int flags); }
    242   1.1       erh 115	UNIMPL
    243  1.22       erh 116	NODEF		{ int osf1_sys_gettimeofday(struct osf1_timeval *tv, \
    244  1.22       erh 			    struct osf1_timezone *tzp); }
    245  1.22       erh 117	NODEF		{ int osf1_sys_getrusage(int who, \
    246  1.22       erh 			    struct osf1_rusage *rusage); }
    247   1.1       erh 118	STD		{ int linux_sys_getsockopt(int s, int level, \
    248   1.1       erh 				int optname, void *optval, int *optlen); }
    249   1.1       erh 119	UNIMPL
    250  1.16       erh 120	NOARGS		{ ssize_t sys_readv(int fd, const struct iovec *iovp, \
    251  1.16       erh 				int iovcnt); }
    252  1.21       erh 121	NOARGS		{ ssize_t sys_writev(int fd, const struct iovec *iovp, \
    253  1.16       erh 				int iovcnt); }
    254  1.22       erh 122	NODEF		{ int osf1_sys_settimeofday(struct osf1_timeval *tv, \
    255  1.22       erh 			    struct osf1_timezone *tzp); }
    256  1.30   thorpej 123	NOARGS		{ int sys___posix_fchown(int fd, int uid, int gid); }
    257  1.16       erh 124	NOARGS		{ int sys_fchmod(int fd, mode_t mode); }
    258   1.1       erh 125	STD		{ int linux_sys_recvfrom(int s, void *buf, int len, \
    259  1.35  jdolecek 				int flags, struct osockaddr *from, \
    260  1.35  jdolecek 				int *fromlenaddr); }
    261  1.30   thorpej 126	NOARGS		{ int sys_setreuid(uid_t ruid, uid_t euid); }
    262  1.30   thorpej 127	NOARGS		{ int sys_setregid(gid_t rgid, gid_t egid); }
    263  1.58     njoly 128	NOARGS		{ int sys___posix_rename(const char *from, const char *to); }
    264  1.58     njoly 129	NOARGS		{ int compat_43_sys_truncate(const char *path, \
    265  1.58     njoly 				long length); }
    266   1.1       erh 130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); }
    267   1.1       erh 131	NOARGS		{ int sys_flock(int fd, int how); }
    268   1.1       erh 132	NOARGS		{ int sys_setgid(gid_t gid); }
    269   1.1       erh 133	STD		{ int linux_sys_sendto(int s, void *msg, int len, \
    270  1.35  jdolecek 				int flags, struct osockaddr *to, int tolen); }
    271   1.1       erh 134	NOARGS		{ int sys_shutdown(int s, int how); }
    272   1.1       erh 135	STD		{ int linux_sys_socketpair(int domain, int type, \
    273   1.1       erh 				int protocol, int *rsv); }
    274  1.58     njoly 136	NOARGS		{ int sys_mkdir(const char *path, int mode); }
    275  1.58     njoly 137	NOARGS		{ int sys_rmdir(const char *path); }
    276  1.22       erh 138	NODEF		{ int osf1_sys_utimes(const char *path, \
    277  1.22       erh 			    const struct osf1_timeval *tptr); }
    278   1.1       erh 139	UNIMPL
    279   1.1       erh 140	UNIMPL
    280  1.35  jdolecek 141	STD		{ int linux_sys_getpeername(int fdes, \
    281  1.57  christos 				void *asa, int *alen); }
    282   1.1       erh 142	UNIMPL
    283   1.1       erh 143	UNIMPL
    284  1.39  christos 144	STD		{ int linux_sys_getrlimit(int which, \
    285   1.1       erh 			    struct orlimit *rlp); }
    286  1.39  christos 145	STD		{ int linux_sys_setrlimit(int which, \
    287  1.16       erh 			    const struct orlimit *rlp); }
    288   1.1       erh 146	UNIMPL
    289   1.1       erh 147	NOARGS		{ int sys_setsid(void); }
    290   1.1       erh 148	UNIMPL		quotactl
    291   1.1       erh 149	UNIMPL
    292  1.35  jdolecek 150	STD		{ int linux_sys_getsockname(int fdec, \
    293  1.57  christos 				void *asa, int *alen); }
    294   1.1       erh 151	UNIMPL
    295   1.1       erh 152	UNIMPL
    296   1.1       erh 153	UNIMPL
    297   1.1       erh 154	UNIMPL
    298   1.1       erh 155	UNIMPL
    299  1.22       erh ;156	ALIAS		osf1_sys_sigaction
    300   1.1       erh 156	STD		{ int linux_sys_sigaction(int signum, \
    301   1.1       erh 				const struct linux_old_sigaction *nsa, \
    302   1.1       erh 				struct linux_old_sigaction *osa); }
    303   1.1       erh 157	UNIMPL
    304   1.1       erh 158	UNIMPL
    305  1.22       erh ;159	ALIAS		osf1_sys_getdirentries
    306  1.22       erh 159	NOARGS		{ int compat_43_sys_getdirentries(int fd, char *buf, \
    307  1.22       erh 			    u_int count, long *basep); }
    308  1.22       erh 160	NODEF		{ int osf1_sys_statfs(const char *path, \
    309  1.22       erh 			    struct osf1_statfs *buf, int len); }
    310  1.22       erh 161	NODEF		{ int osf1_sys_fstatfs(int fd, \
    311  1.22       erh 			    struct osf1_statfs *buf, int len); }
    312   1.1       erh 162	UNIMPL
    313   1.1       erh 163	UNIMPL
    314   1.1       erh 164	UNIMPL
    315  1.22       erh ;165	ALIAS		osf1_sys_getdomainname
    316  1.22       erh 165	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
    317  1.22       erh 			    int len); }
    318  1.23  jdolecek 166	STD		{ int linux_sys_setdomainname(char *domainname, \
    319  1.23  jdolecek                             int len); }
    320   1.1       erh 167	UNIMPL
    321   1.1       erh 168	UNIMPL
    322   1.1       erh 169	UNIMPL
    323   1.1       erh 170	UNIMPL
    324   1.1       erh 171	UNIMPL
    325   1.1       erh 172	UNIMPL
    326   1.1       erh 173	UNIMPL
    327   1.1       erh 174	UNIMPL
    328   1.1       erh 175	UNIMPL
    329   1.1       erh 176	UNIMPL
    330   1.1       erh 177	UNIMPL
    331   1.1       erh 178	UNIMPL
    332   1.1       erh 179	UNIMPL
    333   1.1       erh 180	UNIMPL
    334   1.1       erh 181	UNIMPL
    335   1.1       erh 182	UNIMPL
    336   1.1       erh 183	UNIMPL
    337   1.1       erh 184	UNIMPL
    338   1.1       erh 185	UNIMPL
    339   1.1       erh 186	UNIMPL
    340   1.1       erh 187	UNIMPL
    341   1.1       erh 188	UNIMPL
    342   1.1       erh 189	UNIMPL
    343   1.1       erh 190	UNIMPL
    344  1.38  christos ; XXX: Dunno
    345  1.37  christos 191	STD		{ int linux_sys_ugetrlimit(int which, \
    346  1.37  christos 			    struct rlimit *rlp); }
    347  1.40  christos 192	UNIMPL		mmap2
    348   1.1       erh 193	UNIMPL
    349   1.1       erh 194	UNIMPL
    350   1.1       erh 195	UNIMPL
    351   1.1       erh 196	UNIMPL
    352   1.1       erh 197	UNIMPL
    353   1.1       erh 198	UNIMPL
    354  1.22       erh 199	UNIMPL		osf1_sys_swapon
    355   1.1       erh #ifdef SYSVMSG
    356   1.1       erh 200	NOARGS		{ int linux_sys_msgctl(int msqid, int cmd, \
    357   1.1       erh 			    struct linux_msqid_ds *buf); }
    358   1.1       erh 201	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
    359  1.18       erh 202	NOARGS		{ ssize_t sys_msgrcv(int msqid, void *msgp, \
    360  1.18       erh 			    size_t msgsz, long msgtyp, int msgflg); }
    361   1.1       erh 203	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \
    362   1.1       erh 			    int msgflg); }
    363   1.1       erh #else
    364   1.1       erh 200	UNIMPL		msgctl
    365   1.1       erh 201	UNIMPL		msgget
    366   1.1       erh 202	UNIMPL		msgrcv
    367   1.1       erh 203	UNIMPL		msgsnd
    368   1.1       erh #endif
    369   1.1       erh #ifdef SYSVSEM
    370   1.1       erh 204	NOARGS		{ int linux_sys_semctl(int semid, int semnum, \
    371   1.1       erh 			    int cmd, union linux_semun arg); }
    372   1.1       erh 205	NOARGS		{ int sys_semget(key_t key, int nsems, int semflg); }
    373   1.1       erh 206	NOARGS		{ int sys_semop(int semid, struct sembuf *sops, \
    374  1.16       erh 			    size_t nsops); }
    375   1.1       erh #else
    376   1.1       erh 204	UNIMPL		semctl
    377   1.1       erh 205	UNIMPL		semget
    378   1.1       erh 206	UNIMPL		semop
    379   1.1       erh #endif
    380  1.22       erh ;207	ALIAS		osf1_sys_utsname
    381   1.1       erh 207	STD		{ int linux_sys_olduname(struct linux_old_utsname *up); }
    382  1.30   thorpej 208	NOARGS		{ int sys___posix_lchown(const char *path, int uid, int gid); }
    383   1.1       erh #ifdef SYSVSHM
    384   1.1       erh 209	NOARGS		{ int linux_sys_shmat(int shmid, void *shmaddr, \
    385   1.1       erh 			    int shmflg, u_long *raddr); }
    386   1.1       erh 210	NOARGS		{ int linux_sys_shmctl(int shmid, int cmd, \
    387   1.1       erh 			    struct linux_shmid_ds *buf); }
    388  1.16       erh 211	NOARGS		{ int sys_shmdt(const void *shmaddr); }
    389  1.59       dsl 212	NOARGS		{ int linux_sys_shmget(key_t key, size_t size, int shmflg); }
    390   1.1       erh #else
    391   1.1       erh 209	UNIMPL		shmat
    392   1.1       erh 210	UNIMPL		shmctl
    393   1.1       erh 211	UNIMPL		shmdt
    394   1.1       erh 212	UNIMPL		shmget
    395   1.1       erh #endif
    396   1.1       erh 213	UNIMPL
    397   1.1       erh 214	UNIMPL
    398   1.1       erh 215	UNIMPL
    399   1.1       erh 216	UNIMPL
    400  1.57  christos 217	STD		{ int linux_sys_msync(void *addr, int len, int fl); }
    401  1.21       erh 218	UNIMPL
    402   1.1       erh 219	UNIMPL
    403   1.1       erh 220	UNIMPL
    404   1.1       erh 221	UNIMPL
    405   1.1       erh 222	UNIMPL
    406   1.1       erh 223	UNIMPL
    407   1.1       erh 224	UNIMPL
    408   1.1       erh 225	UNIMPL
    409   1.1       erh 226	UNIMPL
    410   1.1       erh 227	UNIMPL
    411   1.1       erh 228	UNIMPL
    412   1.1       erh 229	UNIMPL
    413   1.1       erh 230	UNIMPL
    414   1.1       erh 231	UNIMPL
    415   1.1       erh 232	UNIMPL
    416   1.1       erh 233	STD		{ int linux_sys_getpgid(int pid); }
    417   1.1       erh 234	NOARGS		{ pid_t sys_getsid(pid_t pid); }
    418  1.21       erh 235	UNIMPL		sigaltstack
    419   1.1       erh 236	UNIMPL
    420   1.1       erh 237	UNIMPL
    421   1.1       erh 238	UNIMPL
    422   1.1       erh 239	UNIMPL
    423   1.1       erh 240	UNIMPL
    424  1.22       erh 241	NODEF		{ int osf1_sys_sysinfo(int cmd, char buf, long len); }
    425   1.1       erh 242	UNIMPL
    426   1.1       erh 243	UNIMPL
    427  1.22       erh 244	UNIMPL		osf1_sys_proplist_syscall
    428   1.1       erh 245	UNIMPL
    429   1.1       erh 246	UNIMPL
    430   1.1       erh 247	UNIMPL
    431   1.1       erh 248	UNIMPL
    432   1.1       erh 249	UNIMPL
    433   1.1       erh 250	UNIMPL
    434  1.22       erh 251	NODEF		{ int osf1_sys_usleep_thread( \
    435  1.22       erh 			    struct osf1_timeval *sleep, \
    436  1.22       erh 			    struct osf1_timeval *slept); }
    437   1.1       erh 252	UNIMPL
    438   1.1       erh 253	UNIMPL
    439  1.22       erh 254	UNIMPL
    440  1.22       erh 255	UNIMPL		sysfs
    441  1.57  christos 256	NODEF		{ int osf1_sys_getsysinfo(u_long op, void *buffer, \
    442  1.57  christos 			    u_long nbytes, void *arg, u_long flag); }
    443  1.57  christos 257	NODEF		{ int osf1_sys_setsysinfo(u_long op, void *buffer, \
    444  1.57  christos 			    u_long nbytes, void *arg, u_long flag); }
    445   1.1       erh 258	UNIMPL
    446   1.1       erh 259	UNIMPL
    447   1.1       erh 260	UNIMPL
    448  1.21       erh ; This entry doesn't exist in the Alpha linux syscall table but the function is
    449  1.21       erh ; implemented and used on other ports.
    450   1.1       erh 261	STD		{ int linux_sys_fdatasync(int fd); }
    451   1.1       erh 262	UNIMPL
    452   1.1       erh 263	UNIMPL
    453   1.1       erh 264	UNIMPL
    454   1.1       erh 265	UNIMPL
    455   1.1       erh 266	UNIMPL
    456   1.1       erh 267	UNIMPL
    457   1.1       erh 268	UNIMPL
    458   1.1       erh 269	UNIMPL
    459   1.1       erh 270	UNIMPL
    460   1.1       erh 271	UNIMPL
    461   1.1       erh 272	UNIMPL
    462   1.1       erh 273	UNIMPL
    463   1.1       erh 274	UNIMPL
    464   1.1       erh 275	UNIMPL
    465   1.1       erh 276	UNIMPL
    466   1.1       erh 277	UNIMPL
    467   1.1       erh 278	UNIMPL
    468   1.1       erh 279	UNIMPL
    469   1.1       erh 280	UNIMPL
    470   1.1       erh 281	UNIMPL
    471   1.1       erh 282	UNIMPL
    472   1.1       erh 283	UNIMPL
    473   1.1       erh 284	UNIMPL
    474   1.1       erh 285	UNIMPL
    475   1.1       erh 286	UNIMPL
    476   1.1       erh 287	UNIMPL
    477   1.1       erh 288	UNIMPL
    478   1.1       erh 289	UNIMPL
    479   1.1       erh 290	UNIMPL
    480   1.1       erh 291	UNIMPL
    481   1.1       erh 292	UNIMPL
    482   1.1       erh 293	UNIMPL
    483   1.1       erh 294	UNIMPL
    484   1.1       erh 295	UNIMPL
    485   1.1       erh 296	UNIMPL
    486   1.1       erh 297	UNIMPL
    487   1.1       erh 298	UNIMPL
    488   1.1       erh 299	UNIMPL
    489   1.1       erh 300	UNIMPL		bdflush
    490   1.1       erh 301	UNIMPL		sethae
    491   1.1       erh 302	UNIMPL		mount
    492   1.1       erh 303	UNIMPL		old_adjtimex
    493  1.24  jdolecek 304	STD		{ int linux_sys_swapoff(const char *path); }
    494   1.1       erh 305	STD		{ int linux_sys_getdents(int fd, \
    495   1.1       erh 			    struct linux_dirent *dent, unsigned int count); }
    496  1.21       erh 306	UNIMPL		alpha_create_module
    497   1.1       erh 307	UNIMPL		init_module
    498   1.1       erh 308	UNIMPL		delete_module
    499   1.1       erh 309	UNIMPL		get_kernel_syms
    500   1.1       erh 310	UNIMPL		syslog
    501  1.17       erh 311	STD		{ int linux_sys_reboot(int magic1, int magic2, \
    502  1.17       erh 			    int cmd, void *arg); }
    503  1.19       erh 312	STD		{ int linux_sys_clone(int flags, void *stack); }
    504   1.1       erh #ifdef EXEC_AOUT
    505  1.23  jdolecek 313	STD		{ int linux_sys_uselib(const char *path); }
    506   1.1       erh #else
    507   1.1       erh 313	UNIMPL		sys_uselib
    508   1.1       erh #endif
    509   1.1       erh 314	NOARGS		{ int sys_mlock(const void *addr, size_t len); }
    510   1.1       erh 315	NOARGS		{ int sys_munlock(const void *addr, size_t len); }
    511  1.20  jdolecek 316	NOARGS		{ int sys_mlockall(int flags); }
    512  1.20  jdolecek 317	NOARGS		{ int sys_munlockall(void); }
    513  1.29  jdolecek 318	STD		{ int linux_sys_sysinfo(struct linux_sysinfo *arg); }
    514   1.1       erh 319	STD		{ int linux_sys___sysctl(struct linux___sysctl *lsp); }
    515   1.1       erh 320	UNIMPL		idle
    516  1.21       erh 321	UNIMPL		oldumount
    517  1.23  jdolecek 322	STD		{ int linux_sys_swapon(const char *name); }
    518   1.1       erh 323	STD		{ int linux_sys_times(struct times *tms); }
    519   1.1       erh 324	STD		{ int linux_sys_personality(int per); }
    520  1.16       erh 325	STD		{ int linux_sys_setfsuid(uid_t uid); }
    521  1.60     njoly 326	STD		{ int linux_sys_setfsgid(gid_t gid); }
    522   1.1       erh 327	UNIMPL		ustat
    523  1.16       erh 328	STD		{ int linux_sys_statfs(const char *path, \
    524   1.1       erh 			    struct linux_statfs *sp); }
    525   1.1       erh 329	STD		{ int linux_sys_fstatfs(int fd, \
    526   1.1       erh 			    struct linux_statfs *sp); }
    527  1.12      tron 330	STD		{ int linux_sys_sched_setparam(pid_t pid, \
    528  1.12      tron 			    const struct linux_sched_param *sp); }
    529  1.12      tron 331	STD		{ int linux_sys_sched_getparam(pid_t pid, \
    530  1.12      tron 			    struct linux_sched_param *sp); }
    531  1.12      tron 332	STD		{ int linux_sys_sched_setscheduler(pid_t pid, \
    532  1.12      tron 			    int policy, const struct linux_sched_param *sp); }
    533  1.12      tron 333	STD		{ int linux_sys_sched_getscheduler(pid_t pid); }
    534  1.12      tron 334	STD		{ int linux_sys_sched_yield(void); }
    535  1.12      tron 335	STD		{ int linux_sys_sched_get_priority_max(int policy); }
    536  1.12      tron 336	STD		{ int linux_sys_sched_get_priority_min(int policy); }
    537   1.1       erh 337	UNIMPL		sched_rr_get_interval
    538   1.1       erh 338	UNIMPL		afs_syscall
    539   1.1       erh 339	STD		{ int linux_sys_uname(struct linux_utsname *up); }
    540   1.1       erh 340	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
    541   1.1       erh 				struct timespec *rmtp); }
    542   1.1       erh 341	STD		{ void *linux_sys_mremap(void *old_address, \
    543   1.1       erh 			    size_t old_size, size_t new_size, u_long flags); }
    544   1.1       erh 342	UNIMPL		nfsservctl
    545  1.11   thorpej 343	STD		{ int linux_sys_setresuid(uid_t ruid, uid_t euid, \
    546  1.11   thorpej 			    uid_t suid); }
    547  1.11   thorpej 344	STD		{ int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
    548  1.11   thorpej 			    uid_t *suid); }
    549   1.1       erh 345	UNIMPL		pciconfig_read
    550   1.1       erh 346	UNIMPL		pciconfig_write
    551   1.1       erh 347	UNIMPL		query_module
    552   1.1       erh 348	UNIMPL		prctl
    553  1.14      tron 349	STD		{ int linux_sys_pread(int fd, char *buf, \
    554  1.13      tron 			    size_t nbyte, linux_off_t offset); }
    555  1.13      tron 350	STD		{ int linux_sys_pwrite(int fd, char *buf, \
    556  1.13      tron 			    size_t nbyte, linux_off_t offset); }
    557   1.1       erh 351	STD		{ int linux_sys_rt_sigreturn( \
    558   1.1       erh 				struct linux_rt_sigframe *sfp); }
    559   1.1       erh 352	STD		{ int linux_sys_rt_sigaction(int signum, \
    560   1.1       erh 				const struct linux_sigaction *nsa, \
    561   1.1       erh 				struct linux_sigaction *osa, \
    562   1.1       erh 				size_t sigsetsize); }
    563   1.1       erh 353	STD		{ int linux_sys_rt_sigprocmask(int how, \
    564   1.1       erh 			    const linux_sigset_t *set, \
    565   1.1       erh 			    linux_sigset_t *oset, \
    566   1.1       erh 			    size_t sigsetsize); }
    567   1.1       erh 354	STD		{ int linux_sys_rt_sigpending( \
    568   1.1       erh 			    linux_sigset_t *set, \
    569   1.1       erh 			    size_t sigsetsize); }
    570   1.1       erh 355	UNIMPL		rt_sigtimedwait
    571  1.49     perry ; XXX XAX int here?  sigset_t here?
    572   1.1       erh 356	STD		{ int linux_sys_rt_queueinfo(int pid, int signum, \
    573   1.3       erh 			    linux_siginfo_t *uinfo); }
    574   1.1       erh 357	STD		{ int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
    575   1.1       erh 			    size_t sigsetsize); }
    576   1.1       erh 358	STD		{ int linux_sys_select(int nfds, fd_set *readfds, \
    577   1.1       erh 			    fd_set *writefds, fd_set *exceptfds, \
    578   1.1       erh 			    struct timeval *timeout); }
    579   1.1       erh 359	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
    580   1.1       erh 			    struct timezone *tzp); }
    581  1.16       erh 360	NOARGS		{ int sys_settimeofday(const struct timeval *tp, \
    582  1.16       erh 			    const struct timezone *tzp); }
    583  1.16       erh 361	NOARGS		{ int sys_getitimer(int which, \
    584   1.1       erh 			    struct itimerval *itv); }
    585  1.16       erh 362	NOARGS		{ int sys_setitimer(int which, \
    586  1.16       erh 			    const struct itimerval *itv, \
    587  1.16       erh 			    struct itimerval *oitv); }
    588   1.1       erh 363	NOARGS		{ int sys_utimes(char *path, \
    589  1.16       erh 			    struct timeval *times); }
    590   1.1       erh 364	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
    591   1.1       erh 365	STD		{ int linux_sys_wait4(int pid, int *status, \
    592   1.1       erh 			    int options, struct rusage *rusage); }
    593   1.1       erh 366	UNIMPL		adjtimex
    594   1.8      tron 367	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
    595   1.8      tron 368	UNIMPL		capget
    596   1.8      tron 369	UNIMPL		capset
    597   1.8      tron 370	UNIMPL		sendfile
    598  1.26  jdolecek 371	UNIMPL		setresgid
    599  1.26  jdolecek 372	UNIMPL		getresgid
    600  1.26  jdolecek 373	UNIMPL		sys_dipc
    601  1.33  jdolecek 374	UNIMPL		pivot_root
    602  1.43  jdolecek 375	NOARGS		{ int sys_mincore(void *addr, size_t len, char *vec); }
    603  1.33  jdolecek 376	UNIMPL		pciconfig_iobase
    604  1.41  christos 377	STD		{ int linux_sys_getdents64(int fd, \
    605  1.41  christos 			    struct linux_dirent64 *dent, unsigned int count); }
    606  1.44  jdolecek 378	UNIMPL		gettid
    607  1.44  jdolecek 379	UNIMPL		readahead
    608  1.44  jdolecek 380	UNIMPL		/* unused */
    609  1.44  jdolecek 381	UNIMPL		tkill
    610  1.50      fvdl 382	STD		{ int linux_sys_setxattr(char *path, char *name, \
    611  1.50      fvdl 			    void *value, size_t size, int flags); }
    612  1.50      fvdl 383	STD		{ int linux_sys_lsetxattr(char *path, char *name, \
    613  1.50      fvdl 			    void *value, size_t size, int flags); }
    614  1.50      fvdl 384	STD		{ int linux_sys_fsetxattr(int fd, char *name, \
    615  1.50      fvdl 			    void *value, size_t size, int flags); }
    616  1.50      fvdl 385	STD		{ ssize_t linux_sys_getxattr(char *path, char *name, \
    617  1.50      fvdl 			    void *value, size_t size); }
    618  1.50      fvdl 386	STD		{ ssize_t linux_sys_lgetxattr(char *path, char *name, \
    619  1.50      fvdl 			    void *value, size_t size); }
    620  1.50      fvdl 387	STD		{ ssize_t linux_sys_fgetxattr(int fd, char *name, \
    621  1.50      fvdl 			    void *value, size_t size); }
    622  1.50      fvdl 388	STD		{ ssize_t linux_sys_listxattr(char *path, char *list, \
    623  1.50      fvdl 			    size_t size); }
    624  1.50      fvdl 389	STD		{ ssize_t linux_sys_llistxattr(char *path, char *list, \
    625  1.50      fvdl 			    size_t size); }
    626  1.50      fvdl 390	STD		{ ssize_t linux_sys_flistxattr(int fd, char *list, \
    627  1.50      fvdl 			    size_t size); }
    628  1.50      fvdl 391	STD		{ int linux_sys_removexattr(char *path, char *name); }
    629  1.50      fvdl 392	STD		{ int linux_sys_lremovexattr(char *path, char *name); }
    630  1.50      fvdl 393	STD		{ int linux_sys_fremovexattr(int fd, char *name); }
    631  1.44  jdolecek 394	UNIMPL		futex
    632  1.44  jdolecek 395	UNIMPL		sched_setaffinity
    633  1.44  jdolecek 396	UNIMPL		sched_getaffinity
    634  1.44  jdolecek 397	UNIMPL		tuxcall
    635  1.44  jdolecek 398	UNIMPL		io_setup
    636  1.44  jdolecek 399	UNIMPL		io_destroy
    637  1.44  jdolecek 400	UNIMPL		io_getevents
    638  1.44  jdolecek 401	UNIMPL		io_submit
    639  1.44  jdolecek 402	UNIMPL		io_cancel
    640  1.45  jdolecek 403	UNIMPL		/* unused */
    641  1.45  jdolecek 404	UNIMPL		/* unused */
    642  1.46  jdolecek 405	STD		{ int linux_sys_exit_group(int error_code); }
    643  1.44  jdolecek 406	UNIMPL		lookup_dcookie
    644  1.44  jdolecek 407	UNIMPL		sys_epoll_create
    645  1.44  jdolecek 408	UNIMPL		sys_epoll_ctl
    646  1.44  jdolecek 409	UNIMPL		sys_epoll_wait
    647  1.44  jdolecek 410	UNIMPL		remap_file_pages
    648  1.44  jdolecek 411	UNIMPL		set_tid_address
    649  1.44  jdolecek 412	UNIMPL		restart_syscall
    650  1.44  jdolecek 413	UNIMPL		fadvise64
    651  1.44  jdolecek 414	UNIMPL		timer_create
    652  1.44  jdolecek 415	UNIMPL		timer_settime
    653  1.44  jdolecek 416	UNIMPL		timer_gettime
    654  1.44  jdolecek 417	UNIMPL		timer_getoverrun
    655  1.44  jdolecek 418	UNIMPL		timer_delete
    656  1.51      fvdl 419	STD		{ int linux_sys_clock_settime(clockid_t which, \
    657  1.51      fvdl 			    struct linux_timespec *tp); }
    658  1.51      fvdl 420	STD		{ int linux_sys_clock_gettime(clockid_t which, \
    659  1.51      fvdl 			    struct linux_timespec *tp); }
    660  1.51      fvdl 421	STD		{ int linux_sys_clock_getres(clockid_t which, \
    661  1.51      fvdl 			    struct linux_timespec *tp); }
    662  1.51      fvdl 422	STD		{ int linux_sys_clock_nanosleep(clockid_t which, \
    663  1.51      fvdl 			    int flags, struct linux_timespec *rqtp, \
    664  1.51      fvdl 			    struct linux_timespec *rmtp); }
    665  1.44  jdolecek 423	UNIMPL		semtimedop
    666  1.44  jdolecek 424	UNIMPL		tgkill
    667  1.44  jdolecek 425	UNIMPL		stat64
    668  1.44  jdolecek 426	UNIMPL		lstat64
    669  1.44  jdolecek 427	UNIMPL		fstat64
    670  1.44  jdolecek 428	UNIMPL		vserver
    671  1.44  jdolecek 429	UNIMPL		mbind
    672  1.44  jdolecek 430	UNIMPL		get_mempolicy
    673  1.44  jdolecek 431	UNIMPL		set_mempolicy
    674  1.44  jdolecek 432	UNIMPL		mq_open
    675  1.44  jdolecek 433	UNIMPL		mq_unlink
    676  1.44  jdolecek 434	UNIMPL		mq_timedsend
    677  1.44  jdolecek 435	UNIMPL		mq_timedreceive
    678  1.44  jdolecek 436	UNIMPL		mq_notify
    679  1.44  jdolecek 437	UNIMPL		mq_getsetattr
    680