syscalls.master revision 1.39
11.39Spooka	$NetBSD: syscalls.master,v 1.39 2009/01/13 22:27:43 pooka 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#include <sys/param.h>
381.1Sbjh21#include <sys/poll.h>
391.1Sbjh21#include <sys/systm.h>
401.1Sbjh21#include <sys/signal.h>
411.1Sbjh21#include <sys/mount.h>
421.1Sbjh21#include <sys/syscallargs.h>
431.38Srtr#include <sys/time.h>
441.1Sbjh21
451.38Srtr#include <compat/sys/time.h>
461.1Sbjh21#include <compat/linux/common/linux_types.h>
471.14She#include <compat/linux/common/linux_mmap.h>
481.1Sbjh21#include <compat/linux/common/linux_signal.h>
491.1Sbjh21#include <compat/linux/common/linux_siginfo.h>
501.1Sbjh21#include <compat/linux/common/linux_machdep.h>
511.1Sbjh21
521.1Sbjh21#include <compat/linux/linux_syscallargs.h>
531.1Sbjh21
541.1Sbjh21%%
551.5Sbjh21; XXX We have to explicitly declare linux_sys_nosys.
561.39Spooka0	NOARGS		{ int|linux_sys||nosys(void); }
571.39Spooka1	NOARGS		{ int|sys||exit(int rval); }
581.39Spooka2	NOARGS		{ int|sys||fork(void); }
591.39Spooka3	NOARGS		{ int|sys||read(int fd, char *buf, u_int nbyte); }
601.39Spooka4	NOARGS		{ int|sys||write(int fd, char *buf, u_int nbyte); }
611.39Spooka5	STD		{ int|linux_sys||open(const char *path, int flags, \
621.1Sbjh21			    int mode); }
631.39Spooka6	NOARGS		{ int|sys||close(int fd); }
641.39Spooka7	STD		{ int|linux_sys||waitpid(int pid, int *status, \
651.1Sbjh21			    int options);}
661.39Spooka8	STD		{ int|linux_sys||creat(const char *path, int mode); }
671.39Spooka9	NOARGS		{ int|sys||link(const char *path, const char *link); }
681.39Spooka10	STD		{ int|linux_sys||unlink(const char *path); }
691.39Spooka11	NOARGS		{ int|sys||execve(const char *path, char **argp, \
701.1Sbjh21			    char **envp); }
711.39Spooka12	NOARGS		{ int|sys||chdir(const char *path); }
721.39Spooka13	STD		{ int|linux_sys||time(linux_time_t *t); }
731.39Spooka14	STD		{ int|linux_sys||mknod(const char *path, int mode, \
741.1Sbjh21			    int dev); }
751.39Spooka15	NOARGS		{ int|sys||chmod(const char *path, int mode); }
761.39Spooka16	STD		{ int|linux_sys||lchown16(const char *path, \
771.33Snjoly			    linux_uid16_t uid, linux_gid16_t gid); }
781.1Sbjh2117	OBSOL		break
791.1Sbjh2118	OBSOL		ostat
801.39Spooka19	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
811.1Sbjh21			    int whence); }
821.39Spooka20	NOARGS 		{ pid_t|sys||getpid(void); }
831.1Sbjh2121	UNIMPL		mount
841.1Sbjh2122	OBSOL		umount
851.39Spooka23	NOARGS		{ int|sys||setuid(uid_t uid); }
861.39Spooka24	NOARGS		{ uid_t|sys||getuid(void); }
871.39Spooka25	STD		{ int|linux_sys||stime(linux_time_t *t); }
881.39Spooka26	STD		{ int|linux_sys||ptrace(int request, int pid, \
891.1Sbjh21			    int addr, int data); }
901.39Spooka27	STD		{ int|linux_sys||alarm(unsigned int secs); }
911.1Sbjh2128	OBSOL		ofstat
921.39Spooka29	STD		{ int|linux_sys||pause(void); }
931.39Spooka30	STD		{ int|linux_sys||utime(const char *path, \
941.1Sbjh21			    struct linux_utimbuf *times); }
951.1Sbjh2131	OBSOL		stty
961.1Sbjh2132	OBSOL		gtty
971.39Spooka33	NOARGS		{ int|sys||access(const char *path, int flags); }
981.39Spooka34	STD		{ int|linux_sys||nice(int incr); }
991.1Sbjh2135	OBSOL		ftime
1001.39Spooka36	NOARGS		{ int|sys||sync(void); }
1011.39Spooka37	STD		{ int|linux_sys||kill(int pid, int signum); }
1021.39Spooka38	NOARGS		{ int|sys||__posix_rename(const char *from, \
1031.1Sbjh21			    const char *to); }
1041.39Spooka39	NOARGS		{ int|sys||mkdir(const char *path, int mode); }
1051.39Spooka40	NOARGS		{ int|sys||rmdir(const char *path); }
1061.39Spooka41	NOARGS		{ int|sys||dup(u_int fd); }
1071.39Spooka42	STD		{ int|linux_sys||pipe(int *pfds); }
1081.39Spooka43	STD		{ int|linux_sys||times(struct times *tms); }
1091.1Sbjh2144	OBSOL		prof
1101.39Spooka45	STD		{ int|linux_sys||brk(char *nsize); }
1111.39Spooka46	NOARGS		{ int|sys||setgid(gid_t gid); }
1121.39Spooka47	NOARGS		{ gid_t|sys||getgid(void); }
1131.39Spooka48	STD		{ int|linux_sys||signal(int signum, \
1141.1Sbjh21			    linux_handler_t handler); }
1151.39Spooka49	NOARGS		{ uid_t|sys||geteuid(void); }
1161.39Spooka50	NOARGS		{ gid_t|sys||getegid(void); }
1171.39Spooka51	NOARGS		{ int|sys||acct(char *path); }
1181.1Sbjh2152	UNIMPL		umount
1191.1Sbjh2153	OBSOL		lock
1201.39Spooka54	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
1211.28Schristos			    void *data); }
1221.39Spooka55	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
1231.1Sbjh2156	OBSOL		mpx
1241.39Spooka57	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
1251.1Sbjh2158	OBSOL		ulimit
1261.39Spooka59 	STD		{ int|linux_sys||oldolduname( \
1271.2Sbjh21			   struct linux_oldold_utsname *up); }
1281.39Spooka60	NOARGS		{ int|sys||umask(int newmask); }
1291.39Spooka61	NOARGS		{ int|sys||chroot(char *path); }
1301.1Sbjh2162	UNIMPL		ustat
1311.39Spooka63	NOARGS		{ int|sys||dup2(u_int from, u_int to); }
1321.39Spooka64	NOARGS		{ pid_t|sys||getppid(void); }
1331.39Spooka65	NOARGS		{ int|sys||getpgrp(void); }
1341.39Spooka66	NOARGS		{ int|sys||setsid(void); }
1351.39Spooka67	STD		{ int|linux_sys||sigaction(int signum, \
1361.1Sbjh21			    const struct linux_old_sigaction *nsa, \
1371.1Sbjh21			    struct linux_old_sigaction *osa); }
1381.39Spooka68	STD		{ int|linux_sys||siggetmask(void); }
1391.39Spooka69	STD		{ int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
1401.39Spooka70	STD		{ int|linux_sys||setreuid16(linux_uid16_t ruid, \
1411.33Snjoly			    linux_uid16_t euid); }
1421.39Spooka71	STD		{ int|linux_sys||setregid16(linux_gid16_t rgid, \
1431.33Snjoly			    linux_gid16_t egid); }
1441.39Spooka72	STD		{ int|linux_sys||sigsuspend(void *restart, \
1451.1Sbjh21			    int oldmask, int mask); }
1461.39Spooka73	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
1471.39Spooka74	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
1481.1Sbjh21			    u_int len);}
1491.39Spooka75	STD		{ int|linux_sys||setrlimit(u_int which, \
1501.1Sbjh21			    struct orlimit *rlp); }
1511.39Spooka76	STD		{ int|linux_sys||getrlimit(u_int which, \
1521.1Sbjh21			    struct orlimit *rlp); }
1531.39Spooka77	NOARGS		{ int|compat_50_sys||getrusage(int who, struct rusage50 *rusage); }
1541.39Spooka78	STD		{ int|linux_sys||gettimeofday(struct timeval *tp, \
1551.1Sbjh21			    struct timezone *tzp); }
1561.39Spooka79	STD		{ int|linux_sys||settimeofday(struct timeval *tp, \
1571.1Sbjh21			    struct timezone *tzp); }
1581.39Spooka80	STD		{ int|linux_sys||getgroups16(int gidsetsize, \
1591.33Snjoly			    linux_gid16_t *gidset); }
1601.39Spooka81	STD		{ int|linux_sys||setgroups16(int gidsetsize, \
1611.33Snjoly			    linux_gid16_t *gidset); }
1621.39Spooka82	STD		{ int|linux_sys||oldselect(struct linux_oldselect *lsp); }
1631.39Spooka83	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
1641.39Spooka84	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
1651.1Sbjh21			    struct stat43 *up); } oolstat
1661.39Spooka85	NOARGS		{ int|sys||readlink(const char *name, char *buf, \
1671.1Sbjh21			    int count); }
1681.1Sbjh21#ifdef EXEC_AOUT
1691.39Spooka86	STD		{ int|linux_sys||uselib(const char *path); }
1701.1Sbjh21#else
1711.1Sbjh2186	EXCL		uselib
1721.1Sbjh21#endif
1731.39Spooka87	STD		{ int|linux_sys||swapon(char *name); }
1741.39Spooka88	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
1751.1Sbjh21			    int cmd, void *arg); }
1761.39Spooka89	STD		{ int|linux_sys||readdir(int fd, void *dent, \
1771.1Sbjh21			    unsigned int count); }
1781.39Spooka90	STD		{ int|linux_sys||old_mmap(struct linux_oldmmap *lmp); }
1791.39Spooka91	NOARGS		{ int|sys||munmap(void *addr, int len); }
1801.39Spooka92	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
1811.1Sbjh21			    long length); }
1821.39Spooka93	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
1831.39Spooka94	NOARGS		{ int|sys||fchmod(int fd, int mode); }
1841.39Spooka95	STD		{ int|linux_sys||fchown16(int fd, linux_uid16_t uid, \
1851.33Snjoly			    linux_gid16_t gid); }
1861.39Spooka96	STD		{ int|linux_sys||getpriority(int which, int who); }
1871.39Spooka97	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
1881.39Spooka98	NOARGS		{ int|sys||profil(void *samples, u_int size, \
1891.1Sbjh21			    u_int offset, u_int scale); }
1901.39Spooka99	STD		{ int|linux_sys||statfs(const char *path, \
1911.1Sbjh21			    struct linux_statfs *sp); }
1921.39Spooka100	STD		{ int|linux_sys||fstatfs(int fd, \
1931.1Sbjh21			    struct linux_statfs *sp); }
1941.1Sbjh21101	UNIMPL
1951.39Spooka102	STD		{ int|linux_sys||socketcall(int what, void *args); }
1961.1Sbjh21103	UNIMPL		syslog
1971.39Spooka104	NOARGS		{ int|compat_50_sys||setitimer(u_int which, \
1981.38Srtr			    struct itimerval50 *itv, \
1991.38Srtr			    struct itimerval50 *oitv); }
2001.39Spooka105	NOARGS		{ int|compat_50_sys||getitimer(u_int which, \
2011.38Srtr			    struct itimerval50 *itv); }
2021.39Spooka106	STD		{ int|linux_sys||stat(const char *path, \
2031.1Sbjh21			    struct linux_stat *sp); }
2041.39Spooka107	STD		{ int|linux_sys||lstat(const char *path, \
2051.1Sbjh21			    struct linux_stat *sp); }
2061.39Spooka108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
2071.39Spooka109	STD		{ int|linux_sys||olduname(struct linux_oldutsname *up); }
2081.1Sbjh21110	UNIMPL
2091.1Sbjh21111	UNIMPL		vhangup
2101.1Sbjh21112	UNIMPL		idle
2111.1Sbjh21113	UNIMPL		syscall
2121.39Spooka114	STD		{ int|linux_sys||wait4(int pid, int *status, \
2131.1Sbjh21			    int options, struct rusage *rusage); }
2141.39Spooka115	STD		{ int|linux_sys||swapoff(const char *path); }
2151.39Spooka116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
2161.39Spooka117	STD		{ int|linux_sys||ipc(int what, int a1, int a2, int a3, \
2171.28Schristos			    void *ptr); }
2181.39Spooka118	NOARGS		{ int|sys||fsync(int fd); }
2191.39Spooka119	STD		{ int|linux_sys||sigreturn(struct linux_sigcontext *scp); }
2201.39Spooka120	STD		{ int|linux_sys||clone(int flags, void *stack); }
2211.39Spooka121	STD		{ int|linux_sys||setdomainname(char *domainname, \
2221.1Sbjh21			    int len); }
2231.39Spooka122	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
2241.20Sperry123	UNIMPL		modify_ldt
2251.1Sbjh21124	UNIMPL		adjtimex
2261.39Spooka125	STD		{ int|linux_sys||mprotect(const void *start, \
2271.9Schristos			    unsigned long len, int prot); }
2281.39Spooka126	STD		{ int|linux_sys||sigprocmask(int how, \
2291.1Sbjh21			    const linux_old_sigset_t *set, \
2301.1Sbjh21			    linux_old_sigset_t *oset); }
2311.1Sbjh21127	UNIMPL		create_module
2321.1Sbjh21128	UNIMPL		init_module
2331.1Sbjh21129	UNIMPL		delete_module
2341.1Sbjh21130	UNIMPL		get_kernel_syms
2351.1Sbjh21131	UNIMPL		quotactl
2361.39Spooka132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
2371.39Spooka133	NOARGS		{ int|sys||fchdir(int fd); }
2381.1Sbjh21134	UNIMPL		bdflush
2391.1Sbjh21135	UNIMPL		sysfs
2401.39Spooka136	STD		{ int|linux_sys||personality(int per); }
2411.1Sbjh21137	UNIMPL		afs_syscall
2421.39Spooka138	STD		{ int|linux_sys||setfsuid(uid_t uid); }
2431.39Spooka139	STD		{ int|linux_sys||setfsgid(gid_t gid); }
2441.39Spooka140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
2451.28Schristos			    u_int32_t olow, void *res, int whence); }
2461.39Spooka141	STD		{ int|linux_sys||getdents(int fd, \
2471.1Sbjh21			    struct linux_dirent *dent, unsigned int count); }
2481.39Spooka142	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
2491.1Sbjh21			    fd_set *writefds, fd_set *exceptfds, \
2501.1Sbjh21			    struct timeval *timeout); }
2511.39Spooka143	NOARGS		{ int|sys||flock(int fd, int how); }
2521.39Spooka144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
2531.39Spooka145	NOARGS		{ int|sys||readv(int fd, struct iovec *iovp, \
2541.1Sbjh21				u_int iovcnt); }
2551.39Spooka146	NOARGS		{ int|sys||writev(int fd, struct iovec *iovp, \
2561.1Sbjh21				u_int iovcnt); }
2571.39Spooka147	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
2581.39Spooka148	STD		{ int|linux_sys||fdatasync(int fd); }
2591.39Spooka149	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
2601.39Spooka150	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
2611.39Spooka151	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
2621.39Spooka152	NOARGS		{ int|sys||mlockall(int flags); }
2631.39Spooka153	NOARGS		{ int|sys||munlockall(void); }
2641.39Spooka154	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
2651.1Sbjh21			    const struct linux_sched_param *sp); }
2661.39Spooka155	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
2671.1Sbjh21			    struct linux_sched_param *sp); }
2681.39Spooka156	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
2691.1Sbjh21			    int policy, const struct linux_sched_param *sp); }
2701.39Spooka157	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
2711.39Spooka158	STD		{ int|linux_sys||sched_yield(void); }
2721.39Spooka159	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
2731.39Spooka160	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
2741.1Sbjh21161	UNIMPL		sched_rr_get_interval
2751.39Spooka162	STD		{ int|linux_sys||nanosleep( \
2761.36Snjoly			    const struct linux_timespec *rqtp, \
2771.36Snjoly			    struct linux_timespec *rmtp); }
2781.39Spooka163	STD		{ void *|linux_sys||mremap(void *old_address, \
2791.1Sbjh21			    size_t old_size, size_t new_size, u_long flags); }
2801.39Spooka164	STD		{ int|linux_sys||setresuid16(linux_uid16_t ruid, \
2811.33Snjoly			    linux_uid16_t euid, linux_uid16_t suid); }
2821.39Spooka165	STD		{ int|linux_sys||getresuid16(linux_uid16_t *ruid, \
2831.33Snjoly			    linux_uid16_t *euid, linux_uid16_t *suid); }
2841.1Sbjh21166	UNIMPL
2851.1Sbjh21167	UNIMPL		query_module
2861.39Spooka168	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
2871.1Sbjh21			    int timeout); }
2881.1Sbjh21169	UNIMPL		nfsservctl
2891.39Spooka170	STD		{ int|linux_sys||setresgid16(linux_gid16_t rgid, \
2901.33Snjoly			    linux_gid16_t egid, linux_gid16_t sgid); }
2911.39Spooka171	STD		{ int|linux_sys||getresgid16(linux_gid16_t *rgid, \
2921.33Snjoly			    linux_gid16_t *egid, linux_gid16_t *sgid); }
2931.1Sbjh21172	UNIMPL		prctl
2941.1Sbjh21173	UNIMPL		rt_sigreturn
2951.39Spooka;173	STD		{ int|linux_sys||rt_sigreturn( \
2961.1Sbjh21;			    struct linux_rt_sigframe *sfp); }
2971.39Spooka174	STD		{ int|linux_sys||rt_sigaction(int signum, \
2981.1Sbjh21			    const struct linux_sigaction *nsa, \
2991.1Sbjh21			    struct linux_sigaction *osa, \
3001.1Sbjh21			    size_t sigsetsize); }
3011.39Spooka175	STD		{ int|linux_sys||rt_sigprocmask(int how, \
3021.1Sbjh21			    const linux_sigset_t *set, \
3031.1Sbjh21			    linux_sigset_t *oset, \
3041.1Sbjh21			    size_t sigsetsize); }
3051.39Spooka176	STD		{ int|linux_sys||rt_sigpending( \
3061.1Sbjh21			    linux_sigset_t *set, \
3071.1Sbjh21			    size_t sigsetsize); }
3081.1Sbjh21177	UNIMPL		rt_sigtimedwait
3091.1Sbjh21; XXX XAX int here?  sigset_t here?  siginfo_t
3101.39Spooka178	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
3111.1Sbjh21			    void *uinfo); }
3121.39Spooka179	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
3131.1Sbjh21			    size_t sigsetsize); }
3141.39Spooka180	STD		{ int|linux_sys||pread(int fd, char *buf, \
3151.1Sbjh21			    size_t nbyte, linux_off_t offset); }
3161.39Spooka181	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
3171.1Sbjh21			    size_t nbyte, linux_off_t offset); }
3181.39Spooka182	STD		{ int|linux_sys||chown16(const char *path, \
3191.33Snjoly			    linux_uid16_t uid, linux_gid16_t gid); }
3201.39Spooka183	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
3211.1Sbjh21184	UNIMPL		capget
3221.1Sbjh21185	UNIMPL		capset
3231.39Spooka186	STD		{ int|linux_sys||sigaltstack( \
3241.1Sbjh21			    const struct linux_sigaltstack *ss, \
3251.1Sbjh21			    struct linux_sigaltstack *oss); }
3261.1Sbjh21187	UNIMPL		sendfile
3271.1Sbjh21188	UNIMPL		getpmsg
3281.1Sbjh21189	UNIMPL		putpmsg
3291.39Spooka190	NOARGS		vfork { int|sys|14|vfork(void); }
3301.39Spooka191	STD		{ int|linux_sys||ugetrlimit(int which, \
3311.7Schristos			    struct rlimit *rlp); }
3321.30Sdsl#define linux_sys_mmap2_args linux_sys_mmap_args
3331.39Spooka192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
3341.13Schristos			    size_t len, int prot, int flags, int fd, \
3351.13Schristos			    linux_off_t offset); }
3361.39Spooka193	STD		{ int|linux_sys||truncate64(const char *path, \
3371.1Sbjh21				off_t length); }
3381.39Spooka194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
3391.1Sbjh21				off_t length); }
3401.39Spooka195	STD		{ int|linux_sys||stat64(const char *path, \
3411.1Sbjh21				struct linux_stat64 *sp); }
3421.39Spooka196	STD		{ int|linux_sys||lstat64(const char *path, \
3431.1Sbjh21				struct linux_stat64 *sp); }
3441.39Spooka197	STD		{ int|linux_sys||fstat64(int fd, \
3451.1Sbjh21				struct linux_stat64 *sp); }
3461.39Spooka198	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
3471.1Sbjh21				gid_t gid); }
3481.39Spooka199	NOARGS		getuid32 { uid_t|sys||getuid(void); }
3491.39Spooka200	NOARGS		getgid32 { gid_t|sys||getgid(void); }
3501.39Spooka201	NOARGS		geteuid32 { uid_t|sys||geteuid(void); }
3511.39Spooka202	NOARGS		getegid32 { gid_t|sys||getegid(void); }
3521.39Spooka203	NOARGS		setreuid32 { int|sys||setreuid(uid_t ruid, \
3531.1Sbjh21				uid_t euid); }
3541.39Spooka204	NOARGS		setregid32 { int|sys||setregid(gid_t rgid, \
3551.1Sbjh21				gid_t egid); }
3561.39Spooka205	NOARGS		getgroups32 { int|sys||getgroups(u_int gidsetsize, \
3571.1Sbjh21				gid_t *gidset); }
3581.39Spooka206	NOARGS		setgroups32 { int|sys||setgroups(u_int gidsetsize, \
3591.1Sbjh21				gid_t *gidset); }
3601.39Spooka207	NOARGS		fchown32 { int|sys||__posix_fchown(int fd, uid_t uid, \
3611.1Sbjh21				gid_t gid); }
3621.39Spooka208	STD		setresuid32 { int|linux_sys||setresuid(uid_t ruid, \
3631.1Sbjh21				uid_t euid, uid_t suid); }
3641.39Spooka209	STD		getresuid32 { int|linux_sys||getresuid(uid_t *ruid, \
3651.1Sbjh21				uid_t *euid, uid_t *suid); }
3661.39Spooka210	STD		setresgid32 { int|linux_sys||setresgid(gid_t rgid, \
3671.1Sbjh21				gid_t egid, gid_t sgid); }
3681.39Spooka211	STD		getresgid32 { int|linux_sys||getresgid(gid_t *rgid, \
3691.1Sbjh21				gid_t *egid, gid_t *sgid); }
3701.39Spooka212	NOARGS		chown32 { int|sys||__posix_chown(const char *path, \
3711.1Sbjh21				uid_t uid, gid_t gid); }
3721.39Spooka213	NOARGS		setuid32 { int|sys||setuid(uid_t uid); }
3731.39Spooka214	NOARGS		setgid32 { int|sys||setgid(gid_t gid); }
3741.39Spooka215	NOARGS		setfsuid32 { int|linux_sys||setfsuid(uid_t uid); }
3751.39Spooka216	NOARGS		setfsgid32 { int|linux_sys||setfsgid(gid_t gid); }
3761.39Spooka217	STD		{ int|linux_sys||getdents64(int fd, \
3771.10Schristos			    struct linux_dirent64 *dent, unsigned int count); }
3781.1Sbjh21218	UNIMPL		pivot_root
3791.39Spooka219	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
3801.39Spooka220	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
3811.39Spooka221	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
3821.17Sjdolecek222	UNIMPL		/* for tux */
3831.17Sjdolecek223	UNIMPL		/* unused */
3841.17Sjdolecek224	UNIMPL		gettid
3851.17Sjdolecek225	UNIMPL		readahead
3861.39Spooka226	STD		{ int|linux_sys||setxattr(char *path, char *name, \
3871.21Sfvdl			    void *value, size_t size, int flags); }
3881.39Spooka227	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
3891.21Sfvdl			    void *value, size_t size, int flags); }
3901.39Spooka228	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
3911.21Sfvdl			    void *value, size_t size, int flags); }
3921.39Spooka229	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
3931.21Sfvdl			    void *value, size_t size); }
3941.39Spooka230	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
3951.21Sfvdl			    void *value, size_t size); }
3961.39Spooka231	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
3971.21Sfvdl			    void *value, size_t size); }
3981.39Spooka232	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
3991.21Sfvdl			    size_t size); }
4001.39Spooka233	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
4011.21Sfvdl			    size_t size); }
4021.39Spooka234	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
4031.21Sfvdl			    size_t size); }
4041.39Spooka235	STD		{ int|linux_sys||removexattr(char *path, char *name); }
4051.39Spooka236	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
4061.39Spooka237	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
4071.17Sjdolecek238	UNIMPL		tkill
4081.17Sjdolecek239	UNIMPL		sendfile64
4091.17Sjdolecek240	UNIMPL		futex
4101.17Sjdolecek241	UNIMPL		sched_setaffinity
4111.17Sjdolecek242	UNIMPL		sched_getaffinity
4121.17Sjdolecek243	UNIMPL		io_setup
4131.17Sjdolecek244	UNIMPL		io_destroy
4141.17Sjdolecek245	UNIMPL		io_getevents
4151.17Sjdolecek246	UNIMPL		io_submit
4161.17Sjdolecek247	UNIMPL		io_cancel
4171.39Spooka248	STD		{ int|linux_sys||exit_group(int error_code); }
4181.17Sjdolecek249	UNIMPL		lookup_dcookie
4191.17Sjdolecek250	UNIMPL		epoll_create
4201.17Sjdolecek251	UNIMPL		epoll_ctl
4211.17Sjdolecek252	UNIMPL		epoll_wait
4221.17Sjdolecek253	UNIMPL		remap_file_pages
4231.17Sjdolecek254	UNIMPL		/* for set_thread_area */
4241.17Sjdolecek255	UNIMPL		/* for get_thread_area */
4251.17Sjdolecek256	UNIMPL		/* for set_tid_address */
4261.17Sjdolecek257	UNIMPL		timer_create
4271.17Sjdolecek258	UNIMPL		timer_settime
4281.17Sjdolecek259	UNIMPL		timer_gettime
4291.17Sjdolecek260	UNIMPL		timer_getoverrun
4301.17Sjdolecek261	UNIMPL		timer_delete
4311.39Spooka262	STD		{ int|linux_sys||clock_settime(clockid_t which, \
4321.22Sfvdl			    struct linux_timespec *tp); }
4331.39Spooka263	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
4341.22Sfvdl			    struct linux_timespec *tp); }
4351.39Spooka264	STD		{ int|linux_sys||clock_getres(clockid_t which, \
4361.22Sfvdl			    struct linux_timespec *tp); }
4371.39Spooka265	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
4381.22Sfvdl			    int flags, struct linux_timespec *rqtp, \
4391.22Sfvdl			    struct linux_timespec *rmtp); }
4401.39Spooka266	STD		{ int|linux_sys||statfs64(const char *path, \
4411.19Sjdolecek			    size_t sz, struct linux_statfs64 *sp); }
4421.39Spooka267	STD		{ int|linux_sys||fstatfs64(int fd, \
4431.19Sjdolecek			    size_t sz, struct linux_statfs64 *sp); }
4441.17Sjdolecek268	UNIMPL		tgkill
4451.17Sjdolecek269	UNIMPL		utimes
4461.17Sjdolecek270	UNIMPL		fadvise64_64
4471.17Sjdolecek271	UNIMPL		pciconfig_iobase
4481.17Sjdolecek272	UNIMPL		pciconfig_read
4491.17Sjdolecek273	UNIMPL		pciconfig_write
4501.17Sjdolecek274	UNIMPL
4511.17Sjdolecek275	UNIMPL
4521.17Sjdolecek276	UNIMPL
4531.17Sjdolecek277	UNIMPL
4541.17Sjdolecek278	UNIMPL
4551.17Sjdolecek279	UNIMPL
4561.17Sjdolecek280	UNIMPL
4571.17Sjdolecek281	UNIMPL
4581.17Sjdolecek282	UNIMPL
4591.17Sjdolecek283	UNIMPL
4601.17Sjdolecek284	UNIMPL
4611.17Sjdolecek285	UNIMPL
4621.17Sjdolecek286	UNIMPL
4631.17Sjdolecek287	UNIMPL
4641.17Sjdolecek288	UNIMPL
4651.17Sjdolecek289	UNIMPL
4661.17Sjdolecek290	UNIMPL
4671.17Sjdolecek291	UNIMPL
4681.17Sjdolecek292	UNIMPL
4691.17Sjdolecek293	UNIMPL
4701.17Sjdolecek294	UNIMPL
4711.17Sjdolecek295	UNIMPL
4721.17Sjdolecek296	UNIMPL
4731.17Sjdolecek297	UNIMPL
4741.17Sjdolecek298	UNIMPL
4751.17Sjdolecek299	UNIMPL
4761.17Sjdolecek300	UNIMPL
4771.17Sjdolecek301	UNIMPL
4781.17Sjdolecek302	UNIMPL
4791.17Sjdolecek303	UNIMPL
4801.17Sjdolecek304	UNIMPL
4811.17Sjdolecek305	UNIMPL
4821.17Sjdolecek306	UNIMPL
4831.17Sjdolecek307	UNIMPL
4841.17Sjdolecek308	UNIMPL
4851.17Sjdolecek309	UNIMPL
4861.17Sjdolecek310	UNIMPL
4871.17Sjdolecek311	UNIMPL
4881.17Sjdolecek312	UNIMPL
4891.17Sjdolecek313	UNIMPL
4901.17Sjdolecek314	UNIMPL
4911.17Sjdolecek315	UNIMPL
4921.17Sjdolecek316	UNIMPL
4931.17Sjdolecek317	UNIMPL
4941.17Sjdolecek318	UNIMPL
4951.17Sjdolecek319	UNIMPL
4961.17Sjdolecek320	UNIMPL
4971.17Sjdolecek321	UNIMPL
4981.17Sjdolecek322	UNIMPL
4991.17Sjdolecek323	UNIMPL
5001.17Sjdolecek324	UNIMPL
5011.17Sjdolecek325	UNIMPL
5021.17Sjdolecek326	UNIMPL
5031.17Sjdolecek327	UNIMPL
5041.17Sjdolecek328	UNIMPL
5051.17Sjdolecek329	UNIMPL
5061.17Sjdolecek330	UNIMPL
5071.17Sjdolecek331	UNIMPL
5081.17Sjdolecek332	UNIMPL
5091.17Sjdolecek333	UNIMPL
5101.17Sjdolecek334	UNIMPL
5111.17Sjdolecek335	UNIMPL
5121.17Sjdolecek336	UNIMPL
5131.17Sjdolecek337	UNIMPL
5141.17Sjdolecek338	UNIMPL
5151.17Sjdolecek339	UNIMPL
5161.17Sjdolecek340	UNIMPL
5171.17Sjdolecek341	UNIMPL
5181.17Sjdolecek342	UNIMPL
5191.17Sjdolecek343	UNIMPL
5201.17Sjdolecek344	UNIMPL
5211.17Sjdolecek345	UNIMPL
5221.17Sjdolecek346	UNIMPL
5231.17Sjdolecek347	UNIMPL
5241.17Sjdolecek348	UNIMPL
5251.17Sjdolecek349	UNIMPL
5261.17Sjdolecek350	UNIMPL
5271.17Sjdolecek351	UNIMPL
5281.17Sjdolecek352	UNIMPL
5291.17Sjdolecek353	UNIMPL
5301.17Sjdolecek354	UNIMPL
5311.17Sjdolecek355	UNIMPL
5321.17Sjdolecek356	UNIMPL
5331.17Sjdolecek357	UNIMPL
5341.17Sjdolecek358	UNIMPL
5351.17Sjdolecek359	UNIMPL
5361.17Sjdolecek360	UNIMPL
5371.17Sjdolecek361	UNIMPL
5381.17Sjdolecek362	UNIMPL
5391.17Sjdolecek363	UNIMPL
5401.17Sjdolecek364	UNIMPL
5411.17Sjdolecek365	UNIMPL
5421.17Sjdolecek366	UNIMPL
5431.17Sjdolecek367	UNIMPL
5441.17Sjdolecek368	UNIMPL
5451.17Sjdolecek369	UNIMPL
5461.17Sjdolecek370	UNIMPL
5471.17Sjdolecek371	UNIMPL
5481.17Sjdolecek372	UNIMPL
5491.17Sjdolecek373	UNIMPL
5501.17Sjdolecek374	UNIMPL
5511.17Sjdolecek375	UNIMPL
5521.17Sjdolecek376	UNIMPL
5531.17Sjdolecek377	UNIMPL
5541.17Sjdolecek378	UNIMPL
5551.17Sjdolecek379	UNIMPL
5561.17Sjdolecek380	UNIMPL
5571.17Sjdolecek381	UNIMPL
5581.17Sjdolecek382	UNIMPL
5591.17Sjdolecek383	UNIMPL
5601.3Sbjh21
5611.3Sbjh21; ARMLinux actually has two ranges of syscalls.  Normal syscalls use
5621.3Sbjh21; SWI numbers starting at 0x900000 (__NR_SYSCALL_BASE).  Special
5631.17Sjdolecek; ARM-specific syscalls use SWI numbers starting at 0x9f0000
5641.3Sbjh21; (__ARM_NR_BASE).  linux_syscall() (in arch/arm/arm/linux_syscall.c)
5651.17Sjdolecek; remaps these down to 0x900180 so that we can use one linux_sysent
5661.3Sbjh21; array for the whole lot.
5671.3Sbjh21
5681.17Sjdolecek384	UNIMPL		/* base */
5691.39Spooka385	STD		{ int|linux_sys||breakpoint(void); }
5701.39Spooka386	STD		{ int|linux_sys||cacheflush(uintptr_t from, \
5711.3Sbjh21				intptr_t to); }
5721.17Sjdolecek387	UNIMPL		usr26
5731.17Sjdolecek388	UNIMPL		usr32
574