syscalls.master revision 1.15
11.15Sjdolecek	$NetBSD: syscalls.master,v 1.15 2003/08/10 20:16:20 jdolecek Exp $
21.1Sbjh21
31.1Sbjh21; Derived from sys/compat/linux/arch/*/syscalls.master
41.1Sbjh21; and from Linux 2.4.12 arch/arm/kernel/calls.S
51.1Sbjh21
61.1Sbjh21; NetBSD/arm COMPAT_LINUX system call name/number "master" file.
71.1Sbjh21; (See syscalls.conf to see what it is processed into.)
81.1Sbjh21;
91.1Sbjh21; Fields: number type [type-dependent ...]
101.1Sbjh21;	number	system call number, must be in order
111.1Sbjh21;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
121.1Sbjh21;		the compatibility options defined in syscalls.conf.
131.1Sbjh21;
141.1Sbjh21; types:
151.1Sbjh21;	STD	always included
161.1Sbjh21;	OBSOL	obsolete, not included in system
171.1Sbjh21;	UNIMPL	unimplemented, not included in system
181.1Sbjh21;	NODEF	included, but don't define the syscall number
191.1Sbjh21;	NOARGS	included, but don't define the syscall args structure
201.1Sbjh21;	INDIR	included, but don't define the syscall args structure
211.1Sbjh21;		and allow it to be "really" varargs.
221.1Sbjh21;
231.1Sbjh21; The compat options are defined in the syscalls.conf file, and the
241.1Sbjh21; compat option name is prefixed to the syscall name.  Other than
251.1Sbjh21; that, they're like NODEF (for 'compat' options), or STD (for
261.1Sbjh21; 'libcompat' options).
271.1Sbjh21;
281.1Sbjh21; The type-dependent arguments are as follows:
291.1Sbjh21; For STD, NODEF, NOARGS, and compat syscalls:
301.1Sbjh21;	{ pseudo-proto } [alias]
311.1Sbjh21; For other syscalls:
321.1Sbjh21;	[comment]
331.1Sbjh21;
341.1Sbjh21; #ifdef's, etc. may be included, and are copied to the output files.
351.1Sbjh21; #include's are copied to the syscall names and switch definition files only.
361.1Sbjh21
371.1Sbjh21#if defined(_KERNEL_OPT)
381.1Sbjh21#include "opt_compat_43.h"
391.1Sbjh21#endif
401.1Sbjh21
411.1Sbjh21#include <sys/param.h>
421.1Sbjh21#include <sys/poll.h>
431.1Sbjh21#include <sys/systm.h>
441.1Sbjh21#include <sys/signal.h>
451.1Sbjh21#include <sys/mount.h>
461.12Sthorpej#include <sys/sa.h>
471.1Sbjh21#include <sys/syscallargs.h>
481.1Sbjh21
491.1Sbjh21#include <compat/linux/common/linux_types.h>
501.14She#include <compat/linux/common/linux_mmap.h>
511.1Sbjh21#include <compat/linux/common/linux_signal.h>
521.1Sbjh21#include <compat/linux/common/linux_siginfo.h>
531.1Sbjh21#include <compat/linux/common/linux_machdep.h>
541.1Sbjh21
551.1Sbjh21#include <compat/linux/linux_syscallargs.h>
561.1Sbjh21
571.1Sbjh21%%
581.5Sbjh21; XXX We have to explicitly declare linux_sys_nosys.
591.5Sbjh210	NOARGS		{ int linux_sys_nosys(void); }
601.1Sbjh211	NOARGS		{ int sys_exit(int rval); }
611.1Sbjh212	NOARGS		{ int sys_fork(void); }
621.1Sbjh213	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
631.1Sbjh214	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
641.1Sbjh215	STD		{ int linux_sys_open(const char *path, int flags, \
651.1Sbjh21			    int mode); }
661.1Sbjh216	NOARGS		{ int sys_close(int fd); }
671.1Sbjh217	STD		{ int linux_sys_waitpid(int pid, int *status, \
681.1Sbjh21			    int options);}
691.1Sbjh218	STD		{ int linux_sys_creat(const char *path, int mode); }
701.1Sbjh219	STD		{ int linux_sys_link(const char *path, const \
711.1Sbjh21			    char *link); }
721.1Sbjh2110	STD		{ int linux_sys_unlink(const char *path); }
731.1Sbjh2111	STD		{ int linux_sys_execve(const char *path, char **argp, \
741.1Sbjh21			    char **envp); }
751.1Sbjh2112	STD		{ int linux_sys_chdir(const char *path); }
761.1Sbjh2113	STD		{ int linux_sys_time(linux_time_t *t); }
771.1Sbjh2114	STD		{ int linux_sys_mknod(const char *path, int mode, \
781.1Sbjh21			    int dev); }
791.1Sbjh2115	STD		{ int linux_sys_chmod(const char *path, int mode); }
801.1Sbjh2116	STD		{ int linux_sys_lchown16(const char *path, int uid, \
811.1Sbjh21			    int gid); }
821.1Sbjh2117	OBSOL		break
831.1Sbjh2118	OBSOL		ostat
841.1Sbjh2119	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
851.1Sbjh21			    int whence); }
861.1Sbjh2120	NOARGS MPSAFE	{ pid_t sys_getpid(void); }
871.1Sbjh2121	UNIMPL		mount
881.1Sbjh2122	OBSOL		umount
891.1Sbjh2123	NOARGS		{ int sys_setuid(uid_t uid); }
901.1Sbjh2124	NOARGS		{ uid_t sys_getuid(void); }
911.1Sbjh2125	STD		{ int linux_sys_stime(linux_time_t *t); }
921.1Sbjh2126	STD		{ int linux_sys_ptrace(int request, int pid, \
931.1Sbjh21			    int addr, int data); }
941.1Sbjh2127	STD		{ int linux_sys_alarm(unsigned int secs); }
951.1Sbjh2128	OBSOL		ofstat
961.1Sbjh2129	STD		{ int linux_sys_pause(void); }
971.1Sbjh2130	STD		{ int linux_sys_utime(const char *path, \
981.1Sbjh21			    struct linux_utimbuf *times); }
991.1Sbjh2131	OBSOL		stty
1001.1Sbjh2132	OBSOL		gtty
1011.1Sbjh2133	STD		{ int linux_sys_access(const char *path, int flags); }
1021.1Sbjh2134	STD		{ int linux_sys_nice(int incr); }
1031.1Sbjh2135	OBSOL		ftime
1041.1Sbjh2136	NOARGS		{ int sys_sync(void); }
1051.1Sbjh2137	STD		{ int linux_sys_kill(int pid, int signum); }
1061.1Sbjh2138	STD		{ int linux_sys_rename(const char *from, \
1071.1Sbjh21			    const char *to); }
1081.1Sbjh2139	STD		{ int linux_sys_mkdir(const char *path, int mode); }
1091.1Sbjh2140	STD		{ int linux_sys_rmdir(const char *path); }
1101.1Sbjh2141	NOARGS		{ int sys_dup(u_int fd); }
1111.1Sbjh2142	STD		{ int linux_sys_pipe(int *pfds); }
1121.1Sbjh2143	STD		{ int linux_sys_times(struct times *tms); }
1131.1Sbjh2144	OBSOL		prof
1141.1Sbjh2145	STD		{ int linux_sys_brk(char *nsize); }
1151.1Sbjh2146	NOARGS		{ int sys_setgid(gid_t gid); }
1161.1Sbjh2147	NOARGS		{ gid_t sys_getgid(void); }
1171.1Sbjh2148	STD		{ int linux_sys_signal(int signum, \
1181.1Sbjh21			    linux_handler_t handler); }
1191.1Sbjh2149	NOARGS		{ uid_t sys_geteuid(void); }
1201.1Sbjh2150	NOARGS		{ gid_t sys_getegid(void); }
1211.1Sbjh2151	NOARGS		{ int sys_acct(char *path); }
1221.1Sbjh2152	UNIMPL		umount
1231.1Sbjh2153	OBSOL		lock
1241.1Sbjh2154	STD		{ int linux_sys_ioctl(int fd, u_long com, \
1251.1Sbjh21			    caddr_t data); }
1261.1Sbjh2155	STD		{ int linux_sys_fcntl(int fd, int cmd, void *arg); }
1271.1Sbjh2156	OBSOL		mpx
1281.1Sbjh2157	NOARGS		{ int sys_setpgid(int pid, int pgid); }
1291.1Sbjh2158	OBSOL		ulimit
1301.2Sbjh2159 	STD		{ int linux_sys_oldolduname( \
1311.2Sbjh21			   struct linux_oldold_utsname *up); }
1321.1Sbjh2160	NOARGS		{ int sys_umask(int newmask); }
1331.1Sbjh2161	NOARGS		{ int sys_chroot(char *path); }
1341.1Sbjh2162	UNIMPL		ustat
1351.1Sbjh2163	NOARGS		{ int sys_dup2(u_int from, u_int to); }
1361.1Sbjh2164	NOARGS		{ pid_t sys_getppid(void); }
1371.1Sbjh2165	NOARGS		{ int sys_getpgrp(void); }
1381.1Sbjh2166	NOARGS		{ int sys_setsid(void); }
1391.1Sbjh2167	STD		{ int linux_sys_sigaction(int signum, \
1401.1Sbjh21			    const struct linux_old_sigaction *nsa, \
1411.1Sbjh21			    struct linux_old_sigaction *osa); }
1421.1Sbjh2168	STD		{ int linux_sys_siggetmask(void); }
1431.1Sbjh2169	STD		{ int linux_sys_sigsetmask(linux_old_sigset_t mask); }
1441.1Sbjh2170	NOARGS		{ int sys_setreuid(uid_t ruid, uid_t euid); } 
1451.1Sbjh2171	NOARGS		{ int sys_setregid(gid_t rgid, gid_t egid); }
1461.1Sbjh2172	STD		{ int linux_sys_sigsuspend(caddr_t restart, \
1471.1Sbjh21			    int oldmask, int mask); }
1481.1Sbjh2173	STD		{ int linux_sys_sigpending(linux_old_sigset_t *set); }
1491.1Sbjh2174	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
1501.1Sbjh21			    u_int len);}
1511.8Sbjh2175	STD		{ int linux_sys_setrlimit(u_int which, \
1521.1Sbjh21			    struct orlimit *rlp); }
1531.8Sbjh2176	STD		{ int linux_sys_getrlimit(u_int which, \
1541.1Sbjh21			    struct orlimit *rlp); }
1551.1Sbjh2177	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
1561.1Sbjh2178	STD		{ int linux_sys_gettimeofday(struct timeval *tp, \
1571.1Sbjh21			    struct timezone *tzp); }
1581.1Sbjh2179	STD		{ int linux_sys_settimeofday(struct timeval *tp, \
1591.1Sbjh21			    struct timezone *tzp); }
1601.1Sbjh2180	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
1611.1Sbjh2181	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
1621.1Sbjh2182	STD		{ int linux_sys_oldselect(struct linux_oldselect *lsp); }
1631.1Sbjh2183	STD		{ int linux_sys_symlink(const char *path, \
1641.1Sbjh21			    const char *to); }
1651.1Sbjh2184	NOARGS		{ int compat_43_sys_lstat(const char *path, \
1661.1Sbjh21			    struct stat43 *up); } oolstat
1671.1Sbjh2185	STD		{ int linux_sys_readlink(const char *name, char *buf, \
1681.1Sbjh21			    int count); }
1691.1Sbjh21#ifdef EXEC_AOUT
1701.1Sbjh2186	STD		{ int linux_sys_uselib(const char *path); }
1711.1Sbjh21#else
1721.1Sbjh2186	EXCL		uselib
1731.1Sbjh21#endif
1741.1Sbjh2187	STD		{ int linux_sys_swapon(char *name); }
1751.1Sbjh2188	STD		{ int linux_sys_reboot(int magic1, int magic2, \
1761.1Sbjh21			    int cmd, void *arg); }
1771.1Sbjh2189	STD		{ int linux_sys_readdir(int fd, caddr_t dent, \
1781.1Sbjh21			    unsigned int count); }
1791.1Sbjh2190	STD		{ int linux_sys_old_mmap(struct linux_oldmmap *lmp); }
1801.1Sbjh2191	NOARGS		{ int sys_munmap(caddr_t addr, int len); }
1811.1Sbjh2192	STD		{ int linux_sys_truncate(const char *path, \
1821.1Sbjh21			    long length); }
1831.1Sbjh2193	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); }
1841.1Sbjh2194	NOARGS		{ int sys_fchmod(int fd, int mode); }
1851.1Sbjh2195	STD		{ int linux_sys_fchown16(int fd, int uid, int gid); }
1861.1Sbjh2196	NOARGS		{ int sys_getpriority(int which, int who); }
1871.1Sbjh2197	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
1881.1Sbjh2198	NOARGS		{ int sys_profil(caddr_t samples, u_int size, \
1891.1Sbjh21			    u_int offset, u_int scale); }
1901.1Sbjh2199	STD		{ int linux_sys_statfs(const char *path, \
1911.1Sbjh21			    struct linux_statfs *sp); }
1921.1Sbjh21100	STD		{ int linux_sys_fstatfs(int fd, \
1931.1Sbjh21			    struct linux_statfs *sp); }
1941.1Sbjh21101	UNIMPL
1951.1Sbjh21102	STD		{ int linux_sys_socketcall(int what, void *args); }
1961.1Sbjh21103	UNIMPL		syslog
1971.1Sbjh21104	NOARGS		{ int sys_setitimer(u_int which, \
1981.1Sbjh21			    struct itimerval *itv, struct itimerval *oitv); }
1991.1Sbjh21105	NOARGS		{ int sys_getitimer(u_int which, \
2001.1Sbjh21			    struct itimerval *itv); }
2011.1Sbjh21106	STD		{ int linux_sys_stat(const char *path, \
2021.1Sbjh21			    struct linux_stat *sp); }
2031.1Sbjh21107	STD		{ int linux_sys_lstat(const char *path, \
2041.1Sbjh21			    struct linux_stat *sp); }
2051.1Sbjh21108	STD		{ int linux_sys_fstat(int fd, struct linux_stat *sp); }
2061.2Sbjh21109	STD		{ int linux_sys_olduname(struct linux_oldutsname *up); }
2071.1Sbjh21110	UNIMPL
2081.1Sbjh21111	UNIMPL		vhangup
2091.1Sbjh21112	UNIMPL		idle
2101.1Sbjh21113	UNIMPL		syscall
2111.1Sbjh21114	STD		{ int linux_sys_wait4(int pid, int *status, \
2121.1Sbjh21			    int options, struct rusage *rusage); }
2131.1Sbjh21115	STD		{ int linux_sys_swapoff(const char *path); }
2141.1Sbjh21116	STD		{ int linux_sys_sysinfo(struct linux_sysinfo *arg); }
2151.1Sbjh21117	STD		{ int linux_sys_ipc(int what, int a1, int a2, int a3, \
2161.1Sbjh21			    caddr_t ptr); }
2171.1Sbjh21118	NOARGS		{ int sys_fsync(int fd); }
2181.1Sbjh21119	STD		{ int linux_sys_sigreturn(struct linux_sigcontext *scp); }
2191.1Sbjh21120	STD		{ int linux_sys_clone(int flags, void *stack); }
2201.1Sbjh21121	STD		{ int linux_sys_setdomainname(char *domainname, \
2211.1Sbjh21			    int len); }
2221.2Sbjh21122	STD		{ int linux_sys_uname(struct linux_utsname *up); }
2231.1Sbjh21123	UNIMPL		modify_ldt	
2241.1Sbjh21124	UNIMPL		adjtimex
2251.9Schristos125	STD		{ int linux_sys_mprotect(const void *start, \
2261.9Schristos			    unsigned long len, int prot); }
2271.1Sbjh21126	STD		{ int linux_sys_sigprocmask(int how, \
2281.1Sbjh21			    const linux_old_sigset_t *set, \
2291.1Sbjh21			    linux_old_sigset_t *oset); }
2301.1Sbjh21127	UNIMPL		create_module
2311.1Sbjh21128	UNIMPL		init_module
2321.1Sbjh21129	UNIMPL		delete_module
2331.1Sbjh21130	UNIMPL		get_kernel_syms
2341.1Sbjh21131	UNIMPL		quotactl
2351.1Sbjh21132	STD		{ int linux_sys_getpgid(int pid); }
2361.1Sbjh21133	NOARGS		{ int sys_fchdir(int fd); }
2371.1Sbjh21134	UNIMPL		bdflush
2381.1Sbjh21135	UNIMPL		sysfs
2391.1Sbjh21136	STD		{ int linux_sys_personality(int per); }
2401.1Sbjh21137	UNIMPL		afs_syscall
2411.1Sbjh21138	STD		{ int linux_sys_setfsuid(uid_t uid); }
2421.1Sbjh21139	NOARGS		{ int linux_sys_getfsuid(void); }
2431.1Sbjh21140	STD		{ int linux_sys_llseek(int fd, u_int32_t ohigh, \
2441.1Sbjh21			    u_int32_t olow, caddr_t res, int whence); }
2451.1Sbjh21141	STD		{ int linux_sys_getdents(int fd, \
2461.1Sbjh21			    struct linux_dirent *dent, unsigned int count); }
2471.1Sbjh21142	STD		{ int linux_sys_select(int nfds, fd_set *readfds, \
2481.1Sbjh21			    fd_set *writefds, fd_set *exceptfds, \
2491.1Sbjh21			    struct timeval *timeout); }
2501.1Sbjh21143	NOARGS		{ int sys_flock(int fd, int how); }
2511.1Sbjh21144	STD		{ int linux_sys_msync(caddr_t addr, int len, int fl); }
2521.1Sbjh21145	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
2531.1Sbjh21				u_int iovcnt); }
2541.1Sbjh21146	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
2551.1Sbjh21				u_int iovcnt); }
2561.1Sbjh21147	NOARGS		{ pid_t sys_getsid(pid_t pid); }
2571.1Sbjh21148	STD		{ int linux_sys_fdatasync(int fd); }
2581.1Sbjh21149	STD		{ int linux_sys___sysctl(struct linux___sysctl *lsp); }
2591.1Sbjh21150	NOARGS		{ int sys_mlock(caddr_t addr, size_t len); }
2601.1Sbjh21151	NOARGS		{ int sys_munlock(caddr_t addr, size_t len); }
2611.1Sbjh21152	NOARGS		{ int sys_mlockall(int flags); }
2621.1Sbjh21153	NOARGS		{ int sys_munlockall(void); }
2631.1Sbjh21154	STD		{ int linux_sys_sched_setparam(pid_t pid, \
2641.1Sbjh21			    const struct linux_sched_param *sp); }
2651.1Sbjh21155	STD		{ int linux_sys_sched_getparam(pid_t pid, \
2661.1Sbjh21			    struct linux_sched_param *sp); }
2671.1Sbjh21156	STD		{ int linux_sys_sched_setscheduler(pid_t pid, \
2681.1Sbjh21			    int policy, const struct linux_sched_param *sp); }
2691.1Sbjh21157	STD		{ int linux_sys_sched_getscheduler(pid_t pid); }
2701.1Sbjh21158	STD		{ int linux_sys_sched_yield(void); }
2711.1Sbjh21159	STD		{ int linux_sys_sched_get_priority_max(int policy); }
2721.1Sbjh21160	STD		{ int linux_sys_sched_get_priority_min(int policy); }
2731.1Sbjh21161	UNIMPL		sched_rr_get_interval
2741.1Sbjh21162	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
2751.1Sbjh21				struct timespec *rmtp); }
2761.1Sbjh21163	STD		{ void *linux_sys_mremap(void *old_address, \
2771.1Sbjh21			    size_t old_size, size_t new_size, u_long flags); }
2781.1Sbjh21164	STD		{ int linux_sys_setresuid(uid_t ruid, uid_t euid, \
2791.1Sbjh21			    uid_t suid); }
2801.1Sbjh21165	STD		{ int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
2811.1Sbjh21			    uid_t *suid); }
2821.1Sbjh21166	UNIMPL
2831.1Sbjh21167	UNIMPL		query_module
2841.1Sbjh21168	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
2851.1Sbjh21			    int timeout); }
2861.1Sbjh21169	UNIMPL		nfsservctl
2871.1Sbjh21170	STD		{ int linux_sys_setresgid(gid_t rgid, gid_t egid, \
2881.1Sbjh21			    gid_t sgid); }
2891.1Sbjh21171	STD		{ int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \
2901.1Sbjh21			    gid_t *sgid); }
2911.1Sbjh21172	UNIMPL		prctl
2921.1Sbjh21173	UNIMPL		rt_sigreturn
2931.1Sbjh21;173	STD		{ int linux_sys_rt_sigreturn( \
2941.1Sbjh21;			    struct linux_rt_sigframe *sfp); }
2951.1Sbjh21174	STD		{ int linux_sys_rt_sigaction(int signum, \
2961.1Sbjh21			    const struct linux_sigaction *nsa, \
2971.1Sbjh21			    struct linux_sigaction *osa, \
2981.1Sbjh21			    size_t sigsetsize); }
2991.1Sbjh21175	STD		{ int linux_sys_rt_sigprocmask(int how, \
3001.1Sbjh21			    const linux_sigset_t *set, \
3011.1Sbjh21			    linux_sigset_t *oset, \
3021.1Sbjh21			    size_t sigsetsize); }
3031.1Sbjh21176	STD		{ int linux_sys_rt_sigpending( \
3041.1Sbjh21			    linux_sigset_t *set, \
3051.1Sbjh21			    size_t sigsetsize); }
3061.1Sbjh21177	UNIMPL		rt_sigtimedwait
3071.1Sbjh21; XXX XAX int here?  sigset_t here?  siginfo_t
3081.1Sbjh21178	STD		{ int linux_sys_rt_queueinfo(int pid, int signum, \
3091.1Sbjh21			    void *uinfo); }
3101.1Sbjh21179	STD		{ int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
3111.1Sbjh21			    size_t sigsetsize); }
3121.1Sbjh21180	STD		{ int linux_sys_pread(int fd, char *buf, \
3131.1Sbjh21			    size_t nbyte, linux_off_t offset); }
3141.1Sbjh21181	STD		{ int linux_sys_pwrite(int fd, char *buf, \
3151.1Sbjh21			    size_t nbyte, linux_off_t offset); }
3161.1Sbjh21182	STD		{ int linux_sys_chown16(const char *path, int uid, \
3171.1Sbjh21			    int gid); }
3181.1Sbjh21183	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
3191.1Sbjh21184	UNIMPL		capget
3201.1Sbjh21185	UNIMPL		capset
3211.1Sbjh21186	STD		{ int linux_sys_sigaltstack( \
3221.1Sbjh21			    const struct linux_sigaltstack *ss, \
3231.1Sbjh21			    struct linux_sigaltstack *oss); }
3241.1Sbjh21187	UNIMPL		sendfile
3251.1Sbjh21188	UNIMPL		getpmsg
3261.1Sbjh21189	UNIMPL		putpmsg
3271.1Sbjh21190	NOARGS		vfork { int sys___vfork14(void); }
3281.7Schristos191	STD		{ int linux_sys_ugetrlimit(int which, \
3291.7Schristos			    struct rlimit *rlp); }
3301.13Schristos192	NOARGS		{ linux_off_t linux_sys_mmap2(unsigned long addr, \
3311.13Schristos			    size_t len, int prot, int flags, int fd, \
3321.13Schristos			    linux_off_t offset); }
3331.1Sbjh21193	STD		{ int linux_sys_truncate64(const char *path, \
3341.1Sbjh21				off_t length); }
3351.15Sjdolecek194	STD		{ int linux_sys_ftruncate64(unsigned int fd, \
3361.1Sbjh21				off_t length); }
3371.1Sbjh21195	STD		{ int linux_sys_stat64(const char *path, \
3381.1Sbjh21				struct linux_stat64 *sp); }
3391.1Sbjh21196	STD		{ int linux_sys_lstat64(const char *path, \
3401.1Sbjh21				struct linux_stat64 *sp); }
3411.1Sbjh21197	STD		{ int linux_sys_fstat64(int fd, \
3421.1Sbjh21				struct linux_stat64 *sp); }
3431.1Sbjh21198	STD		{ int linux_sys_lchown(const char *path, uid_t uid, \
3441.1Sbjh21				gid_t gid); }
3451.1Sbjh21199	NOARGS		getuid32 { uid_t sys_getuid(void); }
3461.1Sbjh21200	NOARGS		getgid32 { gid_t sys_getgid(void); }
3471.1Sbjh21201	NOARGS		geteuid32 { uid_t sys_geteuid(void); }
3481.1Sbjh21202	NOARGS		getegid32 { gid_t sys_getegid(void); }
3491.1Sbjh21203	NOARGS		setreuid32 { int sys_setreuid(uid_t ruid, \
3501.1Sbjh21				uid_t euid); }
3511.1Sbjh21204	NOARGS		setregid32 { int sys_setregid(gid_t rgid, \
3521.1Sbjh21				gid_t egid); }
3531.1Sbjh21205	NOARGS		getgroups32 { int sys_getgroups(u_int gidsetsize, \
3541.1Sbjh21				gid_t *gidset); }
3551.1Sbjh21206	NOARGS		setgroups32 { int sys_setgroups(u_int gidsetsize, \
3561.1Sbjh21				gid_t *gidset); }
3571.1Sbjh21207	NOARGS		fchown32 { int sys___posix_fchown(int fd, uid_t uid, \
3581.1Sbjh21				gid_t gid); }
3591.1Sbjh21208	NOARGS		setresuid32 { int linux_sys_setresuid(uid_t ruid, \
3601.1Sbjh21				uid_t euid, uid_t suid); }
3611.1Sbjh21209	NOARGS		getresuid32 { int linux_sys_getresuid(uid_t *ruid, \
3621.1Sbjh21				uid_t *euid, uid_t *suid); }
3631.1Sbjh21210	NOARGS		setresgid32 { int linux_sys_setresgid(gid_t rgid, \
3641.1Sbjh21				gid_t egid, gid_t sgid); }
3651.1Sbjh21211	NOARGS		getresgid32 { int linux_sys_getresgid(gid_t *rgid, \
3661.1Sbjh21				gid_t *egid, gid_t *sgid); }
3671.1Sbjh21212	STD		chown32 { int linux_sys_chown(const char *path, \
3681.1Sbjh21				uid_t uid, gid_t gid); }
3691.1Sbjh21213	NOARGS		setuid32 { int sys_setuid(uid_t uid); }
3701.1Sbjh21214	NOARGS		setgid32 { int sys_setgid(gid_t gid); }
3711.1Sbjh21215	NOARGS		setfsuid32 { int linux_sys_setfsuid(uid_t uid); }
3721.1Sbjh21216	NOARGS		getfsuid32 { int linux_sys_getfsuid(void); }
3731.10Schristos217	STD		{ int linux_sys_getdents64(int fd, \
3741.10Schristos			    struct linux_dirent64 *dent, unsigned int count); }
3751.1Sbjh21218	UNIMPL		pivot_root
3761.1Sbjh21219	UNIMPL		mincore
3771.1Sbjh21220	UNIMPL		madvise
3781.11Sjdolecek221	STD		{ int linux_sys_fcntl64(int fd, int cmd, void *arg); }
3791.3Sbjh21; Fill until 256
3801.3Sbjh21222	UNIMPL
3811.3Sbjh21223	UNIMPL
3821.3Sbjh21224	UNIMPL
3831.3Sbjh21225	UNIMPL
3841.3Sbjh21226	UNIMPL
3851.3Sbjh21227	UNIMPL
3861.3Sbjh21228	UNIMPL
3871.3Sbjh21229	UNIMPL
3881.3Sbjh21230	UNIMPL
3891.3Sbjh21231	UNIMPL
3901.3Sbjh21232	UNIMPL
3911.3Sbjh21233	UNIMPL
3921.3Sbjh21234	UNIMPL
3931.3Sbjh21235	UNIMPL
3941.3Sbjh21236	UNIMPL
3951.3Sbjh21237	UNIMPL
3961.3Sbjh21238	UNIMPL
3971.3Sbjh21239	UNIMPL
3981.3Sbjh21240	UNIMPL
3991.3Sbjh21241	UNIMPL
4001.3Sbjh21242	UNIMPL
4011.3Sbjh21243	UNIMPL
4021.3Sbjh21244	UNIMPL
4031.3Sbjh21245	UNIMPL
4041.3Sbjh21246	UNIMPL
4051.3Sbjh21247	UNIMPL
4061.3Sbjh21248	UNIMPL
4071.3Sbjh21249	UNIMPL
4081.3Sbjh21250	UNIMPL
4091.3Sbjh21251	UNIMPL
4101.3Sbjh21252	UNIMPL
4111.3Sbjh21253	UNIMPL
4121.3Sbjh21254	UNIMPL
4131.3Sbjh21255	UNIMPL
4141.3Sbjh21
4151.3Sbjh21; ARMLinux actually has two ranges of syscalls.  Normal syscalls use
4161.3Sbjh21; SWI numbers starting at 0x900000 (__NR_SYSCALL_BASE).  Special
4171.3Sbjh21; ARM-specific syscalls use SWI numbers starting at 0x9f00000
4181.3Sbjh21; (__ARM_NR_BASE).  linux_syscall() (in arch/arm/arm/linux_syscall.c)
4191.3Sbjh21; remaps these down to 0x900100 so that we can use one linux_sysent
4201.3Sbjh21; array for the whole lot.
4211.3Sbjh21
4221.3Sbjh21256	UNIMPL
4231.6Sbjh21257	STD		{ int linux_sys_breakpoint(void); }
4241.3Sbjh21258	STD		{ int linux_sys_cacheflush(uintptr_t from, \
4251.3Sbjh21				intptr_t to); }
4261.3Sbjh21259	UNIMPL		usr26
4271.3Sbjh21260	UNIMPL		usr32
428