xref: /freebsd/sys/amd64/linux/syscalls.master (revision 6419bb52)
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	pseudo-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 <amd64/linux/linux.h>
34#include <amd64/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	NOPROTO	{ int read(int fd, char *buf, \
42				    u_int nbyte); }
431	AUE_NULL	NOPROTO	{ int write(int fd, char *buf, \
44				    u_int nbyte); }
452	AUE_OPEN_RWTC	STD	{ int linux_open(char *path, l_int flags, \
46				    l_int mode); }
473	AUE_CLOSE	NOPROTO	{ int close(int fd); }
484	AUE_STAT	STD	{ int linux_newstat(char *path, \
49				    struct l_newstat *buf); }
505	AUE_FSTAT	STD	{ int linux_newfstat(l_uint fd, \
51				    struct l_newstat *buf); }
526	AUE_LSTAT	STD	{ int linux_newlstat(char *path, \
53				    struct l_newstat *buf); }
547	AUE_POLL	NOPROTO	{ int poll(struct pollfd *fds, u_int nfds, \
55				    int timeout); }
568	AUE_LSEEK	STD	{ int linux_lseek(l_uint fdes, l_off_t off, \
57				    l_int whence); }
589	AUE_MMAP	STD	{ int linux_mmap2(l_ulong addr, l_ulong len, \
59				    l_ulong prot, l_ulong flags, l_ulong fd, \
60				    l_ulong pgoff); }
6110	AUE_MPROTECT	STD	{ int linux_mprotect(caddr_t addr, l_int len, \
62				    l_int prot); }
6311	AUE_MUNMAP	NOPROTO	{ int munmap(caddr_t addr, int len); }
6412	AUE_NULL	STD	{ int linux_brk(l_ulong dsend); }
6513	AUE_NULL	STD	{ int linux_rt_sigaction(l_int sig, \
66				    l_sigaction_t *act, l_sigaction_t *oact, \
67				    l_size_t sigsetsize); }
6814	AUE_NULL	STD	{ int linux_rt_sigprocmask(l_int how, \
69				    l_sigset_t *mask, l_sigset_t *omask, \
70				    l_size_t sigsetsize); }
7115	AUE_NULL	STD	{ int linux_rt_sigreturn( \
72				    struct l_ucontext *ucp); }
7316	AUE_IOCTL	STD	{ int linux_ioctl(l_uint fd, l_uint cmd, \
74				    uintptr_t arg); }
7517	AUE_PREAD	STD	{ int linux_pread(l_uint fd, char *buf, \
76				    l_size_t nbyte, l_loff_t offset); }
7718	AUE_PWRITE	STD	{ int linux_pwrite(l_uint fd, char *buf, \
78				    l_size_t nbyte, l_loff_t offset); }
7919	AUE_READV	NOPROTO	{ int readv(int fd, struct iovec *iovp, \
80				    u_int iovcnt); }
8120	AUE_WRITEV	NOPROTO	{ int writev(int fd, struct iovec *iovp, \
82				    u_int iovcnt); }
8321	AUE_ACCESS	STD	{ int linux_access(char *path, l_int amode); }
8422	AUE_PIPE	STD	{ int linux_pipe(l_ulong *pipefds); }
8523	AUE_SELECT	STD	{ int linux_select(l_int nfds, \
86				    l_fd_set *readfds, l_fd_set *writefds, \
87				    l_fd_set *exceptfds, \
88				    struct l_timeval *timeout); }
8924	AUE_NULL	NOPROTO	{ int sched_yield(void); }
9025	AUE_NULL	STD	{ int linux_mremap(l_ulong addr, \
91				    l_ulong old_len, l_ulong new_len, \
92				    l_ulong flags, l_ulong new_addr); }
9326	AUE_MSYNC	STD	{ int linux_msync(l_ulong addr, \
94				    l_size_t len, l_int fl); }
9527	AUE_MINCORE	STD	{ int linux_mincore(l_ulong start, \
96				    l_size_t len, u_char *vec); }
9728	AUE_MADVISE	NOPROTO	{ int madvise(void *addr, size_t len, \
98				    int behav); }
9929	AUE_NULL	STD	{ int linux_shmget(l_key_t key, l_size_t size, \
100				    l_int shmflg); }
10130	AUE_NULL	STD	{ int linux_shmat(l_int shmid, char *shmaddr, \
102				    l_int shmflg); }
10331	AUE_NULL	STD	{ int linux_shmctl(l_int shmid, l_int cmd, \
104				    struct l_shmid_ds *buf); }
10532	AUE_DUP		NOPROTO	{ int dup(u_int fd); }
10633	AUE_DUP2	NOPROTO	{ int dup2(u_int from, u_int to); }
10734	AUE_NULL	STD	{ int linux_pause(void); }
10835	AUE_NULL	STD	{ int linux_nanosleep( \
109				    const struct l_timespec *rqtp, \
110				    struct l_timespec *rmtp); }
11136	AUE_GETITIMER	STD	{ int linux_getitimer(l_int which, \
112				    struct l_itimerval *itv); }
11337	AUE_NULL	STD	{ int linux_alarm(l_uint secs); }
11438	AUE_SETITIMER	STD	{ int linux_setitimer(l_int which, \
115				    struct l_itimerval *itv, \
116				    struct l_itimerval *oitv); }
11739	AUE_GETPID	STD	{ int linux_getpid(void); }
11840	AUE_SENDFILE	STD	{ int linux_sendfile(l_int out, l_int in, \
119				    l_long *offset, l_size_t count); }
12041	AUE_SOCKET	STD	{ int linux_socket(l_int domain, l_int type, \
121				    l_int protocol); }
12242	AUE_CONNECT	STD	{ int linux_connect(l_int s, l_uintptr_t name, \
123				    l_int namelen); }
12443	AUE_ACCEPT	STD	{ int linux_accept(l_int s, l_uintptr_t addr, \
125				    l_uintptr_t namelen); }
12644	AUE_SENDTO	STD	{ int linux_sendto(l_int s, l_uintptr_t msg, \
127				    l_int len, l_int flags, l_uintptr_t to, \
128				    l_int tolen); }
12945	AUE_RECVFROM	STD	{ int linux_recvfrom(l_int s, l_uintptr_t buf, \
130				    l_size_t len, l_int flags, l_uintptr_t from, \
131				    l_uintptr_t fromlen); }
13246	AUE_SENDMSG	STD	{ int linux_sendmsg(l_int s, l_uintptr_t msg, \
133				    l_int flags); }
13447	AUE_RECVMSG	STD	{ int linux_recvmsg(l_int s, l_uintptr_t msg, \
135				    l_int flags); }
13648	AUE_NULL	STD	{ int linux_shutdown(l_int s, l_int how); }
13749	AUE_BIND	STD	{ int linux_bind(l_int s, l_uintptr_t name, \
138				    l_int namelen); }
13950	AUE_LISTEN	STD	{ int linux_listen(l_int s, l_int backlog); }
14051	AUE_GETSOCKNAME	STD	{ int linux_getsockname(l_int s, \
141				    l_uintptr_t addr, l_uintptr_t namelen); }
14252	AUE_GETPEERNAME	STD	{ int linux_getpeername(l_int s, \
143				    l_uintptr_t addr, l_uintptr_t namelen); }
14453	AUE_SOCKETPAIR	STD	{ int linux_socketpair(l_int domain, \
145				    l_int type, l_int protocol, l_uintptr_t rsv); }
14654	AUE_SETSOCKOPT	STD	{ int linux_setsockopt(l_int s, l_int level, \
147				    l_int optname, l_uintptr_t optval, \
148				    l_int optlen); }
14955	AUE_GETSOCKOPT	STD	{ int linux_getsockopt(l_int s, l_int level, \
150				    l_int optname, l_uintptr_t optval, \
151				    l_uintptr_t optlen); }
15256	AUE_RFORK	STD	{ int linux_clone(l_int flags, void *stack, \
153				    void *parent_tidptr, void *child_tidptr, void *tls); }
15457	AUE_FORK	STD	{ int linux_fork(void); }
15558	AUE_VFORK	STD	{ int linux_vfork(void); }
15659	AUE_EXECVE	STD	{ int linux_execve(char *path, char **argp, \
157				    char **envp); }
15860	AUE_EXIT	STD	{ void linux_exit(l_int rval); }
15961	AUE_WAIT4	STD	{ int linux_wait4(l_pid_t pid, \
160				    l_int *status, l_int options, \
161				    struct rusage *rusage); }
16262	AUE_KILL	STD	{ int linux_kill(l_int pid, l_int signum); }
16363	AUE_NULL	STD	{ int linux_newuname( \
164				    struct l_new_utsname *buf); }
16564	AUE_NULL	STD	{ int linux_semget(l_key_t key, \
166				    l_int nsems, l_int semflg); }
16765	AUE_NULL	STD	{ int linux_semop(l_int semid, \
168				    struct l_sembuf *tsops, l_uint nsops); }
16966	AUE_NULL	STD	{ int linux_semctl(l_int semid, \
170				    l_int semnum, l_int cmd, union l_semun arg); }
17167	AUE_NULL	STD	{ int linux_shmdt(char *shmaddr); }
17268	AUE_NULL	STD	{ int linux_msgget(l_key_t key, l_int msgflg); }
17369	AUE_NULL	STD	{ int linux_msgsnd(l_int msqid, \
174				    struct l_msgbuf *msgp, l_size_t msgsz, \
175				    l_int msgflg); }
17670	AUE_NULL	STD	{ int linux_msgrcv(l_int msqid, \
177				    struct l_msgbuf *msgp, l_size_t msgsz, \
178				    l_long msgtyp, l_int msgflg); }
17971	AUE_NULL	STD	{ int linux_msgctl(l_int msqid, l_int cmd, \
180				    struct l_msqid_ds *buf); }
18172	AUE_FCNTL	STD	{ int linux_fcntl(l_uint fd, l_uint cmd, \
182				    l_ulong arg); }
18373	AUE_FLOCK	NOPROTO	{ int flock(int fd, int how); }
18474	AUE_FSYNC	NOPROTO	{ int fsync(int fd); }
18575	AUE_NULL	STD	{ int linux_fdatasync(l_uint fd); }
18676	AUE_TRUNCATE	STD	{ int linux_truncate(char *path, \
187				    l_ulong length); }
18877	AUE_FTRUNCATE	STD	{ int linux_ftruncate(l_int fd, l_long length); }
18978	AUE_GETDIRENTRIES	STD { int linux_getdents(l_uint fd, void *dent, \
190				    l_uint count); }
19179	AUE_GETCWD	STD	{ int linux_getcwd(char *buf, \
192				    l_ulong bufsize); }
19380	AUE_CHDIR	STD	{ int linux_chdir(char *path); }
19481	AUE_FCHDIR	NOPROTO	{ int fchdir(int fd); }
19582	AUE_RENAME	STD	{ int linux_rename(char *from, char *to); }
19683	AUE_MKDIR	STD	{ int linux_mkdir(char *path, l_int mode); }
19784	AUE_RMDIR	STD	{ int linux_rmdir(char *path); }
19885	AUE_CREAT	STD	{ int linux_creat(char *path, \
199				    l_int mode); }
20086	AUE_LINK	STD	{ int linux_link(char *path, char *to); }
20187	AUE_UNLINK	STD	{ int linux_unlink(char *path); }
20288	AUE_SYMLINK	STD	{ int linux_symlink(char *path, char *to); }
20389	AUE_READLINK	STD	{ int linux_readlink(char *name, char *buf, \
204				    l_int count); }
20590	AUE_CHMOD	STD	{ int linux_chmod(char *path, \
206				    l_mode_t mode); }
20791	AUE_FCHMOD	NOPROTO	{ int fchmod(int fd, int mode); }
20892	AUE_LCHOWN	STD	{ int linux_chown(char *path, \
209				    l_uid_t uid, l_gid_t gid); }
21093	AUE_FCHOWN	NOPROTO	{ int fchown(int fd, int uid, int gid); }
21194	AUE_LCHOWN	STD	{ int linux_lchown(char *path, l_uid_t uid, \
212				    l_gid_t gid); }
21395	AUE_UMASK	NOPROTO	{ int umask(int newmask); }
21496	AUE_NULL	NOPROTO	{ int gettimeofday(struct l_timeval *tp, \
215				    struct timezone *tzp); }
21697	AUE_GETRLIMIT	STD	{ int linux_getrlimit(l_uint resource, \
217				    struct l_rlimit *rlim); }
21898	AUE_GETRUSAGE	NOPROTO	{ int getrusage(int who, struct rusage *rusage); }
21999	AUE_NULL	STD	{ int linux_sysinfo(struct l_sysinfo *info); }
220100	AUE_NULL	STD	{ int linux_times(struct l_times_argv *buf); }
221101	AUE_PTRACE	STD	{ int linux_ptrace(l_long req, l_long pid, \
222				    l_ulong addr, l_ulong data); }
223102	AUE_GETUID	STD	{ int linux_getuid(void); }
224103	AUE_NULL	STD	{ int linux_syslog(l_int type, char *buf, \
225				    l_int len); }
226104	AUE_GETGID	STD	{ int linux_getgid(void); }
227105	AUE_SETUID	NOPROTO	{ int setuid(uid_t uid); }
228106	AUE_SETGID	NOPROTO	{ int setgid(gid_t gid); }
229107	AUE_GETEUID	NOPROTO	{ int geteuid(void); }
230108	AUE_GETEGID	NOPROTO	{ int getegid(void); }
231109	AUE_SETPGRP	NOPROTO	{ int setpgid(int pid, int pgid); }
232110	AUE_GETPPID	STD	{ int linux_getppid(void); }
233111	AUE_GETPGRP	NOPROTO	{ int getpgrp(void); }
234112	AUE_SETSID	NOPROTO	{ int setsid(void); }
235113	AUE_SETREUID	NOPROTO	{ int setreuid(uid_t ruid, uid_t euid); }
236114	AUE_SETREGID	NOPROTO	{ int setregid(gid_t rgid, gid_t egid); }
237115	AUE_GETGROUPS	STD	{ int linux_getgroups(l_int gidsetsize, \
238				    l_gid_t *grouplist); }
239116	AUE_SETGROUPS	STD	{ int linux_setgroups(l_int gidsetsize, \
240				    l_gid_t *grouplist); }
241117	AUE_SETRESUID	NOPROTO	{ int setresuid(uid_t ruid, uid_t euid, \
242				    uid_t suid); }
243118	AUE_GETRESUID	NOPROTO	{ int getresuid(uid_t *ruid, uid_t *euid, \
244				    uid_t *suid); }
245119	AUE_SETRESGID	NOPROTO	{ int setresgid(gid_t rgid, gid_t egid, \
246				    gid_t sgid); }
247120	AUE_GETRESGID	NOPROTO	{ int getresgid(gid_t *rgid, gid_t *egid, \
248				    gid_t *sgid); }
249121	AUE_GETPGID	NOPROTO	{ int getpgid(int pid); }
250122	AUE_SETFSUID	STD	{ int linux_setfsuid(l_uid_t uid); }
251123	AUE_SETFSGID	STD	{ int linux_setfsgid(l_gid_t gid); }
252124	AUE_GETSID	STD	{ int linux_getsid(l_pid_t pid); }
253125	AUE_CAPGET	STD	{ int linux_capget(struct l_user_cap_header *hdrp, \
254				    struct l_user_cap_data *datap); }
255126	AUE_CAPSET	STD	{ int linux_capset(struct l_user_cap_header *hdrp, \
256				    struct l_user_cap_data *datap); }
257127	AUE_NULL	STD	{ int linux_rt_sigpending(l_sigset_t *set, \
258				    l_size_t sigsetsize); }
259128	AUE_NULL	STD	{ int linux_rt_sigtimedwait(l_sigset_t *mask, \
260				    l_siginfo_t *ptr, \
261				    struct l_timeval *timeout, \
262				    l_size_t sigsetsize); }
263129	AUE_NULL	STD	{ int linux_rt_sigqueueinfo(l_pid_t pid, l_int sig, \
264				    l_siginfo_t *info); }
265130	AUE_NULL	STD	{ int linux_rt_sigsuspend( \
266				    l_sigset_t *newset, \
267				    l_size_t sigsetsize); }
268131	AUE_NULL	STD	{ int linux_sigaltstack(l_stack_t *uss, \
269				    l_stack_t *uoss); }
270132	AUE_UTIME	STD	{ int linux_utime(char *fname, \
271				    struct l_utimbuf *times); }
272133	AUE_MKNOD	STD	{ int linux_mknod(char *path, l_int mode, \
273				    l_dev_t dev); }
274134	AUE_USELIB	UNIMPL	uselib
275135	AUE_PERSONALITY	STD	{ int linux_personality(l_uint per); }
276136	AUE_NULL	STD	{ int linux_ustat(l_dev_t dev, \
277				    struct l_ustat *ubuf); }
278137	AUE_STATFS	STD	{ int linux_statfs(char *path, \
279				    struct l_statfs_buf *buf); }
280138	AUE_FSTATFS	STD	{ int linux_fstatfs(l_uint fd, \
281				    struct l_statfs_buf *buf); }
282139	AUE_NULL	STD	{ int linux_sysfs(l_int option, \
283				    l_ulong arg1, l_ulong arg2); }
284140	AUE_GETPRIORITY	STD	{ int linux_getpriority(l_int which, l_int who); }
285141	AUE_SETPRIORITY	NOPROTO	{ int setpriority(int which, int who, \
286				    int prio); }
287142	AUE_SCHED_SETPARAM	STD	{ int linux_sched_setparam(l_pid_t pid, \
288				    struct sched_param *param); }
289143	AUE_SCHED_GETPARAM	STD	{ int linux_sched_getparam(l_pid_t pid, \
290				    struct sched_param *param); }
291144	AUE_SCHED_SETSCHEDULER	STD { int linux_sched_setscheduler( \
292				    l_pid_t pid, l_int policy, \
293				    struct sched_param *param); }
294145	AUE_SCHED_GETSCHEDULER	STD { int linux_sched_getscheduler( \
295				    l_pid_t pid); }
296146	AUE_SCHED_GET_PRIORITY_MAX	STD { int linux_sched_get_priority_max( \
297				    l_int policy); }
298147	AUE_SCHED_GET_PRIORITY_MIN	STD { int linux_sched_get_priority_min( \
299				    l_int policy); }
300148	AUE_SCHED_RR_GET_INTERVAL	STD { int linux_sched_rr_get_interval(l_pid_t pid, \
301				    struct l_timespec *interval); }
302149	AUE_MLOCK	NOPROTO	{ int mlock(const void *addr, size_t len); }
303150	AUE_MUNLOCK	NOPROTO	{ int munlock(const void *addr, size_t len); }
304151	AUE_MLOCKALL	NOPROTO	{ int mlockall(int how); }
305152	AUE_MUNLOCKALL	NOPROTO	{ int munlockall(void); }
306153	AUE_NULL	STD	{ int linux_vhangup(void); }
307154	AUE_NULL	STD	{ int linux_modify_ldt(void); }
308155	AUE_PIVOT_ROOT	STD	{ int linux_pivot_root(void); }
309156	AUE_SYSCTL	STD	{ int linux_sysctl( \
310				    struct l___sysctl_args *args); }
311157	AUE_PRCTL	STD	{ int linux_prctl(l_int option, l_uintptr_t arg2, \
312				    l_uintptr_t arg3, l_uintptr_t arg4, \
313				    l_uintptr_t arg5); }
314158	AUE_PRCTL	STD	{ int linux_arch_prctl(l_int code, l_ulong addr); }
315159	AUE_ADJTIME	STD	{ int linux_adjtimex(void); }
316160	AUE_SETRLIMIT	STD	{ int linux_setrlimit(l_uint resource, \
317				    struct l_rlimit *rlim); }
318161	AUE_CHROOT	NOPROTO	{ int chroot(char *path); }
319162	AUE_SYNC	NOPROTO	{ int sync(void); }
320163	AUE_ACCT	NOPROTO	{ int acct(char *path); }
321164	AUE_SETTIMEOFDAY	NOPROTO	{ int settimeofday(struct l_timeval *tv, struct timezone *tzp); }
322165	AUE_MOUNT	STD	{ int linux_mount(char *specialfile, \
323				    char *dir, char *filesystemtype, \
324				    l_ulong rwflag, void *data); }
325166	AUE_UMOUNT	STD	{ int linux_umount(char *path, l_int flags); }
326167	AUE_SWAPON	NOPROTO	{ int swapon(char *name); }
327168	AUE_SWAPOFF	STD	{ int linux_swapoff(void); }
328169	AUE_REBOOT	STD	{ int linux_reboot(l_int magic1, \
329				    l_int magic2, l_uint cmd, void *arg); }
330170	AUE_SYSCTL	STD	{ int linux_sethostname(char *hostname, \
331				    l_uint len); }
332171	AUE_SYSCTL	STD	{ int linux_setdomainname(char *name, \
333				    l_int len); }
334172	AUE_NULL	STD	{ int linux_iopl(l_uint level); }
335173	AUE_NULL	STD	{ int linux_ioperm(void); }
336174	AUE_NULL	UNIMPL	create_module
337175	AUE_NULL	STD	{ int linux_init_module(void); }
338176	AUE_NULL	STD	{ int linux_delete_module(void); }
339177	AUE_NULL	UNIMPL	get_kernel_syms
340178	AUE_NULL	UNIMPL	query_module
341179	AUE_QUOTACTL	STD	{ int linux_quotactl(void); }
342180	AUE_NULL	UNIMPL	nfsservctl
343181	AUE_GETPMSG	UNIMPL	getpmsg
344182	AUE_PUTPMSG	UNIMPL	putpmsg
345183	AUE_NULL	UNIMPL	afs_syscall
346184	AUE_NULL	UNIMPL	tuxcall
347185	AUE_NULL	UNIMPL	security
348186	AUE_NULL	STD	{ int linux_gettid(void); }
349187	AUE_NULL	STD	{ int linux_readahead(void); }
350188	AUE_NULL	STD	{ int linux_setxattr(void); }
351189	AUE_NULL	STD	{ int linux_lsetxattr(void); }
352190	AUE_NULL	STD	{ int linux_fsetxattr(void); }
353191	AUE_NULL	STD	{ int linux_getxattr(void); }
354192	AUE_NULL	STD	{ int linux_lgetxattr(void); }
355193	AUE_NULL	STD	{ int linux_fgetxattr(void); }
356194	AUE_NULL	STD	{ int linux_listxattr(void); }
357195	AUE_NULL	STD	{ int linux_llistxattr(void); }
358196	AUE_NULL	STD	{ int linux_flistxattr(void); }
359197	AUE_NULL	STD	{ int linux_removexattr(void); }
360198	AUE_NULL	STD	{ int linux_lremovexattr(void); }
361199	AUE_NULL	STD	{ int linux_fremovexattr(void); }
362200	AUE_NULL	STD	{ int linux_tkill(l_int tid, l_int sig); }
363201	AUE_NULL	STD	{ int linux_time(l_time_t *tm); }
364202	AUE_NULL	STD	{ int linux_sys_futex(void *uaddr, l_int op, l_int val, \
365				    struct l_timespec *timeout, void *uaddr2, l_int val3); }
366203	AUE_NULL	STD	{ int linux_sched_setaffinity(l_pid_t pid, l_uint len, \
367				    l_ulong *user_mask_ptr); }
368204	AUE_NULL	STD	{ int linux_sched_getaffinity(l_pid_t pid, l_uint len, \
369				    l_ulong *user_mask_ptr); }
370205	AUE_NULL	UNIMPL	set_thread_area
371206	AUE_NULL	STD	{ int linux_io_setup(void); }
372207	AUE_NULL	STD	{ int linux_io_destroy(void); }
373208	AUE_NULL	STD	{ int linux_io_getevents(void); }
374209	AUE_NULL	STD	{ int linux_io_submit(void); }
375210	AUE_NULL	STD	{ int linux_io_cancel(void); }
376211	AUE_NULL	UNIMPL	get_thread_area
377212	AUE_NULL	STD	{ int linux_lookup_dcookie(void); }
378213	AUE_NULL	STD	{ int linux_epoll_create(l_int size); }
379214	AUE_NULL	UNIMPL	epoll_ctl_old
380215	AUE_NULL	UNIMPL	epoll_wait_old
381216	AUE_NULL	STD	{ int linux_remap_file_pages(void); }
382217	AUE_GETDIRENTRIES	STD { int linux_getdents64(l_uint fd, \
383				    void *dirent, l_uint count); }
384218	AUE_NULL	STD	{ int linux_set_tid_address(l_int *tidptr); }
385219	AUE_NULL	STD	{ int linux_restart_syscall(void); }
386220	AUE_NULL	STD	{ int linux_semtimedop(void); }
387221	AUE_NULL	STD	{ int linux_fadvise64(l_int fd, l_loff_t offset, \
388				    l_size_t len, l_int advice); }
389222	AUE_NULL	STD	{ int linux_timer_create(clockid_t clock_id, \
390				    struct sigevent *evp, l_timer_t *timerid); }
391223	AUE_NULL	STD	{ int linux_timer_settime(l_timer_t timerid, l_int flags, \
392				    const struct itimerspec *new, struct itimerspec *old); }
393224	AUE_NULL	STD	{ int linux_timer_gettime(l_timer_t timerid, struct itimerspec *setting); }
394225	AUE_NULL	STD	{ int linux_timer_getoverrun(l_timer_t timerid); }
395226	AUE_NULL	STD	{ int linux_timer_delete(l_timer_t timerid); }
396227	AUE_CLOCK_SETTIME	STD	{ int linux_clock_settime(clockid_t which, struct l_timespec *tp); }
397228	AUE_NULL	STD	{ int linux_clock_gettime(clockid_t which, struct l_timespec *tp); }
398229	AUE_NULL	STD	{ int linux_clock_getres(clockid_t which, struct l_timespec *tp); }
399230	AUE_NULL	STD	{ int linux_clock_nanosleep(clockid_t which, int flags, \
400				    struct l_timespec *rqtp, struct l_timespec *rmtp); }
401231	AUE_EXIT	STD	{ int linux_exit_group(l_int error_code); }
402232	AUE_NULL	STD	{ int linux_epoll_wait(l_int epfd, struct epoll_event *events, \
403					l_int maxevents, l_int timeout); }
404233	AUE_NULL	STD	{ int linux_epoll_ctl(l_int epfd, l_int op, l_int fd, \
405					struct epoll_event *event); }
406234	AUE_NULL	STD	{ int linux_tgkill(l_int tgid, l_int pid, l_int sig); }
407235	AUE_UTIMES	STD	{ int linux_utimes(char *fname, \
408				    struct l_timeval *tptr); }
409236	AUE_NULL	UNIMPL	vserver
410237	AUE_NULL	STD	{ int linux_mbind(void); }
411238	AUE_NULL	STD	{ int linux_set_mempolicy(void); }
412239	AUE_NULL	STD	{ int linux_get_mempolicy(void); }
413240	AUE_NULL	STD	{ int linux_mq_open(void); }
414241	AUE_NULL	STD	{ int linux_mq_unlink(void); }
415242	AUE_NULL	STD	{ int linux_mq_timedsend(void); }
416243	AUE_NULL	STD	{ int linux_mq_timedreceive(void); }
417244	AUE_NULL	STD	{ int linux_mq_notify(void); }
418245	AUE_NULL	STD	{ int linux_mq_getsetattr(void); }
419246	AUE_NULL	STD	{ int linux_kexec_load(void); }
420247	AUE_WAIT6	STD	{ int linux_waitid(l_int idtype, l_pid_t id, \
421				    l_siginfo_t *info, l_int options, \
422				    struct rusage *rusage); }
423248	AUE_NULL	STD	{ int linux_add_key(void); }
424249	AUE_NULL	STD	{ int linux_request_key(void); }
425250	AUE_NULL	STD	{ int linux_keyctl(void); }
426251	AUE_NULL	STD	{ int linux_ioprio_set(void); }
427252	AUE_NULL	STD	{ int linux_ioprio_get(void); }
428253	AUE_NULL	STD	{ int linux_inotify_init(void); }
429254	AUE_NULL	STD	{ int linux_inotify_add_watch(void); }
430255	AUE_NULL	STD	{ int linux_inotify_rm_watch(void); }
431256	AUE_NULL	STD	{ int linux_migrate_pages(void); }
432257	AUE_OPEN_RWTC	STD	{ int linux_openat(l_int dfd, const char *filename, \
433				    l_int flags, l_int mode); }
434258	AUE_MKDIRAT	STD	{ int linux_mkdirat(l_int dfd, const char *pathname, \
435				    l_int mode); }
436259	AUE_MKNODAT	STD	{ int linux_mknodat(l_int dfd, const char *filename, \
437				    l_int mode, l_uint dev); }
438260	AUE_FCHOWNAT	STD	{ int linux_fchownat(l_int dfd, const char *filename, \
439				    l_uid_t uid, l_gid_t gid, l_int flag); }
440261	AUE_FUTIMESAT	STD	{ int linux_futimesat(l_int dfd, char *filename, \
441				    struct l_timeval *utimes); }
442262	AUE_FSTATAT	STD	{ int linux_newfstatat(l_int dfd, char *pathname, \
443				    struct l_stat64 *statbuf, l_int flag); }
444263	AUE_UNLINKAT	STD	{ int linux_unlinkat(l_int dfd, const char *pathname, \
445				    l_int flag); }
446264	AUE_RENAMEAT	STD	{ int linux_renameat(l_int olddfd, const char *oldname, \
447				    l_int newdfd, const char *newname); }
448265	AUE_LINKAT	STD	{ int linux_linkat(l_int olddfd, const char *oldname, \
449				    l_int newdfd, const char *newname, l_int flag); }
450266	AUE_SYMLINKAT	STD	{ int linux_symlinkat(const char *oldname, l_int newdfd, \
451				    const char *newname); }
452267	AUE_READLINKAT	STD	{ int linux_readlinkat(l_int dfd, const char *path, \
453				    char *buf, l_int bufsiz); }
454268	AUE_FCHMODAT	STD	{ int linux_fchmodat(l_int dfd, const char *filename, \
455				    l_mode_t mode); }
456269	AUE_FACCESSAT	STD	{ int linux_faccessat(l_int dfd, const char *filename, \
457				    l_int amode); }
458270	AUE_SELECT	STD	{ int linux_pselect6(l_int nfds,			\
459				    l_fd_set *readfds, l_fd_set *writefds, l_fd_set *exceptfds,	\
460				    struct l_timespec *tsp, l_uintptr_t *sig); }
461271	AUE_POLL	STD	{ int linux_ppoll(struct pollfd *fds, uint32_t nfds,	\
462				    struct l_timespec *tsp, l_sigset_t *sset, l_size_t ssize); }
463272	AUE_NULL	STD	{ int linux_unshare(void); }
464273	AUE_NULL	STD	{ int linux_set_robust_list(struct linux_robust_list_head *head, \
465				    l_size_t len); }
466274	AUE_NULL	STD	{ int linux_get_robust_list(l_int pid, \
467				    struct linux_robust_list_head **head, l_size_t *len); }
468275	AUE_NULL	STD	{ int linux_splice(void); }
469276	AUE_NULL	STD	{ int linux_tee(void); }
470277	AUE_NULL	STD	{ int linux_sync_file_range(l_int fd, l_loff_t offset,
471				    l_loff_t nbytes, unsigned int flags); }
472278	AUE_NULL	STD	{ int linux_vmsplice(void); }
473279	AUE_NULL	STD	{ int linux_move_pages(void); }
474280	AUE_FUTIMESAT	STD	{ int linux_utimensat(l_int dfd, const char *pathname, \
475				    const struct l_timespec *times, l_int flags); }
476281	AUE_NULL	STD	{ int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
477				    l_int maxevents, l_int timeout, l_sigset_t *mask, \
478				    l_size_t sigsetsize); }
479282	AUE_NULL	STD	{ int linux_signalfd(void); }
480283	AUE_NULL	STD	{ int linux_timerfd_create(l_int clockid, l_int flags); }
481284	AUE_NULL	STD	{ int linux_eventfd(l_uint initval); }
482285	AUE_NULL	STD	{ int linux_fallocate(l_int fd, l_int mode, \
483				    l_loff_t offset, l_loff_t len); }
484286	AUE_NULL	STD	{ int linux_timerfd_settime(l_int fd, l_int flags,	\
485				    const struct l_itimerspec *new_value,		\
486				    struct l_itimerspec *old_value); }
487287	AUE_NULL	STD	{ int linux_timerfd_gettime(l_int fd,	\
488				    struct l_itimerspec *old_value); }
489288	AUE_ACCEPT	STD	{ int linux_accept4(l_int s, l_uintptr_t addr, \
490				    l_uintptr_t namelen, int flags); }
491; Linux 2.6.27:
492289	AUE_NULL	STD	{ int linux_signalfd4(void); }
493290	AUE_NULL	STD	{ int linux_eventfd2(l_uint initval, l_int flags); }
494291	AUE_NULL	STD	{ int linux_epoll_create1(l_int flags); }
495292	AUE_NULL	STD	{ int linux_dup3(l_int oldfd,		\
496				    l_int newfd, l_int flags); }
497293	AUE_NULL	STD	{ int linux_pipe2(l_int *pipefds, l_int flags); }
498294	AUE_NULL	STD	{ int linux_inotify_init1(l_int flags); }
499; Linux 2.6.30:
500295	AUE_NULL	STD	{ int linux_preadv(l_ulong fd,			\
501				    struct iovec *vec, l_ulong vlen,		\
502				    l_ulong pos_l, l_ulong pos_h); }
503296	AUE_NULL	STD	{ int linux_pwritev(l_ulong fd,			\
504				    struct iovec *vec, l_ulong vlen,		\
505				    l_ulong pos_l, l_ulong pos_h); }
506; Linux 2.6.31:
507297	AUE_NULL	STD	{ int linux_rt_tgsigqueueinfo(l_pid_t tgid,	\
508				    l_pid_t tid, l_int sig, l_siginfo_t *uinfo); }
509298	AUE_NULL	STD	{ int linux_perf_event_open(void); }
510; Linux 2.6.33:
511299	AUE_NULL	STD	{ int linux_recvmmsg(l_int s,			\
512				    struct l_mmsghdr *msg, l_uint vlen,		\
513				    l_uint flags, struct l_timespec *timeout); }
514; Linux 2.6.37:
515300	AUE_NULL	STD	{ int linux_fanotify_init(void); }
516301	AUE_NULL	STD	{ int linux_fanotify_mark(void); }
517; Linux 2.6.36:
518302	AUE_NULL	STD	{ int linux_prlimit64(l_pid_t pid, l_uint resource, \
519				    struct rlimit *new, struct rlimit *old); }
520; Linux 2.6.39 (glibc 2.14):
521303	AUE_NULL	STD	{ int linux_name_to_handle_at(void); }
522304	AUE_NULL	STD	{ int linux_open_by_handle_at(void); }
523305	AUE_NULL	STD	{ int linux_clock_adjtime(void); }
524306	AUE_SYNC	STD	{ int linux_syncfs(l_int fd); }
525; Linux 3.0 (glibc 2.14):
526307	AUE_NULL	STD	{ int linux_sendmmsg(l_int s,			\
527				    struct l_mmsghdr *msg, l_uint vlen,		\
528				    l_uint flags); }
529308	AUE_NULL	STD	{ int linux_setns(l_int fd, l_int nstype); }
530; Linux 2.6.19 (no glibc wrapper):
531309	AUE_NULL	STD	{ int linux_getcpu(l_uint *cpu, l_uint *node,	\
532				    void *cache); }
533; Linux 3.2 (glibc 2.15):
534310	AUE_NULL	STD	{ int linux_process_vm_readv(l_pid_t pid,	\
535				    const struct iovec *lvec, l_ulong liovcnt,	\
536				    const struct iovec *rvec, l_ulong riovcnt,	\
537				    l_ulong flags); }
538311	AUE_NULL	STD	{ int linux_process_vm_writev(l_pid_t pid,	\
539				    const struct iovec *lvec, l_ulong liovcnt,	\
540				    const struct iovec *rvec, l_ulong riovcnt,	\
541				    l_ulong flags); }
542; Linux 3.5 (no glibc wrapper):
543312	AUE_NULL	STD	{ int linux_kcmp(l_pid_t pid1, l_pid_t pid2,	\
544				    l_int type, l_ulong idx1, l_ulong idx); }
545; Linux 3.8 (no glibc wrapper):
546313	AUE_NULL	STD	{ int linux_finit_module(l_int fd,		\
547				    const char *uargs, l_int flags); }
548; Linux 3.14:
549314	AUE_NULL	STD	{ int linux_sched_setattr(l_pid_t pid,		\
550				    void *attr, l_uint flags); }
551315	AUE_NULL	STD	{ int linux_sched_getattr(l_pid_t pid,		\
552				    void *attr, l_uint size, l_uint flags); }
553; Linux 3.15:
554316	AUE_NULL	STD	{ int linux_renameat2(l_int olddfd,		\
555				    const char *oldname, l_int newdfd,		\
556				    const char *newname, unsigned int flags); }
557; Linux 3.17:
558317	AUE_NULL	STD	{ int linux_seccomp(l_uint op, l_uint flags,	\
559				    const char *uargs); }
560318	AUE_NULL	STD	{ int linux_getrandom(char *buf,		\
561				    l_size_t count, l_uint flags); }
562319	AUE_NULL	STD	{ int linux_memfd_create(const char *uname_ptr,	\
563				    l_uint flags); }
564320	AUE_NULL	STD	{ int linux_kexec_file_load(l_int kernel_fd,	\
565				    l_int initrd_fd, l_ulong cmdline_len,	\
566				    const char *cmdline_ptr, l_ulong flags); }
567; Linux 3.18:
568321	AUE_NULL	STD	{ int linux_bpf(l_int cmd, void *attr,		\
569				    l_uint size); }
570; Linux 3.19:
571322	AUE_NULL	STD	{ int linux_execveat(l_int dfd,			\
572				    const char *filename, const char **argv,	\
573				    const char **envp, l_int flags); }
574; Linux 4.2:
575323	AUE_NULL	STD	{ int linux_userfaultfd(l_int flags); }
576; Linux 4.3:
577324	AUE_NULL	STD	{ int linux_membarrier(l_int cmd, l_int flags); }
578; Linux 4.4:
579325	AUE_NULL	STD	{ int linux_mlock2(l_ulong start, l_size_t len,	\
580				    l_int flags); }
581; Linux 4.5:
582326	AUE_NULL	STD	{ int linux_copy_file_range(l_int fd_in,	\
583				    l_loff_t *off_in, l_int fd_out,		\
584				    l_loff_t *off_out, l_size_t len,		\
585				    l_uint flags); }
586; Linux 4.6:
587327	AUE_NULL	STD	{ int linux_preadv2(l_ulong fd,			\
588				    const struct iovec *vec, l_ulong vlen,	\
589				    l_ulong pos_l, l_ulong pos_h, l_int flags); }
590328	AUE_NULL	STD	{ int linux_pwritev2(l_ulong fd,		\
591				    const struct iovec *vec, l_ulong vlen,	\
592				    l_ulong pos_l, l_ulong pos_h, l_int flags); }
593; Linux 4.8:
594329	AUE_NULL	STD	{ int linux_pkey_mprotect(l_ulong start,	\
595				    l_size_t len, l_ulong prot, l_int pkey); }
596330	AUE_NULL	STD	{ int linux_pkey_alloc(l_ulong flags,		\
597				    l_ulong init_val); }
598331	AUE_NULL	STD	{ int linux_pkey_free(l_int pkey); }
599; Linux 4.11:
600332	AUE_NULL	STD	{ int linux_statx(l_int dirfd,			\
601				    const char *pathname, l_uint flags,		\
602				    l_uint mask, void *statxbuf); }
603; Linux 4.18:
604333	AUE_NULL	STD	{ int linux_io_pgetevents(void); }
605334	AUE_NULL	STD	{ int linux_rseq(void); }
606; Linux 5.0:
607335-423	AUE_NULL	UNIMPL	nosys
608424	AUE_NULL	STD	{ int linux_pidfd_send_signal(l_int pidfd,	\
609				    l_int sig, l_siginfo_t *info, l_uint flags); }
610425	AUE_NULL	STD	{ int linux_io_uring_setup(void); }
611426	AUE_NULL	STD	{ int linux_io_uring_enter(void); }
612427	AUE_NULL	STD	{ int linux_io_uring_register(void); }
613
614; please, keep this line at the end.
615428	AUE_NULL	UNIMPL	nosys
616; vim: syntax=off
617