syscalls.master revision 1.59
11.59Snjoly	$NetBSD: syscalls.master,v 1.59 2014/04/08 16:48:01 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.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.1Smanu			    int dev); }
1021.40Spooka15	NOARGS		{ int|sys||chmod(const char *path, int mode); }
1031.40Spooka16	NOARGS		{ int|sys||__posix_lchown(const char *path, int uid, \
1041.1Smanu			    int 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.40Spooka80	NOARGS		{ int|sys||getgroups(u_int gidsetsize, gid_t *gidset); }
1851.40Spooka81	NOARGS		{ int|sys||setgroups(u_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.40Spooka85	NOARGS		{ int|sys||readlink(const char *name, 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.40Spooka91	NOARGS		{ int|sys||munmap(void *addr, int 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.40Spooka95	NOARGS		{ int|sys||__posix_fchown(int fd, int uid, int gid); }
2121.40Spooka96	STD		{ int|linux_sys||getpriority(int which, int who); }
2131.40Spooka97	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
2141.40Spooka98	NOARGS		{ int|sys||profil(void *samples, u_int size, \
2151.1Smanu			    u_int offset, u_int scale); }
2161.40Spooka99	STD		{ int|linux_sys||statfs(const char *path, \
2171.1Smanu			    struct linux_statfs *sp); }
2181.40Spooka100	STD		{ int|linux_sys||fstatfs(int fd, \
2191.1Smanu			    struct linux_statfs *sp); }
2201.45Schs101	UNIMPL		ioperm
2211.40Spooka102	STD		{ int|linux_sys||socketcall(int what, void *args); }
2221.1Smanu103	UNIMPL		syslog
2231.49Schristos104	NOARGS		{ int|compat_50_sys||setitimer(int which, \
2241.41Snjoly			    struct itimerval50 *itv, \
2251.41Snjoly			    struct itimerval50 *oitv); }
2261.49Schristos105	NOARGS		{ int|compat_50_sys||getitimer(int which, \
2271.41Snjoly			    struct itimerval50 *itv); }
2281.40Spooka106	STD		{ int|linux_sys||stat(const char *path, \
2291.1Smanu			    struct linux_stat *sp); }
2301.40Spooka107	STD		{ int|linux_sys||lstat(const char *path, \
2311.1Smanu			    struct linux_stat *sp); }
2321.40Spooka108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
2331.40Spooka109	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
2341.21Sperry110	UNIMPL		iopl
2351.1Smanu111	UNIMPL		vhangup
2361.1Smanu112	UNIMPL		idle
2371.21Sperry113	UNIMPL		vm86old
2381.40Spooka114	STD		{ int|linux_sys||wait4(int pid, int *status, \
2391.42Snjoly			    int options, struct rusage50 *rusage); }
2401.40Spooka115	STD		{ int|linux_sys||swapoff(const char *path); }
2411.40Spooka116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
2421.40Spooka117	STD		{ int|linux_sys||ipc(int what, int a1, int a2, int a3, \
2431.31Schristos			    void *ptr); }
2441.40Spooka118	NOARGS		{ int|sys||fsync(int fd); }
2451.40Spooka119	STD		{ int|linux_sys||sigreturn(struct linux_sigcontext *scp); }
2461.45Schs120	STD		{ int|linux_sys||clone(int flags, void *stack, \
2471.45Schs			    void *parent_tidptr, void *tls, void *child_tidptr); }
2481.40Spooka121	STD		{ int|linux_sys||setdomainname(char *domainname, \
2491.7Smanu			    int len); }
2501.40Spooka122	STD		{ int|linux_sys||new_uname(struct linux_utsname *up); }
2511.21Sperry123	UNIMPL		modify_ldt
2521.1Smanu124	UNIMPL		adjtimex
2531.40Spooka125	STD		{ int|linux_sys||mprotect(const void *start, \
2541.10Schristos			    unsigned long len, int prot); }
2551.40Spooka126	STD		{ int|linux_sys||sigprocmask(int how, \
2561.1Smanu			    const linux_old_sigset_t *set, \
2571.1Smanu			    linux_old_sigset_t *oset); }
2581.1Smanu127	UNIMPL		create_module
2591.1Smanu128	UNIMPL		init_module
2601.1Smanu129	UNIMPL		delete_module
2611.1Smanu130	UNIMPL		get_kernel_syms
2621.1Smanu131	UNIMPL		quotactl
2631.40Spooka132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
2641.40Spooka133	NOARGS		{ int|sys||fchdir(int fd); }
2651.1Smanu134	UNIMPL		bdflush
2661.1Smanu135	UNIMPL		sysfs
2671.44Snjoly136	STD		{ int|linux_sys||personality(unsigned long per); }
2681.1Smanu137	UNIMPL		afs_syscall
2691.40Spooka138	STD		{ int|linux_sys||setfsuid(uid_t uid); }
2701.40Spooka139	STD		{ int|linux_sys||setfsgid(gid_t gid); }
2711.40Spooka140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
2721.31Schristos			    u_int32_t olow, void *res, int whence); }
2731.40Spooka141	STD		{ int|linux_sys||getdents(int fd, \
2741.1Smanu			    struct linux_dirent *dent, unsigned int count); }
2751.40Spooka142	STD		{ int|linux_sys||new_select(int nfds, fd_set *readfds, \
2761.1Smanu			    fd_set *writefds, fd_set *exceptfds, \
2771.41Snjoly			    struct timeval50 *timeout); }
2781.40Spooka143	NOARGS		{ int|sys||flock(int fd, int how); }
2791.40Spooka144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
2801.59Snjoly145	NOARGS		{ ssize_t|sys||readv(int fd, \
2811.59Snjoly			    const struct iovec *iovp, int iovcnt); }
2821.59Snjoly146	NOARGS		{ ssize_t|sys||writev(int fd, \
2831.59Snjoly			    const struct iovec *iovp, int iovcnt); }
2841.40Spooka147	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
2851.40Spooka148	STD		{ int|linux_sys||fdatasync(int fd); }
2861.40Spooka149	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
2871.40Spooka150	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
2881.40Spooka151	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
2891.40Spooka152	NOARGS		{ int|sys||mlockall(int flags); }
2901.40Spooka153	NOARGS		{ int|sys||munlockall(void); }
2911.40Spooka154	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
2921.1Smanu			    const struct linux_sched_param *sp); }
2931.40Spooka155	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
2941.1Smanu			    struct linux_sched_param *sp); }
2951.40Spooka156	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
2961.1Smanu			    int policy, const struct linux_sched_param *sp); }
2971.40Spooka157	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
2981.40Spooka158	STD		{ int|linux_sys||sched_yield(void); }
2991.40Spooka159	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
3001.40Spooka160	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
3011.1Smanu161	UNIMPL		sched_rr_get_interval
3021.40Spooka162	STD		{ int|linux_sys||nanosleep( \
3031.38Snjoly			    const struct linux_timespec *rqtp, \
3041.38Snjoly			    struct linux_timespec *rmtp); }
3051.40Spooka163	STD		{ void *|linux_sys||mremap(void *old_address, \
3061.1Smanu			    size_t old_size, size_t new_size, u_long flags); }
3071.40Spooka164	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
3081.1Smanu			    uid_t suid); }
3091.40Spooka165	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
3101.1Smanu			    uid_t *suid); }
3111.1Smanu166	UNIMPL		query_module
3121.40Spooka167	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
3131.1Smanu			    int timeout); }
3141.1Smanu168	UNIMPL		nfsservctl
3151.40Spooka169	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
3161.1Smanu			    gid_t sgid); }
3171.40Spooka170	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
3181.1Smanu			    gid_t *sgid); }
3191.1Smanu171	UNIMPL		prctl
3201.40Spooka172	STD		{ int|linux_sys||rt_sigreturn( \
3211.7Smanu			    struct linux_rt_sigframe *sfp); }
3221.40Spooka173	STD		{ int|linux_sys||rt_sigaction(int signum, \
3231.1Smanu			    const struct linux_sigaction *nsa, \
3241.1Smanu			    struct linux_sigaction *osa, \
3251.1Smanu			    size_t sigsetsize); }
3261.40Spooka174	STD		{ int|linux_sys||rt_sigprocmask(int how, \
3271.1Smanu			    const linux_sigset_t *set, \
3281.1Smanu			    linux_sigset_t *oset, \
3291.1Smanu			    size_t sigsetsize); }
3301.40Spooka175	STD		{ int|linux_sys||rt_sigpending( \
3311.1Smanu			    linux_sigset_t *set, \
3321.1Smanu			    size_t sigsetsize); }
3331.50Schristos176	STD		{ int|linux_sys||rt_sigtimedwait( \
3341.50Schristos			    const linux_sigset_t *set, \
3351.50Schristos			    linux_siginfo_t *info, \
3361.50Schristos			    const struct linux_timespec *timeout); }
3371.40Spooka177	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
3381.43Snjoly			    linux_siginfo_t *uinfo); }
3391.40Spooka178	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
3401.1Smanu			    size_t sigsetsize); }
3411.40Spooka179	STD		{ int|linux_sys||pread(int fd, char *buf, \
3421.1Smanu			    size_t nbyte, linux_off_t offset); }
3431.40Spooka180	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
3441.1Smanu			    size_t nbyte, linux_off_t offset); }
3451.40Spooka181	NOARGS		{ int|sys||__posix_chown(const char *path, \
3461.1Smanu			    int uid, int gid); }
3471.40Spooka182	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
3481.1Smanu183	UNIMPL		capget
3491.1Smanu184	UNIMPL		capset
3501.40Spooka185	STD		{ int|linux_sys||sigaltstack( \
3511.1Smanu			    const struct linux_sigaltstack *ss, \
3521.1Smanu			    struct linux_sigaltstack *oss); }
3531.1Smanu186	UNIMPL		sendfile
3541.1Smanu187	UNIMPL		getpmsg
3551.1Smanu188	UNIMPL		putpmsg
3561.40Spooka189	NOARGS		{ int|sys|14|vfork(void); }
3571.40Spooka190	STD		{ int|linux_sys||ugetrlimit(int which, \
3581.8Schristos			    struct rlimit *rlp); }
3591.1Smanu191	UNIMPL		/* unused */
3601.33Sdsl#define linux_sys_mmap2_args linux_sys_mmap_args
3611.40Spooka192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
3621.15Schristos			    size_t len, int prot, int flags, int fd, \
3631.15Schristos			    linux_off_t offset); }
3641.40Spooka193	STD		{ int|linux_sys||truncate64(const char *path, \
3651.13Sjdolecek			    off_t length); }
3661.40Spooka194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
3671.13Sjdolecek			    off_t length); }
3681.40Spooka195	STD		{ int|linux_sys||stat64(const char *path, \
3691.12Sjdolecek			    struct linux_stat64 *sp); }
3701.40Spooka196	STD		{ int|linux_sys||lstat64(const char *path, \
3711.12Sjdolecek			    struct linux_stat64 *sp); }
3721.40Spooka197	STD		{ int|linux_sys||fstat64(int fd, \
3731.12Sjdolecek			    struct linux_stat64 *sp); }
3741.21Sperry198	UNIMPL		sys_pciconfig_read
3751.1Smanu199	UNIMPL		sys_pciconfig_write
3761.1Smanu200	UNIMPL		sys_pciconfig_iobase
3771.1Smanu201	UNIMPL		/* Unused (MacOnLinux project) */
3781.40Spooka202	STD		{ int|linux_sys||getdents64(int fd, \
3791.11Schristos			    struct linux_dirent64 *dent, unsigned int count); }
3801.4Sjdolecek203	UNIMPL		pivot_root
3811.40Spooka204	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
3821.40Spooka205	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
3831.40Spooka206	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
3841.45Schs207	NOARGS		{ pid_t|linux_sys||gettid(void); }
3851.45Schs208	STD		{ int|linux_sys||tkill(int tid, int sig); }
3861.40Spooka209	STD		{ int|linux_sys||setxattr(char *path, char *name, \
3871.22Sfvdl			    void *value, size_t size, int flags); }
3881.40Spooka210	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
3891.22Sfvdl			    void *value, size_t size, int flags); }
3901.40Spooka211	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
3911.22Sfvdl			    void *value, size_t size, int flags); }
3921.40Spooka212	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
3931.22Sfvdl			    void *value, size_t size); }
3941.40Spooka213	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
3951.22Sfvdl			    void *value, size_t size); }
3961.40Spooka214	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
3971.22Sfvdl			    void *value, size_t size); }
3981.40Spooka215	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
3991.22Sfvdl			    size_t size); }
4001.40Spooka216	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
4011.22Sfvdl			    size_t size); }
4021.40Spooka217	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
4031.22Sfvdl			    size_t size); }
4041.40Spooka218	STD		{ int|linux_sys||removexattr(char *path, char *name); }
4051.40Spooka219	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
4061.40Spooka220	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
4071.45Schs221	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
4081.45Schs			    const struct linux_timespec *timeout, int *uaddr2, \
4091.45Schs			    int val3); }
4101.45Schs222	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
4111.45Schs			    unsigned int len, unsigned long *mask); }
4121.45Schs223	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
4131.45Schs			    unsigned int len, unsigned long *mask); }
4141.18Sjdolecek224	UNIMPL		/* unused */
4151.18Sjdolecek225	UNIMPL		tuxcall
4161.18Sjdolecek226	UNIMPL		sendfile64
4171.18Sjdolecek227	UNIMPL		io_setup
4181.18Sjdolecek228	UNIMPL		io_destroy
4191.18Sjdolecek229	UNIMPL		io_getevents
4201.18Sjdolecek230	UNIMPL		io_submit
4211.18Sjdolecek231	UNIMPL		io_cancel
4221.45Schs232	STD		{ int|linux_sys||set_tid_address(int *tid); }
4231.47Salnsn233	STD		{ int|linux_sys||fadvise64(int fd, \
4241.47Salnsn			    linux_off_t offset, size_t len, int advice); }
4251.40Spooka234	STD		{ int|linux_sys||exit_group(int error_code); }
4261.18Sjdolecek235	UNIMPL		lookup_dcookie
4271.18Sjdolecek236	UNIMPL		epoll_create
4281.18Sjdolecek237	UNIMPL		epoll_ctl
4291.18Sjdolecek238	UNIMPL		epoll_wait
4301.18Sjdolecek239	UNIMPL		remap_file_pages
4311.18Sjdolecek240	UNIMPL		timer_create
4321.18Sjdolecek241	UNIMPL		timer_settime
4331.18Sjdolecek242	UNIMPL		timer_gettime
4341.18Sjdolecek243	UNIMPL		timer_getoverrun
4351.18Sjdolecek244	UNIMPL		timer_delete
4361.40Spooka245	STD		{ int|linux_sys||clock_settime(clockid_t which, \
4371.23Sfvdl			    struct linux_timespec *tp); }
4381.40Spooka246	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
4391.23Sfvdl			    struct linux_timespec *tp); }
4401.40Spooka247	STD		{ int|linux_sys||clock_getres(clockid_t which, \
4411.23Sfvdl			    struct linux_timespec *tp); }
4421.40Spooka248	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
4431.23Sfvdl			    int flags, struct linux_timespec *rqtp, \
4441.23Sfvdl			    struct linux_timespec *rmtp); }
4451.18Sjdolecek249	UNIMPL		swapcontext
4461.45Schs250	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
4471.52Spooka251	STD		{ int|linux_sys||utimes(const char *path, struct linux_timeval *times); }
4481.40Spooka252	STD		{ int|linux_sys||statfs64(const char *path, \
4491.20Sjdolecek			    size_t sz, struct linux_statfs64 *sp); }
4501.40Spooka253	STD		{ int|linux_sys||fstatfs64(int fd, \
4511.20Sjdolecek			    size_t sz, struct linux_statfs64 *sp); }
4521.47Salnsn254	STD		{ int|linux_sys||fadvise64_64(int fd, \
4531.48Snjoly			    linux_off_t offset, linux_off_t len, int advice); }
4541.18Sjdolecek255	UNIMPL		rtas
4551.18Sjdolecek256	UNIMPL		/* reserved for sys_debug_setcontext */
4561.18Sjdolecek257	UNIMPL		/* reserved for vserver */
4571.18Sjdolecek258	UNIMPL		/* reserved for new sys_remap_file_pages */
4581.18Sjdolecek259	UNIMPL		/* reserved for new sys_mbind */
4591.18Sjdolecek260	UNIMPL		/* reserved for new sys_get_mempolicy */
4601.18Sjdolecek261	UNIMPL		/* reserved for new sys_set_mempolicy */
4611.18Sjdolecek262	UNIMPL		mq_open
4621.18Sjdolecek263	UNIMPL		mq_unlink
4631.18Sjdolecek264	UNIMPL		mq_timedsend
4641.18Sjdolecek265	UNIMPL		mq_timedreceive
4651.18Sjdolecek266	UNIMPL		mq_notify
4661.18Sjdolecek267	UNIMPL		mq_getsetattr
4671.18Sjdolecek268	UNIMPL		kexec_load
4681.45Schs269	UNIMPL		add_key
4691.45Schs270	UNIMPL		request_key
4701.45Schs271	UNIMPL		keyctl
4711.45Schs272	UNIMPL		waitid
4721.45Schs273	UNIMPL		ioprio_set
4731.45Schs274	UNIMPL		ioprio_get
4741.45Schs275	UNIMPL		inotify_init
4751.45Schs276	UNIMPL		inotify_add_watch
4761.45Schs277	UNIMPL		inotify_rm_watch
4771.45Schs278	UNIMPL		spu_run
4781.45Schs279	UNIMPL		spu_create
4791.45Schs280	UNIMPL		pselect6
4801.51Spooka281	STD		{ int|linux_sys||ppoll(struct pollfd *fds, int nfds, \
4811.51Spooka			    struct linux_timespec *timeout, \
4821.51Spooka			    linux_sigset_t *sigset); }
4831.45Schs282	UNIMPL		unshare
4841.45Schs283	UNIMPL		splice
4851.45Schs284	UNIMPL		tee
4861.45Schs285	UNIMPL		vmsplice
4871.58Snjoly286	STD		{ int|linux_sys||openat(int fd, const char *path, \
4881.58Snjoly			    int flags, ... linux_umode_t mode); }
4891.58Snjoly287	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
4901.58Snjoly			    linux_umode_t mode); }
4911.58Snjoly288	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
4921.58Snjoly			    linux_umode_t mode, unsigned dev); }
4931.58Snjoly289	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
4941.58Snjoly			    uid_t owner, gid_t group, int flag); }
4951.45Schs290	UNIMPL		futimesat
4961.58Snjoly291	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
4971.58Snjoly			    struct linux_stat64 *sp, int flag); }
4981.58Snjoly292	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
4991.58Snjoly			    int flag); }
5001.58Snjoly293	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
5011.58Snjoly			    int tofd, const char *to); }
5021.58Snjoly294	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
5031.58Snjoly			    int fd2, const char *name2, int flags); }
5041.58Snjoly295	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
5051.58Snjoly			    const char *path2); }
5061.58Snjoly296	NOARGS		{ int|sys||readlinkat(int fd, const char *path, \
5071.58Snjoly			    char *buf, size_t bufsize); }
5081.58Snjoly297	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
5091.58Snjoly			    linux_umode_t mode); }
5101.58Snjoly298	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
5111.58Snjoly			    int amode); }
5121.45Schs299	STD		{ int|linux_sys||set_robust_list( \
5131.45Schs			    struct linux_robust_list_head *head, size_t len); }
5141.45Schs300	STD		{ int|linux_sys||get_robust_list(int pid, \
5151.45Schs			    struct linux_robust_list_head **head, \
5161.45Schs			    size_t *len); }
5171.45Schs301	UNIMPL		move_pages
5181.45Schs302	UNIMPL		getcpu
5191.45Schs303	UNIMPL		epoll_wait
5201.55Snjoly304	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
5211.55Snjoly			    struct linux_timespec *times, int flag); }
5221.45Schs305	UNIMPL		signalfd
5231.45Schs306	UNIMPL		timerfd_create
5241.45Schs307	UNIMPL		eventfd
5251.45Schs308	UNIMPL		sync_file_range2
5261.45Schs309	UNIMPL		fallocate
5271.45Schs310	UNIMPL		subpage_prot
5281.45Schs311	UNIMPL		timerfd_settime
5291.45Schs312	UNIMPL		timerfd_gettime
5301.45Schs313	UNIMPL		signalfd4
5311.45Schs314	UNIMPL		eventfd2
5321.45Schs315	UNIMPL		epoll_create1
5331.46She316	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
5341.46She317	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
5351.45Schs318	UNIMPL		inotify_init1
5361.45Schs319	UNIMPL		perf_event_open
5371.45Schs320	UNIMPL		preadv
5381.45Schs321	UNIMPL		pwritev
5391.45Schs322	UNIMPL		rt_tgsigqueueinfo
540