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