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