xref: /freebsd/sys/amd64/linux32/syscalls.master (revision 076ad2f8)
1 $FreeBSD$
2
3;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
4; System call name/number master file (or rather, slave, from LINUX).
5; Processed to create linux32_sysent.c, linux32_proto.h and linux32_syscall.h.
6
7; Columns: number audit type nargs name alt{name,tag,rtyp}/comments
8;	number	system call number, must be in order
9;	audit	the audit event associated with the system call
10;		A value of AUE_NULL means no auditing, but it also means that
11;		there is no audit event for the call at this time. For the
12;		case where the event exists, but we don't want auditing, the
13;		event should be #defined to AUE_NULL in audit_kevents.h.
14;	type	one of STD, NOPROTO, UNIMPL
15;	name	psuedo-prototype of syscall routine
16;		If one of the following alts is different, then all appear:
17;	altname	name of system call if different
18;	alttag	name of args struct tag if different from [o]`name'"_args"
19;	altrtyp	return type if not int (bogus - syscalls always return int)
20;		for UNIMPL, name continues with comments
21
22; types:
23;	STD	always included
24;	UNIMPL	not implemented, placeholder only
25;	NOPROTO same as STD except do not create structure or
26;		function prototype in sys/sysproto.h.  Does add a
27;		definition to syscall.h besides adding a sysent.
28
29#include "opt_compat.h"
30#include <sys/param.h>
31#include <sys/sysent.h>
32#include <sys/sysproto.h>
33#include <compat/linux/linux_sysproto.h>
34#include <amd64/linux32/linux.h>
35#include <amd64/linux32/linux32_proto.h>
36
37; Isn't pretty, but there seems to be no other way to trap nosys
38#define	nosys	linux_nosys
39
40; #ifdef's, etc. may be included, and are copied to the output files.
41
420	AUE_NULL	UNIMPL	setup
431	AUE_EXIT	STD	{ void linux_exit(int rval); }
442	AUE_FORK	STD	{ int linux_fork(void); }
453	AUE_NULL	NOPROTO	{ int read(int fd, char *buf, \
46				    u_int nbyte); }
474	AUE_NULL	NOPROTO	{ int write(int fd, char *buf, \
48				    u_int nbyte); }
495	AUE_OPEN_RWTC	STD	{ int linux_open(char *path, l_int flags, \
50				    l_int mode); }
516	AUE_CLOSE	NOPROTO	{ int close(int fd); }
527	AUE_WAIT4	STD	{ int linux_waitpid(l_pid_t pid, \
53				    l_int *status, l_int options); }
548	AUE_CREAT	STD	{ int linux_creat(char *path, \
55				    l_int mode); }
569	AUE_LINK	STD	{ int linux_link(char *path, char *to); }
5710	AUE_UNLINK	STD	{ int linux_unlink(char *path); }
5811	AUE_EXECVE	STD	{ int linux_execve(char *path, uint32_t *argp, \
59				    uint32_t *envp); }
6012	AUE_CHDIR	STD	{ int linux_chdir(char *path); }
6113	AUE_NULL	STD	{ int linux_time(l_time_t *tm); }
6214	AUE_MKNOD	STD	{ int linux_mknod(char *path, l_int mode, \
63				    l_dev_t dev); }
6415	AUE_CHMOD	STD	{ int linux_chmod(char *path, \
65				    l_mode_t mode); }
6616	AUE_LCHOWN	STD	{ int linux_lchown16(char *path, \
67				    l_uid16_t uid, l_gid16_t gid); }
6817	AUE_NULL	UNIMPL	break
6918	AUE_STAT	STD	{ int linux_stat(char *path, \
70				    struct linux_stat *up); }
7119	AUE_LSEEK	STD	{ int linux_lseek(l_uint fdes, l_off_t off, \
72				    l_int whence); }
7320	AUE_GETPID	STD	{ int linux_getpid(void); }
7421	AUE_MOUNT	STD	{ int linux_mount(char *specialfile, \
75				    char *dir, char *filesystemtype, \
76				    l_ulong rwflag, void *data); }
7722	AUE_UMOUNT	STD	{ int linux_oldumount(char *path); }
7823	AUE_SETUID	STD	{ int linux_setuid16(l_uid16_t uid); }
7924	AUE_GETUID	STD	{ int linux_getuid16(void); }
8025	AUE_SETTIMEOFDAY	STD	{ int linux_stime(void); }
8126	AUE_PTRACE	STD	{ int linux_ptrace(l_long req, l_long pid, \
82				    l_long addr, l_long data); }
8327	AUE_NULL	STD	{ int linux_alarm(l_uint secs); }
8428	AUE_FSTAT	UNIMPL	fstat
8529	AUE_NULL	STD	{ int linux_pause(void); }
8630	AUE_UTIME	STD	{ int linux_utime(char *fname, \
87				    struct l_utimbuf *times); }
8831	AUE_NULL	UNIMPL	stty
8932	AUE_NULL	UNIMPL	gtty
9033	AUE_ACCESS	STD	{ int linux_access(char *path, l_int amode); }
9134	AUE_NICE	STD	{ int linux_nice(l_int inc); }
9235	AUE_NULL	UNIMPL	ftime
9336	AUE_SYNC	NOPROTO	{ int sync(void); }
9437	AUE_KILL	STD	{ int linux_kill(l_int pid, l_int signum); }
9538	AUE_RENAME	STD	{ int linux_rename(char *from, char *to); }
9639	AUE_MKDIR	STD	{ int linux_mkdir(char *path, l_int mode); }
9740	AUE_RMDIR	STD	{ int linux_rmdir(char *path); }
9841	AUE_DUP		NOPROTO	{ int dup(u_int fd); }
9942	AUE_PIPE	STD	{ int linux_pipe(l_int *pipefds); }
10043	AUE_NULL	STD	{ int linux_times(struct l_times_argv *buf); }
10144	AUE_NULL	UNIMPL	prof
10245	AUE_NULL	STD	{ int linux_brk(l_ulong dsend); }
10346	AUE_SETGID	STD	{ int linux_setgid16(l_gid16_t gid); }
10447	AUE_GETGID	STD	{ int linux_getgid16(void); }
10548	AUE_NULL	STD	{ int linux_signal(l_int sig, \
106				    l_handler_t handler); }
10749	AUE_GETEUID	STD	{ int linux_geteuid16(void); }
10850	AUE_GETEGID	STD	{ int linux_getegid16(void); }
10951	AUE_ACCT	NOPROTO	{ int acct(char *path); }
11052	AUE_UMOUNT	STD	{ int linux_umount(char *path, l_int flags); }
11153	AUE_NULL	UNIMPL	lock
11254	AUE_IOCTL	STD	{ int linux_ioctl(l_uint fd, l_uint cmd, \
113				    uintptr_t arg); }
11455	AUE_FCNTL	STD	{ int linux_fcntl(l_uint fd, l_uint cmd, \
115				    uintptr_t arg); }
11656	AUE_NULL	UNIMPL	mpx
11757	AUE_SETPGRP	NOPROTO	{ int setpgid(int pid, int pgid); }
11858	AUE_NULL	UNIMPL	ulimit
11959	AUE_NULL	STD	{ int linux_olduname(void); }
12060	AUE_UMASK	NOPROTO	{ int umask(int newmask); }
12161	AUE_CHROOT	NOPROTO	{ int chroot(char *path); }
12262	AUE_NULL	STD	{ int linux_ustat(l_dev_t dev, \
123				    struct l_ustat *ubuf); }
12463	AUE_DUP2	NOPROTO	{ int dup2(u_int from, u_int to); }
12564	AUE_GETPPID	STD	{ int linux_getppid(void); }
12665	AUE_GETPGRP	NOPROTO	{ int getpgrp(void); }
12766	AUE_SETSID	NOPROTO	{ int setsid(void); }
12867	AUE_NULL	STD	{ int linux_sigaction(l_int sig, \
129				    l_osigaction_t *nsa, \
130				    l_osigaction_t *osa); }
13168	AUE_NULL	STD	{ int linux_sgetmask(void); }
13269	AUE_NULL	STD	{ int linux_ssetmask(l_osigset_t mask); }
13370	AUE_SETREUID	STD	{ int linux_setreuid16(l_uid16_t ruid, \
134				    l_uid16_t euid); }
13571	AUE_SETREGID	STD	{ int linux_setregid16(l_gid16_t rgid, \
136				    l_gid16_t egid); }
13772	AUE_NULL	STD	{ int linux_sigsuspend(l_int hist0, \
138				    l_int hist1, l_osigset_t mask); }
13973	AUE_NULL	STD	{ int linux_sigpending(l_osigset_t *mask); }
14074	AUE_SYSCTL	STD	{ int linux_sethostname(char *hostname, \
141				    u_int len); }
14275	AUE_SETRLIMIT	STD	{ int linux_setrlimit(l_uint resource, \
143				    struct l_rlimit *rlim); }
14476	AUE_GETRLIMIT	STD	{ int linux_old_getrlimit(l_uint resource, \
145				    struct l_rlimit *rlim); }
14677	AUE_GETRUSAGE	STD	{ int linux_getrusage(int who, \
147				    struct l_rusage *rusage); }
14878	AUE_NULL	STD	{ int linux_gettimeofday( \
149				    struct l_timeval *tp, \
150				    struct timezone *tzp); }
15179	AUE_SETTIMEOFDAY STD	{ int linux_settimeofday( \
152				    struct l_timeval *tp, \
153				    struct timezone *tzp); }
15480	AUE_GETGROUPS	STD	{ int linux_getgroups16(l_uint gidsetsize, \
155				    l_gid16_t *gidset); }
15681	AUE_SETGROUPS	STD	{ int linux_setgroups16(l_uint gidsetsize, \
157				    l_gid16_t *gidset); }
15882	AUE_SELECT	STD	{ int linux_old_select( \
159				    struct l_old_select_argv *ptr); }
16083	AUE_SYMLINK	STD	{ int linux_symlink(char *path, char *to); }
161; 84: oldlstat
16284	AUE_LSTAT	STD	{ int linux_lstat(char *path, struct linux_lstat *up); }
16385	AUE_READLINK	STD	{ int linux_readlink(char *name, char *buf, \
164				    l_int count); }
16586	AUE_USELIB	UNIMPL	linux_uselib
16687	AUE_SWAPON	NOPROTO	{ int swapon(char *name); }
16788	AUE_REBOOT	STD	{ int linux_reboot(l_int magic1, \
168				    l_int magic2, l_uint cmd, void *arg); }
169; 89: old_readdir
17089	AUE_GETDIRENTRIES	STD { int linux_readdir(l_uint fd, \
171				    struct l_dirent *dent, l_uint count); }
172; 90: old_mmap
17390	AUE_MMAP	STD	{ int linux_mmap(struct l_mmap_argv *ptr); }
17491	AUE_MUNMAP	NOPROTO	{ int munmap(caddr_t addr, int len); }
17592	AUE_TRUNCATE	STD	{ int linux_truncate(char *path, \
176				    l_ulong length); }
17793	AUE_FTRUNCATE	STD	{ int linux_ftruncate(int fd, long length); }
17894	AUE_FCHMOD	NOPROTO	{ int fchmod(int fd, int mode); }
17995	AUE_FCHOWN	NOPROTO	{ int fchown(int fd, int uid, int gid); }
18096	AUE_GETPRIORITY	STD	{ int linux_getpriority(int which, int who); }
18197	AUE_SETPRIORITY	NOPROTO	{ int setpriority(int which, int who, \
182				    int prio); }
18398	AUE_PROFILE	UNIMPL	profil
18499	AUE_STATFS	STD	{ int linux_statfs(char *path, \
185				    struct l_statfs_buf *buf); }
186100	AUE_FSTATFS	STD	{ int linux_fstatfs(l_uint fd, \
187				    struct l_statfs_buf *buf); }
188101	AUE_NULL	UNIMPL	ioperm
189102	AUE_NULL	STD	{ int linux_socketcall(l_int what, \
190				    l_ulong args); }
191103	AUE_NULL	STD	{ int linux_syslog(l_int type, char *buf, \
192				    l_int len); }
193104	AUE_SETITIMER	STD	{ int linux_setitimer(l_int which, \
194				    struct l_itimerval *itv, \
195				    struct l_itimerval *oitv); }
196105	AUE_GETITIMER	STD	{ int linux_getitimer(l_int which, \
197				    struct l_itimerval *itv); }
198106	AUE_STAT	STD	{ int linux_newstat(char *path, \
199				    struct l_newstat *buf); }
200107	AUE_LSTAT	STD	{ int linux_newlstat(char *path, \
201				    struct l_newstat *buf); }
202108	AUE_FSTAT	STD	{ int linux_newfstat(l_uint fd, \
203				    struct l_newstat *buf); }
204; 109: olduname
205109	AUE_NULL	STD	{ int linux_uname(void); }
206110	AUE_NULL	STD	{ int linux_iopl(l_int level); }
207111	AUE_NULL	STD	{ int linux_vhangup(void); }
208112	AUE_NULL	UNIMPL	idle
209113	AUE_NULL	UNIMPL	vm86old
210114	AUE_WAIT4	STD	{ int linux_wait4(l_pid_t pid, \
211				    l_int *status, l_int options, \
212				    struct l_rusage *rusage); }
213115	AUE_SWAPOFF	STD	{ int linux_swapoff(void); }
214116	AUE_NULL	STD	{ int linux_sysinfo(struct l_sysinfo *info); }
215117	AUE_NULL	STD	{ int linux_ipc(l_uint what, l_int arg1, \
216				    l_int arg2, l_int arg3, void *ptr, \
217				    l_long arg5); }
218118	AUE_FSYNC	NOPROTO	{ int fsync(int fd); }
219119	AUE_SIGRETURN	STD	{ int linux_sigreturn( \
220				    struct l_sigframe *sfp); }
221120	AUE_RFORK	STD	{ int linux_clone(l_int flags, void *stack, \
222				    void *parent_tidptr, void *tls, void * child_tidptr); }
223121	AUE_SYSCTL	STD	{ int linux_setdomainname(char *name, \
224				    int len); }
225122	AUE_NULL	STD	{ int linux_newuname( \
226				    struct l_new_utsname *buf); }
227123	AUE_NULL	UNIMPL	modify_ldt
228124	AUE_ADJTIME	STD	{ int linux_adjtimex(void); }
229125	AUE_MPROTECT	STD	{ int linux_mprotect(caddr_t addr, int len, \
230				    int prot); }
231126	AUE_SIGPROCMASK	STD	{ int linux_sigprocmask(l_int how, \
232				    l_osigset_t *mask, l_osigset_t *omask); }
233127	AUE_NULL	STD	{ int linux_create_module(void); }
234128	AUE_NULL	STD	{ int linux_init_module(void); }
235129	AUE_NULL	STD	{ int linux_delete_module(void); }
236130	AUE_NULL	STD	{ int linux_get_kernel_syms(void); }
237131	AUE_QUOTACTL	STD	{ int linux_quotactl(void); }
238132	AUE_GETPGID	NOPROTO	{ int getpgid(int pid); }
239133	AUE_FCHDIR	NOPROTO	{ int fchdir(int fd); }
240134	AUE_BDFLUSH	STD	{ int linux_bdflush(void); }
241135	AUE_NULL	STD	{ int linux_sysfs(l_int option, \
242				    l_ulong arg1, l_ulong arg2); }
243136	AUE_PERSONALITY	STD	{ int linux_personality(l_uint per); }
244137	AUE_NULL	UNIMPL	afs_syscall
245138	AUE_SETFSUID	STD	{ int linux_setfsuid16(l_uid16_t uid); }
246139	AUE_SETFSGID	STD	{ int linux_setfsgid16(l_gid16_t gid); }
247140	AUE_LSEEK	STD	{ int linux_llseek(l_int fd, l_ulong ohigh, \
248				    l_ulong olow, l_loff_t *res, \
249				    l_uint whence); }
250141	AUE_GETDIRENTRIES	STD { int linux_getdents(l_uint fd, void *dent, \
251				    l_uint count); }
252; 142: newselect
253142	AUE_SELECT	STD	{ int linux_select(l_int nfds, \
254				    l_fd_set *readfds, l_fd_set *writefds, \
255				    l_fd_set *exceptfds, \
256				    struct l_timeval *timeout); }
257143	AUE_FLOCK	NOPROTO	{ int flock(int fd, int how); }
258144	AUE_MSYNC	STD	{ int linux_msync(l_ulong addr, \
259				    l_size_t len, l_int fl); }
260145	AUE_READV	STD { int linux_readv(l_ulong fd, struct l_iovec32 *iovp, \
261				    l_ulong iovcnt); }
262146	AUE_WRITEV	STD { int linux_writev(l_ulong fd, struct l_iovec32 *iovp, \
263				    l_ulong iovcnt); }
264147	AUE_GETSID	STD	{ int linux_getsid(l_pid_t pid); }
265148	AUE_NULL	STD	{ int linux_fdatasync(l_uint fd); }
266149	AUE_SYSCTL	STD	{ int linux_sysctl( \
267				    struct l___sysctl_args *args); }
268150	AUE_MLOCK	NOPROTO	{ int mlock(const void *addr, size_t len); }
269151	AUE_MUNLOCK	NOPROTO	{ int munlock(const void *addr, size_t len); }
270152	AUE_MLOCKALL	NOPROTO	{ int mlockall(int how); }
271153	AUE_MUNLOCKALL	NOPROTO	{ int munlockall(void); }
272154	AUE_SCHED_SETPARAM	STD	{ int linux_sched_setparam(l_pid_t pid, \
273				    struct sched_param *param); }
274155	AUE_SCHED_GETPARAM	STD	{ int linux_sched_getparam(l_pid_t pid, \
275				    struct sched_param *param); }
276156	AUE_SCHED_SETSCHEDULER	STD { int linux_sched_setscheduler( \
277				    l_pid_t pid, l_int policy, \
278				    struct sched_param *param); }
279157	AUE_SCHED_GETSCHEDULER	STD { int linux_sched_getscheduler( \
280				    l_pid_t pid); }
281158	AUE_NULL	NOPROTO	{ int sched_yield(void); }
282159	AUE_SCHED_GET_PRIORITY_MAX	STD { int linux_sched_get_priority_max( \
283				    l_int policy); }
284160	AUE_SCHED_GET_PRIORITY_MIN	STD { int linux_sched_get_priority_min( \
285				    l_int policy); }
286161	AUE_SCHED_RR_GET_INTERVAL	STD { int linux_sched_rr_get_interval(l_pid_t pid, \
287				    struct l_timespec *interval); }
288162	AUE_NULL	STD	{ int linux_nanosleep( \
289				    const struct l_timespec *rqtp, \
290				    struct l_timespec *rmtp); }
291163	AUE_NULL	STD	{ int linux_mremap(l_ulong addr, \
292				    l_ulong old_len, l_ulong new_len, \
293				    l_ulong flags, l_ulong new_addr); }
294164	AUE_SETRESUID	STD	{ int linux_setresuid16(l_uid16_t ruid, \
295				    l_uid16_t euid, l_uid16_t suid); }
296165	AUE_GETRESUID	STD	{ int linux_getresuid16(l_uid16_t *ruid, \
297				    l_uid16_t *euid, l_uid16_t *suid); }
298166	AUE_NULL	UNIMPL	vm86
299167	AUE_NULL	STD	{ int linux_query_module(void); }
300168	AUE_POLL	NOPROTO	{ int poll(struct pollfd *fds, \
301				    unsigned int nfds, int timeout); }
302169	AUE_NULL	STD	{ int linux_nfsservctl(void); }
303170	AUE_SETRESGID	STD	{ int linux_setresgid16(l_gid16_t rgid, \
304				    l_gid16_t egid, l_gid16_t sgid); }
305171	AUE_GETRESGID	STD	{ int linux_getresgid16(l_gid16_t *rgid, \
306				    l_gid16_t *egid, l_gid16_t *sgid); }
307172	AUE_PRCTL	STD	{ int linux_prctl(l_int option, l_int arg2, l_int arg3, \
308				    l_int arg4, l_int arg5); }
309173	AUE_NULL	STD	{ int linux_rt_sigreturn( \
310				    struct l_ucontext *ucp); }
311174	AUE_NULL	STD	{ int linux_rt_sigaction(l_int sig, \
312				    l_sigaction_t *act, l_sigaction_t *oact, \
313				    l_size_t sigsetsize); }
314175	AUE_NULL	STD	{ int linux_rt_sigprocmask(l_int how, \
315				    l_sigset_t *mask, l_sigset_t *omask, \
316				    l_size_t sigsetsize); }
317176	AUE_NULL	STD	{ int linux_rt_sigpending(l_sigset_t *set, \
318				    l_size_t sigsetsize); }
319177	AUE_NULL	STD	{ int linux_rt_sigtimedwait(l_sigset_t *mask, \
320				    l_siginfo_t *ptr, \
321				    struct l_timeval *timeout, \
322				    l_size_t sigsetsize); }
323178	AUE_NULL	STD	{ int linux_rt_sigqueueinfo(l_pid_t pid, l_int sig, \
324				    l_siginfo_t *info); }
325179	AUE_NULL	STD	{ int linux_rt_sigsuspend( \
326				    l_sigset_t *newset, \
327				    l_size_t sigsetsize); }
328180	AUE_PREAD	STD	{ int linux_pread(l_uint fd, char *buf, \
329				    l_size_t nbyte, l_loff_t offset); }
330181	AUE_PWRITE	STD	{ int linux_pwrite(l_uint fd, char *buf, \
331				    l_size_t nbyte, l_loff_t offset); }
332182	AUE_CHOWN	STD	{ int linux_chown16(char *path, \
333				    l_uid16_t uid, l_gid16_t gid); }
334183	AUE_GETCWD	STD	{ int linux_getcwd(char *buf, \
335				    l_ulong bufsize); }
336184	AUE_CAPGET	STD	{ int linux_capget(struct l_user_cap_header *hdrp, \
337				    struct l_user_cap_data *datap); }
338185	AUE_CAPSET	STD	{ int linux_capset(struct l_user_cap_header *hdrp, \
339				    struct l_user_cap_data *datap); }
340186	AUE_NULL	STD	{ int linux_sigaltstack(l_stack_t *uss, \
341				    l_stack_t *uoss); }
342187	AUE_SENDFILE	STD	{ int linux_sendfile(void); }
343188	AUE_GETPMSG	UNIMPL	getpmsg
344189	AUE_PUTPMSG	UNIMPL	putpmsg
345190	AUE_VFORK	STD	{ int linux_vfork(void); }
346; 191: ugetrlimit
347191	AUE_GETRLIMIT	STD	{ int linux_getrlimit(l_uint resource, \
348				    struct l_rlimit *rlim); }
349192	AUE_MMAP	STD	{ int linux_mmap2(l_ulong addr, l_ulong len, \
350				    l_ulong prot, l_ulong flags, l_ulong fd, \
351				    l_ulong pgoff); }
352193	AUE_TRUNCATE	STD	{ int linux_truncate64(char *path, \
353				    l_loff_t length); }
354194	AUE_FTRUNCATE	STD	{ int linux_ftruncate64(l_uint fd, \
355				    l_loff_t length); }
356195	AUE_STAT	STD	{ int linux_stat64(const char *filename, \
357				    struct l_stat64 *statbuf); }
358196	AUE_LSTAT	STD	{ int linux_lstat64(const char *filename, \
359				    struct l_stat64 *statbuf); }
360197	AUE_FSTAT	STD	{ int linux_fstat64(l_int fd, \
361				    struct l_stat64 *statbuf); }
362198	AUE_LCHOWN	STD	{ int linux_lchown(char *path, l_uid_t uid, \
363				    l_gid_t gid); }
364199	AUE_GETUID	STD	{ int linux_getuid(void); }
365200	AUE_GETGID	STD	{ int linux_getgid(void); }
366201	AUE_GETEUID	NOPROTO	{ int geteuid(void); }
367202	AUE_GETEGID	NOPROTO	{ int getegid(void); }
368203	AUE_SETREUID	NOPROTO	{ int setreuid(uid_t ruid, uid_t euid); }
369204	AUE_SETREGID	NOPROTO	{ int setregid(gid_t rgid, gid_t egid); }
370205	AUE_GETGROUPS	STD	{ int linux_getgroups(l_int gidsetsize, \
371				    l_gid_t *grouplist); }
372206	AUE_SETGROUPS	STD	{ int linux_setgroups(l_int gidsetsize, \
373				    l_gid_t *grouplist); }
374207	AUE_FCHOWN	NODEF	fchown fchown fchown_args int
375208	AUE_SETRESUID	NOPROTO	{ int setresuid(uid_t ruid, uid_t euid, \
376				    uid_t suid); }
377209	AUE_GETRESUID	NOPROTO	{ int getresuid(uid_t *ruid, uid_t *euid, \
378				    uid_t *suid); }
379210	AUE_SETRESGID	NOPROTO	{ int setresgid(gid_t rgid, gid_t egid, \
380				    gid_t sgid); }
381211	AUE_GETRESGID	NOPROTO	{ int getresgid(gid_t *rgid, gid_t *egid, \
382				    gid_t *sgid); }
383212	AUE_CHOWN	STD	{ int linux_chown(char *path, l_uid_t uid, \
384				    l_gid_t gid); }
385213	AUE_SETUID	NOPROTO	{ int setuid(uid_t uid); }
386214	AUE_SETGID	NOPROTO	{ int setgid(gid_t gid); }
387215	AUE_SETFSUID	STD	{ int linux_setfsuid(l_uid_t uid); }
388216	AUE_SETFSGID	STD	{ int linux_setfsgid(l_gid_t gid); }
389217	AUE_PIVOT_ROOT	STD	{ int linux_pivot_root(char *new_root, \
390				    char *put_old); }
391218	AUE_MINCORE	STD	{ int linux_mincore(l_ulong start, \
392				    l_size_t len, u_char *vec); }
393219	AUE_MADVISE	NOPROTO	{ int madvise(void *addr, size_t len, \
394				    int behav); }
395220	AUE_GETDIRENTRIES	STD { int linux_getdents64(l_uint fd, \
396				    void *dirent, l_uint count); }
397221	AUE_FCNTL	STD	{ int linux_fcntl64(l_uint fd, l_uint cmd, \
398				    uintptr_t arg); }
399222	AUE_NULL	UNIMPL
400223	AUE_NULL	UNIMPL
401224	AUE_NULL	STD	{ long linux_gettid(void); }
402225	AUE_NULL	UNIMPL	linux_readahead
403226	AUE_NULL	STD	{ int linux_setxattr(void); }
404227	AUE_NULL	STD	{ int linux_lsetxattr(void); }
405228	AUE_NULL	STD	{ int linux_fsetxattr(void); }
406229	AUE_NULL	STD	{ int linux_getxattr(void); }
407230	AUE_NULL	STD	{ int linux_lgetxattr(void); }
408231	AUE_NULL	STD	{ int linux_fgetxattr(void); }
409232	AUE_NULL	STD	{ int linux_listxattr(void); }
410233	AUE_NULL	STD	{ int linux_llistxattr(void); }
411234	AUE_NULL	STD	{ int linux_flistxattr(void); }
412235	AUE_NULL	STD	{ int linux_removexattr(void); }
413236	AUE_NULL	STD	{ int linux_lremovexattr(void); }
414237	AUE_NULL	STD	{ int linux_fremovexattr(void); }
415238	AUE_NULL	STD	{ int linux_tkill(int tid, int sig); }
416239	AUE_SENDFILE	UNIMPL	linux_sendfile64
417240	AUE_NULL	STD	{ int linux_sys_futex(void *uaddr, int op, uint32_t val, \
418					struct l_timespec *timeout, uint32_t *uaddr2, uint32_t val3); }
419241	AUE_NULL	STD	{ int linux_sched_setaffinity(l_pid_t pid, l_uint len, \
420					l_ulong *user_mask_ptr); }
421242	AUE_NULL	STD	{ int linux_sched_getaffinity(l_pid_t pid, l_uint len, \
422					l_ulong *user_mask_ptr); }
423243	AUE_NULL	STD	{ int linux_set_thread_area(struct l_user_desc *desc); }
424244	AUE_NULL	UNIMPL	linux_get_thread_area
425245	AUE_NULL	UNIMPL	linux_io_setup
426246	AUE_NULL	UNIMPL	linux_io_destroy
427247	AUE_NULL	UNIMPL	linux_io_getevents
428248	AUE_NULL	UNIMPL	linux_io_submit
429249	AUE_NULL	UNIMPL	linux_io_cancel
430250	AUE_NULL	STD	{ int linux_fadvise64(int fd, l_loff_t offset, \
431					l_size_t len, int advice); }
432251	AUE_NULL	UNIMPL
433252	AUE_EXIT	STD	{ int linux_exit_group(int error_code); }
434253	AUE_NULL	STD	{ int linux_lookup_dcookie(void); }
435254	AUE_NULL	STD	{ int linux_epoll_create(l_int size); }
436255	AUE_NULL	STD	{ int linux_epoll_ctl(l_int epfd, l_int op, l_int fd, \
437					struct epoll_event *event); }
438256	AUE_NULL	STD	{ int linux_epoll_wait(l_int epfd, struct epoll_event *events, \
439					l_int maxevents, l_int timeout); }
440257	AUE_NULL	STD	{ int linux_remap_file_pages(void); }
441258	AUE_NULL	STD	{ int linux_set_tid_address(int *tidptr); }
442259	AUE_NULL	STD	{ int linux_timer_create(clockid_t clock_id, \
443					struct sigevent *evp, l_timer_t *timerid); }
444260	AUE_NULL	STD	{ int linux_timer_settime(l_timer_t timerid, l_int flags, \
445					const struct itimerspec *new, struct itimerspec *old); }
446261	AUE_NULL	STD	{ int linux_timer_gettime(l_timer_t timerid, struct itimerspec *setting); }
447262	AUE_NULL	STD	{ int linux_timer_getoverrun(l_timer_t timerid); }
448263	AUE_NULL	STD	{ int linux_timer_delete(l_timer_t timerid); }
449264	AUE_CLOCK_SETTIME	STD	{ int linux_clock_settime(clockid_t which, struct l_timespec *tp); }
450265	AUE_NULL	STD	{ int linux_clock_gettime(clockid_t which, struct l_timespec *tp); }
451266	AUE_NULL	STD	{ int linux_clock_getres(clockid_t which, struct l_timespec *tp); }
452267	AUE_NULL	STD	{ int linux_clock_nanosleep(clockid_t which, int flags, \
453					struct l_timespec *rqtp, struct l_timespec *rmtp); }
454268	AUE_STATFS	STD	{ int linux_statfs64(char *path, size_t bufsize, struct l_statfs64_buf *buf); }
455269	AUE_FSTATFS	STD	{ int linux_fstatfs64(l_uint fd, size_t bufsize, struct l_statfs64_buf *buf); }
456270	AUE_NULL	STD	{ int linux_tgkill(int tgid, int pid, int sig); }
457271	AUE_UTIMES	STD	{ int linux_utimes(char *fname, \
458					struct l_timeval *tptr); }
459272	AUE_NULL	STD	{ int linux_fadvise64_64(int fd, \
460					l_loff_t offset, l_loff_t len, \
461					int advice); }
462273	AUE_NULL	UNIMPL	vserver
463274	AUE_NULL	STD	{ int linux_mbind(void); }
464275	AUE_NULL	STD	{ int linux_get_mempolicy(void); }
465276	AUE_NULL	STD	{ int linux_set_mempolicy(void); }
466; linux 2.6.6:
467277	AUE_NULL	STD	{ int linux_mq_open(void); }
468278	AUE_NULL	STD	{ int linux_mq_unlink(void); }
469279	AUE_NULL	STD	{ int linux_mq_timedsend(void); }
470280	AUE_NULL	STD	{ int linux_mq_timedreceive(void); }
471281	AUE_NULL	STD	{ int linux_mq_notify(void); }
472282	AUE_NULL	STD	{ int linux_mq_getsetattr(void); }
473283	AUE_NULL	STD	{ int linux_kexec_load(void); }
474284	AUE_WAIT6	STD	{ int linux_waitid(int idtype, l_pid_t id, \
475				    l_siginfo_t *info, int options, \
476				    struct l_rusage *rusage); }
477285	AUE_NULL	UNIMPL
478; linux 2.6.11:
479286	AUE_NULL	STD	{ int linux_add_key(void); }
480287	AUE_NULL	STD	{ int linux_request_key(void); }
481288	AUE_NULL	STD	{ int linux_keyctl(void); }
482; linux 2.6.13:
483289	AUE_NULL	STD	{ int linux_ioprio_set(void); }
484290	AUE_NULL	STD	{ int linux_ioprio_get(void); }
485291	AUE_NULL	STD	{ int linux_inotify_init(void); }
486292	AUE_NULL	STD	{ int linux_inotify_add_watch(void); }
487293	AUE_NULL	STD	{ int linux_inotify_rm_watch(void); }
488; linux 2.6.16:
489294	AUE_NULL	STD	{ int linux_migrate_pages(void); }
490295	AUE_OPEN_RWTC	STD	{ int linux_openat(l_int dfd, const char *filename, \
491					l_int flags, l_int mode); }
492296	AUE_MKDIRAT	STD	{ int linux_mkdirat(l_int dfd, const char *pathname, \
493					l_int mode); }
494297	AUE_MKNODAT	STD	{ int linux_mknodat(l_int dfd, const char *filename, \
495					l_int mode, l_uint dev); }
496298	AUE_FCHOWNAT	STD	{ int linux_fchownat(l_int dfd, const char *filename, \
497					l_uid16_t uid, l_gid16_t gid, l_int flag); }
498299	AUE_FUTIMESAT	STD	{ int linux_futimesat(l_int dfd, char *filename, \
499					struct l_timeval *utimes); }
500300	AUE_FSTATAT	STD	{ int linux_fstatat64(l_int dfd, char *pathname, \
501					struct l_stat64 *statbuf, l_int flag); }
502301	AUE_UNLINKAT	STD	{ int linux_unlinkat(l_int dfd, const char *pathname, \
503					l_int flag); }
504302	AUE_RENAMEAT	STD	{ int linux_renameat(l_int olddfd, const char *oldname, \
505					l_int newdfd, const char *newname); }
506303	AUE_LINKAT	STD	{ int linux_linkat(l_int olddfd, const char *oldname, \
507					l_int newdfd, const char *newname, l_int flag); }
508304	AUE_SYMLINKAT	STD	{ int linux_symlinkat(const char *oldname, l_int newdfd, \
509					const char *newname); }
510305	AUE_READLINKAT	STD	{ int linux_readlinkat(l_int dfd, const char *path, \
511					char *buf, l_int bufsiz); }
512306	AUE_FCHMODAT	STD	{ int linux_fchmodat(l_int dfd, const char *filename, \
513					l_mode_t mode); }
514307	AUE_FACCESSAT	STD	{ int linux_faccessat(l_int dfd, const char *filename, \
515					l_int amode); }
516308	AUE_SELECT	STD	{ int linux_pselect6(l_int nfds, l_fd_set *readfds,	\
517					l_fd_set *writefds, l_fd_set *exceptfds,	\
518					struct l_timespec *tsp, l_uintptr_t *sig); }
519309	AUE_POLL	STD	{ int linux_ppoll(struct pollfd *fds, uint32_t nfds,	\
520				    struct l_timespec *tsp, l_sigset_t *sset, l_size_t ssize); }
521310	AUE_NULL	STD	{ int linux_unshare(void); }
522; linux 2.6.17:
523311	AUE_NULL	STD	{ int linux_set_robust_list(struct linux_robust_list_head *head, \
524					l_size_t len); }
525312	AUE_NULL	STD	{ int linux_get_robust_list(l_int pid, \
526				    struct linux_robust_list_head **head, l_size_t *len); }
527313	AUE_NULL	STD	{ int linux_splice(void); }
528314	AUE_NULL	STD	{ int linux_sync_file_range(void); }
529315	AUE_NULL	STD	{ int linux_tee(void); }
530316	AUE_NULL	STD	{ int linux_vmsplice(void); }
531; linux 2.6.18:
532317	AUE_NULL	STD	{ int linux_move_pages(void); }
533; linux 2.6.19:
534318	AUE_NULL	STD	{ int linux_getcpu(void); }
535319     AUE_NULL        STD     { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
536                                        l_int maxevents, l_int timeout, l_sigset_t *mask, \
537                                        l_size_t sigsetsize); }
538; linux 2.6.22:
539320	AUE_FUTIMESAT	STD	{ int linux_utimensat(l_int dfd, const char *pathname, \
540					const struct l_timespec *times, l_int flags); }
541321	AUE_NULL	STD	{ int linux_signalfd(void); }
542322	AUE_NULL	STD	{ int linux_timerfd_create(l_int clockid, l_int flags); }
543323	AUE_NULL	STD	{ int linux_eventfd(l_uint initval); }
544; linux 2.6.23:
545324	AUE_NULL	STD	{ int linux_fallocate(l_int fd, l_int mode, \
546				    l_loff_t offset, l_loff_t len); }
547; linux 2.6.25:
548325	AUE_NULL	STD	{ int linux_timerfd_settime(l_int fd, l_int flags,	\
549				    const struct l_itimerspec *new_value,		\
550				    struct l_itimerspec *old_value); }
551326	AUE_NULL	STD	{ int linux_timerfd_gettime(l_int fd,	\
552				    struct l_itimerspec *old_value); }
553; linux 2.6.27:
554327	AUE_NULL	STD	{ int linux_signalfd4(void); }
555328	AUE_NULL	STD	{ int linux_eventfd2(l_uint initval, l_int flags); }
556329	AUE_NULL	STD	{ int linux_epoll_create1(l_int flags); }
557330	AUE_NULL	STD	{ int linux_dup3(l_int oldfd,		\
558					l_int newfd, l_int flags); }
559331	AUE_NULL	STD	{ int linux_pipe2(l_int *pipefds, l_int flags); }
560332	AUE_NULL	STD	{ int linux_inotify_init1(void); }
561; linux 2.6.30:
562333	AUE_NULL	STD	{ int linux_preadv(l_ulong fd, 			\
563				    struct iovec *vec, l_ulong vlen,		\
564				    l_ulong pos_l, l_ulong pos_h); }
565334	AUE_NULL	STD	{ int linux_pwritev(l_ulong fd, 		\
566				    struct iovec *vec, l_ulong vlen,		\
567				    l_ulong pos_l, l_ulong pos_h); }
568; linux 2.6.31:
569335	AUE_NULL	STD	{ int linux_rt_tgsigqueueinfo(l_pid_t tgid,	\
570				    l_pid_t tid, l_int sig, l_siginfo_t *uinfo); }
571336	AUE_NULL	STD	{ int linux_perf_event_open(void); }
572; linux 2.6.33:
573337	AUE_NULL	STD	{ int linux_recvmmsg(l_int s,			\
574				    struct l_mmsghdr *msg, l_uint vlen,		\
575				    l_uint flags, struct l_timespec *timeout); }
576338	AUE_NULL	STD	{ int linux_fanotify_init(void); }
577339	AUE_NULL	STD	{ int linux_fanotify_mark(void); }
578; linux 2.6.36:
579340	AUE_NULL	STD	{ int linux_prlimit64(l_pid_t pid,	\
580				    l_uint resource,			\
581				    struct rlimit *new,			\
582				    struct rlimit *old); }
583; linux 2.6.39:
584341	AUE_NULL	STD	{ int linux_name_to_handle_at(void); }
585342	AUE_NULL	STD	{ int linux_open_by_handle_at(void); }
586343	AUE_NULL	STD	{ int linux_clock_adjtime(void); }
587344	AUE_SYNC	STD	{ int linux_syncfs(l_int fd); }
588; linux 3.0:
589345	AUE_NULL	STD	{ int linux_sendmmsg(l_int s,			\
590				    struct l_mmsghdr *msg, l_uint vlen,		\
591				    l_uint flags); }
592346	AUE_NULL	STD	{ int linux_setns(void); }
593; linux 3.2 (glibc 2.15):
594347	AUE_NULL	STD	{ int linux_process_vm_readv(l_pid_t pid,	\
595				    const struct iovec *lvec, l_ulong liovcnt,	\
596				    const struct iovec *rvec, l_ulong riovcnt,	\
597				    l_ulong flags); }
598348	AUE_NULL	STD	{ int linux_process_vm_writev(l_pid_t pid,	\
599				    const struct iovec *lvec, l_ulong liovcnt,	\
600				    const struct iovec *rvec, l_ulong riovcnt,	\
601				    l_ulong flags); }
602; linux 3.5 (no glibc wrapper):
603349	AUE_NULL	STD	{ int linux_kcmp(l_pid_t pid1, l_pid_t pid2,	\
604				    l_int type, l_ulong idx1, l_ulong idx); }
605; linux 3.8 (no glibc wrapper):
606350	AUE_NULL	STD	{ int linux_finit_module(l_int fd,		\
607				    const char *uargs, l_int flags); }
608; linux 3.14:
609351	AUE_NULL	STD	{ int linux_sched_setattr(l_pid_t pid,		\
610				    void *attr, l_uint flags); }
611352	AUE_NULL	STD	{ int linux_sched_getattr(l_pid_t pid,		\
612				    void *attr, l_uint size, l_uint flags); }
613; linux 3.15:
614353	AUE_NULL	STD	{ int linux_renameat2(l_int oldfd,		\
615				    const char *oldname, l_int newfd, 		\
616				    const char *newname, unsigned int flags); }
617; linux 3.17:
618354	AUE_NULL	STD	{ int linux_seccomp(l_uint op, l_uint flags,	\
619				    const char *uargs); }
620355	AUE_NULL	STD	{ int linux_getrandom(char *buf,		\
621				    l_size_t count, l_uint flags); }
622356	AUE_NULL	STD	{ int linux_memfd_create(const char *uname_ptr,	\
623				    l_uint flags); }
624; linux 3.18:
625357	AUE_NULL	STD	{ int linux_bpf(l_int cmd, void *attr,		\
626				    l_uint size); }
627; linux 3.19:
628358	AUE_NULL	STD	{ int linux_execveat(l_int dfd,			\
629				    const char *filename, const char **argv,	\
630				    const char **envp, l_int flags); }
631; linux 4.3: sockets now direct system calls:
632359	AUE_SOCKET	STD	{ int linux_socket(l_int domain, l_int type, \
633				    l_int protocol); }
634360	AUE_SOCKETPAIR	STD	{ int linux_socketpair(l_int domain, \
635				    l_int type, l_int protocol, l_uintptr_t rsv); }
636361	AUE_BIND	STD	{ int linux_bind(l_int s, l_uintptr_t name, \
637				    l_int namelen); }
638362	AUE_CONNECT	STD	{ int linux_connect(l_int s, l_uintptr_t name, \
639				    l_int namelen); }
640363	AUE_LISTEN	STD	{ int linux_listen(l_int s, l_int backlog); }
641364	AUE_ACCEPT	STD	{ int linux_accept4(l_int s, l_uintptr_t addr, \
642				    l_uintptr_t namelen, l_int flags); }
643365	AUE_GETSOCKOPT	STD	{ int linux_getsockopt(l_int s, l_int level, \
644				    l_int optname, l_uintptr_t optval, \
645				    l_uintptr_t optlen); }
646366	AUE_SETSOCKOPT	STD	{ int linux_setsockopt(l_int s, l_int level, \
647				    l_int optname, l_uintptr_t optval, \
648				    l_int optlen); }
649367	AUE_GETSOCKNAME	STD	{ int linux_getsockname(l_int s, \
650				    l_uintptr_t addr, l_uintptr_t namelen); }
651368	AUE_GETPEERNAME	STD	{ int linux_getpeername(l_int s, \
652				    l_uintptr_t addr, l_uintptr_t namelen); }
653369	AUE_SENDTO	STD	{ int linux_sendto(l_int s, l_uintptr_t msg, \
654				    l_int len, l_int flags, l_uintptr_t to, \
655				    l_int tolen); }
656370	AUE_SENDMSG	STD	{ int linux_sendmsg(l_int s, l_uintptr_t msg, \
657				    l_int flags); }
658371	AUE_RECVFROM	STD	{ int linux_recvfrom(l_int s, l_uintptr_t buf, \
659				    l_size_t len, l_int flags, l_uintptr_t from, \
660				    l_uintptr_t fromlen); }
661372	AUE_RECVMSG	STD	{ int linux_recvmsg(l_int s, l_uintptr_t msg, \
662				    l_int flags); }
663373	AUE_NULL	STD	{ int linux_shutdown(l_int s, l_int how); }
664;
665; linux 4.2:
666374	AUE_NULL	STD	{ int linux_userfaultfd(l_int flags); }
667; linux 4.3:
668375	AUE_NULL	STD	{ int linux_membarrier(l_int cmd, l_int flags); }
669; linux 4.4:
670376	AUE_NULL	STD	{ int linux_mlock2(l_ulong start, l_size_t len,	\
671				    l_int flags); }
672; linux 4.5:
673377	AUE_NULL	STD	{ int linux_copy_file_range(l_int fd_in,	\
674				    l_loff_t *off_in, l_int fd_out,		\
675				    l_loff_t *off_out, l_size_t len,		\
676				    l_uint flags); }
677; linux 4.6:
678378	AUE_NULL	STD	{ int linux_preadv2(l_ulong fd,			\
679				    const struct iovec *vec, l_ulong vlen,	\
680				    l_ulong pos_l, l_ulong pos_h, l_int flags); }
681379	AUE_NULL	STD	{ int linux_pwritev2(l_ulong fd,		\
682				    const struct iovec *vec, l_ulong vlen,	\
683				    l_ulong pos_l, l_ulong pos_h, l_int flags); }
684; linux 4.8:
685380	AUE_NULL	STD	{ int linux_pkey_mprotect(l_ulong start,	\
686				    l_size_t len, l_ulong prot, l_int pkey); }
687381	AUE_NULL	STD	{ int linux_pkey_alloc(l_ulong flags,		\
688				    l_ulong init_val); }
689382	AUE_NULL	STD	{ int linux_pkey_free(l_int pkey); }
690
691; please, keep this line at the end.
692383	AUE_NULL	UNIMPL	nosys
693