xref: /freebsd/sys/amd64/linux32/syscalls.master (revision 8b756d40a72e9efe40d4790d356cb8c1b53bd2dd)
1ea0fabbcSTim J. Robbins $FreeBSD$
2ea0fabbcSTim J. Robbins
3ea0fabbcSTim J. Robbins;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
4ea0fabbcSTim J. Robbins; System call name/number master file (or rather, slave, from LINUX).
52f99bcceSJohn Baldwin; Processed to create linux32_sysent.c, linux32_proto.h and linux32_syscall.h.
6ea0fabbcSTim J. Robbins
7c8b579c1SAlexander Leidinger; Columns: number audit type nargs name alt{name,tag,rtyp}/comments
8ea0fabbcSTim J. Robbins;	number	system call number, must be in order
9f3596e33SRobert Watson;	audit	the audit event associated with the system call
10f3596e33SRobert Watson;		A value of AUE_NULL means no auditing, but it also means that
11f3596e33SRobert Watson;		there is no audit event for the call at this time. For the
12f3596e33SRobert Watson;		case where the event exists, but we don't want auditing, the
13f3596e33SRobert Watson;		event should be #defined to AUE_NULL in audit_kevents.h.
14*8b756d40SDmitry Chagin;	type	one of STD, NOPROTO, UNIMPL
15ea0fabbcSTim J. Robbins;	name	psuedo-prototype of syscall routine
16ea0fabbcSTim J. Robbins;		If one of the following alts is different, then all appear:
17ea0fabbcSTim J. Robbins;	altname	name of system call if different
18ea0fabbcSTim J. Robbins;	alttag	name of args struct tag if different from [o]`name'"_args"
19ea0fabbcSTim J. Robbins;	altrtyp	return type if not int (bogus - syscalls always return int)
20*8b756d40SDmitry Chagin;		for UNIMPL, name continues with comments
21ea0fabbcSTim J. Robbins
22ea0fabbcSTim J. Robbins; types:
23e0b4add8SJohn Baldwin;	STD	always included
24e0b4add8SJohn Baldwin;	UNIMPL	not implemented, placeholder only
25*8b756d40SDmitry Chagin;	NOPROTO same as STD except do not create structure or
26*8b756d40SDmitry Chagin;		function prototype in sys/sysproto.h.  Does add a
27*8b756d40SDmitry Chagin;		definition to syscall.h besides adding a sysent.
28ea0fabbcSTim J. Robbins
29aefce619SRuslan Ermilov#include "opt_compat.h"
30ea0fabbcSTim J. Robbins#include <sys/param.h>
31ea0fabbcSTim J. Robbins#include <sys/sysent.h>
32ea0fabbcSTim J. Robbins#include <sys/sysproto.h>
33e3478fe0SMaxim Sobolev#include <compat/linux/linux_sysproto.h>
34ea0fabbcSTim J. Robbins#include <amd64/linux32/linux.h>
35ea0fabbcSTim J. Robbins#include <amd64/linux32/linux32_proto.h>
36ea0fabbcSTim J. Robbins
37e3478fe0SMaxim Sobolev; Isn't pretty, but there seems to be no other way to trap nosys
38e3478fe0SMaxim Sobolev#define	nosys	linux_nosys
39e3478fe0SMaxim Sobolev
40ea0fabbcSTim J. Robbins; #ifdef's, etc. may be included, and are copied to the output files.
41ea0fabbcSTim J. Robbins
42f3596e33SRobert Watson0	AUE_NULL	UNIMPL	setup
43161acbb6SDmitry Chagin1	AUE_EXIT	STD	{ void linux_exit(int rval); }
44af5bf122SJohn Baldwin2	AUE_FORK	STD	{ int linux_fork(void); }
45af5bf122SJohn Baldwin3	AUE_NULL	NOPROTO	{ int read(int fd, char *buf, \
46f3596e33SRobert Watson				    u_int nbyte); }
47af5bf122SJohn Baldwin4	AUE_NULL	NOPROTO	{ int write(int fd, char *buf, \
48f3596e33SRobert Watson				    u_int nbyte); }
49af5bf122SJohn Baldwin5	AUE_OPEN_RWTC	STD	{ int linux_open(char *path, l_int flags, \
50f3596e33SRobert Watson				    l_int mode); }
51af5bf122SJohn Baldwin6	AUE_CLOSE	NOPROTO	{ int close(int fd); }
52af5bf122SJohn Baldwin7	AUE_WAIT4	STD	{ int linux_waitpid(l_pid_t pid, \
53f3596e33SRobert Watson				    l_int *status, l_int options); }
54a46b391dSRobert Watson8	AUE_CREAT	STD	{ int linux_creat(char *path, \
55c8b579c1SAlexander Leidinger				    l_int mode); }
56af5bf122SJohn Baldwin9	AUE_LINK	STD	{ int linux_link(char *path, char *to); }
57af5bf122SJohn Baldwin10	AUE_UNLINK	STD	{ int linux_unlink(char *path); }
58520b6a84SEd Schouten11	AUE_EXECVE	STD	{ int linux_execve(char *path, uint32_t *argp, \
59520b6a84SEd Schouten				    uint32_t *envp); }
60af5bf122SJohn Baldwin12	AUE_CHDIR	STD	{ int linux_chdir(char *path); }
61af5bf122SJohn Baldwin13	AUE_NULL	STD	{ int linux_time(l_time_t *tm); }
62af5bf122SJohn Baldwin14	AUE_MKNOD	STD	{ int linux_mknod(char *path, l_int mode, \
63f3596e33SRobert Watson				    l_dev_t dev); }
64af5bf122SJohn Baldwin15	AUE_CHMOD	STD	{ int linux_chmod(char *path, \
65f3596e33SRobert Watson				    l_mode_t mode); }
66af5bf122SJohn Baldwin16	AUE_LCHOWN	STD	{ int linux_lchown16(char *path, \
67f3596e33SRobert Watson				    l_uid16_t uid, l_gid16_t gid); }
68f3596e33SRobert Watson17	AUE_NULL	UNIMPL	break
69af5bf122SJohn Baldwin18	AUE_STAT	STD	{ int linux_stat(char *path, \
703a192a20SAlexander Leidinger				    struct linux_stat *up); }
71af5bf122SJohn Baldwin19	AUE_LSEEK	STD	{ int linux_lseek(l_uint fdes, l_off_t off, \
72f3596e33SRobert Watson				    l_int whence); }
73af5bf122SJohn Baldwin20	AUE_GETPID	STD	{ int linux_getpid(void); }
74af5bf122SJohn Baldwin21	AUE_MOUNT	STD	{ int linux_mount(char *specialfile, \
75f3596e33SRobert Watson				    char *dir, char *filesystemtype, \
76f3596e33SRobert Watson				    l_ulong rwflag, void *data); }
77af5bf122SJohn Baldwin22	AUE_UMOUNT	STD	{ int linux_oldumount(char *path); }
78af5bf122SJohn Baldwin23	AUE_SETUID	STD	{ int linux_setuid16(l_uid16_t uid); }
79af5bf122SJohn Baldwin24	AUE_GETUID	STD	{ int linux_getuid16(void); }
80af5bf122SJohn Baldwin25	AUE_SETTIMEOFDAY	STD	{ int linux_stime(void); }
81af5bf122SJohn Baldwin26	AUE_PTRACE	STD	{ int linux_ptrace(l_long req, l_long pid, \
82f3596e33SRobert Watson				    l_long addr, l_long data); }
83af5bf122SJohn Baldwin27	AUE_NULL	STD	{ int linux_alarm(l_uint secs); }
84a46b391dSRobert Watson28	AUE_FSTAT	UNIMPL	fstat
85af5bf122SJohn Baldwin29	AUE_NULL	STD	{ int linux_pause(void); }
86af5bf122SJohn Baldwin30	AUE_UTIME	STD	{ int linux_utime(char *fname, \
87f3596e33SRobert Watson				    struct l_utimbuf *times); }
88f3596e33SRobert Watson31	AUE_NULL	UNIMPL	stty
89f3596e33SRobert Watson32	AUE_NULL	UNIMPL	gtty
90d3a993d4SEd Schouten33	AUE_ACCESS	STD	{ int linux_access(char *path, l_int amode); }
91af5bf122SJohn Baldwin34	AUE_NICE	STD	{ int linux_nice(l_int inc); }
92f3596e33SRobert Watson35	AUE_NULL	UNIMPL	ftime
93af5bf122SJohn Baldwin36	AUE_SYNC	NOPROTO	{ int sync(void); }
94af5bf122SJohn Baldwin37	AUE_KILL	STD	{ int linux_kill(l_int pid, l_int signum); }
95af5bf122SJohn Baldwin38	AUE_RENAME	STD	{ int linux_rename(char *from, char *to); }
96af5bf122SJohn Baldwin39	AUE_MKDIR	STD	{ int linux_mkdir(char *path, l_int mode); }
97af5bf122SJohn Baldwin40	AUE_RMDIR	STD	{ int linux_rmdir(char *path); }
98af5bf122SJohn Baldwin41	AUE_DUP		NOPROTO	{ int dup(u_int fd); }
99d69a426fSJung-uk Kim42	AUE_PIPE	STD	{ int linux_pipe(l_int *pipefds); }
100af5bf122SJohn Baldwin43	AUE_NULL	STD	{ int linux_times(struct l_times_argv *buf); }
101f3596e33SRobert Watson44	AUE_NULL	UNIMPL	prof
102af5bf122SJohn Baldwin45	AUE_NULL	STD	{ int linux_brk(l_ulong dsend); }
103af5bf122SJohn Baldwin46	AUE_SETGID	STD	{ int linux_setgid16(l_gid16_t gid); }
104af5bf122SJohn Baldwin47	AUE_GETGID	STD	{ int linux_getgid16(void); }
105af5bf122SJohn Baldwin48	AUE_NULL	STD	{ int linux_signal(l_int sig, \
106f3596e33SRobert Watson				    l_handler_t handler); }
107af5bf122SJohn Baldwin49	AUE_GETEUID	STD	{ int linux_geteuid16(void); }
108af5bf122SJohn Baldwin50	AUE_GETEGID	STD	{ int linux_getegid16(void); }
109af5bf122SJohn Baldwin51	AUE_ACCT	NOPROTO	{ int acct(char *path); }
110af5bf122SJohn Baldwin52	AUE_UMOUNT	STD	{ int linux_umount(char *path, l_int flags); }
111f3596e33SRobert Watson53	AUE_NULL	UNIMPL	lock
112af5bf122SJohn Baldwin54	AUE_IOCTL	STD	{ int linux_ioctl(l_uint fd, l_uint cmd, \
113f3596e33SRobert Watson				    uintptr_t arg); }
114af5bf122SJohn Baldwin55	AUE_FCNTL	STD	{ int linux_fcntl(l_uint fd, l_uint cmd, \
115f3596e33SRobert Watson				    uintptr_t arg); }
116f3596e33SRobert Watson56	AUE_NULL	UNIMPL	mpx
117af5bf122SJohn Baldwin57	AUE_SETPGRP	NOPROTO	{ int setpgid(int pid, int pgid); }
118f3596e33SRobert Watson58	AUE_NULL	UNIMPL	ulimit
119af5bf122SJohn Baldwin59	AUE_NULL	STD	{ int linux_olduname(void); }
120af5bf122SJohn Baldwin60	AUE_UMASK	NOPROTO	{ int umask(int newmask); }
121af5bf122SJohn Baldwin61	AUE_CHROOT	NOPROTO	{ int chroot(char *path); }
122af5bf122SJohn Baldwin62	AUE_NULL	STD	{ int linux_ustat(l_dev_t dev, \
123f3596e33SRobert Watson				    struct l_ustat *ubuf); }
124af5bf122SJohn Baldwin63	AUE_DUP2	NOPROTO	{ int dup2(u_int from, u_int to); }
125b4359bd8SAlexander Leidinger64	AUE_GETPPID	STD	{ int linux_getppid(void); }
126af5bf122SJohn Baldwin65	AUE_GETPGRP	NOPROTO	{ int getpgrp(void); }
127af5bf122SJohn Baldwin66	AUE_SETSID	NOPROTO	{ int setsid(void); }
128af5bf122SJohn Baldwin67	AUE_NULL	STD	{ int linux_sigaction(l_int sig, \
129f3596e33SRobert Watson				    l_osigaction_t *nsa, \
130ea0fabbcSTim J. Robbins				    l_osigaction_t *osa); }
131af5bf122SJohn Baldwin68	AUE_NULL	STD	{ int linux_sgetmask(void); }
132af5bf122SJohn Baldwin69	AUE_NULL	STD	{ int linux_ssetmask(l_osigset_t mask); }
133af5bf122SJohn Baldwin70	AUE_SETREUID	STD	{ int linux_setreuid16(l_uid16_t ruid, \
134f3596e33SRobert Watson				    l_uid16_t euid); }
135af5bf122SJohn Baldwin71	AUE_SETREGID	STD	{ int linux_setregid16(l_gid16_t rgid, \
136f3596e33SRobert Watson				    l_gid16_t egid); }
137af5bf122SJohn Baldwin72	AUE_NULL	STD	{ int linux_sigsuspend(l_int hist0, \
138f3596e33SRobert Watson				    l_int hist1, l_osigset_t mask); }
139af5bf122SJohn Baldwin73	AUE_NULL	STD	{ int linux_sigpending(l_osigset_t *mask); }
140af5bf122SJohn Baldwin74	AUE_SYSCTL	STD	{ int linux_sethostname(char *hostname, \
1415c8919adSAlexander Leidinger				    u_int len); }
142af5bf122SJohn Baldwin75	AUE_SETRLIMIT	STD	{ int linux_setrlimit(l_uint resource, \
143ea0fabbcSTim J. Robbins				    struct l_rlimit *rlim); }
144af5bf122SJohn Baldwin76	AUE_GETRLIMIT	STD	{ int linux_old_getrlimit(l_uint resource, \
145f3596e33SRobert Watson				    struct l_rlimit *rlim); }
146af5bf122SJohn Baldwin77	AUE_GETRUSAGE	STD	{ int linux_getrusage(int who, \
147f3596e33SRobert Watson				    struct l_rusage *rusage); }
148af5bf122SJohn Baldwin78	AUE_NULL	STD	{ int linux_gettimeofday( \
149f3596e33SRobert Watson				    struct l_timeval *tp, \
150ea0fabbcSTim J. Robbins				    struct timezone *tzp); }
151af5bf122SJohn Baldwin79	AUE_SETTIMEOFDAY STD	{ int linux_settimeofday( \
152f3596e33SRobert Watson				    struct l_timeval *tp, \
153ea0fabbcSTim J. Robbins				    struct timezone *tzp); }
154af5bf122SJohn Baldwin80	AUE_GETGROUPS	STD	{ int linux_getgroups16(l_uint gidsetsize, \
155f3596e33SRobert Watson				    l_gid16_t *gidset); }
156af5bf122SJohn Baldwin81	AUE_SETGROUPS	STD	{ int linux_setgroups16(l_uint gidsetsize, \
157f3596e33SRobert Watson				    l_gid16_t *gidset); }
158af5bf122SJohn Baldwin82	AUE_SELECT	STD	{ int linux_old_select( \
159f3596e33SRobert Watson				    struct l_old_select_argv *ptr); }
160af5bf122SJohn Baldwin83	AUE_SYMLINK	STD	{ int linux_symlink(char *path, char *to); }
161048e874fSAlexander Leidinger; 84: oldlstat
162af5bf122SJohn Baldwin84	AUE_LSTAT	STD	{ int linux_lstat(char *path, struct linux_lstat *up); }
163af5bf122SJohn Baldwin85	AUE_READLINK	STD	{ int linux_readlink(char *name, char *buf, \
164c8b579c1SAlexander Leidinger				    l_int count); }
165a46b391dSRobert Watson86	AUE_USELIB	UNIMPL	linux_uselib
166af5bf122SJohn Baldwin87	AUE_SWAPON	NOPROTO	{ int swapon(char *name); }
167af5bf122SJohn Baldwin88	AUE_REBOOT	STD	{ int linux_reboot(l_int magic1, \
168c8b579c1SAlexander Leidinger				    l_int magic2, l_uint cmd, void *arg); }
169048e874fSAlexander Leidinger; 89: old_readdir
170a46b391dSRobert Watson89	AUE_GETDIRENTRIES	STD { int linux_readdir(l_uint fd, \
171f3596e33SRobert Watson				    struct l_dirent *dent, l_uint count); }
172048e874fSAlexander Leidinger; 90: old_mmap
173af5bf122SJohn Baldwin90	AUE_MMAP	STD	{ int linux_mmap(struct l_mmap_argv *ptr); }
174af5bf122SJohn Baldwin91	AUE_MUNMAP	NOPROTO	{ int munmap(caddr_t addr, int len); }
175af5bf122SJohn Baldwin92	AUE_TRUNCATE	STD	{ int linux_truncate(char *path, \
176f3596e33SRobert Watson				    l_ulong length); }
177af5bf122SJohn Baldwin93	AUE_FTRUNCATE	STD	{ int linux_ftruncate(int fd, long length); }
178af5bf122SJohn Baldwin94	AUE_FCHMOD	NOPROTO	{ int fchmod(int fd, int mode); }
179af5bf122SJohn Baldwin95	AUE_FCHOWN	NOPROTO	{ int fchown(int fd, int uid, int gid); }
180af5bf122SJohn Baldwin96	AUE_GETPRIORITY	STD	{ int linux_getpriority(int which, int who); }
181af5bf122SJohn Baldwin97	AUE_SETPRIORITY	NOPROTO	{ int setpriority(int which, int who, \
182f3596e33SRobert Watson				    int prio); }
183a46b391dSRobert Watson98	AUE_PROFILE	UNIMPL	profil
184af5bf122SJohn Baldwin99	AUE_STATFS	STD	{ int linux_statfs(char *path, \
185f3596e33SRobert Watson				    struct l_statfs_buf *buf); }
186af5bf122SJohn Baldwin100	AUE_FSTATFS	STD	{ int linux_fstatfs(l_uint fd, \
187f3596e33SRobert Watson				    struct l_statfs_buf *buf); }
188f3596e33SRobert Watson101	AUE_NULL	UNIMPL	ioperm
189af5bf122SJohn Baldwin102	AUE_NULL	STD	{ int linux_socketcall(l_int what, \
190f3596e33SRobert Watson				    l_ulong args); }
191af5bf122SJohn Baldwin103	AUE_NULL	STD	{ int linux_syslog(l_int type, char *buf, \
192f3596e33SRobert Watson				    l_int len); }
193af5bf122SJohn Baldwin104	AUE_SETITIMER	STD	{ int linux_setitimer(l_int which, \
194f3596e33SRobert Watson				    struct l_itimerval *itv, \
195ea0fabbcSTim J. Robbins				    struct l_itimerval *oitv); }
196af5bf122SJohn Baldwin105	AUE_GETITIMER	STD	{ int linux_getitimer(l_int which, \
197f3596e33SRobert Watson				    struct l_itimerval *itv); }
198af5bf122SJohn Baldwin106	AUE_STAT	STD	{ int linux_newstat(char *path, \
199f3596e33SRobert Watson				    struct l_newstat *buf); }
200af5bf122SJohn Baldwin107	AUE_LSTAT	STD	{ int linux_newlstat(char *path, \
201f3596e33SRobert Watson				    struct l_newstat *buf); }
202af5bf122SJohn Baldwin108	AUE_FSTAT	STD	{ int linux_newfstat(l_uint fd, \
203f3596e33SRobert Watson				    struct l_newstat *buf); }
204048e874fSAlexander Leidinger; 109: olduname
205af5bf122SJohn Baldwin109	AUE_NULL	STD	{ int linux_uname(void); }
206f69f4d86SJung-uk Kim110	AUE_NULL	STD	{ int linux_iopl(l_int level); }
207af5bf122SJohn Baldwin111	AUE_NULL	STD	{ int linux_vhangup(void); }
208f3596e33SRobert Watson112	AUE_NULL	UNIMPL	idle
209f3596e33SRobert Watson113	AUE_NULL	UNIMPL	vm86old
210af5bf122SJohn Baldwin114	AUE_WAIT4	STD	{ int linux_wait4(l_pid_t pid, \
21101610383SDmitry Chagin				    l_int *status, l_int options, \
212f3596e33SRobert Watson				    struct l_rusage *rusage); }
213af5bf122SJohn Baldwin115	AUE_SWAPOFF	STD	{ int linux_swapoff(void); }
214af5bf122SJohn Baldwin116	AUE_NULL	STD	{ int linux_sysinfo(struct l_sysinfo *info); }
215af5bf122SJohn Baldwin117	AUE_NULL	STD	{ int linux_ipc(l_uint what, l_int arg1, \
216f3596e33SRobert Watson				    l_int arg2, l_int arg3, void *ptr, \
217f3596e33SRobert Watson				    l_long arg5); }
218af5bf122SJohn Baldwin118	AUE_FSYNC	NOPROTO	{ int fsync(int fd); }
219af5bf122SJohn Baldwin119	AUE_SIGRETURN	STD	{ int linux_sigreturn( \
220f3596e33SRobert Watson				    struct l_sigframe *sfp); }
221b4359bd8SAlexander Leidinger120	AUE_RFORK	STD	{ int linux_clone(l_int flags, void *stack, \
222f91ea251SDmitry Chagin				    void *parent_tidptr, void *tls, void * child_tidptr); }
223a1b5a895SEd Schouten121	AUE_SYSCTL	STD	{ int linux_setdomainname(char *name, \
224c8b579c1SAlexander Leidinger				    int len); }
225af5bf122SJohn Baldwin122	AUE_NULL	STD	{ int linux_newuname( \
226f3596e33SRobert Watson				    struct l_new_utsname *buf); }
227f3596e33SRobert Watson123	AUE_NULL	UNIMPL	modify_ldt
228af5bf122SJohn Baldwin124	AUE_ADJTIME	STD	{ int linux_adjtimex(void); }
229af5bf122SJohn Baldwin125	AUE_MPROTECT	STD	{ int linux_mprotect(caddr_t addr, int len, \
230f3596e33SRobert Watson				    int prot); }
231af5bf122SJohn Baldwin126	AUE_SIGPROCMASK	STD	{ int linux_sigprocmask(l_int how, \
232f3596e33SRobert Watson				    l_osigset_t *mask, l_osigset_t *omask); }
233af5bf122SJohn Baldwin127	AUE_NULL	STD	{ int linux_create_module(void); }
234af5bf122SJohn Baldwin128	AUE_NULL	STD	{ int linux_init_module(void); }
235af5bf122SJohn Baldwin129	AUE_NULL	STD	{ int linux_delete_module(void); }
236af5bf122SJohn Baldwin130	AUE_NULL	STD	{ int linux_get_kernel_syms(void); }
237af5bf122SJohn Baldwin131	AUE_QUOTACTL	STD	{ int linux_quotactl(void); }
238af5bf122SJohn Baldwin132	AUE_GETPGID	NOPROTO	{ int getpgid(int pid); }
239af5bf122SJohn Baldwin133	AUE_FCHDIR	NOPROTO	{ int fchdir(int fd); }
240af5bf122SJohn Baldwin134	AUE_BDFLUSH	STD	{ int linux_bdflush(void); }
241af5bf122SJohn Baldwin135	AUE_NULL	STD	{ int linux_sysfs(l_int option, \
242f3596e33SRobert Watson				    l_ulong arg1, l_ulong arg2); }
24323e8912cSDmitry Chagin136	AUE_PERSONALITY	STD	{ int linux_personality(l_uint per); }
244f3596e33SRobert Watson137	AUE_NULL	UNIMPL	afs_syscall
245af5bf122SJohn Baldwin138	AUE_SETFSUID	STD	{ int linux_setfsuid16(l_uid16_t uid); }
246af5bf122SJohn Baldwin139	AUE_SETFSGID	STD	{ int linux_setfsgid16(l_gid16_t gid); }
247af5bf122SJohn Baldwin140	AUE_LSEEK	STD	{ int linux_llseek(l_int fd, l_ulong ohigh, \
248f3596e33SRobert Watson				    l_ulong olow, l_loff_t *res, \
249f3596e33SRobert Watson				    l_uint whence); }
250a46b391dSRobert Watson141	AUE_GETDIRENTRIES	STD { int linux_getdents(l_uint fd, void *dent, \
251f3596e33SRobert Watson				    l_uint count); }
252048e874fSAlexander Leidinger; 142: newselect
253af5bf122SJohn Baldwin142	AUE_SELECT	STD	{ int linux_select(l_int nfds, \
254f3596e33SRobert Watson				    l_fd_set *readfds, l_fd_set *writefds, \
255f3596e33SRobert Watson				    l_fd_set *exceptfds, \
256ea0fabbcSTim J. Robbins				    struct l_timeval *timeout); }
257af5bf122SJohn Baldwin143	AUE_FLOCK	NOPROTO	{ int flock(int fd, int how); }
258af5bf122SJohn Baldwin144	AUE_MSYNC	STD	{ int linux_msync(l_ulong addr, \
259f3596e33SRobert Watson				    l_size_t len, l_int fl); }
26041f53a36SKonstantin Belousov145	AUE_READV	STD { int linux_readv(l_ulong fd, struct l_iovec32 *iovp, \
26141f53a36SKonstantin Belousov				    l_ulong iovcnt); }
26241f53a36SKonstantin Belousov146	AUE_WRITEV	STD { int linux_writev(l_ulong fd, struct l_iovec32 *iovp, \
26341f53a36SKonstantin Belousov				    l_ulong iovcnt); }
264af5bf122SJohn Baldwin147	AUE_GETSID	STD	{ int linux_getsid(l_pid_t pid); }
265af5bf122SJohn Baldwin148	AUE_NULL	STD	{ int linux_fdatasync(l_uint fd); }
266af5bf122SJohn Baldwin149	AUE_SYSCTL	STD	{ int linux_sysctl( \
267f3596e33SRobert Watson				    struct l___sysctl_args *args); }
268af5bf122SJohn Baldwin150	AUE_MLOCK	NOPROTO	{ int mlock(const void *addr, size_t len); }
269af5bf122SJohn Baldwin151	AUE_MUNLOCK	NOPROTO	{ int munlock(const void *addr, size_t len); }
270af5bf122SJohn Baldwin152	AUE_MLOCKALL	NOPROTO	{ int mlockall(int how); }
271af5bf122SJohn Baldwin153	AUE_MUNLOCKALL	NOPROTO	{ int munlockall(void); }
2722003907dSDmitry Chagin154	AUE_SCHED_SETPARAM	STD	{ int linux_sched_setparam(l_pid_t pid, \
2738cc96fb4SDmitry Chagin				    struct sched_param *param); }
2742003907dSDmitry Chagin155	AUE_SCHED_GETPARAM	STD	{ int linux_sched_getparam(l_pid_t pid, \
2758cc96fb4SDmitry Chagin				    struct sched_param *param); }
276a46b391dSRobert Watson156	AUE_SCHED_SETSCHEDULER	STD { int linux_sched_setscheduler( \
277a46b391dSRobert Watson				    l_pid_t pid, l_int policy, \
2788cc96fb4SDmitry Chagin				    struct sched_param *param); }
279a46b391dSRobert Watson157	AUE_SCHED_GETSCHEDULER	STD { int linux_sched_getscheduler( \
280a46b391dSRobert Watson				    l_pid_t pid); }
281af5bf122SJohn Baldwin158	AUE_NULL	NOPROTO	{ int sched_yield(void); }
282af5bf122SJohn Baldwin159	AUE_SCHED_GET_PRIORITY_MAX	STD { int linux_sched_get_priority_max( \
283f3596e33SRobert Watson				    l_int policy); }
284af5bf122SJohn Baldwin160	AUE_SCHED_GET_PRIORITY_MIN	STD { int linux_sched_get_priority_min( \
285f3596e33SRobert Watson				    l_int policy); }
286af5bf122SJohn Baldwin161	AUE_SCHED_RR_GET_INTERVAL	STD { int linux_sched_rr_get_interval(l_pid_t pid, \
287ea0fabbcSTim J. Robbins				    struct l_timespec *interval); }
288af5bf122SJohn Baldwin162	AUE_NULL	STD	{ int linux_nanosleep( \
289f3596e33SRobert Watson				    const struct l_timespec *rqtp, \
290ea0fabbcSTim J. Robbins				    struct l_timespec *rmtp); }
291af5bf122SJohn Baldwin163	AUE_NULL	STD	{ int linux_mremap(l_ulong addr, \
292f3596e33SRobert Watson				    l_ulong old_len, l_ulong new_len, \
293f3596e33SRobert Watson				    l_ulong flags, l_ulong new_addr); }
294af5bf122SJohn Baldwin164	AUE_SETRESUID	STD	{ int linux_setresuid16(l_uid16_t ruid, \
295ea0fabbcSTim J. Robbins				    l_uid16_t euid, l_uid16_t suid); }
296af5bf122SJohn Baldwin165	AUE_GETRESUID	STD	{ int linux_getresuid16(l_uid16_t *ruid, \
297ea0fabbcSTim J. Robbins				    l_uid16_t *euid, l_uid16_t *suid); }
298f3596e33SRobert Watson166	AUE_NULL	UNIMPL	vm86
299af5bf122SJohn Baldwin167	AUE_NULL	STD	{ int linux_query_module(void); }
30056ede107SAndriy Gapon168	AUE_POLL	NOPROTO	{ int poll(struct pollfd *fds, \
301f3596e33SRobert Watson				    unsigned int nfds, int timeout); }
302af5bf122SJohn Baldwin169	AUE_NULL	STD	{ int linux_nfsservctl(void); }
303af5bf122SJohn Baldwin170	AUE_SETRESGID	STD	{ int linux_setresgid16(l_gid16_t rgid, \
304ea0fabbcSTim J. Robbins				    l_gid16_t egid, l_gid16_t sgid); }
305af5bf122SJohn Baldwin171	AUE_GETRESGID	STD	{ int linux_getresgid16(l_gid16_t *rgid, \
306ea0fabbcSTim J. Robbins				    l_gid16_t *egid, l_gid16_t *sgid); }
307955d762aSAlexander Leidinger172	AUE_PRCTL	STD	{ int linux_prctl(l_int option, l_int arg2, l_int arg3, \
308955d762aSAlexander Leidinger				    l_int arg4, l_int arg5); }
309af5bf122SJohn Baldwin173	AUE_NULL	STD	{ int linux_rt_sigreturn( \
310f3596e33SRobert Watson				    struct l_ucontext *ucp); }
311af5bf122SJohn Baldwin174	AUE_NULL	STD	{ int linux_rt_sigaction(l_int sig, \
312ea0fabbcSTim J. Robbins				    l_sigaction_t *act, l_sigaction_t *oact, \
313ea0fabbcSTim J. Robbins				    l_size_t sigsetsize); }
314af5bf122SJohn Baldwin175	AUE_NULL	STD	{ int linux_rt_sigprocmask(l_int how, \
315ea0fabbcSTim J. Robbins				    l_sigset_t *mask, l_sigset_t *omask, \
316ea0fabbcSTim J. Robbins				    l_size_t sigsetsize); }
317af5bf122SJohn Baldwin176	AUE_NULL	STD	{ int linux_rt_sigpending(l_sigset_t *set, \
31817138b61SAlexander Leidinger				    l_size_t sigsetsize); }
319c9447c75SAlexander Leidinger177	AUE_NULL	STD	{ int linux_rt_sigtimedwait(l_sigset_t *mask, \
320c9447c75SAlexander Leidinger				    l_siginfo_t *ptr, \
321c9447c75SAlexander Leidinger				    struct l_timeval *timeout, \
322c9447c75SAlexander Leidinger				    l_size_t sigsetsize); }
3237ac9766dSDmitry Chagin178	AUE_NULL	STD	{ int linux_rt_sigqueueinfo(l_pid_t pid, l_int sig, \
3247ac9766dSDmitry Chagin				    l_siginfo_t *info); }
325af5bf122SJohn Baldwin179	AUE_NULL	STD	{ int linux_rt_sigsuspend( \
326f3596e33SRobert Watson				    l_sigset_t *newset, \
327ea0fabbcSTim J. Robbins				    l_size_t sigsetsize); }
328af5bf122SJohn Baldwin180	AUE_PREAD	STD	{ int linux_pread(l_uint fd, char *buf, \
329ea0fabbcSTim J. Robbins				    l_size_t nbyte, l_loff_t offset); }
330af5bf122SJohn Baldwin181	AUE_PWRITE	STD	{ int linux_pwrite(l_uint fd, char *buf, \
331ea0fabbcSTim J. Robbins				    l_size_t nbyte, l_loff_t offset); }
332af5bf122SJohn Baldwin182	AUE_CHOWN	STD	{ int linux_chown16(char *path, \
333f3596e33SRobert Watson				    l_uid16_t uid, l_gid16_t gid); }
334af5bf122SJohn Baldwin183	AUE_GETCWD	STD	{ int linux_getcwd(char *buf, \
335f3596e33SRobert Watson				    l_ulong bufsize); }
3361f4ec5a3SAndriy Gapon184	AUE_CAPGET	STD	{ int linux_capget(struct l_user_cap_header *hdrp, \
3371f4ec5a3SAndriy Gapon				    struct l_user_cap_data *datap); }
3381f4ec5a3SAndriy Gapon185	AUE_CAPSET	STD	{ int linux_capset(struct l_user_cap_header *hdrp, \
3391f4ec5a3SAndriy Gapon				    struct l_user_cap_data *datap); }
340af5bf122SJohn Baldwin186	AUE_NULL	STD	{ int linux_sigaltstack(l_stack_t *uss, \
341f3596e33SRobert Watson				    l_stack_t *uoss); }
342af5bf122SJohn Baldwin187	AUE_SENDFILE	STD	{ int linux_sendfile(void); }
343c8b579c1SAlexander Leidinger188	AUE_GETPMSG	UNIMPL	getpmsg
344c8b579c1SAlexander Leidinger189	AUE_PUTPMSG	UNIMPL	putpmsg
345af5bf122SJohn Baldwin190	AUE_VFORK	STD	{ int linux_vfork(void); }
346048e874fSAlexander Leidinger; 191: ugetrlimit
347af5bf122SJohn Baldwin191	AUE_GETRLIMIT	STD	{ int linux_getrlimit(l_uint resource, \
348f3596e33SRobert Watson				    struct l_rlimit *rlim); }
349af5bf122SJohn Baldwin192	AUE_MMAP	STD	{ int linux_mmap2(l_ulong addr, l_ulong len, \
350ea0fabbcSTim J. Robbins				    l_ulong prot, l_ulong flags, l_ulong fd, \
351ea0fabbcSTim J. Robbins				    l_ulong pgoff); }
352af5bf122SJohn Baldwin193	AUE_TRUNCATE	STD	{ int linux_truncate64(char *path, \
353f3596e33SRobert Watson				    l_loff_t length); }
354af5bf122SJohn Baldwin194	AUE_FTRUNCATE	STD	{ int linux_ftruncate64(l_uint fd, \
355f3596e33SRobert Watson				    l_loff_t length); }
356db8eb180SJung-uk Kim195	AUE_STAT	STD	{ int linux_stat64(const char *filename, \
357db8eb180SJung-uk Kim				    struct l_stat64 *statbuf); }
358db8eb180SJung-uk Kim196	AUE_LSTAT	STD	{ int linux_lstat64(const char *filename, \
359db8eb180SJung-uk Kim				    struct l_stat64 *statbuf); }
360db8eb180SJung-uk Kim197	AUE_FSTAT	STD	{ int linux_fstat64(l_int fd, \
361db8eb180SJung-uk Kim				    struct l_stat64 *statbuf); }
362af5bf122SJohn Baldwin198	AUE_LCHOWN	STD	{ int linux_lchown(char *path, l_uid_t uid, \
363ea0fabbcSTim J. Robbins				    l_gid_t gid); }
364af5bf122SJohn Baldwin199	AUE_GETUID	STD	{ int linux_getuid(void); }
365af5bf122SJohn Baldwin200	AUE_GETGID	STD	{ int linux_getgid(void); }
366af5bf122SJohn Baldwin201	AUE_GETEUID	NOPROTO	{ int geteuid(void); }
367af5bf122SJohn Baldwin202	AUE_GETEGID	NOPROTO	{ int getegid(void); }
368af5bf122SJohn Baldwin203	AUE_SETREUID	NOPROTO	{ int setreuid(uid_t ruid, uid_t euid); }
369af5bf122SJohn Baldwin204	AUE_SETREGID	NOPROTO	{ int setregid(gid_t rgid, gid_t egid); }
370af5bf122SJohn Baldwin205	AUE_GETGROUPS	STD	{ int linux_getgroups(l_int gidsetsize, \
371f3596e33SRobert Watson				    l_gid_t *grouplist); }
372af5bf122SJohn Baldwin206	AUE_SETGROUPS	STD	{ int linux_setgroups(l_int gidsetsize, \
373f3596e33SRobert Watson				    l_gid_t *grouplist); }
374c8b579c1SAlexander Leidinger207	AUE_FCHOWN	NODEF	fchown fchown fchown_args int
375af5bf122SJohn Baldwin208	AUE_SETRESUID	NOPROTO	{ int setresuid(uid_t ruid, uid_t euid, \
376f3596e33SRobert Watson				    uid_t suid); }
377af5bf122SJohn Baldwin209	AUE_GETRESUID	NOPROTO	{ int getresuid(uid_t *ruid, uid_t *euid, \
378f3596e33SRobert Watson				    uid_t *suid); }
379af5bf122SJohn Baldwin210	AUE_SETRESGID	NOPROTO	{ int setresgid(gid_t rgid, gid_t egid, \
380f3596e33SRobert Watson				    gid_t sgid); }
381af5bf122SJohn Baldwin211	AUE_GETRESGID	NOPROTO	{ int getresgid(gid_t *rgid, gid_t *egid, \
382f3596e33SRobert Watson				    gid_t *sgid); }
383af5bf122SJohn Baldwin212	AUE_CHOWN	STD	{ int linux_chown(char *path, l_uid_t uid, \
384f3596e33SRobert Watson				    l_gid_t gid); }
385af5bf122SJohn Baldwin213	AUE_SETUID	NOPROTO	{ int setuid(uid_t uid); }
386af5bf122SJohn Baldwin214	AUE_SETGID	NOPROTO	{ int setgid(gid_t gid); }
387af5bf122SJohn Baldwin215	AUE_SETFSUID	STD	{ int linux_setfsuid(l_uid_t uid); }
388af5bf122SJohn Baldwin216	AUE_SETFSGID	STD	{ int linux_setfsgid(l_gid_t gid); }
389af5bf122SJohn Baldwin217	AUE_PIVOT_ROOT	STD	{ int linux_pivot_root(char *new_root, \
390f3596e33SRobert Watson				    char *put_old); }
391af5bf122SJohn Baldwin218	AUE_MINCORE	STD	{ int linux_mincore(l_ulong start, \
392f3596e33SRobert Watson				    l_size_t len, u_char *vec); }
393af5bf122SJohn Baldwin219	AUE_MADVISE	NOPROTO	{ int madvise(void *addr, size_t len, \
394f3596e33SRobert Watson				    int behav); }
395a46b391dSRobert Watson220	AUE_GETDIRENTRIES	STD { int linux_getdents64(l_uint fd, \
396f3596e33SRobert Watson				    void *dirent, l_uint count); }
397af5bf122SJohn Baldwin221	AUE_FCNTL	STD	{ int linux_fcntl64(l_uint fd, l_uint cmd, \
398f3596e33SRobert Watson				    uintptr_t arg); }
399f3596e33SRobert Watson222	AUE_NULL	UNIMPL
400f3596e33SRobert Watson223	AUE_NULL	UNIMPL
401b4359bd8SAlexander Leidinger224	AUE_NULL	STD	{ long linux_gettid(void); }
402f3596e33SRobert Watson225	AUE_NULL	UNIMPL	linux_readahead
403af5bf122SJohn Baldwin226	AUE_NULL	STD	{ int linux_setxattr(void); }
404af5bf122SJohn Baldwin227	AUE_NULL	STD	{ int linux_lsetxattr(void); }
405af5bf122SJohn Baldwin228	AUE_NULL	STD	{ int linux_fsetxattr(void); }
406af5bf122SJohn Baldwin229	AUE_NULL	STD	{ int linux_getxattr(void); }
407af5bf122SJohn Baldwin230	AUE_NULL	STD	{ int linux_lgetxattr(void); }
408af5bf122SJohn Baldwin231	AUE_NULL	STD	{ int linux_fgetxattr(void); }
409af5bf122SJohn Baldwin232	AUE_NULL	STD	{ int linux_listxattr(void); }
410af5bf122SJohn Baldwin233	AUE_NULL	STD	{ int linux_llistxattr(void); }
411af5bf122SJohn Baldwin234	AUE_NULL	STD	{ int linux_flistxattr(void); }
412af5bf122SJohn Baldwin235	AUE_NULL	STD	{ int linux_removexattr(void); }
413af5bf122SJohn Baldwin236	AUE_NULL	STD	{ int linux_lremovexattr(void); }
414af5bf122SJohn Baldwin237	AUE_NULL	STD	{ int linux_fremovexattr(void); }
415b4359bd8SAlexander Leidinger238	AUE_NULL	STD	{ int linux_tkill(int tid, int sig); }
416c8b579c1SAlexander Leidinger239	AUE_SENDFILE	UNIMPL	linux_sendfile64
4178d73c2bfSDmitry Chagin240	AUE_NULL	STD	{ int linux_sys_futex(void *uaddr, int op, uint32_t val, \
4188d73c2bfSDmitry Chagin					struct l_timespec *timeout, uint32_t *uaddr2, uint32_t val3); }
4195dfb6881SRoman Divacky241	AUE_NULL	STD	{ int linux_sched_setaffinity(l_pid_t pid, l_uint len, \
4205dfb6881SRoman Divacky					l_ulong *user_mask_ptr); }
421b6e645c9SKonstantin Belousov242	AUE_NULL	STD	{ int linux_sched_getaffinity(l_pid_t pid, l_uint len, \
422b6e645c9SKonstantin Belousov					l_ulong *user_mask_ptr); }
4239c5b213eSJung-uk Kim243	AUE_NULL	STD	{ int linux_set_thread_area(struct l_user_desc *desc); }
424f3596e33SRobert Watson244	AUE_NULL	UNIMPL	linux_get_thread_area
4253680a419SAlexander Leidinger245	AUE_NULL	UNIMPL	linux_io_setup
4263680a419SAlexander Leidinger246	AUE_NULL	UNIMPL	linux_io_destroy
4273680a419SAlexander Leidinger247	AUE_NULL	UNIMPL	linux_io_getevents
4285d2a6a61SKonstantin Belousov248	AUE_NULL	UNIMPL	linux_io_submit
4293680a419SAlexander Leidinger249	AUE_NULL	UNIMPL	linux_io_cancel
430dd01579cSJohn Baldwin250	AUE_NULL	STD	{ int linux_fadvise64(int fd, l_loff_t offset, \
431dd01579cSJohn Baldwin					l_size_t len, int advice); }
432f3596e33SRobert Watson251	AUE_NULL	UNIMPL
433b4359bd8SAlexander Leidinger252	AUE_EXIT	STD	{ int linux_exit_group(int error_code); }
434af5bf122SJohn Baldwin253	AUE_NULL	STD	{ int linux_lookup_dcookie(void); }
435e16fe1c7SDmitry Chagin254	AUE_NULL	STD	{ int linux_epoll_create(l_int size); }
436e16fe1c7SDmitry Chagin255	AUE_NULL	STD	{ int linux_epoll_ctl(l_int epfd, l_int op, l_int fd, \
437e16fe1c7SDmitry Chagin					struct epoll_event *event); }
438e16fe1c7SDmitry Chagin256	AUE_NULL	STD	{ int linux_epoll_wait(l_int epfd, struct epoll_event *events, \
439e16fe1c7SDmitry Chagin					l_int maxevents, l_int timeout); }
440af5bf122SJohn Baldwin257	AUE_NULL	STD	{ int linux_remap_file_pages(void); }
441b4359bd8SAlexander Leidinger258	AUE_NULL	STD	{ int linux_set_tid_address(int *tidptr); }
4420a041f3bSBjoern A. Zeeb259	AUE_NULL	STD	{ int linux_timer_create(clockid_t clock_id, \
4430a041f3bSBjoern A. Zeeb					struct sigevent *evp, l_timer_t *timerid); }
4440a041f3bSBjoern A. Zeeb260	AUE_NULL	STD	{ int linux_timer_settime(l_timer_t timerid, l_int flags, \
4450a041f3bSBjoern A. Zeeb					const struct itimerspec *new, struct itimerspec *old); }
4460a041f3bSBjoern A. Zeeb261	AUE_NULL	STD	{ int linux_timer_gettime(l_timer_t timerid, struct itimerspec *setting); }
4470a041f3bSBjoern A. Zeeb262	AUE_NULL	STD	{ int linux_timer_getoverrun(l_timer_t timerid); }
4480a041f3bSBjoern A. Zeeb263	AUE_NULL	STD	{ int linux_timer_delete(l_timer_t timerid); }
449b4359bd8SAlexander Leidinger264	AUE_CLOCK_SETTIME	STD	{ int linux_clock_settime(clockid_t which, struct l_timespec *tp); }
450b4359bd8SAlexander Leidinger265	AUE_NULL	STD	{ int linux_clock_gettime(clockid_t which, struct l_timespec *tp); }
451b4359bd8SAlexander Leidinger266	AUE_NULL	STD	{ int linux_clock_getres(clockid_t which, struct l_timespec *tp); }
452b4359bd8SAlexander Leidinger267	AUE_NULL	STD	{ int linux_clock_nanosleep(clockid_t which, int flags, \
453b4359bd8SAlexander Leidinger					struct l_timespec *rqtp, struct l_timespec *rmtp); }
4543ab85269SDavid Malone268	AUE_STATFS	STD	{ int linux_statfs64(char *path, size_t bufsize, struct l_statfs64_buf *buf); }
45599546279SDmitry Chagin269	AUE_FSTATFS	STD	{ int linux_fstatfs64(l_uint fd, size_t bufsize, struct l_statfs64_buf *buf); }
456b4359bd8SAlexander Leidinger270	AUE_NULL	STD	{ int linux_tgkill(int tgid, int pid, int sig); }
457c9447c75SAlexander Leidinger271	AUE_UTIMES	STD	{ int linux_utimes(char *fname, \
458c9447c75SAlexander Leidinger					struct l_timeval *tptr); }
459dd01579cSJohn Baldwin272	AUE_NULL	STD	{ int linux_fadvise64_64(int fd, \
460dd01579cSJohn Baldwin					l_loff_t offset, l_loff_t len, \
461dd01579cSJohn Baldwin					int advice); }
462048e874fSAlexander Leidinger273	AUE_NULL	UNIMPL	vserver
463af5bf122SJohn Baldwin274	AUE_NULL	STD	{ int linux_mbind(void); }
464af5bf122SJohn Baldwin275	AUE_NULL	STD	{ int linux_get_mempolicy(void); }
465af5bf122SJohn Baldwin276	AUE_NULL	STD	{ int linux_set_mempolicy(void); }
466048e874fSAlexander Leidinger; linux 2.6.6:
467af5bf122SJohn Baldwin277	AUE_NULL	STD	{ int linux_mq_open(void); }
468af5bf122SJohn Baldwin278	AUE_NULL	STD	{ int linux_mq_unlink(void); }
469af5bf122SJohn Baldwin279	AUE_NULL	STD	{ int linux_mq_timedsend(void); }
470af5bf122SJohn Baldwin280	AUE_NULL	STD	{ int linux_mq_timedreceive(void); }
471af5bf122SJohn Baldwin281	AUE_NULL	STD	{ int linux_mq_notify(void); }
472af5bf122SJohn Baldwin282	AUE_NULL	STD	{ int linux_mq_getsetattr(void); }
473af5bf122SJohn Baldwin283	AUE_NULL	STD	{ int linux_kexec_load(void); }
474e5fe4ccfSDmitry Chagin284	AUE_WAIT6	STD	{ int linux_waitid(int idtype, l_pid_t id, \
475e5fe4ccfSDmitry Chagin				    l_siginfo_t *info, int options, \
476e5fe4ccfSDmitry Chagin				    struct l_rusage *rusage); }
477502195acSAlexander Leidinger285	AUE_NULL	UNIMPL
478048e874fSAlexander Leidinger; linux 2.6.11:
479af5bf122SJohn Baldwin286	AUE_NULL	STD	{ int linux_add_key(void); }
480af5bf122SJohn Baldwin287	AUE_NULL	STD	{ int linux_request_key(void); }
481af5bf122SJohn Baldwin288	AUE_NULL	STD	{ int linux_keyctl(void); }
482048e874fSAlexander Leidinger; linux 2.6.13:
483af5bf122SJohn Baldwin289	AUE_NULL	STD	{ int linux_ioprio_set(void); }
484af5bf122SJohn Baldwin290	AUE_NULL	STD	{ int linux_ioprio_get(void); }
485af5bf122SJohn Baldwin291	AUE_NULL	STD	{ int linux_inotify_init(void); }
486af5bf122SJohn Baldwin292	AUE_NULL	STD	{ int linux_inotify_add_watch(void); }
487af5bf122SJohn Baldwin293	AUE_NULL	STD	{ int linux_inotify_rm_watch(void); }
488048e874fSAlexander Leidinger; linux 2.6.16:
489af5bf122SJohn Baldwin294	AUE_NULL	STD	{ int linux_migrate_pages(void); }
49048b05c3fSKonstantin Belousov295	AUE_OPEN_RWTC	STD	{ int linux_openat(l_int dfd, const char *filename, \
4916734f35eSJulian Elischer					l_int flags, l_int mode); }
49248b05c3fSKonstantin Belousov296	AUE_MKDIRAT	STD	{ int linux_mkdirat(l_int dfd, const char *pathname, \
49348b05c3fSKonstantin Belousov					l_int mode); }
49448b05c3fSKonstantin Belousov297	AUE_MKNODAT	STD	{ int linux_mknodat(l_int dfd, const char *filename, \
49548b05c3fSKonstantin Belousov					l_int mode, l_uint dev); }
49648b05c3fSKonstantin Belousov298	AUE_FCHOWNAT	STD	{ int linux_fchownat(l_int dfd, const char *filename, \
49748b05c3fSKonstantin Belousov					l_uid16_t uid, l_gid16_t gid, l_int flag); }
49848b05c3fSKonstantin Belousov299	AUE_FUTIMESAT	STD	{ int linux_futimesat(l_int dfd, char *filename, \
49948b05c3fSKonstantin Belousov					struct l_timeval *utimes); }
50048b05c3fSKonstantin Belousov300	AUE_FSTATAT	STD	{ int linux_fstatat64(l_int dfd, char *pathname, \
50148b05c3fSKonstantin Belousov					struct l_stat64 *statbuf, l_int flag); }
50248b05c3fSKonstantin Belousov301	AUE_UNLINKAT	STD	{ int linux_unlinkat(l_int dfd, const char *pathname, \
50348b05c3fSKonstantin Belousov					l_int flag); }
50448b05c3fSKonstantin Belousov302	AUE_RENAMEAT	STD	{ int linux_renameat(l_int olddfd, const char *oldname, \
50548b05c3fSKonstantin Belousov					l_int newdfd, const char *newname); }
50648b05c3fSKonstantin Belousov303	AUE_LINKAT	STD	{ int linux_linkat(l_int olddfd, const char *oldname, \
507767a3264SEd Schouten					l_int newdfd, const char *newname, l_int flag); }
50848b05c3fSKonstantin Belousov304	AUE_SYMLINKAT	STD	{ int linux_symlinkat(const char *oldname, l_int newdfd, \
50948b05c3fSKonstantin Belousov					const char *newname); }
51048b05c3fSKonstantin Belousov305	AUE_READLINKAT	STD	{ int linux_readlinkat(l_int dfd, const char *path, \
51148b05c3fSKonstantin Belousov					char *buf, l_int bufsiz); }
51248b05c3fSKonstantin Belousov306	AUE_FCHMODAT	STD	{ int linux_fchmodat(l_int dfd, const char *filename, \
51348b05c3fSKonstantin Belousov					l_mode_t mode); }
514baa232bbSDmitry Chagin307	AUE_FACCESSAT	STD	{ int linux_faccessat(l_int dfd, const char *filename, \
515baa232bbSDmitry Chagin					l_int amode); }
516ae50b4d7SDmitry Chagin308	AUE_SELECT	STD	{ int linux_pselect6(l_int nfds, l_fd_set *readfds,	\
517ae50b4d7SDmitry Chagin					l_fd_set *writefds, l_fd_set *exceptfds,	\
518ae50b4d7SDmitry Chagin					struct l_timespec *tsp, l_uintptr_t *sig); }
519a6b40812SDmitry Chagin309	AUE_POLL	STD	{ int linux_ppoll(struct pollfd *fds, uint32_t nfds,	\
520a6b40812SDmitry Chagin				    struct l_timespec *tsp, l_sigset_t *sset, l_size_t ssize); }
521af5bf122SJohn Baldwin310	AUE_NULL	STD	{ int linux_unshare(void); }
522048e874fSAlexander Leidinger; linux 2.6.17:
5234732e446SRoman Divacky311	AUE_NULL	STD	{ int linux_set_robust_list(struct linux_robust_list_head *head, \
5244732e446SRoman Divacky					l_size_t len); }
525037f7508SGleb Smirnoff312	AUE_NULL	STD	{ int linux_get_robust_list(l_int pid, \
526037f7508SGleb Smirnoff				    struct linux_robust_list_head **head, l_size_t *len); }
52726833f3fSJung-uk Kim313	AUE_NULL	STD	{ int linux_splice(void); }
52826833f3fSJung-uk Kim314	AUE_NULL	STD	{ int linux_sync_file_range(void); }
52926833f3fSJung-uk Kim315	AUE_NULL	STD	{ int linux_tee(void); }
53026833f3fSJung-uk Kim316	AUE_NULL	STD	{ int linux_vmsplice(void); }
531048e874fSAlexander Leidinger; linux 2.6.18:
532048e874fSAlexander Leidinger317	AUE_NULL	STD	{ int linux_move_pages(void); }
533048e874fSAlexander Leidinger; linux 2.6.19:
534048e874fSAlexander Leidinger318	AUE_NULL	STD	{ int linux_getcpu(void); }
535e16fe1c7SDmitry Chagin319     AUE_NULL        STD     { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
5366e4c8004SDmitry Chagin                                        l_int maxevents, l_int timeout, l_sigset_t *mask); }
537048e874fSAlexander Leidinger; linux 2.6.22:
53819d8b461SDmitry Chagin320	AUE_FUTIMESAT	STD	{ int linux_utimensat(l_int dfd, const char *pathname, \
53919d8b461SDmitry Chagin					const struct l_timespec *times, l_int flags); }
540048e874fSAlexander Leidinger321	AUE_NULL	STD	{ int linux_signalfd(void); }
541048e874fSAlexander Leidinger322	AUE_NULL	STD	{ int linux_timerfd_create(void); }
542a31d7686SDmitry Chagin323	AUE_NULL	STD	{ int linux_eventfd(l_uint initval); }
543048e874fSAlexander Leidinger; linux 2.6.23:
544b6aeb7d5SDmitry Chagin324	AUE_NULL	STD	{ int linux_fallocate(l_int fd, l_int mode, \
545b6aeb7d5SDmitry Chagin				    l_loff_t offset, l_loff_t len); }
546048e874fSAlexander Leidinger; linux 2.6.25:
547048e874fSAlexander Leidinger325	AUE_NULL	STD	{ int linux_timerfd_settime(void); }
548048e874fSAlexander Leidinger326	AUE_NULL	STD	{ int linux_timerfd_gettime(void); }
549048e874fSAlexander Leidinger; linux 2.6.27:
550048e874fSAlexander Leidinger327	AUE_NULL	STD	{ int linux_signalfd4(void); }
551a31d7686SDmitry Chagin328	AUE_NULL	STD	{ int linux_eventfd2(l_uint initval, l_int flags); }
552e16fe1c7SDmitry Chagin329	AUE_NULL	STD	{ int linux_epoll_create1(l_int flags); }
553254a937eSDmitry Chagin330	AUE_NULL	STD	{ int linux_dup3(l_int oldfd,		\
554254a937eSDmitry Chagin					l_int newfd, l_int flags); }
555d69a426fSJung-uk Kim331	AUE_NULL	STD	{ int linux_pipe2(l_int *pipefds, l_int flags); }
556048e874fSAlexander Leidinger332	AUE_NULL	STD	{ int linux_inotify_init1(void); }
557048e874fSAlexander Leidinger; linux 2.6.30:
558*8b756d40SDmitry Chagin333	AUE_NULL	STD	{ int linux_preadv(l_ulong fd, 			\
559*8b756d40SDmitry Chagin				    struct iovec *vec, l_ulong vlen,		\
560*8b756d40SDmitry Chagin				    l_ulong pos_l, l_ulong pos_h); }
561*8b756d40SDmitry Chagin334	AUE_NULL	STD	{ int linux_pwritev(l_ulong fd, 		\
562*8b756d40SDmitry Chagin				    struct iovec *vec, l_ulong vlen,		\
563*8b756d40SDmitry Chagin				    l_ulong pos_l, l_ulong pos_h); }
564048e874fSAlexander Leidinger; linux 2.6.31:
565*8b756d40SDmitry Chagin335	AUE_NULL	STD	{ int linux_rt_tgsigqueueinfo(l_pid_t tgid,	\
566*8b756d40SDmitry Chagin				    l_pid_t tid, l_int sig, l_siginfo_t *uinfo); }
567048e874fSAlexander Leidinger336	AUE_NULL	STD	{ int linux_perf_event_open(void); }
568048e874fSAlexander Leidinger; linux 2.6.33:
569e1ff74c0SDmitry Chagin337	AUE_NULL	STD	{ int linux_recvmmsg(l_int s,			\
570e1ff74c0SDmitry Chagin				    struct l_mmsghdr *msg, l_uint vlen,		\
571e1ff74c0SDmitry Chagin				    l_uint flags, struct l_timespec *timeout); }
572048e874fSAlexander Leidinger338	AUE_NULL	STD	{ int linux_fanotify_init(void); }
573048e874fSAlexander Leidinger339	AUE_NULL	STD	{ int linux_fanotify_mark(void); }
574048e874fSAlexander Leidinger; linux 2.6.36:
575c3978c7bSDmitry Chagin340	AUE_NULL	STD	{ int linux_prlimit64(l_pid_t pid,	\
576c3978c7bSDmitry Chagin				    l_uint resource,			\
577c3978c7bSDmitry Chagin				    struct rlimit *new,			\
578c3978c7bSDmitry Chagin				    struct rlimit *old); }
579*8b756d40SDmitry Chagin; linux 2.6.39:
580048e874fSAlexander Leidinger341	AUE_NULL	STD	{ int linux_name_to_handle_at(void); }
581048e874fSAlexander Leidinger342	AUE_NULL	STD	{ int linux_open_by_handle_at(void); }
582048e874fSAlexander Leidinger343	AUE_NULL	STD	{ int linux_clock_adjtime(void); }
5839802eb9eSDmitry Chagin344	AUE_SYNC	STD	{ int linux_syncfs(l_int fd); }
584*8b756d40SDmitry Chagin; linux 3.0:
585e1ff74c0SDmitry Chagin345	AUE_NULL	STD	{ int linux_sendmmsg(l_int s,			\
586e1ff74c0SDmitry Chagin				    struct l_mmsghdr *msg, l_uint vlen,		\
587e1ff74c0SDmitry Chagin				    l_uint flags); }
588048e874fSAlexander Leidinger346	AUE_NULL	STD	{ int linux_setns(void); }
589*8b756d40SDmitry Chagin; linux 3.2 (glibc 2.15):
590*8b756d40SDmitry Chagin347	AUE_NULL	STD	{ int linux_process_vm_readv(l_pid_t pid,	\
591*8b756d40SDmitry Chagin				    const struct iovec *lvec, l_ulong liovcnt,	\
592*8b756d40SDmitry Chagin				    const struct iovec *rvec, l_ulong riovcnt,	\
593*8b756d40SDmitry Chagin				    l_ulong flags); }
594*8b756d40SDmitry Chagin348	AUE_NULL	STD	{ int linux_process_vm_writev(l_pid_t pid,	\
595*8b756d40SDmitry Chagin				    const struct iovec *lvec, l_ulong liovcnt,	\
596*8b756d40SDmitry Chagin				    const struct iovec *rvec, l_ulong riovcnt,	\
597*8b756d40SDmitry Chagin				    l_ulong flags); }
598*8b756d40SDmitry Chagin; linux 3.5 (no glibc wrapper):
599*8b756d40SDmitry Chagin349	AUE_NULL	STD	{ int linux_kcmp(l_pid_t pid1, l_pid_t pid2,	\
600*8b756d40SDmitry Chagin				    l_int type, l_ulong idx1, l_ulong idx); }
601*8b756d40SDmitry Chagin; linux 3.8 (no glibc wrapper):
602*8b756d40SDmitry Chagin350	AUE_NULL	STD	{ int linux_finit_module(l_int fd,		\
603*8b756d40SDmitry Chagin				    const char *uargs, l_int flags); }
604*8b756d40SDmitry Chagin; linux 3.14:
605*8b756d40SDmitry Chagin351	AUE_NULL	STD	{ int linux_sched_setattr(l_pid_t pid,		\
606*8b756d40SDmitry Chagin				    void *attr, l_uint flags); }
607*8b756d40SDmitry Chagin352	AUE_NULL	STD	{ int linux_sched_getattr(l_pid_t pid,		\
608*8b756d40SDmitry Chagin				    void *attr, l_uint size, l_uint flags); }
609*8b756d40SDmitry Chagin; linux 3.15:
610*8b756d40SDmitry Chagin353	AUE_NULL	STD	{ int linux_renameat2(l_int oldfd,		\
611*8b756d40SDmitry Chagin				    const char *oldname, l_int newfd, 		\
612*8b756d40SDmitry Chagin				    const char *newname, unsigned int flags); }
613*8b756d40SDmitry Chagin; linux 3.17:
614*8b756d40SDmitry Chagin354	AUE_NULL	STD	{ int linux_seccomp(l_uint op, l_uint flags,	\
615*8b756d40SDmitry Chagin				    const char *uargs); }
616*8b756d40SDmitry Chagin355	AUE_NULL	STD	{ int linux_getrandom(char *buf,		\
617*8b756d40SDmitry Chagin				    l_size_t count, l_uint flags); }
618*8b756d40SDmitry Chagin356	AUE_NULL	STD	{ int linux_memfd_create(const char *uname_ptr,	\
619*8b756d40SDmitry Chagin				    l_uint flags); }
620*8b756d40SDmitry Chagin; linux 3.18:
621*8b756d40SDmitry Chagin357	AUE_NULL	STD	{ int linux_bpf(l_int cmd, void *attr,		\
622*8b756d40SDmitry Chagin				    l_uint size); }
623*8b756d40SDmitry Chagin; linux 3.19:
624*8b756d40SDmitry Chagin358	AUE_NULL	STD	{ int linux_execveat(l_int dfd,			\
625*8b756d40SDmitry Chagin				    const char *filename, const char **argv,	\
626*8b756d40SDmitry Chagin				    const char **envp, l_int flags); }
627*8b756d40SDmitry Chagin; linux 4.3: sockets now direct system calls:
628*8b756d40SDmitry Chagin359	AUE_SOCKET	STD	{ int linux_socket(l_int domain, l_int type, \
629*8b756d40SDmitry Chagin				    l_int protocol); }
630*8b756d40SDmitry Chagin360	AUE_SOCKETPAIR	STD	{ int linux_socketpair(l_int domain, \
631*8b756d40SDmitry Chagin				    l_int type, l_int protocol, l_uintptr_t rsv); }
632*8b756d40SDmitry Chagin361	AUE_BIND	STD	{ int linux_bind(l_int s, l_uintptr_t name, \
633*8b756d40SDmitry Chagin				    l_int namelen); }
634*8b756d40SDmitry Chagin362	AUE_CONNECT	STD	{ int linux_connect(l_int s, l_uintptr_t name, \
635*8b756d40SDmitry Chagin				    l_int namelen); }
636*8b756d40SDmitry Chagin363	AUE_LISTEN	STD	{ int linux_listen(l_int s, l_int backlog); }
637*8b756d40SDmitry Chagin364	AUE_ACCEPT	STD	{ int linux_accept4(l_int s, l_uintptr_t addr, \
638*8b756d40SDmitry Chagin				    l_uintptr_t namelen, l_int flags); }
639*8b756d40SDmitry Chagin365	AUE_GETSOCKOPT	STD	{ int linux_getsockopt(l_int s, l_int level, \
640*8b756d40SDmitry Chagin				    l_int optname, l_uintptr_t optval, \
641*8b756d40SDmitry Chagin				    l_uintptr_t optlen); }
642*8b756d40SDmitry Chagin366	AUE_SETSOCKOPT	STD	{ int linux_setsockopt(l_int s, l_int level, \
643*8b756d40SDmitry Chagin				    l_int optname, l_uintptr_t optval, \
644*8b756d40SDmitry Chagin				    l_int optlen); }
645*8b756d40SDmitry Chagin367	AUE_GETSOCKNAME	STD	{ int linux_getsockname(l_int s, \
646*8b756d40SDmitry Chagin				    l_uintptr_t addr, l_uintptr_t namelen); }
647*8b756d40SDmitry Chagin368	AUE_GETPEERNAME	STD	{ int linux_getpeername(l_int s, \
648*8b756d40SDmitry Chagin				    l_uintptr_t addr, l_uintptr_t namelen); }
649*8b756d40SDmitry Chagin369	AUE_SENDTO	STD	{ int linux_sendto(l_int s, l_uintptr_t msg, \
650*8b756d40SDmitry Chagin				    l_int len, l_int flags, l_uintptr_t to, \
651*8b756d40SDmitry Chagin				    l_int tolen); }
652*8b756d40SDmitry Chagin370	AUE_SENDMSG	STD	{ int linux_sendmsg(l_int s, l_uintptr_t msg, \
653*8b756d40SDmitry Chagin				    l_int flags); }
654*8b756d40SDmitry Chagin371	AUE_RECVFROM	STD	{ int linux_recvfrom(l_int s, l_uintptr_t buf, \
655*8b756d40SDmitry Chagin				    l_size_t len, l_int flags, l_uintptr_t from, \
656*8b756d40SDmitry Chagin				    l_uintptr_t fromlen); }
657*8b756d40SDmitry Chagin372	AUE_RECVMSG	STD	{ int linux_recvmsg(l_int s, l_uintptr_t msg, \
658*8b756d40SDmitry Chagin				    l_int flags); }
659*8b756d40SDmitry Chagin373	AUE_NULL	STD	{ int linux_shutdown(l_int s, l_int how); }
660*8b756d40SDmitry Chagin;
661*8b756d40SDmitry Chagin; linux 4.2:
662*8b756d40SDmitry Chagin374	AUE_NULL	STD	{ int linux_userfaultfd(l_int flags); }
663*8b756d40SDmitry Chagin; linux 4.3:
664*8b756d40SDmitry Chagin375	AUE_NULL	STD	{ int linux_membarrier(l_int cmd, l_int flags); }
665*8b756d40SDmitry Chagin; linux 4.4:
666*8b756d40SDmitry Chagin376	AUE_NULL	STD	{ int linux_mlock2(l_ulong start, l_size_t len,	\
667*8b756d40SDmitry Chagin				    l_int flags); }
668*8b756d40SDmitry Chagin; linux 4.5:
669*8b756d40SDmitry Chagin377	AUE_NULL	STD	{ int linux_copy_file_range(l_int fd_in,	\
670*8b756d40SDmitry Chagin				    l_loff_t *off_in, l_int fd_out,		\
671*8b756d40SDmitry Chagin				    l_loff_t *off_out, l_size_t len,		\
672*8b756d40SDmitry Chagin				    l_uint flags); }
673*8b756d40SDmitry Chagin; linux 4.6:
674*8b756d40SDmitry Chagin378	AUE_NULL	STD	{ int linux_preadv2(l_ulong fd,			\
675*8b756d40SDmitry Chagin				    const struct iovec *vec, l_ulong vlen,	\
676*8b756d40SDmitry Chagin				    l_ulong pos_l, l_ulong pos_h, l_int flags); }
677*8b756d40SDmitry Chagin379	AUE_NULL	STD	{ int linux_pwritev2(l_ulong fd,		\
678*8b756d40SDmitry Chagin				    const struct iovec *vec, l_ulong vlen,	\
679*8b756d40SDmitry Chagin				    l_ulong pos_l, l_ulong pos_h, l_int flags); }
680*8b756d40SDmitry Chagin; linux 4.8:
681*8b756d40SDmitry Chagin380	AUE_NULL	STD	{ int linux_pkey_mprotect(l_ulong start,	\
682*8b756d40SDmitry Chagin				    l_size_t len, l_ulong prot, l_int pkey); }
683*8b756d40SDmitry Chagin381	AUE_NULL	STD	{ int linux_pkey_alloc(l_ulong flags,		\
684*8b756d40SDmitry Chagin				    l_ulong init_val); }
685*8b756d40SDmitry Chagin382	AUE_NULL	STD	{ int linux_pkey_free(l_int pkey); }
686*8b756d40SDmitry Chagin
687fcdffc03SDmitry Chagin; please, keep this line at the end.
688*8b756d40SDmitry Chagin383	AUE_NULL	UNIMPL	nosys
689