xref: /freebsd/sys/i386/linux/syscalls.master (revision d93a896e)
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 linux_sysent.c, linux_proto.h and linux_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 <sys/param.h>
30#include <sys/sysent.h>
31#include <sys/sysproto.h>
32#include <compat/linux/linux_sysproto.h>
33#include <i386/linux/linux.h>
34#include <i386/linux/linux_proto.h>
35
36; Isn't pretty, but there seems to be no other way to trap nosys
37#define	nosys	linux_nosys
38
39; #ifdef's, etc. may be included, and are copied to the output files.
40
410	AUE_NULL	UNIMPL	setup
421	AUE_EXIT	STD	{ void linux_exit(int rval); }
432	AUE_FORK	STD	{ int linux_fork(void); }
443	AUE_NULL	NOPROTO	{ int read(int fd, char *buf, \
45				    u_int nbyte); }
464	AUE_NULL	NOPROTO	{ int write(int fd, char *buf, \
47				    u_int nbyte); }
485	AUE_OPEN_RWTC	STD	{ int linux_open(char *path, l_int flags, \
49				    l_int mode); }
506	AUE_CLOSE	NOPROTO	{ int close(int fd); }
517	AUE_WAIT4	STD	{ int linux_waitpid(l_pid_t pid, \
52				    l_int *status, l_int options); }
538	AUE_CREAT	STD	{ int linux_creat(char *path, \
54				    l_int mode); }
559	AUE_LINK	STD	{ int linux_link(char *path, char *to); }
5610	AUE_UNLINK	STD	{ int linux_unlink(char *path); }
5711	AUE_EXECVE	STD	{ int linux_execve(char *path, char **argp, \
58				    char **envp); }
5912	AUE_CHDIR	STD	{ int linux_chdir(char *path); }
6013	AUE_NULL	STD	{ int linux_time(l_time_t *tm); }
6114	AUE_MKNOD	STD	{ int linux_mknod(char *path, l_int mode, \
62				    l_dev_t dev); }
6315	AUE_CHMOD	STD	{ int linux_chmod(char *path, \
64				    l_mode_t mode); }
6516	AUE_LCHOWN	STD	{ int linux_lchown16(char *path, \
66				    l_uid16_t uid, l_gid16_t gid); }
6717	AUE_NULL	UNIMPL	break
6818	AUE_STAT	STD	{ int linux_stat(char *path, \
69				    struct linux_stat *up); }
7019	AUE_LSEEK	STD	{ int linux_lseek(l_uint fdes, l_off_t off, \
71				    l_int whence); }
7220	AUE_GETPID	STD	{ int linux_getpid(void); }
7321	AUE_MOUNT	STD	{ int linux_mount(char *specialfile, \
74				    char *dir, char *filesystemtype, \
75				    l_ulong rwflag, void *data); }
7622	AUE_UMOUNT	STD	{ int linux_oldumount(char *path); }
7723	AUE_SETUID	STD	{ int linux_setuid16(l_uid16_t uid); }
7824	AUE_GETUID	STD	{ int linux_getuid16(void); }
7925	AUE_SETTIMEOFDAY	STD	{ int linux_stime(void); }
8026	AUE_PTRACE	STD	{ int linux_ptrace(l_long req, l_long pid, \
81				    l_long addr, l_long data); }
8227	AUE_NULL	STD	{ int linux_alarm(l_uint secs); }
8328	AUE_FSTAT	STD	{ int linux_fstat(l_uint fd, \
84				    struct linux_stat *up); }
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				    void *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				    l_ulong arg); }
11455	AUE_FCNTL	STD	{ int linux_fcntl(l_uint fd, l_uint cmd, \
115				    l_ulong 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	NOPROTO	{ int getrusage(int who, \
147				    struct rusage *rusage); }
14878	AUE_NULL	NOPROTO	{ int gettimeofday( \
149				    struct timeval *tp, \
150				    struct timezone *tzp); }
15179	AUE_SETTIMEOFDAY	NOPROTO	{ int settimeofday( \
152				    struct timeval *tv, \
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 l_stat *up); }
16385	AUE_READLINK	STD	{ int linux_readlink(char *name, char *buf, \
164				    l_int count); }
16586	AUE_USELIB	STD	{ int linux_uselib(char *library); }
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	STD	{ int linux_ioperm(l_ulong start, \
189				    l_ulong length, l_int enable); }
190102	AUE_NULL	STD	{ int linux_socketcall(l_int what, \
191				    l_ulong args); }
192103	AUE_NULL	STD	{ int linux_syslog(l_int type, char *buf, \
193				    l_int len); }
194104	AUE_SETITIMER	STD	{ int linux_setitimer(l_int which, \
195				    struct l_itimerval *itv, \
196				    struct l_itimerval *oitv); }
197105	AUE_GETITIMER	STD	{ int linux_getitimer(l_int which, \
198				    struct l_itimerval *itv); }
199106	AUE_STAT	STD	{ int linux_newstat(char *path, \
200				    struct l_newstat *buf); }
201107	AUE_LSTAT	STD	{ int linux_newlstat(char *path, \
202				    struct l_newstat *buf); }
203108	AUE_FSTAT	STD	{ int linux_newfstat(l_uint fd, \
204				    struct l_newstat *buf); }
205; 109: olduname
206109	AUE_NULL	STD	{ int linux_uname(void); }
207110	AUE_NULL	STD	{ int linux_iopl(l_int level); }
208111	AUE_NULL	STD	{ int linux_vhangup(void); }
209112	AUE_NULL	UNIMPL	idle
210113	AUE_NULL	STD	{ int linux_vm86old(void); }
211114	AUE_WAIT4	STD	{ int linux_wait4(l_pid_t pid, \
212				    l_int *status, l_int options, \
213				    void *rusage); }
214115	AUE_SWAPOFF	STD	{ int linux_swapoff(void); }
215116	AUE_NULL	STD	{ int linux_sysinfo(struct l_sysinfo *info); }
216117	AUE_NULL	STD	{ int linux_ipc(l_uint what, l_int arg1, \
217				    l_int arg2, l_int arg3, void *ptr, \
218				    l_long arg5); }
219118	AUE_FSYNC	NOPROTO	{ int fsync(int fd); }
220119	AUE_SIGRETURN	STD	{ int linux_sigreturn( \
221				    struct l_sigframe *sfp); }
222120	AUE_RFORK	STD	{ int linux_clone(l_int flags, void *stack, \
223				    void *parent_tidptr, void *tls, void * child_tidptr); }
224121	AUE_SYSCTL	STD	{ int linux_setdomainname(char *name, \
225				    int len); }
226122	AUE_NULL	STD	{ int linux_newuname( \
227				    struct l_new_utsname *buf); }
228123	AUE_NULL	STD	{ int linux_modify_ldt(l_int func, \
229				    void *ptr, l_ulong bytecount); }
230124	AUE_ADJTIME	STD	{ int linux_adjtimex(void); }
231125	AUE_MPROTECT	STD	{ int linux_mprotect(caddr_t addr, int len, \
232				    int prot); }
233126	AUE_SIGPROCMASK	STD	{ int linux_sigprocmask(l_int how, \
234				    l_osigset_t *mask, l_osigset_t *omask); }
235127	AUE_NULL	UNIMPL	create_module
236128	AUE_NULL	STD	{ int linux_init_module(void); }
237129	AUE_NULL	STD	{ int linux_delete_module(void); }
238130	AUE_NULL	UNIMPL	get_kernel_syms
239131	AUE_QUOTACTL	STD	{ int linux_quotactl(void); }
240132	AUE_GETPGID	NOPROTO	{ int getpgid(int pid); }
241133	AUE_FCHDIR	NOPROTO	{ int fchdir(int fd); }
242134	AUE_BDFLUSH	STD	{ int linux_bdflush(void); }
243135	AUE_NULL	STD	{ int linux_sysfs(l_int option, \
244				    l_ulong arg1, l_ulong arg2); }
245136	AUE_PERSONALITY	STD	{ int linux_personality(l_uint per); }
246137	AUE_NULL	UNIMPL	afs_syscall
247138	AUE_SETFSUID	STD	{ int linux_setfsuid16(l_uid16_t uid); }
248139	AUE_SETFSGID	STD	{ int linux_setfsgid16(l_gid16_t gid); }
249140	AUE_LSEEK	STD	{ int linux_llseek(l_int fd, l_ulong ohigh, \
250				    l_ulong olow, l_loff_t *res, \
251				    l_uint whence); }
252141	AUE_GETDIRENTRIES	STD { int linux_getdents(l_uint fd, \
253				    void *dent, l_uint count); }
254; 142: newselect
255142	AUE_SELECT	STD	{ int linux_select(l_int nfds, \
256				    l_fd_set *readfds, l_fd_set *writefds, \
257				    l_fd_set *exceptfds, \
258				    struct l_timeval *timeout); }
259143	AUE_FLOCK	NOPROTO	{ int flock(int fd, int how); }
260144	AUE_MSYNC	STD	{ int linux_msync(l_ulong addr, \
261				    l_size_t len, l_int fl); }
262145	AUE_READV	NOPROTO	{ int readv(int fd, struct iovec *iovp, \
263				    u_int iovcnt); }
264146	AUE_WRITEV	NOPROTO	{ int writev(int fd, struct iovec *iovp, \
265				    u_int iovcnt); }
266147	AUE_GETSID	STD	{ int linux_getsid(l_pid_t pid); }
267148	AUE_NULL	STD	{ int linux_fdatasync(l_uint fd); }
268149	AUE_SYSCTL	STD	{ int linux_sysctl( \
269				    struct l___sysctl_args *args); }
270150	AUE_MLOCK	NOPROTO	{ int mlock(const void *addr, size_t len); }
271151	AUE_MUNLOCK	NOPROTO	{ int munlock(const void *addr, size_t len); }
272152	AUE_MLOCKALL	NOPROTO	{ int mlockall(int how); }
273153	AUE_MUNLOCKALL	NOPROTO	{ int munlockall(void); }
274154	AUE_SCHED_SETPARAM	STD	{ int linux_sched_setparam(l_pid_t pid, \
275				    struct sched_param *param); }
276155	AUE_SCHED_GETPARAM	STD	{ int linux_sched_getparam(l_pid_t pid, \
277				    struct sched_param *param); }
278156	AUE_SCHED_SETSCHEDULER	STD { int linux_sched_setscheduler( \
279				    l_pid_t pid, l_int policy, \
280				    struct sched_param *param); }
281157	AUE_SCHED_GETSCHEDULER	STD { int linux_sched_getscheduler( \
282				    l_pid_t pid); }
283158	AUE_NULL	NOPROTO	{ int sched_yield(void); }
284159	AUE_SCHED_GET_PRIORITY_MAX	STD { int linux_sched_get_priority_max( \
285				    l_int policy); }
286160	AUE_SCHED_GET_PRIORITY_MIN	STD { int linux_sched_get_priority_min( \
287				    l_int policy); }
288161	AUE_SCHED_RR_GET_INTERVAL	STD	{ int linux_sched_rr_get_interval( \
289				    l_pid_t pid, struct l_timespec *interval); }
290162	AUE_NULL	STD	{ int linux_nanosleep( \
291				    const struct l_timespec *rqtp, \
292				    struct l_timespec *rmtp); }
293163	AUE_NULL	STD	{ int linux_mremap(l_ulong addr, \
294				    l_ulong old_len, l_ulong new_len, \
295				    l_ulong flags, l_ulong new_addr); }
296164	AUE_SETRESUID	STD	{ int linux_setresuid16(l_uid16_t ruid, \
297				    l_uid16_t euid, l_uid16_t suid); }
298165	AUE_GETRESUID	STD	{ int linux_getresuid16(l_uid16_t *ruid, \
299				    l_uid16_t *euid, l_uid16_t *suid); }
300166	AUE_NULL	STD	{ int linux_vm86(void); }
301167	AUE_NULL	UNIMPL	query_module
302168	AUE_POLL	NOPROTO	{ int poll(struct pollfd* fds, \
303				    unsigned int nfds, long timeout); }
304169	AUE_NULL	UNIMPL	nfsservctl
305170	AUE_SETRESGID	STD	{ int linux_setresgid16(l_gid16_t rgid, \
306				    l_gid16_t egid, l_gid16_t sgid); }
307171	AUE_GETRESGID	STD	{ int linux_getresgid16(l_gid16_t *rgid, \
308				    l_gid16_t *egid, l_gid16_t *sgid); }
309172	AUE_PRCTL	STD	{ int linux_prctl(l_int option, l_int arg2, l_int arg3, \
310				    l_int arg4, l_int arg5); }
311173	AUE_NULL	STD	{ int linux_rt_sigreturn( \
312				    struct l_ucontext *ucp); }
313174	AUE_NULL	STD	{ int linux_rt_sigaction(l_int sig, \
314				    l_sigaction_t *act, l_sigaction_t *oact, \
315				    l_size_t sigsetsize); }
316175	AUE_NULL	STD	{ int linux_rt_sigprocmask(l_int how, \
317				    l_sigset_t *mask, l_sigset_t *omask, \
318				    l_size_t sigsetsize); }
319176	AUE_NULL	STD	{ int linux_rt_sigpending(l_sigset_t *set, \
320				    l_size_t sigsetsize); }
321177	AUE_NULL	STD	{ int linux_rt_sigtimedwait(l_sigset_t *mask, \
322				    l_siginfo_t *ptr, \
323				    struct l_timeval *timeout, \
324				    l_size_t sigsetsize); }
325178	AUE_NULL	STD	{ int linux_rt_sigqueueinfo(l_pid_t pid, l_int sig, \
326				    l_siginfo_t *info); }
327179	AUE_NULL	STD	{ int linux_rt_sigsuspend( \
328				    l_sigset_t *newset, \
329				    l_size_t sigsetsize); }
330180	AUE_PREAD	STD	{ int linux_pread(l_uint fd, char *buf, \
331				    l_size_t nbyte, l_loff_t offset); }
332181	AUE_PWRITE	STD	{ int linux_pwrite(l_uint fd, char *buf, \
333				    l_size_t nbyte, l_loff_t offset); }
334182	AUE_CHOWN	STD	{ int linux_chown16(char *path, \
335				    l_uid16_t uid, l_gid16_t gid); }
336183	AUE_GETCWD	STD	{ int linux_getcwd(char *buf, \
337				    l_ulong bufsize); }
338184	AUE_CAPGET	STD	{ int linux_capget(struct l_user_cap_header *hdrp, \
339				    struct l_user_cap_data *datap); }
340185	AUE_CAPSET	STD	{ int linux_capset(struct l_user_cap_header *hdrp, \
341				    struct l_user_cap_data *datap); }
342186	AUE_NULL	STD	{ int linux_sigaltstack(l_stack_t *uss, \
343				    l_stack_t *uoss); }
344187	AUE_SENDFILE	STD	{ int linux_sendfile(void); }
345188	AUE_GETPMSG	UNIMPL	getpmsg
346189	AUE_PUTPMSG	UNIMPL	putpmsg
347190	AUE_VFORK	STD	{ int linux_vfork(void); }
348; 191: ugetrlimit
349191	AUE_GETRLIMIT	STD	{ int linux_getrlimit(l_uint resource, \
350				    struct l_rlimit *rlim); }
351192	AUE_MMAP	STD	{ int linux_mmap2(l_ulong addr, l_ulong len, \
352				    l_ulong prot, l_ulong flags, l_ulong fd, \
353				    l_ulong pgoff); }
354193	AUE_TRUNCATE	STD	{ int linux_truncate64(char *path, \
355				    l_loff_t length); }
356194	AUE_FTRUNCATE	STD	{ int linux_ftruncate64(l_uint fd, \
357				    l_loff_t length); }
358195	AUE_STAT	STD	{ int linux_stat64(const char *filename, \
359				    struct l_stat64 *statbuf); }
360196	AUE_LSTAT	STD	{ int linux_lstat64(const char *filename, \
361				    struct l_stat64 *statbuf); }
362197	AUE_FSTAT	STD	{ int linux_fstat64(l_int fd, \
363				    struct l_stat64 *statbuf); }
364198	AUE_LCHOWN	STD	{ int linux_lchown(char *path, l_uid_t uid, \
365				    l_gid_t gid); }
366199	AUE_GETUID	STD	{ int linux_getuid(void); }
367200	AUE_GETGID	STD	{ int linux_getgid(void); }
368201	AUE_GETEUID	NOPROTO	{ int geteuid(void); }
369202	AUE_GETEGID	NOPROTO	{ int getegid(void); }
370203	AUE_SETREUID	NOPROTO	{ int setreuid(uid_t ruid, uid_t euid); }
371204	AUE_SETREGID	NOPROTO	{ int setregid(gid_t rgid, gid_t egid); }
372205	AUE_GETGROUPS	STD	{ int linux_getgroups(l_int gidsetsize, \
373				    l_gid_t *grouplist); }
374206	AUE_SETGROUPS	STD	{ int linux_setgroups(l_int gidsetsize, \
375				    l_gid_t *grouplist); }
376207	AUE_FCHOWN	NODEF	fchown fchown fchown_args int
377208	AUE_SETRESUID	NOPROTO	{ int setresuid(uid_t ruid, uid_t euid, \
378				    uid_t suid); }
379209	AUE_GETRESUID	NOPROTO	{ int getresuid(uid_t *ruid, uid_t *euid, \
380				    uid_t *suid); }
381210	AUE_SETRESGID	NOPROTO	{ int setresgid(gid_t rgid, gid_t egid, \
382				    gid_t sgid); }
383211	AUE_GETRESGID	NOPROTO	{ int getresgid(gid_t *rgid, gid_t *egid, \
384				    gid_t *sgid); }
385212	AUE_CHOWN	STD	{ int linux_chown(char *path, l_uid_t uid, \
386				    l_gid_t gid); }
387213	AUE_SETUID	NOPROTO	{ int setuid(uid_t uid); }
388214	AUE_SETGID	NOPROTO	{ int setgid(gid_t gid); }
389215	AUE_SETFSUID	STD	{ int linux_setfsuid(l_uid_t uid); }
390216	AUE_SETFSGID	STD	{ int linux_setfsgid(l_gid_t gid); }
391217	AUE_PIVOT_ROOT	STD	{ int linux_pivot_root(char *new_root, \
392				    char *put_old); }
393218	AUE_MINCORE	STD	{ int linux_mincore(l_ulong start, \
394				    l_size_t len, u_char *vec); }
395219	AUE_MADVISE	NOPROTO	{ int madvise(void *addr, size_t len, \
396				    int behav); }
397220	AUE_GETDIRENTRIES	STD { int linux_getdents64(l_uint fd, \
398				    void *dirent, l_uint count); }
399221	AUE_FCNTL	STD	{ int linux_fcntl64(l_uint fd, l_uint cmd, \
400				    l_ulong arg); }
401222	AUE_NULL	UNIMPL
402223	AUE_NULL	UNIMPL
403224	AUE_NULL	STD	{ long linux_gettid(void); }
404225	AUE_NULL	UNIMPL	linux_readahead
405226	AUE_NULL	STD	{ int linux_setxattr(void); }
406227	AUE_NULL	STD	{ int linux_lsetxattr(void); }
407228	AUE_NULL	STD	{ int linux_fsetxattr(void); }
408229	AUE_NULL	STD	{ int linux_getxattr(void); }
409230	AUE_NULL	STD	{ int linux_lgetxattr(void); }
410231	AUE_NULL	STD	{ int linux_fgetxattr(void); }
411232	AUE_NULL	STD	{ int linux_listxattr(void); }
412233	AUE_NULL	STD	{ int linux_llistxattr(void); }
413234	AUE_NULL	STD	{ int linux_flistxattr(void); }
414235	AUE_NULL	STD	{ int linux_removexattr(void); }
415236	AUE_NULL	STD	{ int linux_lremovexattr(void); }
416237	AUE_NULL	STD	{ int linux_fremovexattr(void); }
417238	AUE_NULL	STD	{ int linux_tkill(int tid, int sig); }
418239	AUE_SENDFILE	UNIMPL	linux_sendfile64
419240	AUE_NULL	STD	{ int linux_sys_futex(void *uaddr, int op, uint32_t val, \
420					struct l_timespec *timeout, uint32_t *uaddr2, uint32_t val3); }
421241	AUE_NULL	STD	{ int linux_sched_setaffinity(l_pid_t pid, l_uint len, \
422					l_ulong *user_mask_ptr); }
423242	AUE_NULL	STD	{ int linux_sched_getaffinity(l_pid_t pid, l_uint len, \
424					l_ulong *user_mask_ptr); }
425243	AUE_NULL	STD	{ int linux_set_thread_area(struct l_user_desc *desc); }
426244	AUE_NULL	STD	{ int linux_get_thread_area(struct l_user_desc *desc); }
427245	AUE_NULL	UNIMPL	linux_io_setup
428246	AUE_NULL	UNIMPL	linux_io_destroy
429247	AUE_NULL	UNIMPL	linux_io_getevents
430248	AUE_NULL	UNIMPL	linux_io_submit
431249	AUE_NULL	UNIMPL	linux_io_cancel
432250	AUE_NULL	STD	{ int linux_fadvise64(int fd, l_loff_t offset, \
433					l_size_t len, int advice); }
434251	AUE_NULL	UNIMPL
435252	AUE_EXIT	STD	{ int linux_exit_group(int error_code); }
436253	AUE_NULL	STD	{ int linux_lookup_dcookie(void); }
437254	AUE_NULL	STD	{ int linux_epoll_create(l_int size); }
438255	AUE_NULL	STD	{ int linux_epoll_ctl(l_int epfd, l_int op, l_int fd, \
439					struct epoll_event *event); }
440256	AUE_NULL	STD	{ int linux_epoll_wait(l_int epfd, struct epoll_event *events, \
441					l_int maxevents, l_int timeout); }
442257	AUE_NULL	STD	{ int linux_remap_file_pages(void); }
443258	AUE_NULL	STD	{ int linux_set_tid_address(int *tidptr); }
444259	AUE_NULL	STD	{ int linux_timer_create(clockid_t clock_id, \
445					struct sigevent *evp, l_timer_t *timerid); }
446260	AUE_NULL	STD	{ int linux_timer_settime(l_timer_t timerid, l_int flags, \
447					const struct itimerspec *new, struct itimerspec *old); }
448261	AUE_NULL	STD	{ int linux_timer_gettime(l_timer_t timerid, struct itimerspec *setting); }
449262	AUE_NULL	STD	{ int linux_timer_getoverrun(l_timer_t timerid); }
450263	AUE_NULL	STD	{ int linux_timer_delete(l_timer_t timerid); }
451264	AUE_CLOCK_SETTIME	STD	{ int linux_clock_settime(clockid_t which, struct l_timespec *tp); }
452265	AUE_NULL	STD	{ int linux_clock_gettime(clockid_t which, struct l_timespec *tp); }
453266	AUE_NULL	STD	{ int linux_clock_getres(clockid_t which, struct l_timespec *tp); }
454267	AUE_NULL	STD	{ int linux_clock_nanosleep(clockid_t which, int flags, \
455					struct l_timespec *rqtp, struct l_timespec *rmtp); }
456268	AUE_STATFS	STD	{ int linux_statfs64(char *path, size_t bufsize, struct l_statfs64_buf *buf); }
457269	AUE_FSTATFS	STD	{ int linux_fstatfs64(l_uint fd, size_t bufsize, struct l_statfs64_buf *buf); }
458270	AUE_NULL	STD	{ int linux_tgkill(int tgid, int pid, int sig); }
459271	AUE_UTIMES	STD	{ int linux_utimes(char *fname, \
460					struct l_timeval *tptr); }
461272	AUE_NULL	STD	{ int linux_fadvise64_64(int fd, \
462					l_loff_t offset, l_loff_t len, \
463					int advice); }
464273	AUE_NULL	UNIMPL	vserver
465274	AUE_NULL	STD	{ int linux_mbind(void); }
466275	AUE_NULL	STD	{ int linux_get_mempolicy(void); }
467276	AUE_NULL	STD	{ int linux_set_mempolicy(void); }
468; linux 2.6.6:
469277	AUE_NULL	STD	{ int linux_mq_open(const char *name, int oflag, mode_t mode, \
470					struct mq_attr *attr); }
471278	AUE_NULL	STD	{ int linux_mq_unlink(const char *name); }
472279	AUE_NULL	STD	{ int linux_mq_timedsend(l_mqd_t mqd, const char *msg_ptr, \
473					size_t msg_len, unsigned int msg_prio, const struct \
474					l_timespec *abs_timeout); }
475280	AUE_NULL	STD	{ int linux_mq_timedreceive(l_mqd_t mqd, char *msg_ptr, \
476					size_t msg_len, unsigned int msg_prio, const struct \
477					l_timespec *abs_timeout); }
478281	AUE_NULL	STD	{ int linux_mq_notify(l_mqd_t mqd, const struct l_timespec *abs_timeout); }
479282	AUE_NULL	STD	{ int linux_mq_getsetattr(l_mqd_t mqd, const struct mq_attr *attr, \
480					struct mq_attr *oattr); }
481283	AUE_NULL	STD	{ int linux_kexec_load(void); }
482284	AUE_WAIT6	STD	{ int linux_waitid(int idtype, l_pid_t id, \
483				    l_siginfo_t *info, int options, \
484				    void *rusage); }
485285	AUE_NULL	UNIMPL
486; linux 2.6.11:
487286	AUE_NULL	STD	{ int linux_add_key(void); }
488287	AUE_NULL	STD	{ int linux_request_key(void); }
489288	AUE_NULL	STD	{ int linux_keyctl(void); }
490; linux 2.6.13:
491289	AUE_NULL	STD	{ int linux_ioprio_set(void); }
492290	AUE_NULL	STD	{ int linux_ioprio_get(void); }
493291	AUE_NULL	STD	{ int linux_inotify_init(void); }
494292	AUE_NULL	STD	{ int linux_inotify_add_watch(void); }
495293	AUE_NULL	STD	{ int linux_inotify_rm_watch(void); }
496; linux 2.6.16:
497294	AUE_NULL	STD	{ int linux_migrate_pages(void); }
498295	AUE_OPEN_RWTC	STD	{ int linux_openat(l_int dfd, const char *filename, \
499					l_int flags, l_int mode); }
500296	AUE_MKDIRAT	STD	{ int linux_mkdirat(l_int dfd, const char *pathname, \
501					l_int mode); }
502297	AUE_MKNODAT	STD	{ int linux_mknodat(l_int dfd, const char *filename, \
503					l_int mode, l_uint dev); }
504298	AUE_FCHOWNAT	STD	{ int linux_fchownat(l_int dfd, const char *filename, \
505					l_uid16_t uid, l_gid16_t gid, l_int flag); }
506299	AUE_FUTIMESAT	STD	{ int linux_futimesat(l_int dfd, char *filename, \
507					struct l_timeval *utimes); }
508300	AUE_FSTATAT	STD	{ int linux_fstatat64(l_int dfd, char *pathname, \
509					struct l_stat64 *statbuf, l_int flag); }
510301	AUE_UNLINKAT	STD	{ int linux_unlinkat(l_int dfd, const char *pathname, \
511					l_int flag); }
512302	AUE_RENAMEAT	STD	{ int linux_renameat(l_int olddfd, const char *oldname, \
513					l_int newdfd, const char *newname); }
514303	AUE_LINKAT	STD	{ int linux_linkat(l_int olddfd, const char *oldname, \
515					l_int newdfd, const char *newname, l_int flag); }
516304	AUE_SYMLINKAT	STD	{ int linux_symlinkat(const char *oldname, l_int newdfd, \
517					const char *newname); }
518305	AUE_READLINKAT	STD	{ int linux_readlinkat(l_int dfd, const char *path, \
519					char *buf, l_int bufsiz); }
520306	AUE_FCHMODAT	STD	{ int linux_fchmodat(l_int dfd, const char *filename, \
521					l_mode_t mode); }
522307	AUE_FACCESSAT	STD	{ int linux_faccessat(l_int dfd, const char *filename, \
523					l_int amode); }
524308	AUE_SELECT	STD	{ int linux_pselect6(l_int nfds, l_fd_set *readfds,	\
525					l_fd_set *writefds, l_fd_set *exceptfds,	\
526					struct l_timespec *tsp, l_uintptr_t *sig); }
527309	AUE_POLL	STD	{ int linux_ppoll(struct pollfd *fds, uint32_t nfds,	\
528				    struct l_timespec *tsp, l_sigset_t *sset, l_size_t ssize); }
529310	AUE_NULL	STD	{ int linux_unshare(void); }
530; linux 2.6.17:
531311	AUE_NULL	STD	{ int linux_set_robust_list(struct linux_robust_list_head *head, \
532					l_size_t len); }
533312	AUE_NULL	STD	{ int linux_get_robust_list(l_int pid, \
534				    struct linux_robust_list_head **head, l_size_t *len); }
535313	AUE_NULL	STD	{ int linux_splice(void); }
536314	AUE_NULL	STD	{ int linux_sync_file_range(void); }
537315	AUE_NULL	STD	{ int linux_tee(void); }
538316	AUE_NULL	STD	{ int linux_vmsplice(void); }
539; linux 2.6.18:
540317	AUE_NULL	STD	{ int linux_move_pages(void); }
541; linux 2.6.19:
542318	AUE_NULL	STD	{ int linux_getcpu(void); }
543319	AUE_NULL	STD	{ int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
544					l_int maxevents, l_int timeout, l_sigset_t *mask, \
545					l_size_t sigsetsize); }
546; linux 2.6.22:
547320	AUE_FUTIMESAT	STD	{ int linux_utimensat(l_int dfd, const char *pathname, \
548					const struct l_timespec *times, l_int flags); }
549321	AUE_NULL	STD	{ int linux_signalfd(void); }
550322	AUE_NULL	STD	{ int linux_timerfd_create(l_int clockid, l_int flags); }
551323	AUE_NULL	STD	{ int linux_eventfd(l_uint initval); }
552; linux 2.6.23:
553324	AUE_NULL	STD	{ int linux_fallocate(l_int fd, l_int mode, \
554				    l_loff_t offset, l_loff_t len); }
555; linux 2.6.25:
556325	AUE_NULL	STD	{ int linux_timerfd_settime(l_int fd, l_int flags,	\
557				    const struct l_itimerspec *new_value,		\
558				    struct l_itimerspec *old_value); }
559326	AUE_NULL	STD	{ int linux_timerfd_gettime(l_int fd,	\
560				    struct l_itimerspec *old_value); }
561; linux 2.6.27:
562327	AUE_NULL	STD	{ int linux_signalfd4(void); }
563328	AUE_NULL	STD	{ int linux_eventfd2(l_uint initval, l_int flags); }
564329	AUE_NULL	STD	{ int linux_epoll_create1(l_int flags); }
565330	AUE_NULL	STD	{ int linux_dup3(l_int oldfd,		\
566					l_int newfd, l_int flags); }
567331	AUE_NULL	STD	{ int linux_pipe2(l_int *pipefds, l_int flags); }
568332	AUE_NULL	STD	{ int linux_inotify_init1(void); }
569; linux 2.6.30:
570333	AUE_NULL	STD	{ int linux_preadv(l_ulong fd, 			\
571				    struct iovec *vec, l_ulong vlen,		\
572				    l_ulong pos_l, l_ulong pos_h); }
573334	AUE_NULL	STD	{ int linux_pwritev(l_ulong fd, 		\
574				    struct iovec *vec, l_ulong vlen,		\
575				    l_ulong pos_l, l_ulong pos_h); }
576; linux 2.6.31:
577335	AUE_NULL	STD	{ int linux_rt_tgsigqueueinfo(l_pid_t tgid,	\
578				    l_pid_t tid, l_int sig, l_siginfo_t *uinfo); }
579336	AUE_NULL	STD	{ int linux_perf_event_open(void); }
580; linux 2.6.33:
581337	AUE_NULL	STD	{ int linux_recvmmsg(l_int s,			\
582				    struct l_mmsghdr *msg, l_uint vlen,		\
583				    l_uint flags, struct l_timespec *timeout); }
584338	AUE_NULL	STD	{ int linux_fanotify_init(void); }
585339	AUE_NULL	STD	{ int linux_fanotify_mark(void); }
586; linux 2.6.36:
587340	AUE_NULL	STD	{ int linux_prlimit64(l_pid_t pid,	\
588				    l_uint resource,			\
589				    struct rlimit *new,			\
590				    struct rlimit *old); }
591; linux 2.6.39:
592341	AUE_NULL	STD	{ int linux_name_to_handle_at(void); }
593342	AUE_NULL	STD	{ int linux_open_by_handle_at(void); }
594343	AUE_NULL	STD	{ int linux_clock_adjtime(void); }
595344	AUE_SYNC	STD	{ int linux_syncfs(l_int fd); }
596; linux 3.0:
597345	AUE_NULL	STD	{ int linux_sendmmsg(l_int s,			\
598				    struct l_mmsghdr *msg, l_uint vlen,		\
599				    l_uint flags); }
600346	AUE_NULL	STD	{ int linux_setns(void); }
601; linux 3.2 (glibc 2.15):
602347	AUE_NULL	STD	{ int linux_process_vm_readv(l_pid_t pid,	\
603				    const struct iovec *lvec, l_ulong liovcnt,	\
604				    const struct iovec *rvec, l_ulong riovcnt,	\
605				    l_ulong flags); }
606348	AUE_NULL	STD	{ int linux_process_vm_writev(l_pid_t pid,	\
607				    const struct iovec *lvec, l_ulong liovcnt,	\
608				    const struct iovec *rvec, l_ulong riovcnt,	\
609				    l_ulong flags); }
610; linux 3.5 (no glibc wrapper):
611349	AUE_NULL	STD	{ int linux_kcmp(l_pid_t pid1, l_pid_t pid2,	\
612				    l_int type, l_ulong idx1, l_ulong idx); }
613; linux 3.8 (no glibc wrapper):
614350	AUE_NULL	STD	{ int linux_finit_module(l_int fd,		\
615				    const char *uargs, l_int flags); }
616; linux 3.14:
617351	AUE_NULL	STD	{ int linux_sched_setattr(l_pid_t pid,		\
618				    void *attr, l_uint flags); }
619352	AUE_NULL	STD	{ int linux_sched_getattr(l_pid_t pid,		\
620				    void *attr, l_uint size, l_uint flags); }
621; linux 3.15:
622353	AUE_NULL	STD	{ int linux_renameat2(l_int oldfd,		\
623				    const char *oldname, l_int newfd, 		\
624				    const char *newname, unsigned int flags); }
625; linux 3.17:
626354	AUE_NULL	STD	{ int linux_seccomp(l_uint op, l_uint flags,	\
627				    const char *uargs); }
628355	AUE_NULL	STD	{ int linux_getrandom(char *buf,		\
629				    l_size_t count, l_uint flags); }
630356	AUE_NULL	STD	{ int linux_memfd_create(const char *uname_ptr,	\
631				    l_uint flags); }
632; linux 3.18:
633357	AUE_NULL	STD	{ int linux_bpf(l_int cmd, void *attr,		\
634				    l_uint size); }
635; linux 3.19:
636358	AUE_NULL	STD	{ int linux_execveat(l_int dfd,			\
637				    const char *filename, const char **argv,	\
638				    const char **envp, l_int flags); }
639; linux 4.3: sockets now direct system calls:
640359	AUE_SOCKET	STD	{ int linux_socket(l_int domain, l_int type, \
641				    l_int protocol); }
642360	AUE_SOCKETPAIR	STD	{ int linux_socketpair(l_int domain, \
643				    l_int type, l_int protocol, l_uintptr_t rsv); }
644361	AUE_BIND	STD	{ int linux_bind(l_int s, l_uintptr_t name, \
645				    l_int namelen); }
646362	AUE_CONNECT	STD	{ int linux_connect(l_int s, l_uintptr_t name, \
647				    l_int namelen); }
648363	AUE_LISTEN	STD	{ int linux_listen(l_int s, l_int backlog); }
649364	AUE_ACCEPT	STD	{ int linux_accept4(l_int s, l_uintptr_t addr, \
650				    l_uintptr_t namelen, l_int flags); }
651365	AUE_GETSOCKOPT	STD	{ int linux_getsockopt(l_int s, l_int level, \
652				    l_int optname, l_uintptr_t optval, \
653				    l_uintptr_t optlen); }
654366	AUE_SETSOCKOPT	STD	{ int linux_setsockopt(l_int s, l_int level, \
655				    l_int optname, l_uintptr_t optval, \
656				    l_int optlen); }
657367	AUE_GETSOCKNAME	STD	{ int linux_getsockname(l_int s, \
658				    l_uintptr_t addr, l_uintptr_t namelen); }
659368	AUE_GETPEERNAME	STD	{ int linux_getpeername(l_int s, \
660				    l_uintptr_t addr, l_uintptr_t namelen); }
661369	AUE_SENDTO	STD	{ int linux_sendto(l_int s, l_uintptr_t msg, \
662				    l_int len, l_int flags, l_uintptr_t to, \
663				    l_int tolen); }
664370	AUE_SENDMSG	STD	{ int linux_sendmsg(l_int s, l_uintptr_t msg, \
665				    l_int flags); }
666371	AUE_RECVFROM	STD	{ int linux_recvfrom(l_int s, l_uintptr_t buf, \
667				    l_size_t len, l_int flags, l_uintptr_t from, \
668				    l_uintptr_t fromlen); }
669372	AUE_RECVMSG	STD	{ int linux_recvmsg(l_int s, l_uintptr_t msg, \
670				    l_int flags); }
671373	AUE_NULL	STD	{ int linux_shutdown(l_int s, l_int how); }
672; linux 4.2:
673374	AUE_NULL	STD	{ int linux_userfaultfd(l_int flags); }
674; linux 4.3:
675375	AUE_NULL	STD	{ int linux_membarrier(l_int cmd, l_int flags); }
676; linux 4.4:
677376	AUE_NULL	STD	{ int linux_mlock2(l_ulong start, l_size_t len,	\
678				    l_int flags); }
679; linux 4.5:
680377	AUE_NULL	STD	{ int linux_copy_file_range(l_int fd_in,	\
681				    l_loff_t *off_in, l_int fd_out,		\
682				    l_loff_t *off_out, l_size_t len,		\
683				    l_uint flags); }
684; linux 4.6:
685378	AUE_NULL	STD	{ int linux_preadv2(l_ulong fd,			\
686				    const struct iovec *vec, l_ulong vlen,	\
687				    l_ulong pos_l, l_ulong pos_h, l_int flags); }
688379	AUE_NULL	STD	{ int linux_pwritev2(l_ulong fd,		\
689				    const struct iovec *vec, l_ulong vlen,	\
690				    l_ulong pos_l, l_ulong pos_h, l_int flags); }
691; linux 4.8:
692380	AUE_NULL	STD	{ int linux_pkey_mprotect(l_ulong start,	\
693				    l_size_t len, l_ulong prot, l_int pkey); }
694381	AUE_NULL	STD	{ int linux_pkey_alloc(l_ulong flags,		\
695				    l_ulong init_val); }
696382	AUE_NULL	STD	{ int linux_pkey_free(l_int pkey); }
697
698; please, keep this line at the end.
699383	AUE_NULL	UNIMPL	nosys
700