syscalls.master revision 1.58
11.58Snjoly	$NetBSD: syscalls.master,v 1.58 2013/12/10 14:54:36 njoly 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.40Spooka3	NOARGS		{ int|sys||read(int fd, char *buf, u_int nbyte); }
861.40Spooka4	NOARGS		{ int|sys||write(int fd, char *buf, u_int nbyte); }
871.40Spooka5	STD		{ int|linux_sys||open(const char *path, int flags, \
881.57Snjoly			    linux_umode_t mode); }
891.40Spooka6	NOARGS		{ int|sys||close(int fd); }
901.40Spooka7	STD		{ int|linux_sys||waitpid(int pid, int *status, \
911.1Smanu			    int options);}
921.57Snjoly8	STD		{ int|linux_sys||creat(const char *path, linux_umode_t mode); }
931.40Spooka9	NOARGS		{ int|sys||link(const char *path, const char *link); }
941.40Spooka10	STD		{ int|linux_sys||unlink(const char *path); }
951.40Spooka11	NOARGS		{ int|sys||execve(const char *path, char **argp, \
961.1Smanu			    char **envp); }
971.40Spooka12	NOARGS		{ int|sys||chdir(const char *path); }
981.40Spooka13	STD		{ int|linux_sys||time(linux_time_t *t); }
991.57Snjoly14	STD		{ int|linux_sys||mknod(const char *path, linux_umode_t mode, \
1001.1Smanu			    int dev); }
1011.40Spooka15	NOARGS		{ int|sys||chmod(const char *path, int mode); }
1021.40Spooka16	NOARGS		{ int|sys||__posix_lchown(const char *path, int uid, \
1031.1Smanu			    int gid); }
1041.1Smanu17	OBSOL		break
1051.1Smanu18	OBSOL		ostat
1061.40Spooka19	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
1071.1Smanu			    int whence); }
1081.40Spooka20	NOARGS 		{ pid_t|sys||getpid(void); }
1091.1Smanu21	UNIMPL		mount
1101.1Smanu22	OBSOL		umount
1111.40Spooka23	NOARGS		{ int|sys||setuid(uid_t uid); }
1121.40Spooka24	NOARGS		{ uid_t|sys||getuid(void); }
1131.40Spooka25	STD		{ int|linux_sys||stime(linux_time_t *t); }
1141.40Spooka26	STD		{ int|linux_sys||ptrace(int request, int pid, \
1151.54Spooka			    long addr, long data); }
1161.40Spooka27	STD		{ int|linux_sys||alarm(unsigned int secs); }
1171.1Smanu28	OBSOL		ofstat
1181.40Spooka29	STD		{ int|linux_sys||pause(void); }
1191.40Spooka30	STD		{ int|linux_sys||utime(const char *path, \
1201.1Smanu			    struct linux_utimbuf *times); }
1211.1Smanu31	OBSOL		stty
1221.1Smanu32	OBSOL		gtty
1231.40Spooka33	NOARGS		{ int|sys||access(const char *path, int flags); }
1241.40Spooka34	STD		{ int|linux_sys||nice(int incr); }
1251.1Smanu35	OBSOL		ftime
1261.40Spooka36	NOARGS		{ int|sys||sync(void); }
1271.40Spooka37	STD		{ int|linux_sys||kill(int pid, int signum); }
1281.40Spooka38	NOARGS		{ int|sys||__posix_rename(const char *from, \
1291.1Smanu			    const char *to); }
1301.57Snjoly39	NOARGS		{ int|sys||mkdir(const char *path, linux_umode_t mode); }
1311.40Spooka40	NOARGS		{ int|sys||rmdir(const char *path); }
1321.56Snjoly41	NOARGS		{ int|sys||dup(int fd); }
1331.40Spooka42	STD		{ int|linux_sys||pipe(int *pfds); }
1341.40Spooka43	STD		{ int|linux_sys||times(struct times *tms); }
1351.1Smanu44	OBSOL		prof
1361.40Spooka45	STD		{ int|linux_sys||brk(char *nsize); }
1371.40Spooka46	NOARGS		{ int|sys||setgid(gid_t gid); }
1381.40Spooka47	NOARGS		{ gid_t|sys||getgid(void); }
1391.40Spooka48	STD		{ int|linux_sys||signal(int signum, \
1401.1Smanu			    linux_handler_t handler); }
1411.40Spooka49	NOARGS		{ uid_t|sys||geteuid(void); }
1421.40Spooka50	NOARGS		{ gid_t|sys||getegid(void); }
1431.40Spooka51	NOARGS		{ int|sys||acct(char *path); }
1441.1Smanu52	UNIMPL		umount
1451.1Smanu53	OBSOL		lock
1461.40Spooka54	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
1471.31Schristos			    void *data); }
1481.40Spooka55	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
1491.1Smanu56	OBSOL		mpx
1501.40Spooka57	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
1511.1Smanu58	OBSOL		ulimit
1521.40Spooka59 	STD		{ int|linux_sys||olduname(struct linux_old_utsname \
1531.7Smanu			   *up); }
1541.40Spooka60	NOARGS		{ int|sys||umask(int newmask); }
1551.40Spooka61	NOARGS		{ int|sys||chroot(char *path); }
1561.1Smanu62	UNIMPL		ustat
1571.56Snjoly63	NOARGS		{ int|sys||dup2(int from, int to); }
1581.40Spooka64	NOARGS		{ pid_t|sys||getppid(void); }
1591.40Spooka65	NOARGS		{ int|sys||getpgrp(void); }
1601.40Spooka66	NOARGS		{ int|sys||setsid(void); }
1611.40Spooka67	STD		{ int|linux_sys||sigaction(int signum, \
1621.1Smanu			    const struct linux_old_sigaction *nsa, \
1631.1Smanu			    struct linux_old_sigaction *osa); }
1641.40Spooka68	STD		{ int|linux_sys||siggetmask(void); }
1651.40Spooka69	STD		{ int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
1661.40Spooka70	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
1671.40Spooka71	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
1681.40Spooka72	STD		{ int|linux_sys||sigsuspend(void *restart, \
1691.1Smanu			    int oldmask, int mask); }
1701.40Spooka73	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
1711.40Spooka74	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
1721.1Smanu			    u_int len);}
1731.40Spooka75	STD		{ int|linux_sys||setrlimit(u_int which, \
1741.1Smanu			    struct orlimit *rlp); }
1751.40Spooka76	STD		{ int|linux_sys||getrlimit(u_int which, \
1761.1Smanu			    struct orlimit *rlp); }
1771.41Snjoly77	NOARGS		{ int|compat_50_sys||getrusage(int who, \
1781.41Snjoly			    struct rusage50 *rusage); }
1791.41Snjoly78	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
1801.1Smanu			    struct timezone *tzp); }
1811.41Snjoly79	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
1821.1Smanu			    struct timezone *tzp); }
1831.40Spooka80	NOARGS		{ int|sys||getgroups(u_int gidsetsize, gid_t *gidset); }
1841.40Spooka81	NOARGS		{ int|sys||setgroups(u_int gidsetsize, gid_t *gidset); }
1851.40Spooka82	STD		{ int|linux_sys||select(int nfds, fd_set* readfds, \
1861.1Smanu					fd_set* writefds, fd_set* exceptfds, \
1871.41Snjoly					struct timeval50 *timeout); }
1881.40Spooka83	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
1891.40Spooka84	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
1901.1Smanu			    struct stat43 *up); } oolstat
1911.40Spooka85	NOARGS		{ int|sys||readlink(const char *name, char *buf, \
1921.1Smanu			    int count); }
1931.24Sjoerg#ifdef EXEC_AOUT
1941.40Spooka86	STD		{ int|linux_sys||uselib(const char *path); }
1951.24Sjoerg#else
1961.24Sjoerg86	UNIMPL		sys_uselib
1971.24Sjoerg#endif
1981.40Spooka87	STD		{ int|linux_sys||swapon(char *name); }
1991.40Spooka88	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
2001.1Smanu			    int cmd, void *arg); }
2011.40Spooka89	STD		{ int|linux_sys||readdir(int fd, void *dent, \
2021.1Smanu			    unsigned int count); }
2031.40Spooka90	NOARGS		{ int|linux_sys||mmap(unsigned long addr, size_t len, \
2041.7Smanu			    int prot, int flags, int fd, linux_off_t offset); }
2051.40Spooka91	NOARGS		{ int|sys||munmap(void *addr, int len); }
2061.40Spooka92	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
2071.1Smanu			    long length); }
2081.40Spooka93	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
2091.57Snjoly94	NOARGS		{ int|sys||fchmod(int fd, linux_umode_t mode); }
2101.40Spooka95	NOARGS		{ int|sys||__posix_fchown(int fd, int uid, int gid); }
2111.40Spooka96	STD		{ int|linux_sys||getpriority(int which, int who); }
2121.40Spooka97	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
2131.40Spooka98	NOARGS		{ int|sys||profil(void *samples, u_int size, \
2141.1Smanu			    u_int offset, u_int scale); }
2151.40Spooka99	STD		{ int|linux_sys||statfs(const char *path, \
2161.1Smanu			    struct linux_statfs *sp); }
2171.40Spooka100	STD		{ int|linux_sys||fstatfs(int fd, \
2181.1Smanu			    struct linux_statfs *sp); }
2191.45Schs101	UNIMPL		ioperm
2201.40Spooka102	STD		{ int|linux_sys||socketcall(int what, void *args); }
2211.1Smanu103	UNIMPL		syslog
2221.49Schristos104	NOARGS		{ int|compat_50_sys||setitimer(int which, \
2231.41Snjoly			    struct itimerval50 *itv, \
2241.41Snjoly			    struct itimerval50 *oitv); }
2251.49Schristos105	NOARGS		{ int|compat_50_sys||getitimer(int which, \
2261.41Snjoly			    struct itimerval50 *itv); }
2271.40Spooka106	STD		{ int|linux_sys||stat(const char *path, \
2281.1Smanu			    struct linux_stat *sp); }
2291.40Spooka107	STD		{ int|linux_sys||lstat(const char *path, \
2301.1Smanu			    struct linux_stat *sp); }
2311.40Spooka108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
2321.40Spooka109	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
2331.21Sperry110	UNIMPL		iopl
2341.1Smanu111	UNIMPL		vhangup
2351.1Smanu112	UNIMPL		idle
2361.21Sperry113	UNIMPL		vm86old
2371.40Spooka114	STD		{ int|linux_sys||wait4(int pid, int *status, \
2381.42Snjoly			    int options, struct rusage50 *rusage); }
2391.40Spooka115	STD		{ int|linux_sys||swapoff(const char *path); }
2401.40Spooka116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
2411.40Spooka117	STD		{ int|linux_sys||ipc(int what, int a1, int a2, int a3, \
2421.31Schristos			    void *ptr); }
2431.40Spooka118	NOARGS		{ int|sys||fsync(int fd); }
2441.40Spooka119	STD		{ int|linux_sys||sigreturn(struct linux_sigcontext *scp); }
2451.45Schs120	STD		{ int|linux_sys||clone(int flags, void *stack, \
2461.45Schs			    void *parent_tidptr, void *tls, void *child_tidptr); }
2471.40Spooka121	STD		{ int|linux_sys||setdomainname(char *domainname, \
2481.7Smanu			    int len); }
2491.40Spooka122	STD		{ int|linux_sys||new_uname(struct linux_utsname *up); }
2501.21Sperry123	UNIMPL		modify_ldt
2511.1Smanu124	UNIMPL		adjtimex
2521.40Spooka125	STD		{ int|linux_sys||mprotect(const void *start, \
2531.10Schristos			    unsigned long len, int prot); }
2541.40Spooka126	STD		{ int|linux_sys||sigprocmask(int how, \
2551.1Smanu			    const linux_old_sigset_t *set, \
2561.1Smanu			    linux_old_sigset_t *oset); }
2571.1Smanu127	UNIMPL		create_module
2581.1Smanu128	UNIMPL		init_module
2591.1Smanu129	UNIMPL		delete_module
2601.1Smanu130	UNIMPL		get_kernel_syms
2611.1Smanu131	UNIMPL		quotactl
2621.40Spooka132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
2631.40Spooka133	NOARGS		{ int|sys||fchdir(int fd); }
2641.1Smanu134	UNIMPL		bdflush
2651.1Smanu135	UNIMPL		sysfs
2661.44Snjoly136	STD		{ int|linux_sys||personality(unsigned long per); }
2671.1Smanu137	UNIMPL		afs_syscall
2681.40Spooka138	STD		{ int|linux_sys||setfsuid(uid_t uid); }
2691.40Spooka139	STD		{ int|linux_sys||setfsgid(gid_t gid); }
2701.40Spooka140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
2711.31Schristos			    u_int32_t olow, void *res, int whence); }
2721.40Spooka141	STD		{ int|linux_sys||getdents(int fd, \
2731.1Smanu			    struct linux_dirent *dent, unsigned int count); }
2741.40Spooka142	STD		{ int|linux_sys||new_select(int nfds, fd_set *readfds, \
2751.1Smanu			    fd_set *writefds, fd_set *exceptfds, \
2761.41Snjoly			    struct timeval50 *timeout); }
2771.40Spooka143	NOARGS		{ int|sys||flock(int fd, int how); }
2781.40Spooka144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
2791.40Spooka145	NOARGS		{ int|sys||readv(int fd, struct iovec *iovp, \
2801.1Smanu				u_int iovcnt); }
2811.40Spooka146	NOARGS		{ int|sys||writev(int fd, struct iovec *iovp, \
2821.1Smanu				u_int iovcnt); }
2831.40Spooka147	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
2841.40Spooka148	STD		{ int|linux_sys||fdatasync(int fd); }
2851.40Spooka149	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
2861.40Spooka150	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
2871.40Spooka151	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
2881.40Spooka152	NOARGS		{ int|sys||mlockall(int flags); }
2891.40Spooka153	NOARGS		{ int|sys||munlockall(void); }
2901.40Spooka154	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
2911.1Smanu			    const struct linux_sched_param *sp); }
2921.40Spooka155	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
2931.1Smanu			    struct linux_sched_param *sp); }
2941.40Spooka156	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
2951.1Smanu			    int policy, const struct linux_sched_param *sp); }
2961.40Spooka157	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
2971.40Spooka158	STD		{ int|linux_sys||sched_yield(void); }
2981.40Spooka159	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
2991.40Spooka160	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
3001.1Smanu161	UNIMPL		sched_rr_get_interval
3011.40Spooka162	STD		{ int|linux_sys||nanosleep( \
3021.38Snjoly			    const struct linux_timespec *rqtp, \
3031.38Snjoly			    struct linux_timespec *rmtp); }
3041.40Spooka163	STD		{ void *|linux_sys||mremap(void *old_address, \
3051.1Smanu			    size_t old_size, size_t new_size, u_long flags); }
3061.40Spooka164	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
3071.1Smanu			    uid_t suid); }
3081.40Spooka165	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
3091.1Smanu			    uid_t *suid); }
3101.1Smanu166	UNIMPL		query_module
3111.40Spooka167	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
3121.1Smanu			    int timeout); }
3131.1Smanu168	UNIMPL		nfsservctl
3141.40Spooka169	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
3151.1Smanu			    gid_t sgid); }
3161.40Spooka170	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
3171.1Smanu			    gid_t *sgid); }
3181.1Smanu171	UNIMPL		prctl
3191.40Spooka172	STD		{ int|linux_sys||rt_sigreturn( \
3201.7Smanu			    struct linux_rt_sigframe *sfp); }
3211.40Spooka173	STD		{ int|linux_sys||rt_sigaction(int signum, \
3221.1Smanu			    const struct linux_sigaction *nsa, \
3231.1Smanu			    struct linux_sigaction *osa, \
3241.1Smanu			    size_t sigsetsize); }
3251.40Spooka174	STD		{ int|linux_sys||rt_sigprocmask(int how, \
3261.1Smanu			    const linux_sigset_t *set, \
3271.1Smanu			    linux_sigset_t *oset, \
3281.1Smanu			    size_t sigsetsize); }
3291.40Spooka175	STD		{ int|linux_sys||rt_sigpending( \
3301.1Smanu			    linux_sigset_t *set, \
3311.1Smanu			    size_t sigsetsize); }
3321.50Schristos176	STD		{ int|linux_sys||rt_sigtimedwait( \
3331.50Schristos			    const linux_sigset_t *set, \
3341.50Schristos			    linux_siginfo_t *info, \
3351.50Schristos			    const struct linux_timespec *timeout); }
3361.40Spooka177	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
3371.43Snjoly			    linux_siginfo_t *uinfo); }
3381.40Spooka178	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
3391.1Smanu			    size_t sigsetsize); }
3401.40Spooka179	STD		{ int|linux_sys||pread(int fd, char *buf, \
3411.1Smanu			    size_t nbyte, linux_off_t offset); }
3421.40Spooka180	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
3431.1Smanu			    size_t nbyte, linux_off_t offset); }
3441.40Spooka181	NOARGS		{ int|sys||__posix_chown(const char *path, \
3451.1Smanu			    int uid, int gid); }
3461.40Spooka182	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
3471.1Smanu183	UNIMPL		capget
3481.1Smanu184	UNIMPL		capset
3491.40Spooka185	STD		{ int|linux_sys||sigaltstack( \
3501.1Smanu			    const struct linux_sigaltstack *ss, \
3511.1Smanu			    struct linux_sigaltstack *oss); }
3521.1Smanu186	UNIMPL		sendfile
3531.1Smanu187	UNIMPL		getpmsg
3541.1Smanu188	UNIMPL		putpmsg
3551.40Spooka189	NOARGS		{ int|sys|14|vfork(void); }
3561.40Spooka190	STD		{ int|linux_sys||ugetrlimit(int which, \
3571.8Schristos			    struct rlimit *rlp); }
3581.1Smanu191	UNIMPL		/* unused */
3591.33Sdsl#define linux_sys_mmap2_args linux_sys_mmap_args
3601.40Spooka192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
3611.15Schristos			    size_t len, int prot, int flags, int fd, \
3621.15Schristos			    linux_off_t offset); }
3631.40Spooka193	STD		{ int|linux_sys||truncate64(const char *path, \
3641.13Sjdolecek			    off_t length); }
3651.40Spooka194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
3661.13Sjdolecek			    off_t length); }
3671.40Spooka195	STD		{ int|linux_sys||stat64(const char *path, \
3681.12Sjdolecek			    struct linux_stat64 *sp); }
3691.40Spooka196	STD		{ int|linux_sys||lstat64(const char *path, \
3701.12Sjdolecek			    struct linux_stat64 *sp); }
3711.40Spooka197	STD		{ int|linux_sys||fstat64(int fd, \
3721.12Sjdolecek			    struct linux_stat64 *sp); }
3731.21Sperry198	UNIMPL		sys_pciconfig_read
3741.1Smanu199	UNIMPL		sys_pciconfig_write
3751.1Smanu200	UNIMPL		sys_pciconfig_iobase
3761.1Smanu201	UNIMPL		/* Unused (MacOnLinux project) */
3771.40Spooka202	STD		{ int|linux_sys||getdents64(int fd, \
3781.11Schristos			    struct linux_dirent64 *dent, unsigned int count); }
3791.4Sjdolecek203	UNIMPL		pivot_root
3801.40Spooka204	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
3811.40Spooka205	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
3821.40Spooka206	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
3831.45Schs207	NOARGS		{ pid_t|linux_sys||gettid(void); }
3841.45Schs208	STD		{ int|linux_sys||tkill(int tid, int sig); }
3851.40Spooka209	STD		{ int|linux_sys||setxattr(char *path, char *name, \
3861.22Sfvdl			    void *value, size_t size, int flags); }
3871.40Spooka210	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
3881.22Sfvdl			    void *value, size_t size, int flags); }
3891.40Spooka211	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
3901.22Sfvdl			    void *value, size_t size, int flags); }
3911.40Spooka212	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
3921.22Sfvdl			    void *value, size_t size); }
3931.40Spooka213	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
3941.22Sfvdl			    void *value, size_t size); }
3951.40Spooka214	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
3961.22Sfvdl			    void *value, size_t size); }
3971.40Spooka215	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
3981.22Sfvdl			    size_t size); }
3991.40Spooka216	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
4001.22Sfvdl			    size_t size); }
4011.40Spooka217	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
4021.22Sfvdl			    size_t size); }
4031.40Spooka218	STD		{ int|linux_sys||removexattr(char *path, char *name); }
4041.40Spooka219	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
4051.40Spooka220	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
4061.45Schs221	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
4071.45Schs			    const struct linux_timespec *timeout, int *uaddr2, \
4081.45Schs			    int val3); }
4091.45Schs222	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
4101.45Schs			    unsigned int len, unsigned long *mask); }
4111.45Schs223	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
4121.45Schs			    unsigned int len, unsigned long *mask); }
4131.18Sjdolecek224	UNIMPL		/* unused */
4141.18Sjdolecek225	UNIMPL		tuxcall
4151.18Sjdolecek226	UNIMPL		sendfile64
4161.18Sjdolecek227	UNIMPL		io_setup
4171.18Sjdolecek228	UNIMPL		io_destroy
4181.18Sjdolecek229	UNIMPL		io_getevents
4191.18Sjdolecek230	UNIMPL		io_submit
4201.18Sjdolecek231	UNIMPL		io_cancel
4211.45Schs232	STD		{ int|linux_sys||set_tid_address(int *tid); }
4221.47Salnsn233	STD		{ int|linux_sys||fadvise64(int fd, \
4231.47Salnsn			    linux_off_t offset, size_t len, int advice); }
4241.40Spooka234	STD		{ int|linux_sys||exit_group(int error_code); }
4251.18Sjdolecek235	UNIMPL		lookup_dcookie
4261.18Sjdolecek236	UNIMPL		epoll_create
4271.18Sjdolecek237	UNIMPL		epoll_ctl
4281.18Sjdolecek238	UNIMPL		epoll_wait
4291.18Sjdolecek239	UNIMPL		remap_file_pages
4301.18Sjdolecek240	UNIMPL		timer_create
4311.18Sjdolecek241	UNIMPL		timer_settime
4321.18Sjdolecek242	UNIMPL		timer_gettime
4331.18Sjdolecek243	UNIMPL		timer_getoverrun
4341.18Sjdolecek244	UNIMPL		timer_delete
4351.40Spooka245	STD		{ int|linux_sys||clock_settime(clockid_t which, \
4361.23Sfvdl			    struct linux_timespec *tp); }
4371.40Spooka246	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
4381.23Sfvdl			    struct linux_timespec *tp); }
4391.40Spooka247	STD		{ int|linux_sys||clock_getres(clockid_t which, \
4401.23Sfvdl			    struct linux_timespec *tp); }
4411.40Spooka248	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
4421.23Sfvdl			    int flags, struct linux_timespec *rqtp, \
4431.23Sfvdl			    struct linux_timespec *rmtp); }
4441.18Sjdolecek249	UNIMPL		swapcontext
4451.45Schs250	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
4461.52Spooka251	STD		{ int|linux_sys||utimes(const char *path, struct linux_timeval *times); }
4471.40Spooka252	STD		{ int|linux_sys||statfs64(const char *path, \
4481.20Sjdolecek			    size_t sz, struct linux_statfs64 *sp); }
4491.40Spooka253	STD		{ int|linux_sys||fstatfs64(int fd, \
4501.20Sjdolecek			    size_t sz, struct linux_statfs64 *sp); }
4511.47Salnsn254	STD		{ int|linux_sys||fadvise64_64(int fd, \
4521.48Snjoly			    linux_off_t offset, linux_off_t len, int advice); }
4531.18Sjdolecek255	UNIMPL		rtas
4541.18Sjdolecek256	UNIMPL		/* reserved for sys_debug_setcontext */
4551.18Sjdolecek257	UNIMPL		/* reserved for vserver */
4561.18Sjdolecek258	UNIMPL		/* reserved for new sys_remap_file_pages */
4571.18Sjdolecek259	UNIMPL		/* reserved for new sys_mbind */
4581.18Sjdolecek260	UNIMPL		/* reserved for new sys_get_mempolicy */
4591.18Sjdolecek261	UNIMPL		/* reserved for new sys_set_mempolicy */
4601.18Sjdolecek262	UNIMPL		mq_open
4611.18Sjdolecek263	UNIMPL		mq_unlink
4621.18Sjdolecek264	UNIMPL		mq_timedsend
4631.18Sjdolecek265	UNIMPL		mq_timedreceive
4641.18Sjdolecek266	UNIMPL		mq_notify
4651.18Sjdolecek267	UNIMPL		mq_getsetattr
4661.18Sjdolecek268	UNIMPL		kexec_load
4671.45Schs269	UNIMPL		add_key
4681.45Schs270	UNIMPL		request_key
4691.45Schs271	UNIMPL		keyctl
4701.45Schs272	UNIMPL		waitid
4711.45Schs273	UNIMPL		ioprio_set
4721.45Schs274	UNIMPL		ioprio_get
4731.45Schs275	UNIMPL		inotify_init
4741.45Schs276	UNIMPL		inotify_add_watch
4751.45Schs277	UNIMPL		inotify_rm_watch
4761.45Schs278	UNIMPL		spu_run
4771.45Schs279	UNIMPL		spu_create
4781.45Schs280	UNIMPL		pselect6
4791.51Spooka281	STD		{ int|linux_sys||ppoll(struct pollfd *fds, int nfds, \
4801.51Spooka			    struct linux_timespec *timeout, \
4811.51Spooka			    linux_sigset_t *sigset); }
4821.45Schs282	UNIMPL		unshare
4831.45Schs283	UNIMPL		splice
4841.45Schs284	UNIMPL		tee
4851.45Schs285	UNIMPL		vmsplice
4861.58Snjoly286	STD		{ int|linux_sys||openat(int fd, const char *path, \
4871.58Snjoly			    int flags, ... linux_umode_t mode); }
4881.58Snjoly287	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
4891.58Snjoly			    linux_umode_t mode); }
4901.58Snjoly288	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
4911.58Snjoly			    linux_umode_t mode, unsigned dev); }
4921.58Snjoly289	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
4931.58Snjoly			    uid_t owner, gid_t group, int flag); }
4941.45Schs290	UNIMPL		futimesat
4951.58Snjoly291	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
4961.58Snjoly			    struct linux_stat64 *sp, int flag); }
4971.58Snjoly292	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
4981.58Snjoly			    int flag); }
4991.58Snjoly293	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
5001.58Snjoly			    int tofd, const char *to); }
5011.58Snjoly294	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
5021.58Snjoly			    int fd2, const char *name2, int flags); }
5031.58Snjoly295	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
5041.58Snjoly			    const char *path2); }
5051.58Snjoly296	NOARGS		{ int|sys||readlinkat(int fd, const char *path, \
5061.58Snjoly			    char *buf, size_t bufsize); }
5071.58Snjoly297	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
5081.58Snjoly			    linux_umode_t mode); }
5091.58Snjoly298	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
5101.58Snjoly			    int amode); }
5111.45Schs299	STD		{ int|linux_sys||set_robust_list( \
5121.45Schs			    struct linux_robust_list_head *head, size_t len); }
5131.45Schs300	STD		{ int|linux_sys||get_robust_list(int pid, \
5141.45Schs			    struct linux_robust_list_head **head, \
5151.45Schs			    size_t *len); }
5161.45Schs301	UNIMPL		move_pages
5171.45Schs302	UNIMPL		getcpu
5181.45Schs303	UNIMPL		epoll_wait
5191.55Snjoly304	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
5201.55Snjoly			    struct linux_timespec *times, int flag); }
5211.45Schs305	UNIMPL		signalfd
5221.45Schs306	UNIMPL		timerfd_create
5231.45Schs307	UNIMPL		eventfd
5241.45Schs308	UNIMPL		sync_file_range2
5251.45Schs309	UNIMPL		fallocate
5261.45Schs310	UNIMPL		subpage_prot
5271.45Schs311	UNIMPL		timerfd_settime
5281.45Schs312	UNIMPL		timerfd_gettime
5291.45Schs313	UNIMPL		signalfd4
5301.45Schs314	UNIMPL		eventfd2
5311.45Schs315	UNIMPL		epoll_create1
5321.46She316	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
5331.46She317	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
5341.45Schs318	UNIMPL		inotify_init1
5351.45Schs319	UNIMPL		perf_event_open
5361.45Schs320	UNIMPL		preadv
5371.45Schs321	UNIMPL		pwritev
5381.45Schs322	UNIMPL		rt_tgsigqueueinfo
539