syscalls.master revision 1.46
11.46She	$NetBSD: syscalls.master,v 1.46 2011/04/15 13:04:53 he 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.1Smanu			    int 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.40Spooka8	STD		{ int|linux_sys||creat(const char *path, int 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.40Spooka14	STD		{ int|linux_sys||mknod(const char *path, int 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.7Smanu			    int addr, int 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.40Spooka39	NOARGS		{ int|sys||mkdir(const char *path, int mode); }
1311.40Spooka40	NOARGS		{ int|sys||rmdir(const char *path); }
1321.40Spooka41	NOARGS		{ int|sys||dup(u_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.40Spooka63	NOARGS		{ int|sys||dup2(u_int from, u_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.40Spooka94	NOARGS		{ int|sys||fchmod(int fd, int 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.41Snjoly104	NOARGS		{ int|compat_50_sys||setitimer(u_int which, \
2231.41Snjoly			    struct itimerval50 *itv, \
2241.41Snjoly			    struct itimerval50 *oitv); }
2251.41Snjoly105	NOARGS		{ int|compat_50_sys||getitimer(u_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.1Smanu176	UNIMPL		rt_sigtimedwait
3331.40Spooka177	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
3341.43Snjoly			    linux_siginfo_t *uinfo); }
3351.40Spooka178	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
3361.1Smanu			    size_t sigsetsize); }
3371.40Spooka179	STD		{ int|linux_sys||pread(int fd, char *buf, \
3381.1Smanu			    size_t nbyte, linux_off_t offset); }
3391.40Spooka180	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
3401.1Smanu			    size_t nbyte, linux_off_t offset); }
3411.40Spooka181	NOARGS		{ int|sys||__posix_chown(const char *path, \
3421.1Smanu			    int uid, int gid); }
3431.40Spooka182	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
3441.1Smanu183	UNIMPL		capget
3451.1Smanu184	UNIMPL		capset
3461.40Spooka185	STD		{ int|linux_sys||sigaltstack( \
3471.1Smanu			    const struct linux_sigaltstack *ss, \
3481.1Smanu			    struct linux_sigaltstack *oss); }
3491.1Smanu186	UNIMPL		sendfile
3501.1Smanu187	UNIMPL		getpmsg
3511.1Smanu188	UNIMPL		putpmsg
3521.40Spooka189	NOARGS		{ int|sys|14|vfork(void); }
3531.40Spooka190	STD		{ int|linux_sys||ugetrlimit(int which, \
3541.8Schristos			    struct rlimit *rlp); }
3551.1Smanu191	UNIMPL		/* unused */
3561.33Sdsl#define linux_sys_mmap2_args linux_sys_mmap_args
3571.40Spooka192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
3581.15Schristos			    size_t len, int prot, int flags, int fd, \
3591.15Schristos			    linux_off_t offset); }
3601.40Spooka193	STD		{ int|linux_sys||truncate64(const char *path, \
3611.13Sjdolecek			    off_t length); }
3621.40Spooka194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
3631.13Sjdolecek			    off_t length); }
3641.40Spooka195	STD		{ int|linux_sys||stat64(const char *path, \
3651.12Sjdolecek			    struct linux_stat64 *sp); }
3661.40Spooka196	STD		{ int|linux_sys||lstat64(const char *path, \
3671.12Sjdolecek			    struct linux_stat64 *sp); }
3681.40Spooka197	STD		{ int|linux_sys||fstat64(int fd, \
3691.12Sjdolecek			    struct linux_stat64 *sp); }
3701.21Sperry198	UNIMPL		sys_pciconfig_read
3711.1Smanu199	UNIMPL		sys_pciconfig_write
3721.1Smanu200	UNIMPL		sys_pciconfig_iobase
3731.1Smanu201	UNIMPL		/* Unused (MacOnLinux project) */
3741.40Spooka202	STD		{ int|linux_sys||getdents64(int fd, \
3751.11Schristos			    struct linux_dirent64 *dent, unsigned int count); }
3761.4Sjdolecek203	UNIMPL		pivot_root
3771.40Spooka204	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
3781.40Spooka205	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
3791.40Spooka206	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
3801.45Schs207	NOARGS		{ pid_t|linux_sys||gettid(void); }
3811.45Schs208	STD		{ int|linux_sys||tkill(int tid, int sig); }
3821.40Spooka209	STD		{ int|linux_sys||setxattr(char *path, char *name, \
3831.22Sfvdl			    void *value, size_t size, int flags); }
3841.40Spooka210	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
3851.22Sfvdl			    void *value, size_t size, int flags); }
3861.40Spooka211	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
3871.22Sfvdl			    void *value, size_t size, int flags); }
3881.40Spooka212	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
3891.22Sfvdl			    void *value, size_t size); }
3901.40Spooka213	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
3911.22Sfvdl			    void *value, size_t size); }
3921.40Spooka214	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
3931.22Sfvdl			    void *value, size_t size); }
3941.40Spooka215	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
3951.22Sfvdl			    size_t size); }
3961.40Spooka216	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
3971.22Sfvdl			    size_t size); }
3981.40Spooka217	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
3991.22Sfvdl			    size_t size); }
4001.40Spooka218	STD		{ int|linux_sys||removexattr(char *path, char *name); }
4011.40Spooka219	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
4021.40Spooka220	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
4031.45Schs221	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
4041.45Schs			    const struct linux_timespec *timeout, int *uaddr2, \
4051.45Schs			    int val3); }
4061.45Schs222	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
4071.45Schs			    unsigned int len, unsigned long *mask); }
4081.45Schs223	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
4091.45Schs			    unsigned int len, unsigned long *mask); }
4101.18Sjdolecek224	UNIMPL		/* unused */
4111.18Sjdolecek225	UNIMPL		tuxcall
4121.18Sjdolecek226	UNIMPL		sendfile64
4131.18Sjdolecek227	UNIMPL		io_setup
4141.18Sjdolecek228	UNIMPL		io_destroy
4151.18Sjdolecek229	UNIMPL		io_getevents
4161.18Sjdolecek230	UNIMPL		io_submit
4171.18Sjdolecek231	UNIMPL		io_cancel
4181.45Schs232	STD		{ int|linux_sys||set_tid_address(int *tid); }
4191.18Sjdolecek233	UNIMPL		fadvise64
4201.40Spooka234	STD		{ int|linux_sys||exit_group(int error_code); }
4211.18Sjdolecek235	UNIMPL		lookup_dcookie
4221.18Sjdolecek236	UNIMPL		epoll_create
4231.18Sjdolecek237	UNIMPL		epoll_ctl
4241.18Sjdolecek238	UNIMPL		epoll_wait
4251.18Sjdolecek239	UNIMPL		remap_file_pages
4261.18Sjdolecek240	UNIMPL		timer_create
4271.18Sjdolecek241	UNIMPL		timer_settime
4281.18Sjdolecek242	UNIMPL		timer_gettime
4291.18Sjdolecek243	UNIMPL		timer_getoverrun
4301.18Sjdolecek244	UNIMPL		timer_delete
4311.40Spooka245	STD		{ int|linux_sys||clock_settime(clockid_t which, \
4321.23Sfvdl			    struct linux_timespec *tp); }
4331.40Spooka246	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
4341.23Sfvdl			    struct linux_timespec *tp); }
4351.40Spooka247	STD		{ int|linux_sys||clock_getres(clockid_t which, \
4361.23Sfvdl			    struct linux_timespec *tp); }
4371.40Spooka248	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
4381.23Sfvdl			    int flags, struct linux_timespec *rqtp, \
4391.23Sfvdl			    struct linux_timespec *rmtp); }
4401.18Sjdolecek249	UNIMPL		swapcontext
4411.45Schs250	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
4421.18Sjdolecek251	UNIMPL		utimes
4431.40Spooka252	STD		{ int|linux_sys||statfs64(const char *path, \
4441.20Sjdolecek			    size_t sz, struct linux_statfs64 *sp); }
4451.40Spooka253	STD		{ int|linux_sys||fstatfs64(int fd, \
4461.20Sjdolecek			    size_t sz, struct linux_statfs64 *sp); }
4471.18Sjdolecek254	UNIMPL		fadvise64_64
4481.18Sjdolecek255	UNIMPL		rtas
4491.18Sjdolecek256	UNIMPL		/* reserved for sys_debug_setcontext */
4501.18Sjdolecek257	UNIMPL		/* reserved for vserver */
4511.18Sjdolecek258	UNIMPL		/* reserved for new sys_remap_file_pages */
4521.18Sjdolecek259	UNIMPL		/* reserved for new sys_mbind */
4531.18Sjdolecek260	UNIMPL		/* reserved for new sys_get_mempolicy */
4541.18Sjdolecek261	UNIMPL		/* reserved for new sys_set_mempolicy */
4551.18Sjdolecek262	UNIMPL		mq_open
4561.18Sjdolecek263	UNIMPL		mq_unlink
4571.18Sjdolecek264	UNIMPL		mq_timedsend
4581.18Sjdolecek265	UNIMPL		mq_timedreceive
4591.18Sjdolecek266	UNIMPL		mq_notify
4601.18Sjdolecek267	UNIMPL		mq_getsetattr
4611.18Sjdolecek268	UNIMPL		kexec_load
4621.45Schs269	UNIMPL		add_key
4631.45Schs270	UNIMPL		request_key
4641.45Schs271	UNIMPL		keyctl
4651.45Schs272	UNIMPL		waitid
4661.45Schs273	UNIMPL		ioprio_set
4671.45Schs274	UNIMPL		ioprio_get
4681.45Schs275	UNIMPL		inotify_init
4691.45Schs276	UNIMPL		inotify_add_watch
4701.45Schs277	UNIMPL		inotify_rm_watch
4711.45Schs278	UNIMPL		spu_run
4721.45Schs279	UNIMPL		spu_create
4731.45Schs280	UNIMPL		pselect6
4741.45Schs281	UNIMPL		ppoll
4751.45Schs282	UNIMPL		unshare
4761.45Schs283	UNIMPL		splice
4771.45Schs284	UNIMPL		tee
4781.45Schs285	UNIMPL		vmsplice
4791.45Schs286	UNIMPL		openat
4801.45Schs287	UNIMPL		mkdirat
4811.45Schs288	UNIMPL		mknodat
4821.45Schs289	UNIMPL		fchownat
4831.45Schs290	UNIMPL		futimesat
4841.45Schs291	UNIMPL		fstatat64
4851.45Schs292	UNIMPL		unlinkat
4861.45Schs293	UNIMPL		renameat
4871.45Schs294	UNIMPL		linkat
4881.45Schs295	UNIMPL		symlinkat
4891.45Schs296	UNIMPL		readlinkat
4901.45Schs297	UNIMPL		fchmodat
4911.45Schs298	UNIMPL		faccessat
4921.45Schs299	STD		{ int|linux_sys||set_robust_list( \
4931.45Schs			    struct linux_robust_list_head *head, size_t len); }
4941.45Schs300	STD		{ int|linux_sys||get_robust_list(int pid, \
4951.45Schs			    struct linux_robust_list_head **head, \
4961.45Schs			    size_t *len); }
4971.45Schs301	UNIMPL		move_pages
4981.45Schs302	UNIMPL		getcpu
4991.45Schs303	UNIMPL		epoll_wait
5001.45Schs304	UNIMPL		utimensat
5011.45Schs305	UNIMPL		signalfd
5021.45Schs306	UNIMPL		timerfd_create
5031.45Schs307	UNIMPL		eventfd
5041.45Schs308	UNIMPL		sync_file_range2
5051.45Schs309	UNIMPL		fallocate
5061.45Schs310	UNIMPL		subpage_prot
5071.45Schs311	UNIMPL		timerfd_settime
5081.45Schs312	UNIMPL		timerfd_gettime
5091.45Schs313	UNIMPL		signalfd4
5101.45Schs314	UNIMPL		eventfd2
5111.45Schs315	UNIMPL		epoll_create1
5121.46She316	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
5131.46She317	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
5141.45Schs318	UNIMPL		inotify_init1
5151.45Schs319	UNIMPL		perf_event_open
5161.45Schs320	UNIMPL		preadv
5171.45Schs321	UNIMPL		pwritev
5181.45Schs322	UNIMPL		rt_tgsigqueueinfo
519