syscalls.master revision 1.70
11.70Smanu $NetBSD: syscalls.master,v 1.70 2017/01/02 16:32:10 manu Exp $ 21.1Smanu 31.1Smanu; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 41.1Smanu 51.1Smanu; Derived from NetBSD's sys/compat/linux/arch/i386/syscalls.master 61.21Sperry; sys/compat/linux/arch/m68k/syscalls.master 71.21Sperry; and from Linux's arch/ppc/kernel/misc.S 81.1Smanu; 91.1Smanu; We have problems for a few syscalls, specially: 101.1Smanu; 142 ppc_select -> sys_new_select -> sys_select (Conflicts with 82 ???). 111.1Smanu; 121.1Smanu; Expect problems with the following, which have an architecture dependent 131.1Smanu; implementation in Linux/powerpc: 141.1Smanu; 29 pause 151.1Smanu; 42 pipe tested. no problem. 161.1Smanu; 59 olduname 171.1Smanu; 101 ioperm 181.1Smanu; 109 uname 191.1Smanu; 117 ipc 201.21Sperry; 211.1Smanu; Most of syscalls after 182 that were introduced in Linux-2.4 are UNIMPL. 221.1Smanu; 231.21Sperry; The following are UNIMPL here. The Linux kernel implements them but just logs 241.21Sperry; a kernel error and returns -ENOSYS. 251.1Smanu; 110 iopl 261.1Smanu; 113 vm86 271.1Smanu; 123 modify_ldt 281.1Smanu; 198 sys_pciconfig_read 291.1Smanu; 199 sys_pciconfig_write 301.1Smanu; 200 sys_pciconfig_iobase 311.1Smanu; 321.1Smanu; Emmanuel Dreyfus <p99dreyf@criens.u-psud.fr> 331.1Smanu 341.1Smanu; NetBSD powerpc COMPAT_LINUX system call name/number "master" file. 351.1Smanu; (See syscalls.conf to see what it is processed into.) 361.1Smanu; 371.1Smanu; Fields: number type [type-dependent ...] 381.1Smanu; number system call number, must be in order 391.1Smanu; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 401.1Smanu; the compatibility options defined in syscalls.conf. 411.1Smanu; 421.1Smanu; types: 431.1Smanu; STD always included 441.1Smanu; OBSOL obsolete, not included in system 451.1Smanu; UNIMPL unimplemented, not included in system 461.1Smanu; NODEF included, but don't define the syscall number 471.1Smanu; NOARGS included, but don't define the syscall args structure 481.1Smanu; INDIR included, but don't define the syscall args structure 491.1Smanu; and allow it to be "really" varargs. 501.1Smanu; 511.1Smanu; The compat options are defined in the syscalls.conf file, and the 521.1Smanu; compat option name is prefixed to the syscall name. Other than 531.1Smanu; that, they're like NODEF (for 'compat' options), or STD (for 541.1Smanu; 'libcompat' options). 551.1Smanu; 561.1Smanu; The type-dependent arguments are as follows: 571.1Smanu; For STD, NODEF, NOARGS, and compat syscalls: 581.1Smanu; { pseudo-proto } [alias] 591.1Smanu; For other syscalls: 601.1Smanu; [comment] 611.1Smanu; 621.1Smanu; #ifdef's, etc. may be included, and are copied to the output files. 631.1Smanu; #include's are copied to the syscall names and switch definition files only. 641.1Smanu 651.1Smanu#include <sys/param.h> 661.1Smanu#include <sys/poll.h> 671.1Smanu#include <sys/systm.h> 681.1Smanu#include <sys/signal.h> 691.1Smanu#include <sys/mount.h> 701.1Smanu#include <sys/syscallargs.h> 711.1Smanu 721.1Smanu#include <compat/linux/common/linux_types.h> 731.1Smanu#include <compat/linux/common/linux_signal.h> 741.1Smanu#include <compat/linux/common/linux_siginfo.h> 751.1Smanu#include <compat/linux/common/linux_machdep.h> 761.1Smanu#include <compat/linux/common/linux_mmap.h> 771.1Smanu 781.1Smanu#include <compat/linux/linux_syscallargs.h> 791.1Smanu 801.25Schristos%% 811.25Schristos 821.40Spooka0 NOARGS { int|linux_sys||nosys(void); } syscall 831.45Schs1 STD { int|linux_sys||exit(int rval); } 841.40Spooka2 NOARGS { int|sys||fork(void); } 851.59Snjoly3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 861.59Snjoly4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 871.59Snjoly size_t nbyte); } 881.40Spooka5 STD { int|linux_sys||open(const char *path, int flags, \ 891.57Snjoly linux_umode_t mode); } 901.40Spooka6 NOARGS { int|sys||close(int fd); } 911.40Spooka7 STD { int|linux_sys||waitpid(int pid, int *status, \ 921.1Smanu int options);} 931.57Snjoly8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 941.40Spooka9 NOARGS { int|sys||link(const char *path, const char *link); } 951.40Spooka10 STD { int|linux_sys||unlink(const char *path); } 961.40Spooka11 NOARGS { int|sys||execve(const char *path, char **argp, \ 971.1Smanu char **envp); } 981.40Spooka12 NOARGS { int|sys||chdir(const char *path); } 991.40Spooka13 STD { int|linux_sys||time(linux_time_t *t); } 1001.57Snjoly14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 1011.61Snjoly unsigned dev); } 1021.40Spooka15 NOARGS { int|sys||chmod(const char *path, int mode); } 1031.67Snjoly16 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 1041.67Snjoly gid_t gid); } 1051.1Smanu17 OBSOL break 1061.1Smanu18 OBSOL ostat 1071.40Spooka19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 1081.1Smanu int whence); } 1091.40Spooka20 NOARGS { pid_t|sys||getpid(void); } 1101.1Smanu21 UNIMPL mount 1111.1Smanu22 OBSOL umount 1121.40Spooka23 NOARGS { int|sys||setuid(uid_t uid); } 1131.40Spooka24 NOARGS { uid_t|sys||getuid(void); } 1141.40Spooka25 STD { int|linux_sys||stime(linux_time_t *t); } 1151.40Spooka26 STD { int|linux_sys||ptrace(int request, int pid, \ 1161.54Spooka long addr, long data); } 1171.40Spooka27 STD { int|linux_sys||alarm(unsigned int secs); } 1181.1Smanu28 OBSOL ofstat 1191.40Spooka29 STD { int|linux_sys||pause(void); } 1201.40Spooka30 STD { int|linux_sys||utime(const char *path, \ 1211.1Smanu struct linux_utimbuf *times); } 1221.1Smanu31 OBSOL stty 1231.1Smanu32 OBSOL gtty 1241.40Spooka33 NOARGS { int|sys||access(const char *path, int flags); } 1251.40Spooka34 STD { int|linux_sys||nice(int incr); } 1261.1Smanu35 OBSOL ftime 1271.40Spooka36 NOARGS { int|sys||sync(void); } 1281.40Spooka37 STD { int|linux_sys||kill(int pid, int signum); } 1291.40Spooka38 NOARGS { int|sys||__posix_rename(const char *from, \ 1301.1Smanu const char *to); } 1311.57Snjoly39 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 1321.40Spooka40 NOARGS { int|sys||rmdir(const char *path); } 1331.56Snjoly41 NOARGS { int|sys||dup(int fd); } 1341.40Spooka42 STD { int|linux_sys||pipe(int *pfds); } 1351.40Spooka43 STD { int|linux_sys||times(struct times *tms); } 1361.1Smanu44 OBSOL prof 1371.40Spooka45 STD { int|linux_sys||brk(char *nsize); } 1381.40Spooka46 NOARGS { int|sys||setgid(gid_t gid); } 1391.40Spooka47 NOARGS { gid_t|sys||getgid(void); } 1401.40Spooka48 STD { int|linux_sys||signal(int signum, \ 1411.1Smanu linux_handler_t handler); } 1421.40Spooka49 NOARGS { uid_t|sys||geteuid(void); } 1431.40Spooka50 NOARGS { gid_t|sys||getegid(void); } 1441.40Spooka51 NOARGS { int|sys||acct(char *path); } 1451.1Smanu52 UNIMPL umount 1461.1Smanu53 OBSOL lock 1471.40Spooka54 STD { int|linux_sys||ioctl(int fd, u_long com, \ 1481.31Schristos void *data); } 1491.40Spooka55 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 1501.1Smanu56 OBSOL mpx 1511.40Spooka57 NOARGS { int|sys||setpgid(int pid, int pgid); } 1521.1Smanu58 OBSOL ulimit 1531.40Spooka59 STD { int|linux_sys||olduname(struct linux_old_utsname \ 1541.7Smanu *up); } 1551.40Spooka60 NOARGS { int|sys||umask(int newmask); } 1561.40Spooka61 NOARGS { int|sys||chroot(char *path); } 1571.1Smanu62 UNIMPL ustat 1581.56Snjoly63 NOARGS { int|sys||dup2(int from, int to); } 1591.40Spooka64 NOARGS { pid_t|sys||getppid(void); } 1601.40Spooka65 NOARGS { int|sys||getpgrp(void); } 1611.40Spooka66 NOARGS { int|sys||setsid(void); } 1621.40Spooka67 STD { int|linux_sys||sigaction(int signum, \ 1631.1Smanu const struct linux_old_sigaction *nsa, \ 1641.1Smanu struct linux_old_sigaction *osa); } 1651.40Spooka68 STD { int|linux_sys||siggetmask(void); } 1661.40Spooka69 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 1671.40Spooka70 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 1681.40Spooka71 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 1691.40Spooka72 STD { int|linux_sys||sigsuspend(void *restart, \ 1701.1Smanu int oldmask, int mask); } 1711.40Spooka73 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 1721.40Spooka74 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 1731.1Smanu u_int len);} 1741.40Spooka75 STD { int|linux_sys||setrlimit(u_int which, \ 1751.1Smanu struct orlimit *rlp); } 1761.40Spooka76 STD { int|linux_sys||getrlimit(u_int which, \ 1771.1Smanu struct orlimit *rlp); } 1781.41Snjoly77 NOARGS { int|compat_50_sys||getrusage(int who, \ 1791.41Snjoly struct rusage50 *rusage); } 1801.41Snjoly78 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 1811.1Smanu struct timezone *tzp); } 1821.41Snjoly79 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 1831.1Smanu struct timezone *tzp); } 1841.63Snjoly80 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 1851.63Snjoly81 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 1861.40Spooka82 STD { int|linux_sys||select(int nfds, fd_set* readfds, \ 1871.1Smanu fd_set* writefds, fd_set* exceptfds, \ 1881.41Snjoly struct timeval50 *timeout); } 1891.40Spooka83 NOARGS { int|sys||symlink(const char *path, const char *to); } 1901.40Spooka84 NOARGS { int|compat_43_sys||lstat(const char *path, \ 1911.1Smanu struct stat43 *up); } oolstat 1921.69Snjoly85 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 1931.1Smanu int count); } 1941.24Sjoerg#ifdef EXEC_AOUT 1951.40Spooka86 STD { int|linux_sys||uselib(const char *path); } 1961.24Sjoerg#else 1971.24Sjoerg86 UNIMPL sys_uselib 1981.24Sjoerg#endif 1991.40Spooka87 STD { int|linux_sys||swapon(char *name); } 2001.40Spooka88 STD { int|linux_sys||reboot(int magic1, int magic2, \ 2011.1Smanu int cmd, void *arg); } 2021.40Spooka89 STD { int|linux_sys||readdir(int fd, void *dent, \ 2031.1Smanu unsigned int count); } 2041.40Spooka90 NOARGS { int|linux_sys||mmap(unsigned long addr, size_t len, \ 2051.7Smanu int prot, int flags, int fd, linux_off_t offset); } 2061.65Snjoly91 NOARGS { int|sys||munmap(void *addr, size_t len); } 2071.40Spooka92 NOARGS { int|compat_43_sys||truncate(const char *path, \ 2081.1Smanu long length); } 2091.40Spooka93 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 2101.57Snjoly94 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 2111.67Snjoly95 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ 2121.68Snjoly gid_t gid); } 2131.40Spooka96 STD { int|linux_sys||getpriority(int which, int who); } 2141.40Spooka97 NOARGS { int|sys||setpriority(int which, int who, int prio); } 2151.40Spooka98 NOARGS { int|sys||profil(void *samples, u_int size, \ 2161.1Smanu u_int offset, u_int scale); } 2171.40Spooka99 STD { int|linux_sys||statfs(const char *path, \ 2181.1Smanu struct linux_statfs *sp); } 2191.40Spooka100 STD { int|linux_sys||fstatfs(int fd, \ 2201.1Smanu struct linux_statfs *sp); } 2211.45Schs101 UNIMPL ioperm 2221.40Spooka102 STD { int|linux_sys||socketcall(int what, void *args); } 2231.1Smanu103 UNIMPL syslog 2241.49Schristos104 NOARGS { int|compat_50_sys||setitimer(int which, \ 2251.41Snjoly struct itimerval50 *itv, \ 2261.41Snjoly struct itimerval50 *oitv); } 2271.49Schristos105 NOARGS { int|compat_50_sys||getitimer(int which, \ 2281.41Snjoly struct itimerval50 *itv); } 2291.40Spooka106 STD { int|linux_sys||stat(const char *path, \ 2301.1Smanu struct linux_stat *sp); } 2311.40Spooka107 STD { int|linux_sys||lstat(const char *path, \ 2321.1Smanu struct linux_stat *sp); } 2331.40Spooka108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 2341.40Spooka109 STD { int|linux_sys||uname(struct linux_utsname *up); } 2351.21Sperry110 UNIMPL iopl 2361.1Smanu111 UNIMPL vhangup 2371.1Smanu112 UNIMPL idle 2381.21Sperry113 UNIMPL vm86old 2391.40Spooka114 STD { int|linux_sys||wait4(int pid, int *status, \ 2401.42Snjoly int options, struct rusage50 *rusage); } 2411.40Spooka115 STD { int|linux_sys||swapoff(const char *path); } 2421.40Spooka116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 2431.40Spooka117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ 2441.31Schristos void *ptr); } 2451.40Spooka118 NOARGS { int|sys||fsync(int fd); } 2461.40Spooka119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 2471.45Schs120 STD { int|linux_sys||clone(int flags, void *stack, \ 2481.45Schs void *parent_tidptr, void *tls, void *child_tidptr); } 2491.40Spooka121 STD { int|linux_sys||setdomainname(char *domainname, \ 2501.7Smanu int len); } 2511.40Spooka122 STD { int|linux_sys||new_uname(struct linux_utsname *up); } 2521.21Sperry123 UNIMPL modify_ldt 2531.1Smanu124 UNIMPL adjtimex 2541.40Spooka125 STD { int|linux_sys||mprotect(const void *start, \ 2551.10Schristos unsigned long len, int prot); } 2561.40Spooka126 STD { int|linux_sys||sigprocmask(int how, \ 2571.1Smanu const linux_old_sigset_t *set, \ 2581.1Smanu linux_old_sigset_t *oset); } 2591.1Smanu127 UNIMPL create_module 2601.1Smanu128 UNIMPL init_module 2611.1Smanu129 UNIMPL delete_module 2621.1Smanu130 UNIMPL get_kernel_syms 2631.1Smanu131 UNIMPL quotactl 2641.40Spooka132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 2651.40Spooka133 NOARGS { int|sys||fchdir(int fd); } 2661.1Smanu134 UNIMPL bdflush 2671.1Smanu135 UNIMPL sysfs 2681.44Snjoly136 STD { int|linux_sys||personality(unsigned long per); } 2691.1Smanu137 UNIMPL afs_syscall 2701.40Spooka138 STD { int|linux_sys||setfsuid(uid_t uid); } 2711.40Spooka139 STD { int|linux_sys||setfsgid(gid_t gid); } 2721.40Spooka140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 2731.31Schristos u_int32_t olow, void *res, int whence); } 2741.40Spooka141 STD { int|linux_sys||getdents(int fd, \ 2751.1Smanu struct linux_dirent *dent, unsigned int count); } 2761.40Spooka142 STD { int|linux_sys||new_select(int nfds, fd_set *readfds, \ 2771.1Smanu fd_set *writefds, fd_set *exceptfds, \ 2781.41Snjoly struct timeval50 *timeout); } 2791.40Spooka143 NOARGS { int|sys||flock(int fd, int how); } 2801.40Spooka144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 2811.59Snjoly145 NOARGS { ssize_t|sys||readv(int fd, \ 2821.59Snjoly const struct iovec *iovp, int iovcnt); } 2831.59Snjoly146 NOARGS { ssize_t|sys||writev(int fd, \ 2841.59Snjoly const struct iovec *iovp, int iovcnt); } 2851.40Spooka147 NOARGS { pid_t|sys||getsid(pid_t pid); } 2861.40Spooka148 STD { int|linux_sys||fdatasync(int fd); } 2871.40Spooka149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 2881.40Spooka150 NOARGS { int|sys||mlock(void *addr, size_t len); } 2891.40Spooka151 NOARGS { int|sys||munlock(void *addr, size_t len); } 2901.40Spooka152 NOARGS { int|sys||mlockall(int flags); } 2911.40Spooka153 NOARGS { int|sys||munlockall(void); } 2921.40Spooka154 STD { int|linux_sys||sched_setparam(pid_t pid, \ 2931.1Smanu const struct linux_sched_param *sp); } 2941.40Spooka155 STD { int|linux_sys||sched_getparam(pid_t pid, \ 2951.1Smanu struct linux_sched_param *sp); } 2961.40Spooka156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 2971.1Smanu int policy, const struct linux_sched_param *sp); } 2981.40Spooka157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 2991.40Spooka158 STD { int|linux_sys||sched_yield(void); } 3001.40Spooka159 STD { int|linux_sys||sched_get_priority_max(int policy); } 3011.40Spooka160 STD { int|linux_sys||sched_get_priority_min(int policy); } 3021.1Smanu161 UNIMPL sched_rr_get_interval 3031.40Spooka162 STD { int|linux_sys||nanosleep( \ 3041.38Snjoly const struct linux_timespec *rqtp, \ 3051.38Snjoly struct linux_timespec *rmtp); } 3061.40Spooka163 STD { void *|linux_sys||mremap(void *old_address, \ 3071.1Smanu size_t old_size, size_t new_size, u_long flags); } 3081.40Spooka164 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 3091.1Smanu uid_t suid); } 3101.40Spooka165 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 3111.1Smanu uid_t *suid); } 3121.1Smanu166 UNIMPL query_module 3131.40Spooka167 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 3141.1Smanu int timeout); } 3151.1Smanu168 UNIMPL nfsservctl 3161.40Spooka169 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 3171.1Smanu gid_t sgid); } 3181.40Spooka170 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 3191.1Smanu gid_t *sgid); } 3201.1Smanu171 UNIMPL prctl 3211.40Spooka172 STD { int|linux_sys||rt_sigreturn( \ 3221.7Smanu struct linux_rt_sigframe *sfp); } 3231.40Spooka173 STD { int|linux_sys||rt_sigaction(int signum, \ 3241.1Smanu const struct linux_sigaction *nsa, \ 3251.1Smanu struct linux_sigaction *osa, \ 3261.1Smanu size_t sigsetsize); } 3271.40Spooka174 STD { int|linux_sys||rt_sigprocmask(int how, \ 3281.1Smanu const linux_sigset_t *set, \ 3291.1Smanu linux_sigset_t *oset, \ 3301.1Smanu size_t sigsetsize); } 3311.40Spooka175 STD { int|linux_sys||rt_sigpending( \ 3321.1Smanu linux_sigset_t *set, \ 3331.1Smanu size_t sigsetsize); } 3341.50Schristos176 STD { int|linux_sys||rt_sigtimedwait( \ 3351.50Schristos const linux_sigset_t *set, \ 3361.50Schristos linux_siginfo_t *info, \ 3371.50Schristos const struct linux_timespec *timeout); } 3381.40Spooka177 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 3391.43Snjoly linux_siginfo_t *uinfo); } 3401.40Spooka178 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 3411.1Smanu size_t sigsetsize); } 3421.40Spooka179 STD { int|linux_sys||pread(int fd, char *buf, \ 3431.60Snjoly size_t nbyte, off_t offset); } 3441.40Spooka180 STD { int|linux_sys||pwrite(int fd, char *buf, \ 3451.60Snjoly size_t nbyte, off_t offset); } 3461.67Snjoly181 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 3471.67Snjoly gid_t gid); } 3481.40Spooka182 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 3491.1Smanu183 UNIMPL capget 3501.1Smanu184 UNIMPL capset 3511.40Spooka185 STD { int|linux_sys||sigaltstack( \ 3521.1Smanu const struct linux_sigaltstack *ss, \ 3531.1Smanu struct linux_sigaltstack *oss); } 3541.1Smanu186 UNIMPL sendfile 3551.1Smanu187 UNIMPL getpmsg 3561.1Smanu188 UNIMPL putpmsg 3571.40Spooka189 NOARGS { int|sys|14|vfork(void); } 3581.40Spooka190 STD { int|linux_sys||ugetrlimit(int which, \ 3591.8Schristos struct rlimit *rlp); } 3601.1Smanu191 UNIMPL /* unused */ 3611.33Sdsl#define linux_sys_mmap2_args linux_sys_mmap_args 3621.40Spooka192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 3631.15Schristos size_t len, int prot, int flags, int fd, \ 3641.15Schristos linux_off_t offset); } 3651.40Spooka193 STD { int|linux_sys||truncate64(const char *path, \ 3661.13Sjdolecek off_t length); } 3671.40Spooka194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 3681.13Sjdolecek off_t length); } 3691.40Spooka195 STD { int|linux_sys||stat64(const char *path, \ 3701.12Sjdolecek struct linux_stat64 *sp); } 3711.40Spooka196 STD { int|linux_sys||lstat64(const char *path, \ 3721.12Sjdolecek struct linux_stat64 *sp); } 3731.40Spooka197 STD { int|linux_sys||fstat64(int fd, \ 3741.12Sjdolecek struct linux_stat64 *sp); } 3751.21Sperry198 UNIMPL sys_pciconfig_read 3761.1Smanu199 UNIMPL sys_pciconfig_write 3771.1Smanu200 UNIMPL sys_pciconfig_iobase 3781.1Smanu201 UNIMPL /* Unused (MacOnLinux project) */ 3791.40Spooka202 STD { int|linux_sys||getdents64(int fd, \ 3801.11Schristos struct linux_dirent64 *dent, unsigned int count); } 3811.4Sjdolecek203 UNIMPL pivot_root 3821.40Spooka204 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 3831.40Spooka205 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 3841.40Spooka206 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 3851.45Schs207 NOARGS { pid_t|linux_sys||gettid(void); } 3861.45Schs208 STD { int|linux_sys||tkill(int tid, int sig); } 3871.40Spooka209 STD { int|linux_sys||setxattr(char *path, char *name, \ 3881.22Sfvdl void *value, size_t size, int flags); } 3891.40Spooka210 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 3901.22Sfvdl void *value, size_t size, int flags); } 3911.40Spooka211 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 3921.22Sfvdl void *value, size_t size, int flags); } 3931.40Spooka212 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 3941.22Sfvdl void *value, size_t size); } 3951.40Spooka213 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 3961.22Sfvdl void *value, size_t size); } 3971.40Spooka214 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 3981.22Sfvdl void *value, size_t size); } 3991.40Spooka215 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 4001.22Sfvdl size_t size); } 4011.40Spooka216 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 4021.22Sfvdl size_t size); } 4031.40Spooka217 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 4041.22Sfvdl size_t size); } 4051.40Spooka218 STD { int|linux_sys||removexattr(char *path, char *name); } 4061.40Spooka219 STD { int|linux_sys||lremovexattr(char *path, char *name); } 4071.40Spooka220 STD { int|linux_sys||fremovexattr(int fd, char *name); } 4081.45Schs221 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 4091.45Schs const struct linux_timespec *timeout, int *uaddr2, \ 4101.45Schs int val3); } 4111.45Schs222 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 4121.45Schs unsigned int len, unsigned long *mask); } 4131.45Schs223 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 4141.45Schs unsigned int len, unsigned long *mask); } 4151.18Sjdolecek224 UNIMPL /* unused */ 4161.18Sjdolecek225 UNIMPL tuxcall 4171.18Sjdolecek226 UNIMPL sendfile64 4181.18Sjdolecek227 UNIMPL io_setup 4191.18Sjdolecek228 UNIMPL io_destroy 4201.18Sjdolecek229 UNIMPL io_getevents 4211.18Sjdolecek230 UNIMPL io_submit 4221.18Sjdolecek231 UNIMPL io_cancel 4231.45Schs232 STD { int|linux_sys||set_tid_address(int *tid); } 4241.62Snjoly233 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 4251.62Snjoly size_t len, int advice); } 4261.40Spooka234 STD { int|linux_sys||exit_group(int error_code); } 4271.18Sjdolecek235 UNIMPL lookup_dcookie 4281.18Sjdolecek236 UNIMPL epoll_create 4291.18Sjdolecek237 UNIMPL epoll_ctl 4301.18Sjdolecek238 UNIMPL epoll_wait 4311.18Sjdolecek239 UNIMPL remap_file_pages 4321.18Sjdolecek240 UNIMPL timer_create 4331.18Sjdolecek241 UNIMPL timer_settime 4341.18Sjdolecek242 UNIMPL timer_gettime 4351.18Sjdolecek243 UNIMPL timer_getoverrun 4361.18Sjdolecek244 UNIMPL timer_delete 4371.40Spooka245 STD { int|linux_sys||clock_settime(clockid_t which, \ 4381.23Sfvdl struct linux_timespec *tp); } 4391.40Spooka246 STD { int|linux_sys||clock_gettime(clockid_t which, \ 4401.23Sfvdl struct linux_timespec *tp); } 4411.40Spooka247 STD { int|linux_sys||clock_getres(clockid_t which, \ 4421.23Sfvdl struct linux_timespec *tp); } 4431.40Spooka248 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 4441.23Sfvdl int flags, struct linux_timespec *rqtp, \ 4451.23Sfvdl struct linux_timespec *rmtp); } 4461.18Sjdolecek249 UNIMPL swapcontext 4471.45Schs250 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 4481.64Snjoly251 NOARGS { int|compat_50_sys||utimes(const char *path, \ 4491.64Snjoly const struct timeval50 *tptr); } 4501.40Spooka252 STD { int|linux_sys||statfs64(const char *path, \ 4511.20Sjdolecek size_t sz, struct linux_statfs64 *sp); } 4521.40Spooka253 STD { int|linux_sys||fstatfs64(int fd, \ 4531.20Sjdolecek size_t sz, struct linux_statfs64 *sp); } 4541.62Snjoly254 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ 4551.62Snjoly off_t len, int advice); } 4561.18Sjdolecek255 UNIMPL rtas 4571.18Sjdolecek256 UNIMPL /* reserved for sys_debug_setcontext */ 4581.18Sjdolecek257 UNIMPL /* reserved for vserver */ 4591.18Sjdolecek258 UNIMPL /* reserved for new sys_remap_file_pages */ 4601.18Sjdolecek259 UNIMPL /* reserved for new sys_mbind */ 4611.18Sjdolecek260 UNIMPL /* reserved for new sys_get_mempolicy */ 4621.18Sjdolecek261 UNIMPL /* reserved for new sys_set_mempolicy */ 4631.18Sjdolecek262 UNIMPL mq_open 4641.18Sjdolecek263 UNIMPL mq_unlink 4651.18Sjdolecek264 UNIMPL mq_timedsend 4661.18Sjdolecek265 UNIMPL mq_timedreceive 4671.18Sjdolecek266 UNIMPL mq_notify 4681.18Sjdolecek267 UNIMPL mq_getsetattr 4691.18Sjdolecek268 UNIMPL kexec_load 4701.45Schs269 UNIMPL add_key 4711.45Schs270 UNIMPL request_key 4721.45Schs271 UNIMPL keyctl 4731.45Schs272 UNIMPL waitid 4741.45Schs273 UNIMPL ioprio_set 4751.45Schs274 UNIMPL ioprio_get 4761.45Schs275 UNIMPL inotify_init 4771.45Schs276 UNIMPL inotify_add_watch 4781.45Schs277 UNIMPL inotify_rm_watch 4791.45Schs278 UNIMPL spu_run 4801.45Schs279 UNIMPL spu_create 4811.70Smanu280 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 4821.70Smanu fd_set *writefds, fd_set *exceptfds, \ 4831.70Smanu struct linux_timespec *timeout, \ 4841.70Smanu linux_sized_sigset_t *ss); } 4851.66Snjoly281 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 4861.51Spooka struct linux_timespec *timeout, \ 4871.51Spooka linux_sigset_t *sigset); } 4881.45Schs282 UNIMPL unshare 4891.45Schs283 UNIMPL splice 4901.45Schs284 UNIMPL tee 4911.45Schs285 UNIMPL vmsplice 4921.58Snjoly286 STD { int|linux_sys||openat(int fd, const char *path, \ 4931.58Snjoly int flags, ... linux_umode_t mode); } 4941.58Snjoly287 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 4951.58Snjoly linux_umode_t mode); } 4961.58Snjoly288 STD { int|linux_sys||mknodat(int fd, const char *path, \ 4971.58Snjoly linux_umode_t mode, unsigned dev); } 4981.58Snjoly289 STD { int|linux_sys||fchownat(int fd, const char *path, \ 4991.58Snjoly uid_t owner, gid_t group, int flag); } 5001.45Schs290 UNIMPL futimesat 5011.58Snjoly291 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 5021.58Snjoly struct linux_stat64 *sp, int flag); } 5031.58Snjoly292 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 5041.58Snjoly int flag); } 5051.58Snjoly293 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 5061.58Snjoly int tofd, const char *to); } 5071.58Snjoly294 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 5081.58Snjoly int fd2, const char *name2, int flags); } 5091.58Snjoly295 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 5101.58Snjoly const char *path2); } 5111.69Snjoly296 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 5121.58Snjoly char *buf, size_t bufsize); } 5131.58Snjoly297 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 5141.58Snjoly linux_umode_t mode); } 5151.58Snjoly298 STD { int|linux_sys||faccessat(int fd, const char *path, \ 5161.58Snjoly int amode); } 5171.45Schs299 STD { int|linux_sys||set_robust_list( \ 5181.45Schs struct linux_robust_list_head *head, size_t len); } 5191.45Schs300 STD { int|linux_sys||get_robust_list(int pid, \ 5201.45Schs struct linux_robust_list_head **head, \ 5211.45Schs size_t *len); } 5221.45Schs301 UNIMPL move_pages 5231.45Schs302 UNIMPL getcpu 5241.45Schs303 UNIMPL epoll_wait 5251.55Snjoly304 STD { int|linux_sys||utimensat(int fd, const char *path, \ 5261.55Snjoly struct linux_timespec *times, int flag); } 5271.45Schs305 UNIMPL signalfd 5281.45Schs306 UNIMPL timerfd_create 5291.45Schs307 UNIMPL eventfd 5301.45Schs308 UNIMPL sync_file_range2 5311.45Schs309 UNIMPL fallocate 5321.45Schs310 UNIMPL subpage_prot 5331.45Schs311 UNIMPL timerfd_settime 5341.45Schs312 UNIMPL timerfd_gettime 5351.45Schs313 UNIMPL signalfd4 5361.45Schs314 UNIMPL eventfd2 5371.45Schs315 UNIMPL epoll_create1 5381.46She316 STD { int|linux_sys||dup3(int from, int to, int flags); } 5391.46She317 STD { int|linux_sys||pipe2(int *pfds, int flags); } 5401.45Schs318 UNIMPL inotify_init1 5411.45Schs319 UNIMPL perf_event_open 5421.45Schs320 UNIMPL preadv 5431.45Schs321 UNIMPL pwritev 5441.45Schs322 UNIMPL rt_tgsigqueueinfo 545