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.
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
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.
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>
37 ; Isn't pretty, but there seems to be no other way to trap nosys
38 #define nosys linux_nosys
40 ; #ifdef's, etc. may be included, and are copied to the output files.
42 0 AUE_NULL UNIMPL setup
43 1 AUE_EXIT STD { void linux_exit(int rval); }
44 2 AUE_FORK STD { int linux_fork(void); }
45 3 AUE_NULL NOPROTO { int read(int fd, char *buf, \
47 4 AUE_NULL NOPROTO { int write(int fd, char *buf, \
49 5 AUE_OPEN_RWTC STD { int linux_open(char *path, l_int flags, \
51 6 AUE_CLOSE NOPROTO { int close(int fd); }
52 7 AUE_WAIT4 STD { int linux_waitpid(l_pid_t pid, \
53 l_int *status, l_int options); }
54 8 AUE_CREAT STD { int linux_creat(char *path, \
56 9 AUE_LINK STD { int linux_link(char *path, char *to); }
57 10 AUE_UNLINK STD { int linux_unlink(char *path); }
58 11 AUE_EXECVE STD { int linux_execve(char *path, uint32_t *argp, \
60 12 AUE_CHDIR STD { int linux_chdir(char *path); }
61 13 AUE_NULL STD { int linux_time(l_time_t *tm); }
62 14 AUE_MKNOD STD { int linux_mknod(char *path, l_int mode, \
64 15 AUE_CHMOD STD { int linux_chmod(char *path, \
66 16 AUE_LCHOWN STD { int linux_lchown16(char *path, \
67 l_uid16_t uid, l_gid16_t gid); }
68 17 AUE_NULL UNIMPL break
69 18 AUE_STAT STD { int linux_stat(char *path, \
70 struct linux_stat *up); }
71 19 AUE_LSEEK STD { int linux_lseek(l_uint fdes, l_off_t off, \
73 20 AUE_GETPID STD { int linux_getpid(void); }
74 21 AUE_MOUNT STD { int linux_mount(char *specialfile, \
75 char *dir, char *filesystemtype, \
76 l_ulong rwflag, void *data); }
77 22 AUE_UMOUNT STD { int linux_oldumount(char *path); }
78 23 AUE_SETUID STD { int linux_setuid16(l_uid16_t uid); }
79 24 AUE_GETUID STD { int linux_getuid16(void); }
80 25 AUE_SETTIMEOFDAY STD { int linux_stime(void); }
81 26 AUE_PTRACE STD { int linux_ptrace(l_long req, l_long pid, \
82 l_long addr, l_long data); }
83 27 AUE_NULL STD { int linux_alarm(l_uint secs); }
84 28 AUE_FSTAT UNIMPL fstat
85 29 AUE_NULL STD { int linux_pause(void); }
86 30 AUE_UTIME STD { int linux_utime(char *fname, \
87 struct l_utimbuf *times); }
88 31 AUE_NULL UNIMPL stty
89 32 AUE_NULL UNIMPL gtty
90 33 AUE_ACCESS STD { int linux_access(char *path, l_int amode); }
91 34 AUE_NICE STD { int linux_nice(l_int inc); }
92 35 AUE_NULL UNIMPL ftime
93 36 AUE_SYNC NOPROTO { int sync(void); }
94 37 AUE_KILL STD { int linux_kill(l_int pid, l_int signum); }
95 38 AUE_RENAME STD { int linux_rename(char *from, char *to); }
96 39 AUE_MKDIR STD { int linux_mkdir(char *path, l_int mode); }
97 40 AUE_RMDIR STD { int linux_rmdir(char *path); }
98 41 AUE_DUP NOPROTO { int dup(u_int fd); }
99 42 AUE_PIPE STD { int linux_pipe(l_int *pipefds); }
100 43 AUE_NULL STD { int linux_times(struct l_times_argv *buf); }
101 44 AUE_NULL UNIMPL prof
102 45 AUE_NULL STD { int linux_brk(l_ulong dsend); }
103 46 AUE_SETGID STD { int linux_setgid16(l_gid16_t gid); }
104 47 AUE_GETGID STD { int linux_getgid16(void); }
105 48 AUE_NULL STD { int linux_signal(l_int sig, \
106 l_handler_t handler); }
107 49 AUE_GETEUID STD { int linux_geteuid16(void); }
108 50 AUE_GETEGID STD { int linux_getegid16(void); }
109 51 AUE_ACCT NOPROTO { int acct(char *path); }
110 52 AUE_UMOUNT STD { int linux_umount(char *path, l_int flags); }
111 53 AUE_NULL UNIMPL lock
112 54 AUE_IOCTL STD { int linux_ioctl(l_uint fd, l_uint cmd, \
114 55 AUE_FCNTL STD { int linux_fcntl(l_uint fd, l_uint cmd, \
116 56 AUE_NULL UNIMPL mpx
117 57 AUE_SETPGRP NOPROTO { int setpgid(int pid, int pgid); }
118 58 AUE_NULL UNIMPL ulimit
119 59 AUE_NULL STD { int linux_olduname(void); }
120 60 AUE_UMASK NOPROTO { int umask(int newmask); }
121 61 AUE_CHROOT NOPROTO { int chroot(char *path); }
122 62 AUE_NULL STD { int linux_ustat(l_dev_t dev, \
123 struct l_ustat *ubuf); }
124 63 AUE_DUP2 NOPROTO { int dup2(u_int from, u_int to); }
125 64 AUE_GETPPID STD { int linux_getppid(void); }
126 65 AUE_GETPGRP NOPROTO { int getpgrp(void); }
127 66 AUE_SETSID NOPROTO { int setsid(void); }
128 67 AUE_NULL STD { int linux_sigaction(l_int sig, \
129 l_osigaction_t *nsa, \
130 l_osigaction_t *osa); }
131 68 AUE_NULL STD { int linux_sgetmask(void); }
132 69 AUE_NULL STD { int linux_ssetmask(l_osigset_t mask); }
133 70 AUE_SETREUID STD { int linux_setreuid16(l_uid16_t ruid, \
135 71 AUE_SETREGID STD { int linux_setregid16(l_gid16_t rgid, \
137 72 AUE_NULL STD { int linux_sigsuspend(l_int hist0, \
138 l_int hist1, l_osigset_t mask); }
139 73 AUE_NULL STD { int linux_sigpending(l_osigset_t *mask); }
140 74 AUE_SYSCTL STD { int linux_sethostname(char *hostname, \
142 75 AUE_SETRLIMIT STD { int linux_setrlimit(l_uint resource, \
143 struct l_rlimit *rlim); }
144 76 AUE_GETRLIMIT STD { int linux_old_getrlimit(l_uint resource, \
145 struct l_rlimit *rlim); }
146 77 AUE_GETRUSAGE STD { int linux_getrusage(int who, \
147 struct l_rusage *rusage); }
148 78 AUE_NULL STD { int linux_gettimeofday( \
149 struct l_timeval *tp, \
150 struct timezone *tzp); }
151 79 AUE_SETTIMEOFDAY STD { int linux_settimeofday( \
152 struct l_timeval *tp, \
153 struct timezone *tzp); }
154 80 AUE_GETGROUPS STD { int linux_getgroups16(l_uint gidsetsize, \
155 l_gid16_t *gidset); }
156 81 AUE_SETGROUPS STD { int linux_setgroups16(l_uint gidsetsize, \
157 l_gid16_t *gidset); }
158 82 AUE_SELECT STD { int linux_old_select( \
159 struct l_old_select_argv *ptr); }
160 83 AUE_SYMLINK STD { int linux_symlink(char *path, char *to); }
162 84 AUE_LSTAT STD { int linux_lstat(char *path, struct linux_lstat *up); }
163 85 AUE_READLINK STD { int linux_readlink(char *name, char *buf, \
165 86 AUE_USELIB UNIMPL linux_uselib
166 87 AUE_SWAPON NOPROTO { int swapon(char *name); }
167 88 AUE_REBOOT STD { int linux_reboot(l_int magic1, \
168 l_int magic2, l_uint cmd, void *arg); }
170 89 AUE_GETDIRENTRIES STD { int linux_readdir(l_uint fd, \
171 struct l_dirent *dent, l_uint count); }
173 90 AUE_MMAP STD { int linux_mmap(struct l_mmap_argv *ptr); }
174 91 AUE_MUNMAP NOPROTO { int munmap(caddr_t addr, int len); }
175 92 AUE_TRUNCATE STD { int linux_truncate(char *path, \
177 93 AUE_FTRUNCATE STD { int linux_ftruncate(int fd, long length); }
178 94 AUE_FCHMOD NOPROTO { int fchmod(int fd, int mode); }
179 95 AUE_FCHOWN NOPROTO { int fchown(int fd, int uid, int gid); }
180 96 AUE_GETPRIORITY STD { int linux_getpriority(int which, int who); }
181 97 AUE_SETPRIORITY NOPROTO { int setpriority(int which, int who, \
183 98 AUE_PROFILE UNIMPL profil
184 99 AUE_STATFS STD { int linux_statfs(char *path, \
185 struct l_statfs_buf *buf); }
186 100 AUE_FSTATFS STD { int linux_fstatfs(l_uint fd, \
187 struct l_statfs_buf *buf); }
188 101 AUE_NULL UNIMPL ioperm
189 102 AUE_NULL STD { int linux_socketcall(l_int what, \
191 103 AUE_NULL STD { int linux_syslog(l_int type, char *buf, \
193 104 AUE_SETITIMER STD { int linux_setitimer(l_int which, \
194 struct l_itimerval *itv, \
195 struct l_itimerval *oitv); }
196 105 AUE_GETITIMER STD { int linux_getitimer(l_int which, \
197 struct l_itimerval *itv); }
198 106 AUE_STAT STD { int linux_newstat(char *path, \
199 struct l_newstat *buf); }
200 107 AUE_LSTAT STD { int linux_newlstat(char *path, \
201 struct l_newstat *buf); }
202 108 AUE_FSTAT STD { int linux_newfstat(l_uint fd, \
203 struct l_newstat *buf); }
205 109 AUE_NULL STD { int linux_uname(void); }
206 110 AUE_NULL STD { int linux_iopl(l_int level); }
207 111 AUE_NULL STD { int linux_vhangup(void); }
208 112 AUE_NULL UNIMPL idle
209 113 AUE_NULL UNIMPL vm86old
210 114 AUE_WAIT4 STD { int linux_wait4(l_pid_t pid, \
211 l_int *status, l_int options, \
212 struct l_rusage *rusage); }
213 115 AUE_SWAPOFF STD { int linux_swapoff(void); }
214 116 AUE_NULL STD { int linux_sysinfo(struct l_sysinfo *info); }
215 117 AUE_NULL STD { int linux_ipc(l_uint what, l_int arg1, \
216 l_int arg2, l_int arg3, void *ptr, \
218 118 AUE_FSYNC NOPROTO { int fsync(int fd); }
219 119 AUE_SIGRETURN STD { int linux_sigreturn( \
220 struct l_sigframe *sfp); }
221 120 AUE_RFORK STD { int linux_clone(l_int flags, void *stack, \
222 void *parent_tidptr, void *tls, void * child_tidptr); }
223 121 AUE_SYSCTL STD { int linux_setdomainname(char *name, \
225 122 AUE_NULL STD { int linux_newuname( \
226 struct l_new_utsname *buf); }
227 123 AUE_NULL UNIMPL modify_ldt
228 124 AUE_ADJTIME STD { int linux_adjtimex(void); }
229 125 AUE_MPROTECT STD { int linux_mprotect(caddr_t addr, int len, \
231 126 AUE_SIGPROCMASK STD { int linux_sigprocmask(l_int how, \
232 l_osigset_t *mask, l_osigset_t *omask); }
233 127 AUE_NULL UNIMPL create_module
234 128 AUE_NULL STD { int linux_init_module(void); }
235 129 AUE_NULL STD { int linux_delete_module(void); }
236 130 AUE_NULL UNIMPL get_kernel_syms
237 131 AUE_QUOTACTL STD { int linux_quotactl(void); }
238 132 AUE_GETPGID NOPROTO { int getpgid(int pid); }
239 133 AUE_FCHDIR NOPROTO { int fchdir(int fd); }
240 134 AUE_BDFLUSH STD { int linux_bdflush(void); }
241 135 AUE_NULL STD { int linux_sysfs(l_int option, \
242 l_ulong arg1, l_ulong arg2); }
243 136 AUE_PERSONALITY STD { int linux_personality(l_uint per); }
244 137 AUE_NULL UNIMPL afs_syscall
245 138 AUE_SETFSUID STD { int linux_setfsuid16(l_uid16_t uid); }
246 139 AUE_SETFSGID STD { int linux_setfsgid16(l_gid16_t gid); }
247 140 AUE_LSEEK STD { int linux_llseek(l_int fd, l_ulong ohigh, \
248 l_ulong olow, l_loff_t *res, \
250 141 AUE_GETDIRENTRIES STD { int linux_getdents(l_uint fd, void *dent, \
253 142 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); }
257 143 AUE_FLOCK NOPROTO { int flock(int fd, int how); }
258 144 AUE_MSYNC STD { int linux_msync(l_ulong addr, \
259 l_size_t len, l_int fl); }
260 145 AUE_READV STD { int linux_readv(l_ulong fd, struct l_iovec32 *iovp, \
262 146 AUE_WRITEV STD { int linux_writev(l_ulong fd, struct l_iovec32 *iovp, \
264 147 AUE_GETSID STD { int linux_getsid(l_pid_t pid); }
265 148 AUE_NULL STD { int linux_fdatasync(l_uint fd); }
266 149 AUE_SYSCTL STD { int linux_sysctl( \
267 struct l___sysctl_args *args); }
268 150 AUE_MLOCK NOPROTO { int mlock(const void *addr, size_t len); }
269 151 AUE_MUNLOCK NOPROTO { int munlock(const void *addr, size_t len); }
270 152 AUE_MLOCKALL NOPROTO { int mlockall(int how); }
271 153 AUE_MUNLOCKALL NOPROTO { int munlockall(void); }
272 154 AUE_SCHED_SETPARAM STD { int linux_sched_setparam(l_pid_t pid, \
273 struct sched_param *param); }
274 155 AUE_SCHED_GETPARAM STD { int linux_sched_getparam(l_pid_t pid, \
275 struct sched_param *param); }
276 156 AUE_SCHED_SETSCHEDULER STD { int linux_sched_setscheduler( \
277 l_pid_t pid, l_int policy, \
278 struct sched_param *param); }
279 157 AUE_SCHED_GETSCHEDULER STD { int linux_sched_getscheduler( \
281 158 AUE_NULL NOPROTO { int sched_yield(void); }
282 159 AUE_SCHED_GET_PRIORITY_MAX STD { int linux_sched_get_priority_max( \
284 160 AUE_SCHED_GET_PRIORITY_MIN STD { int linux_sched_get_priority_min( \
286 161 AUE_SCHED_RR_GET_INTERVAL STD { int linux_sched_rr_get_interval(l_pid_t pid, \
287 struct l_timespec *interval); }
288 162 AUE_NULL STD { int linux_nanosleep( \
289 const struct l_timespec *rqtp, \
290 struct l_timespec *rmtp); }
291 163 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); }
294 164 AUE_SETRESUID STD { int linux_setresuid16(l_uid16_t ruid, \
295 l_uid16_t euid, l_uid16_t suid); }
296 165 AUE_GETRESUID STD { int linux_getresuid16(l_uid16_t *ruid, \
297 l_uid16_t *euid, l_uid16_t *suid); }
298 166 AUE_NULL UNIMPL vm86
299 167 AUE_NULL UNIMPL query_module
300 168 AUE_POLL NOPROTO { int poll(struct pollfd *fds, \
301 unsigned int nfds, int timeout); }
302 169 AUE_NULL UNIMPL nfsservctl
303 170 AUE_SETRESGID STD { int linux_setresgid16(l_gid16_t rgid, \
304 l_gid16_t egid, l_gid16_t sgid); }
305 171 AUE_GETRESGID STD { int linux_getresgid16(l_gid16_t *rgid, \
306 l_gid16_t *egid, l_gid16_t *sgid); }
307 172 AUE_PRCTL STD { int linux_prctl(l_int option, l_int arg2, l_int arg3, \
308 l_int arg4, l_int arg5); }
309 173 AUE_NULL STD { int linux_rt_sigreturn( \
310 struct l_ucontext *ucp); }
311 174 AUE_NULL STD { int linux_rt_sigaction(l_int sig, \
312 l_sigaction_t *act, l_sigaction_t *oact, \
313 l_size_t sigsetsize); }
314 175 AUE_NULL STD { int linux_rt_sigprocmask(l_int how, \
315 l_sigset_t *mask, l_sigset_t *omask, \
316 l_size_t sigsetsize); }
317 176 AUE_NULL STD { int linux_rt_sigpending(l_sigset_t *set, \
318 l_size_t sigsetsize); }
319 177 AUE_NULL STD { int linux_rt_sigtimedwait(l_sigset_t *mask, \
321 struct l_timeval *timeout, \
322 l_size_t sigsetsize); }
323 178 AUE_NULL STD { int linux_rt_sigqueueinfo(l_pid_t pid, l_int sig, \
324 l_siginfo_t *info); }
325 179 AUE_NULL STD { int linux_rt_sigsuspend( \
326 l_sigset_t *newset, \
327 l_size_t sigsetsize); }
328 180 AUE_PREAD STD { int linux_pread(l_uint fd, char *buf, \
329 l_size_t nbyte, l_loff_t offset); }
330 181 AUE_PWRITE STD { int linux_pwrite(l_uint fd, char *buf, \
331 l_size_t nbyte, l_loff_t offset); }
332 182 AUE_CHOWN STD { int linux_chown16(char *path, \
333 l_uid16_t uid, l_gid16_t gid); }
334 183 AUE_GETCWD STD { int linux_getcwd(char *buf, \
336 184 AUE_CAPGET STD { int linux_capget(struct l_user_cap_header *hdrp, \
337 struct l_user_cap_data *datap); }
338 185 AUE_CAPSET STD { int linux_capset(struct l_user_cap_header *hdrp, \
339 struct l_user_cap_data *datap); }
340 186 AUE_NULL STD { int linux_sigaltstack(l_stack_t *uss, \
342 187 AUE_SENDFILE STD { int linux_sendfile(void); }
343 188 AUE_GETPMSG UNIMPL getpmsg
344 189 AUE_PUTPMSG UNIMPL putpmsg
345 190 AUE_VFORK STD { int linux_vfork(void); }
347 191 AUE_GETRLIMIT STD { int linux_getrlimit(l_uint resource, \
348 struct l_rlimit *rlim); }
349 192 AUE_MMAP STD { int linux_mmap2(l_ulong addr, l_ulong len, \
350 l_ulong prot, l_ulong flags, l_ulong fd, \
352 193 AUE_TRUNCATE STD { int linux_truncate64(char *path, \
354 194 AUE_FTRUNCATE STD { int linux_ftruncate64(l_uint fd, \
356 195 AUE_STAT STD { int linux_stat64(const char *filename, \
357 struct l_stat64 *statbuf); }
358 196 AUE_LSTAT STD { int linux_lstat64(const char *filename, \
359 struct l_stat64 *statbuf); }
360 197 AUE_FSTAT STD { int linux_fstat64(l_int fd, \
361 struct l_stat64 *statbuf); }
362 198 AUE_LCHOWN STD { int linux_lchown(char *path, l_uid_t uid, \
364 199 AUE_GETUID STD { int linux_getuid(void); }
365 200 AUE_GETGID STD { int linux_getgid(void); }
366 201 AUE_GETEUID NOPROTO { int geteuid(void); }
367 202 AUE_GETEGID NOPROTO { int getegid(void); }
368 203 AUE_SETREUID NOPROTO { int setreuid(uid_t ruid, uid_t euid); }
369 204 AUE_SETREGID NOPROTO { int setregid(gid_t rgid, gid_t egid); }
370 205 AUE_GETGROUPS STD { int linux_getgroups(l_int gidsetsize, \
371 l_gid_t *grouplist); }
372 206 AUE_SETGROUPS STD { int linux_setgroups(l_int gidsetsize, \
373 l_gid_t *grouplist); }
374 207 AUE_FCHOWN NODEF fchown fchown fchown_args int
375 208 AUE_SETRESUID NOPROTO { int setresuid(uid_t ruid, uid_t euid, \
377 209 AUE_GETRESUID NOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \
379 210 AUE_SETRESGID NOPROTO { int setresgid(gid_t rgid, gid_t egid, \
381 211 AUE_GETRESGID NOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \
383 212 AUE_CHOWN STD { int linux_chown(char *path, l_uid_t uid, \
385 213 AUE_SETUID NOPROTO { int setuid(uid_t uid); }
386 214 AUE_SETGID NOPROTO { int setgid(gid_t gid); }
387 215 AUE_SETFSUID STD { int linux_setfsuid(l_uid_t uid); }
388 216 AUE_SETFSGID STD { int linux_setfsgid(l_gid_t gid); }
389 217 AUE_PIVOT_ROOT STD { int linux_pivot_root(char *new_root, \
391 218 AUE_MINCORE STD { int linux_mincore(l_ulong start, \
392 l_size_t len, u_char *vec); }
393 219 AUE_MADVISE NOPROTO { int madvise(void *addr, size_t len, \
395 220 AUE_GETDIRENTRIES STD { int linux_getdents64(l_uint fd, \
396 void *dirent, l_uint count); }
397 221 AUE_FCNTL STD { int linux_fcntl64(l_uint fd, l_uint cmd, \
401 224 AUE_NULL STD { long linux_gettid(void); }
402 225 AUE_NULL UNIMPL linux_readahead
403 226 AUE_NULL STD { int linux_setxattr(void); }
404 227 AUE_NULL STD { int linux_lsetxattr(void); }
405 228 AUE_NULL STD { int linux_fsetxattr(void); }
406 229 AUE_NULL STD { int linux_getxattr(void); }
407 230 AUE_NULL STD { int linux_lgetxattr(void); }
408 231 AUE_NULL STD { int linux_fgetxattr(void); }
409 232 AUE_NULL STD { int linux_listxattr(void); }
410 233 AUE_NULL STD { int linux_llistxattr(void); }
411 234 AUE_NULL STD { int linux_flistxattr(void); }
412 235 AUE_NULL STD { int linux_removexattr(void); }
413 236 AUE_NULL STD { int linux_lremovexattr(void); }
414 237 AUE_NULL STD { int linux_fremovexattr(void); }
415 238 AUE_NULL STD { int linux_tkill(int tid, int sig); }
416 239 AUE_SENDFILE UNIMPL linux_sendfile64
417 240 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); }
419 241 AUE_NULL STD { int linux_sched_setaffinity(l_pid_t pid, l_uint len, \
420 l_ulong *user_mask_ptr); }
421 242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \
422 l_ulong *user_mask_ptr); }
423 243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); }
424 244 AUE_NULL UNIMPL linux_get_thread_area
425 245 AUE_NULL UNIMPL linux_io_setup
426 246 AUE_NULL UNIMPL linux_io_destroy
427 247 AUE_NULL UNIMPL linux_io_getevents
428 248 AUE_NULL UNIMPL linux_io_submit
429 249 AUE_NULL UNIMPL linux_io_cancel
430 250 AUE_NULL STD { int linux_fadvise64(int fd, l_loff_t offset, \
431 l_size_t len, int advice); }
433 252 AUE_EXIT STD { int linux_exit_group(int error_code); }
434 253 AUE_NULL STD { int linux_lookup_dcookie(void); }
435 254 AUE_NULL STD { int linux_epoll_create(l_int size); }
436 255 AUE_NULL STD { int linux_epoll_ctl(l_int epfd, l_int op, l_int fd, \
437 struct epoll_event *event); }
438 256 AUE_NULL STD { int linux_epoll_wait(l_int epfd, struct epoll_event *events, \
439 l_int maxevents, l_int timeout); }
440 257 AUE_NULL STD { int linux_remap_file_pages(void); }
441 258 AUE_NULL STD { int linux_set_tid_address(int *tidptr); }
442 259 AUE_NULL STD { int linux_timer_create(clockid_t clock_id, \
443 struct sigevent *evp, l_timer_t *timerid); }
444 260 AUE_NULL STD { int linux_timer_settime(l_timer_t timerid, l_int flags, \
445 const struct itimerspec *new, struct itimerspec *old); }
446 261 AUE_NULL STD { int linux_timer_gettime(l_timer_t timerid, struct itimerspec *setting); }
447 262 AUE_NULL STD { int linux_timer_getoverrun(l_timer_t timerid); }
448 263 AUE_NULL STD { int linux_timer_delete(l_timer_t timerid); }
449 264 AUE_CLOCK_SETTIME STD { int linux_clock_settime(clockid_t which, struct l_timespec *tp); }
450 265 AUE_NULL STD { int linux_clock_gettime(clockid_t which, struct l_timespec *tp); }
451 266 AUE_NULL STD { int linux_clock_getres(clockid_t which, struct l_timespec *tp); }
452 267 AUE_NULL STD { int linux_clock_nanosleep(clockid_t which, int flags, \
453 struct l_timespec *rqtp, struct l_timespec *rmtp); }
454 268 AUE_STATFS STD { int linux_statfs64(char *path, size_t bufsize, struct l_statfs64_buf *buf); }
455 269 AUE_FSTATFS STD { int linux_fstatfs64(l_uint fd, size_t bufsize, struct l_statfs64_buf *buf); }
456 270 AUE_NULL STD { int linux_tgkill(int tgid, int pid, int sig); }
457 271 AUE_UTIMES STD { int linux_utimes(char *fname, \
458 struct l_timeval *tptr); }
459 272 AUE_NULL STD { int linux_fadvise64_64(int fd, \
460 l_loff_t offset, l_loff_t len, \
462 273 AUE_NULL UNIMPL vserver
463 274 AUE_NULL STD { int linux_mbind(void); }
464 275 AUE_NULL STD { int linux_get_mempolicy(void); }
465 276 AUE_NULL STD { int linux_set_mempolicy(void); }
467 277 AUE_NULL STD { int linux_mq_open(void); }
468 278 AUE_NULL STD { int linux_mq_unlink(void); }
469 279 AUE_NULL STD { int linux_mq_timedsend(void); }
470 280 AUE_NULL STD { int linux_mq_timedreceive(void); }
471 281 AUE_NULL STD { int linux_mq_notify(void); }
472 282 AUE_NULL STD { int linux_mq_getsetattr(void); }
473 283 AUE_NULL STD { int linux_kexec_load(void); }
474 284 AUE_WAIT6 STD { int linux_waitid(int idtype, l_pid_t id, \
475 l_siginfo_t *info, int options, \
476 struct l_rusage *rusage); }
479 286 AUE_NULL STD { int linux_add_key(void); }
480 287 AUE_NULL STD { int linux_request_key(void); }
481 288 AUE_NULL STD { int linux_keyctl(void); }
483 289 AUE_NULL STD { int linux_ioprio_set(void); }
484 290 AUE_NULL STD { int linux_ioprio_get(void); }
485 291 AUE_NULL STD { int linux_inotify_init(void); }
486 292 AUE_NULL STD { int linux_inotify_add_watch(void); }
487 293 AUE_NULL STD { int linux_inotify_rm_watch(void); }
489 294 AUE_NULL STD { int linux_migrate_pages(void); }
490 295 AUE_OPEN_RWTC STD { int linux_openat(l_int dfd, const char *filename, \
491 l_int flags, l_int mode); }
492 296 AUE_MKDIRAT STD { int linux_mkdirat(l_int dfd, const char *pathname, \
494 297 AUE_MKNODAT STD { int linux_mknodat(l_int dfd, const char *filename, \
495 l_int mode, l_uint dev); }
496 298 AUE_FCHOWNAT STD { int linux_fchownat(l_int dfd, const char *filename, \
497 l_uid16_t uid, l_gid16_t gid, l_int flag); }
498 299 AUE_FUTIMESAT STD { int linux_futimesat(l_int dfd, char *filename, \
499 struct l_timeval *utimes); }
500 300 AUE_FSTATAT STD { int linux_fstatat64(l_int dfd, char *pathname, \
501 struct l_stat64 *statbuf, l_int flag); }
502 301 AUE_UNLINKAT STD { int linux_unlinkat(l_int dfd, const char *pathname, \
504 302 AUE_RENAMEAT STD { int linux_renameat(l_int olddfd, const char *oldname, \
505 l_int newdfd, const char *newname); }
506 303 AUE_LINKAT STD { int linux_linkat(l_int olddfd, const char *oldname, \
507 l_int newdfd, const char *newname, l_int flag); }
508 304 AUE_SYMLINKAT STD { int linux_symlinkat(const char *oldname, l_int newdfd, \
509 const char *newname); }
510 305 AUE_READLINKAT STD { int linux_readlinkat(l_int dfd, const char *path, \
511 char *buf, l_int bufsiz); }
512 306 AUE_FCHMODAT STD { int linux_fchmodat(l_int dfd, const char *filename, \
514 307 AUE_FACCESSAT STD { int linux_faccessat(l_int dfd, const char *filename, \
516 308 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); }
519 309 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); }
521 310 AUE_NULL STD { int linux_unshare(void); }
523 311 AUE_NULL STD { int linux_set_robust_list(struct linux_robust_list_head *head, \
525 312 AUE_NULL STD { int linux_get_robust_list(l_int pid, \
526 struct linux_robust_list_head **head, l_size_t *len); }
527 313 AUE_NULL STD { int linux_splice(void); }
528 314 AUE_NULL STD { int linux_sync_file_range(void); }
529 315 AUE_NULL STD { int linux_tee(void); }
530 316 AUE_NULL STD { int linux_vmsplice(void); }
532 317 AUE_NULL STD { int linux_move_pages(void); }
534 318 AUE_NULL STD { int linux_getcpu(void); }
535 319 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); }
539 320 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \
540 const struct l_timespec *times, l_int flags); }
541 321 AUE_NULL STD { int linux_signalfd(void); }
542 322 AUE_NULL STD { int linux_timerfd_create(l_int clockid, l_int flags); }
543 323 AUE_NULL STD { int linux_eventfd(l_uint initval); }
545 324 AUE_NULL STD { int linux_fallocate(l_int fd, l_int mode, \
546 l_loff_t offset, l_loff_t len); }
548 325 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); }
551 326 AUE_NULL STD { int linux_timerfd_gettime(l_int fd, \
552 struct l_itimerspec *old_value); }
554 327 AUE_NULL STD { int linux_signalfd4(void); }
555 328 AUE_NULL STD { int linux_eventfd2(l_uint initval, l_int flags); }
556 329 AUE_NULL STD { int linux_epoll_create1(l_int flags); }
557 330 AUE_NULL STD { int linux_dup3(l_int oldfd, \
558 l_int newfd, l_int flags); }
559 331 AUE_NULL STD { int linux_pipe2(l_int *pipefds, l_int flags); }
560 332 AUE_NULL STD { int linux_inotify_init1(void); }
562 333 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); }
565 334 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); }
569 335 AUE_NULL STD { int linux_rt_tgsigqueueinfo(l_pid_t tgid, \
570 l_pid_t tid, l_int sig, l_siginfo_t *uinfo); }
571 336 AUE_NULL STD { int linux_perf_event_open(void); }
573 337 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); }
576 338 AUE_NULL STD { int linux_fanotify_init(void); }
577 339 AUE_NULL STD { int linux_fanotify_mark(void); }
579 340 AUE_NULL STD { int linux_prlimit64(l_pid_t pid, \
581 struct rlimit *new, \
582 struct rlimit *old); }
584 341 AUE_NULL STD { int linux_name_to_handle_at(void); }
585 342 AUE_NULL STD { int linux_open_by_handle_at(void); }
586 343 AUE_NULL STD { int linux_clock_adjtime(void); }
587 344 AUE_SYNC STD { int linux_syncfs(l_int fd); }
589 345 AUE_NULL STD { int linux_sendmmsg(l_int s, \
590 struct l_mmsghdr *msg, l_uint vlen, \
592 346 AUE_NULL STD { int linux_setns(void); }
593 ; Linux 3.2 (glibc 2.15):
594 347 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, \
598 348 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, \
602 ; Linux 3.5 (no glibc wrapper):
603 349 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):
606 350 AUE_NULL STD { int linux_finit_module(l_int fd, \
607 const char *uargs, l_int flags); }
609 351 AUE_NULL STD { int linux_sched_setattr(l_pid_t pid, \
610 void *attr, l_uint flags); }
611 352 AUE_NULL STD { int linux_sched_getattr(l_pid_t pid, \
612 void *attr, l_uint size, l_uint flags); }
614 353 AUE_NULL STD { int linux_renameat2(l_int oldfd, \
615 const char *oldname, l_int newfd, \
616 const char *newname, unsigned int flags); }
618 354 AUE_NULL STD { int linux_seccomp(l_uint op, l_uint flags, \
619 const char *uargs); }
620 355 AUE_NULL STD { int linux_getrandom(char *buf, \
621 l_size_t count, l_uint flags); }
622 356 AUE_NULL STD { int linux_memfd_create(const char *uname_ptr, \
625 357 AUE_NULL STD { int linux_bpf(l_int cmd, void *attr, \
628 358 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:
632 359 AUE_SOCKET STD { int linux_socket(l_int domain, l_int type, \
634 360 AUE_SOCKETPAIR STD { int linux_socketpair(l_int domain, \
635 l_int type, l_int protocol, l_uintptr_t rsv); }
636 361 AUE_BIND STD { int linux_bind(l_int s, l_uintptr_t name, \
638 362 AUE_CONNECT STD { int linux_connect(l_int s, l_uintptr_t name, \
640 363 AUE_LISTEN STD { int linux_listen(l_int s, l_int backlog); }
641 364 AUE_ACCEPT STD { int linux_accept4(l_int s, l_uintptr_t addr, \
642 l_uintptr_t namelen, l_int flags); }
643 365 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); }
646 366 AUE_SETSOCKOPT STD { int linux_setsockopt(l_int s, l_int level, \
647 l_int optname, l_uintptr_t optval, \
649 367 AUE_GETSOCKNAME STD { int linux_getsockname(l_int s, \
650 l_uintptr_t addr, l_uintptr_t namelen); }
651 368 AUE_GETPEERNAME STD { int linux_getpeername(l_int s, \
652 l_uintptr_t addr, l_uintptr_t namelen); }
653 369 AUE_SENDTO STD { int linux_sendto(l_int s, l_uintptr_t msg, \
654 l_int len, l_int flags, l_uintptr_t to, \
656 370 AUE_SENDMSG STD { int linux_sendmsg(l_int s, l_uintptr_t msg, \
658 371 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); }
661 372 AUE_RECVMSG STD { int linux_recvmsg(l_int s, l_uintptr_t msg, \
663 373 AUE_NULL STD { int linux_shutdown(l_int s, l_int how); }
666 374 AUE_NULL STD { int linux_userfaultfd(l_int flags); }
668 375 AUE_NULL STD { int linux_membarrier(l_int cmd, l_int flags); }
670 376 AUE_NULL STD { int linux_mlock2(l_ulong start, l_size_t len, \
673 377 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, \
678 378 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); }
681 379 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); }
685 380 AUE_NULL STD { int linux_pkey_mprotect(l_ulong start, \
686 l_size_t len, l_ulong prot, l_int pkey); }
687 381 AUE_NULL STD { int linux_pkey_alloc(l_ulong flags, \
689 382 AUE_NULL STD { int linux_pkey_free(l_int pkey); }
691 ; please, keep this line at the end.
692 383 AUE_NULL UNIMPL nosys