diff --git a/sys/amd64/linux/syscalls.master b/sys/amd64/linux/syscalls.master index d99aaa019111..51f9fe00eb7d 100644 --- a/sys/amd64/linux/syscalls.master +++ b/sys/amd64/linux/syscalls.master @@ -1,2110 +1,2110 @@ $FreeBSD$ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). ; Processed to create linux_sysent.c, linux_proto.h and linux_syscall.h. ; Columns: number audit type nargs name alt{name,tag,rtyp}/comments ; number system call number, must be in order ; audit the audit event associated with the system call ; A value of AUE_NULL means no auditing, but it also means that ; there is no audit event for the call at this time. For the ; case where the event exists, but we don't want auditing, the ; event should be #defined to AUE_NULL in audit_kevents.h. ; type one of STD, NOPROTO, UNIMPL ; name pseudo-prototype of syscall routine ; If one of the following alts is different, then all appear: ; altname name of system call if different ; alttag name of args struct tag if different from [o]`name'"_args" ; altrtyp return type if not int (bogus - syscalls always return int) ; for UNIMPL, name continues with comments ; types: ; STD always included ; UNIMPL not implemented, placeholder only ; NOPROTO same as STD except do not create structure or ; function prototype in sys/sysproto.h. Does add a ; definition to syscall.h besides adding a sysent. #include #include #include #include #include #include ; Isn't pretty, but there seems to be no other way to trap nosys #define nosys linux_nosys ; #ifdef's, etc. may be included, and are copied to the output files. 0 AUE_NULL NOPROTO { int read( int fd, char *buf, l_size_t nbyte ); } 1 AUE_NULL NOPROTO { int write( int fd, char *buf, l_size_t nbyte ); } 2 AUE_OPEN_RWTC STD { int linux_open( char *path, l_int flags, l_mode_t mode ); } 3 AUE_CLOSE NOPROTO { int close( int fd ); } 4 AUE_STAT STD { int linux_newstat( char *path, struct l_newstat *buf ); } 5 AUE_FSTAT STD { int linux_newfstat( l_uint fd, struct l_newstat *buf ); } 6 AUE_LSTAT STD { int linux_newlstat( char *path, struct l_newstat *buf ); } 7 AUE_POLL NOPROTO { int poll( struct pollfd *fds, u_int nfds, int timeout ); } 8 AUE_LSEEK STD { int linux_lseek( l_uint fdes, l_off_t off, l_int whence ); } 9 AUE_MMAP STD { int linux_mmap2( l_ulong addr, l_ulong len, l_ulong prot, l_ulong flags, l_ulong fd, l_ulong pgoff ); } 10 AUE_MPROTECT STD { int linux_mprotect( l_ulong addr, l_size_t len, l_ulong prot ); } 11 AUE_MUNMAP NOPROTO { int munmap( void *addr, l_size_t len ); } 12 AUE_NULL STD { int linux_brk( l_ulong dsend ); } 13 AUE_NULL STD { int linux_rt_sigaction( l_int sig, l_sigaction_t *act, l_sigaction_t *oact, l_size_t sigsetsize ); } 14 AUE_NULL STD { int linux_rt_sigprocmask( l_int how, l_sigset_t *mask, l_sigset_t *omask, l_size_t sigsetsize ); } 15 AUE_NULL STD { int linux_rt_sigreturn( struct l_ucontext *ucp ); } 16 AUE_IOCTL STD { int linux_ioctl( l_uint fd, l_uint cmd, l_ulong arg ); } 17 AUE_PREAD STD { int linux_pread( l_uint fd, char *buf, l_size_t nbyte, l_loff_t offset ); } 18 AUE_PWRITE STD { int linux_pwrite( l_uint fd, char *buf, l_size_t nbyte, l_loff_t offset ); } 19 AUE_READV NOPROTO { int readv( int fd, struct iovec *iovp, u_int iovcnt ); } 20 AUE_WRITEV NOPROTO { int writev( int fd, struct iovec *iovp, u_int iovcnt ); } 21 AUE_ACCESS STD { int linux_access( char *path, l_int amode ); } 22 AUE_PIPE STD { int linux_pipe( l_int *pipefds ); } 23 AUE_SELECT STD { int linux_select( l_int nfds, l_fd_set *readfds, l_fd_set *writefds, l_fd_set *exceptfds, struct l_timeval *timeout ); } 24 AUE_NULL NOPROTO { int sched_yield(void); } 25 AUE_NULL STD { int linux_mremap( l_ulong addr, l_ulong old_len, l_ulong new_len, l_ulong flags, l_ulong new_addr ); } 26 AUE_MSYNC STD { int linux_msync( l_ulong addr, l_size_t len, l_int fl ); } 27 AUE_MINCORE STD { int linux_mincore( l_ulong start, l_size_t len, u_char *vec ); } 28 AUE_MADVISE STD { int linux_madvise( l_ulong addr, l_size_t len, l_int behav ); } 29 AUE_NULL STD { int linux_shmget( l_key_t key, l_size_t size, l_int shmflg ); } 30 AUE_NULL STD { int linux_shmat( l_int shmid, char *shmaddr, l_int shmflg ); } 31 AUE_NULL STD { int linux_shmctl( l_int shmid, l_int cmd, struct l_shmid_ds *buf ); } 32 AUE_DUP NOPROTO { int dup( u_int fd ); } 33 AUE_DUP2 NOPROTO { int dup2( u_int from, u_int to ); } 34 AUE_NULL STD { int linux_pause(void); } 35 AUE_NULL STD { int linux_nanosleep( const struct l_timespec *rqtp, struct l_timespec *rmtp ); } 36 AUE_GETITIMER STD { int linux_getitimer( l_int which, struct l_itimerval *itv ); } 37 AUE_NULL STD { int linux_alarm( l_uint secs ); } 38 AUE_SETITIMER STD { int linux_setitimer( l_int which, struct l_itimerval *itv, struct l_itimerval *oitv ); } 39 AUE_GETPID STD { int linux_getpid(void); } 40 AUE_SENDFILE STD { int linux_sendfile( l_int out, l_int in, l_off_t *offset, l_size_t count ); } 41 AUE_SOCKET STD { int linux_socket( l_int domain, l_int type, l_int protocol ); } 42 AUE_CONNECT STD { int linux_connect( l_int s, l_uintptr_t name, l_int namelen ); } 43 AUE_ACCEPT STD { int linux_accept( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 44 AUE_SENDTO STD { int linux_sendto( l_int s, l_uintptr_t msg, l_size_t len, l_uint flags, l_uintptr_t to, l_int tolen ); } 45 AUE_RECVFROM STD { int linux_recvfrom( l_int s, l_uintptr_t buf, l_size_t len, l_uint flags, l_uintptr_t from, l_uintptr_t fromlen ); } 46 AUE_SENDMSG STD { int linux_sendmsg( l_int s, l_uintptr_t msg, l_uint flags ); } 47 AUE_RECVMSG STD { int linux_recvmsg( l_int s, l_uintptr_t msg, l_uint flags ); } 48 AUE_NULL STD { int linux_shutdown( l_int s, l_int how ); } 49 AUE_BIND STD { int linux_bind( l_int s, l_uintptr_t name, l_int namelen ); } 50 AUE_LISTEN STD { int linux_listen( l_int s, l_int backlog ); } 51 AUE_GETSOCKNAME STD { int linux_getsockname( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 52 AUE_GETPEERNAME STD { int linux_getpeername( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 53 AUE_SOCKETPAIR STD { int linux_socketpair( l_int domain, l_int type, l_int protocol, l_uintptr_t rsv ); } 54 AUE_SETSOCKOPT STD { int linux_setsockopt( l_int s, l_int level, l_int optname, l_uintptr_t optval, l_int optlen ); } 55 AUE_GETSOCKOPT STD { int linux_getsockopt( l_int s, l_int level, l_int optname, l_uintptr_t optval, l_uintptr_t optlen ); } 56 AUE_RFORK STD { int linux_clone( l_ulong flags, void *stack, void *parent_tidptr, void *child_tidptr, void *tls ); } 57 AUE_FORK STD { int linux_fork(void); } 58 AUE_VFORK STD { int linux_vfork(void); } 59 AUE_EXECVE STD { int linux_execve( char *path, char **argp, char **envp ); } 60 AUE_EXIT STD { void linux_exit( l_int rval ); } 61 AUE_WAIT4 STD { int linux_wait4( l_pid_t pid, l_int *status, l_int options, struct rusage *rusage ); } 62 AUE_KILL STD { int linux_kill( l_pid_t pid, l_int signum ); } 63 AUE_NULL STD { int linux_newuname( struct l_new_utsname *buf ); } 64 AUE_NULL STD { int linux_semget( l_key_t key, l_int nsems, l_int semflg ); } 65 AUE_NULL STD { int linux_semop( l_int semid, struct l_sembuf *tsops, l_uint nsops ); } 66 AUE_NULL STD { int linux_semctl( l_int semid, l_int semnum, l_int cmd, union l_semun arg ); } 67 AUE_NULL STD { int linux_shmdt( char *shmaddr ); } 68 AUE_NULL STD { int linux_msgget( l_key_t key, l_int msgflg ); } 69 AUE_NULL STD { int linux_msgsnd( l_int msqid, struct l_msgbuf *msgp, l_size_t msgsz, l_int msgflg ); } 70 AUE_NULL STD { int linux_msgrcv( l_int msqid, struct l_msgbuf *msgp, l_size_t msgsz, l_long msgtyp, l_int msgflg ); } 71 AUE_NULL STD { int linux_msgctl( l_int msqid, l_int cmd, struct l_msqid_ds *buf ); } 72 AUE_FCNTL STD { int linux_fcntl( l_uint fd, l_uint cmd, l_ulong arg ); } 73 AUE_FLOCK NOPROTO { int flock( int fd, int how ); } 74 AUE_FSYNC NOPROTO { int fsync( int fd ); } 75 AUE_NULL STD { int linux_fdatasync( l_uint fd ); } 76 AUE_TRUNCATE STD { int linux_truncate( char *path, l_long length ); } 77 AUE_FTRUNCATE STD { int linux_ftruncate( l_int fd, l_ulong length ); } 78 AUE_GETDIRENTRIES STD { int linux_getdents( l_uint fd, void *dent, l_uint count ); } 79 AUE_GETCWD STD { int linux_getcwd( char *buf, l_ulong bufsize ); } 80 AUE_CHDIR STD { int linux_chdir( char *path ); } 81 AUE_FCHDIR NOPROTO { int fchdir( int fd ); } 82 AUE_RENAME STD { int linux_rename( char *from, char *to ); } 83 AUE_MKDIR STD { int linux_mkdir( char *path, l_mode_t mode ); } 84 AUE_RMDIR STD { int linux_rmdir( char *path ); } 85 AUE_CREAT STD { int linux_creat( char *path, l_mode_t mode ); } 86 AUE_LINK STD { int linux_link( char *path, char *to ); } 87 AUE_UNLINK STD { int linux_unlink( char *path ); } 88 AUE_SYMLINK STD { int linux_symlink( char *path, char *to ); } 89 AUE_READLINK STD { int linux_readlink( char *name, char *buf, l_int count ); } 90 AUE_CHMOD STD { int linux_chmod( char *path, l_mode_t mode ); } 91 AUE_FCHMOD NOPROTO { int fchmod( int fd, int mode ); } 92 AUE_LCHOWN STD { int linux_chown( char *path, l_uid_t uid, l_gid_t gid ); } 93 AUE_FCHOWN NOPROTO { int fchown( int fd, int uid, int gid ); } 94 AUE_LCHOWN STD { int linux_lchown( char *path, l_uid_t uid, l_gid_t gid ); } 95 AUE_UMASK NOPROTO { int umask( int newmask ); } 96 AUE_NULL NOPROTO { int gettimeofday( struct l_timeval *tp, struct timezone *tzp ); } 97 AUE_GETRLIMIT STD { int linux_getrlimit( l_uint resource, struct l_rlimit *rlim ); } 98 AUE_GETRUSAGE NOPROTO { int getrusage( int who, struct rusage *rusage ); } 99 AUE_NULL STD { int linux_sysinfo( struct l_sysinfo *info ); } 100 AUE_NULL STD { int linux_times( struct l_times_argv *buf ); } 101 AUE_PTRACE STD { int linux_ptrace( l_long req, l_long pid, l_ulong addr, l_ulong data ); } 102 AUE_GETUID STD { int linux_getuid(void); } 103 AUE_NULL STD { int linux_syslog( l_int type, char *buf, l_int len ); } 104 AUE_GETGID STD { int linux_getgid(void); } 105 AUE_SETUID NOPROTO { int setuid( uid_t uid ); } 106 AUE_SETGID NOPROTO { int setgid( gid_t gid ); } 107 AUE_GETEUID NOPROTO { int geteuid(void); } 108 AUE_GETEGID NOPROTO { int getegid(void); } 109 AUE_SETPGRP NOPROTO { int setpgid( int pid, int pgid ); } 110 AUE_GETPPID STD { int linux_getppid(void); } 111 AUE_GETPGRP NOPROTO { int getpgrp(void); } 112 AUE_SETSID NOPROTO { int setsid(void); } 113 AUE_SETREUID NOPROTO { int setreuid( uid_t ruid, uid_t euid ); } 114 AUE_SETREGID NOPROTO { int setregid( gid_t rgid, gid_t egid ); } 115 AUE_GETGROUPS STD { int linux_getgroups( l_int gidsetsize, l_gid_t *grouplist ); } 116 AUE_SETGROUPS STD { int linux_setgroups( l_int gidsetsize, l_gid_t *grouplist ); } 117 AUE_SETRESUID NOPROTO { int setresuid( uid_t ruid, uid_t euid, uid_t suid ); } 118 AUE_GETRESUID NOPROTO { int getresuid( uid_t *ruid, uid_t *euid, uid_t *suid ); } 119 AUE_SETRESGID NOPROTO { int setresgid( gid_t rgid, gid_t egid, gid_t sgid ); } 120 AUE_GETRESGID NOPROTO { int getresgid( gid_t *rgid, gid_t *egid, gid_t *sgid ); } 121 AUE_GETPGID NOPROTO { int getpgid( int pid ); } 122 AUE_SETFSUID STD { int linux_setfsuid( l_uid_t uid ); } 123 AUE_SETFSGID STD { int linux_setfsgid( l_gid_t gid ); } 124 AUE_GETSID STD { int linux_getsid( l_pid_t pid ); } 125 AUE_CAPGET STD { int linux_capget( struct l_user_cap_header *hdrp, struct l_user_cap_data *datap ); } 126 AUE_CAPSET STD { int linux_capset( struct l_user_cap_header *hdrp, struct l_user_cap_data *datap ); } 127 AUE_NULL STD { int linux_rt_sigpending( l_sigset_t *set, l_size_t sigsetsize ); } 128 AUE_NULL STD { int linux_rt_sigtimedwait( l_sigset_t *mask, l_siginfo_t *ptr, - struct l_timeval *timeout, + struct l_timespec *timeout, l_size_t sigsetsize ); } 129 AUE_NULL STD { int linux_rt_sigqueueinfo( l_pid_t pid, l_int sig, l_siginfo_t *info ); } 130 AUE_NULL STD { int linux_rt_sigsuspend( l_sigset_t *newset, l_size_t sigsetsize ); } 131 AUE_NULL STD { int linux_sigaltstack( l_stack_t *uss, l_stack_t *uoss ); } 132 AUE_UTIME STD { int linux_utime( char *fname, struct l_utimbuf *times ); } 133 AUE_MKNOD STD { int linux_mknod( char *path, l_mode_t mode, l_uint dev ); } 134 AUE_USELIB UNIMPL uselib 135 AUE_PERSONALITY STD { int linux_personality( l_uint per ); } 136 AUE_NULL STD { int linux_ustat( l_uint dev, struct l_ustat *ubuf ); } 137 AUE_STATFS STD { int linux_statfs( char *path, struct l_statfs_buf *buf ); } 138 AUE_FSTATFS STD { int linux_fstatfs( l_uint fd, struct l_statfs_buf *buf ); } 139 AUE_NULL STD { int linux_sysfs( l_int option, l_ulong arg1, l_ulong arg2 ); } 140 AUE_GETPRIORITY STD { int linux_getpriority( l_int which, l_int who ); } 141 AUE_SETPRIORITY NOPROTO { int setpriority( int which, int who, int prio ); } 142 AUE_SCHED_SETPARAM STD { int linux_sched_setparam( l_pid_t pid, struct sched_param *param ); } 143 AUE_SCHED_GETPARAM STD { int linux_sched_getparam( l_pid_t pid, struct sched_param *param ); } 144 AUE_SCHED_SETSCHEDULER STD { int linux_sched_setscheduler( l_pid_t pid, l_int policy, struct sched_param *param ); } 145 AUE_SCHED_GETSCHEDULER STD { int linux_sched_getscheduler( l_pid_t pid ); } 146 AUE_SCHED_GET_PRIORITY_MAX STD { int linux_sched_get_priority_max( l_int policy ); } 147 AUE_SCHED_GET_PRIORITY_MIN STD { int linux_sched_get_priority_min( l_int policy ); } 148 AUE_SCHED_RR_GET_INTERVAL STD { int linux_sched_rr_get_interval( l_pid_t pid, struct l_timespec *interval ); } 149 AUE_MLOCK NOPROTO { int mlock( const void *addr, size_t len ); } 150 AUE_MUNLOCK NOPROTO { int munlock( const void *addr, size_t len ); } 151 AUE_MLOCKALL NOPROTO { int mlockall( int how ); } 152 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } 153 AUE_NULL STD { int linux_vhangup(void); } 154 AUE_NULL STD { int linux_modify_ldt(void); } 155 AUE_PIVOT_ROOT STD { int linux_pivot_root(void); } 156 AUE_SYSCTL STD { int linux_sysctl( struct l___sysctl_args *args ); } 157 AUE_PRCTL STD { int linux_prctl( l_int option, l_uintptr_t arg2, l_uintptr_t arg3, l_uintptr_t arg4, l_uintptr_t arg5 ); } 158 AUE_PRCTL STD { int linux_arch_prctl( l_int code, l_ulong addr ); } 159 AUE_ADJTIME STD { int linux_adjtimex(void); } 160 AUE_SETRLIMIT STD { int linux_setrlimit( l_uint resource, struct l_rlimit *rlim ); } 161 AUE_CHROOT NOPROTO { int chroot( char *path ); } 162 AUE_SYNC NOPROTO { int sync(void); } 163 AUE_ACCT NOPROTO { int acct( char *path ); } 164 AUE_SETTIMEOFDAY NOPROTO { int settimeofday( struct l_timeval *tv, struct timezone *tzp ); } 165 AUE_MOUNT STD { int linux_mount( char *specialfile, char *dir, char *filesystemtype, l_ulong rwflag, void *data ); } 166 AUE_UMOUNT STD { int linux_umount( char *path, l_int flags ); } 167 AUE_SWAPON NOPROTO { int swapon( char *name ); } 168 AUE_SWAPOFF STD { int linux_swapoff(void); } 169 AUE_REBOOT STD { int linux_reboot( l_int magic1, l_int magic2, l_uint cmd, void *arg ); } 170 AUE_SYSCTL STD { int linux_sethostname( char *hostname, l_int len ); } 171 AUE_SYSCTL STD { int linux_setdomainname( char *name, l_int len ); } 172 AUE_NULL STD { int linux_iopl( l_uint level ); } 173 AUE_NULL STD { int linux_ioperm(void); } 174 AUE_NULL UNIMPL create_module 175 AUE_NULL STD { int linux_init_module(void); } 176 AUE_NULL STD { int linux_delete_module(void); } 177 AUE_NULL UNIMPL get_kernel_syms 178 AUE_NULL UNIMPL query_module 179 AUE_QUOTACTL STD { int linux_quotactl(void); } 180 AUE_NULL UNIMPL nfsservctl 181 AUE_GETPMSG UNIMPL getpmsg 182 AUE_PUTPMSG UNIMPL putpmsg 183 AUE_NULL UNIMPL afs_syscall 184 AUE_NULL UNIMPL tuxcall 185 AUE_NULL UNIMPL security 186 AUE_NULL STD { int linux_gettid(void); } 187 AUE_NULL STD { int linux_readahead(void); } 188 AUE_NULL STD { int linux_setxattr( const char *path, const char *name, const char *value, l_size_t size, l_int flags ); } 189 AUE_NULL STD { int linux_lsetxattr( const char *path, const char *name, const char *value, l_size_t size, l_int flags ); } 190 AUE_NULL STD { int linux_fsetxattr( l_int fd, const char *name, const char *value, l_size_t size, l_int flags ); } 191 AUE_NULL STD { int linux_getxattr( const char *path, const char *name, char *value, l_size_t size ); } 192 AUE_NULL STD { int linux_lgetxattr( const char *path, const char *name, char *value, l_size_t size ); } 193 AUE_NULL STD { int linux_fgetxattr( l_int fd, const char *name, char *value, l_size_t size ); } 194 AUE_NULL STD { int linux_listxattr( const char *path, const char *list, l_size_t size ); } 195 AUE_NULL STD { int linux_llistxattr( const char *path, const char *list, l_size_t size ); } 196 AUE_NULL STD { int linux_flistxattr( l_int fd, const char *list, l_size_t size ); } 197 AUE_NULL STD { int linux_removexattr( const char *path, const char *name ); } 198 AUE_NULL STD { int linux_lremovexattr( const char *path, const char *name ); } 199 AUE_NULL STD { int linux_fremovexattr( l_int fd, const char *name ); } 200 AUE_NULL STD { int linux_tkill( l_pid_t tid, l_int sig ); } 201 AUE_NULL STD { int linux_time( l_time_t *tm ); } 202 AUE_NULL STD { int linux_sys_futex( void *uaddr, l_int op, l_int val, struct l_timespec *timeout, void *uaddr2, l_int val3 ); } 203 AUE_NULL STD { int linux_sched_setaffinity( l_pid_t pid, l_uint len, l_ulong *user_mask_ptr ); } 204 AUE_NULL STD { int linux_sched_getaffinity( l_pid_t pid, l_uint len, l_ulong *user_mask_ptr ); } 205 AUE_NULL UNIMPL set_thread_area 206 AUE_NULL STD { int linux_io_setup(void); } 207 AUE_NULL STD { int linux_io_destroy(void); } 208 AUE_NULL STD { int linux_io_getevents(void); } 209 AUE_NULL STD { int linux_io_submit(void); } 210 AUE_NULL STD { int linux_io_cancel(void); } 211 AUE_NULL UNIMPL get_thread_area 212 AUE_NULL STD { int linux_lookup_dcookie(void); } 213 AUE_NULL STD { int linux_epoll_create( l_int size ); } 214 AUE_NULL UNIMPL epoll_ctl_old 215 AUE_NULL UNIMPL epoll_wait_old 216 AUE_NULL STD { int linux_remap_file_pages(void); } 217 AUE_GETDIRENTRIES STD { int linux_getdents64( l_uint fd, void *dirent, l_uint count ); } 218 AUE_NULL STD { int linux_set_tid_address( l_int *tidptr ); } 219 AUE_NULL STD { int linux_restart_syscall(void); } 220 AUE_NULL STD { int linux_semtimedop(void); } 221 AUE_NULL STD { int linux_fadvise64( l_int fd, l_loff_t offset, l_size_t len, l_int advice ); } 222 AUE_NULL STD { int linux_timer_create( clockid_t clock_id, struct sigevent *evp, l_timer_t *timerid ); } 223 AUE_NULL STD { int linux_timer_settime( l_timer_t timerid, l_int flags, const struct itimerspec *new, struct itimerspec *old ); } 224 AUE_NULL STD { int linux_timer_gettime( l_timer_t timerid, struct itimerspec *setting ); } 225 AUE_NULL STD { int linux_timer_getoverrun( l_timer_t timerid ); } 226 AUE_NULL STD { int linux_timer_delete( l_timer_t timerid ); } 227 AUE_CLOCK_SETTIME STD { int linux_clock_settime( clockid_t which, struct l_timespec *tp ); } 228 AUE_NULL STD { int linux_clock_gettime( clockid_t which, struct l_timespec *tp ); } 229 AUE_NULL STD { int linux_clock_getres( clockid_t which, struct l_timespec *tp ); } 230 AUE_NULL STD { int linux_clock_nanosleep( clockid_t which, l_int flags, struct l_timespec *rqtp, struct l_timespec *rmtp ); } 231 AUE_EXIT STD { int linux_exit_group( l_int error_code ); } 232 AUE_NULL STD { int linux_epoll_wait( l_int epfd, struct epoll_event *events, l_int maxevents, l_int timeout ); } 233 AUE_NULL STD { int linux_epoll_ctl( l_int epfd, l_int op, l_int fd, struct epoll_event *event ); } 234 AUE_NULL STD { int linux_tgkill( l_pid_t tgid, l_pid_t pid, l_int sig ); } 235 AUE_UTIMES STD { int linux_utimes( char *fname, struct l_timeval *tptr ); } 236 AUE_NULL UNIMPL vserver 237 AUE_NULL STD { int linux_mbind(void); } 238 AUE_NULL STD { int linux_set_mempolicy(void); } 239 AUE_NULL STD { int linux_get_mempolicy(void); } 240 AUE_NULL STD { int linux_mq_open( const char *name, l_int oflag, l_mode_t mode, struct mq_attr *attr ); } 241 AUE_NULL STD { int linux_mq_unlink( const char *name ); } 242 AUE_NULL STD { int linux_mq_timedsend( l_mqd_t mqd, const char *msg_ptr, l_size_t msg_len, l_uint msg_prio, const struct l_timespec *abs_timeout ); } 243 AUE_NULL STD { int linux_mq_timedreceive( l_mqd_t mqd, char *msg_ptr, l_size_t msg_len, l_uint *msg_prio, const struct l_timespec *abs_timeout ); } 244 AUE_NULL STD { int linux_mq_notify( l_mqd_t mqd, const struct l_timespec *abs_timeout ); } 245 AUE_NULL STD { int linux_mq_getsetattr( l_mqd_t mqd, const struct mq_attr *attr, struct mq_attr *oattr ); } 246 AUE_NULL STD { int linux_kexec_load(void); } 247 AUE_WAIT6 STD { int linux_waitid( l_int idtype, l_pid_t id, l_siginfo_t *info, l_int options, struct rusage *rusage ); } 248 AUE_NULL STD { int linux_add_key(void); } 249 AUE_NULL STD { int linux_request_key(void); } 250 AUE_NULL STD { int linux_keyctl(void); } 251 AUE_NULL STD { int linux_ioprio_set(void); } 252 AUE_NULL STD { int linux_ioprio_get(void); } 253 AUE_NULL STD { int linux_inotify_init(void); } 254 AUE_NULL STD { int linux_inotify_add_watch(void); } 255 AUE_NULL STD { int linux_inotify_rm_watch(void); } 256 AUE_NULL STD { int linux_migrate_pages(void); } 257 AUE_OPEN_RWTC STD { int linux_openat( l_int dfd, const char *filename, l_int flags, l_mode_t mode ); } 258 AUE_MKDIRAT STD { int linux_mkdirat( l_int dfd, const char *pathname, l_mode_t mode ); } 259 AUE_MKNODAT STD { int linux_mknodat( l_int dfd, const char *filename, l_mode_t mode, l_uint dev ); } 260 AUE_FCHOWNAT STD { int linux_fchownat( l_int dfd, const char *filename, l_uid_t uid, l_gid_t gid, l_int flag ); } 261 AUE_FUTIMESAT STD { int linux_futimesat( l_int dfd, char *filename, struct l_timeval *utimes ); } 262 AUE_FSTATAT STD { int linux_newfstatat( l_int dfd, char *pathname, struct l_stat64 *statbuf, l_int flag ); } 263 AUE_UNLINKAT STD { int linux_unlinkat( l_int dfd, const char *pathname, l_int flag ); } 264 AUE_RENAMEAT STD { int linux_renameat( l_int olddfd, const char *oldname, l_int newdfd, const char *newname ); } 265 AUE_LINKAT STD { int linux_linkat( l_int olddfd, const char *oldname, l_int newdfd, const char *newname, l_int flag ); } 266 AUE_SYMLINKAT STD { int linux_symlinkat( const char *oldname, l_int newdfd, const char *newname ); } 267 AUE_READLINKAT STD { int linux_readlinkat( l_int dfd, const char *path, char *buf, l_int bufsiz ); } 268 AUE_FCHMODAT STD { int linux_fchmodat( l_int dfd, const char *filename, l_mode_t mode ); } 269 AUE_FACCESSAT STD { int linux_faccessat( l_int dfd, const char *filename, l_int amode ); } 270 AUE_SELECT STD { int linux_pselect6( l_int nfds, l_fd_set *readfds, l_fd_set *writefds, l_fd_set *exceptfds, struct l_timespec *tsp, l_uintptr_t *sig ); } 271 AUE_POLL STD { int linux_ppoll( struct pollfd *fds, l_uint nfds, struct l_timespec *tsp, l_sigset_t *sset, l_size_t ssize ); } 272 AUE_NULL STD { int linux_unshare(void); } 273 AUE_NULL STD { int linux_set_robust_list( struct linux_robust_list_head *head, l_size_t len ); } 274 AUE_NULL STD { int linux_get_robust_list( l_int pid, struct linux_robust_list_head **head, l_size_t *len ); } 275 AUE_NULL STD { int linux_splice( int fd_in, l_loff_t *off_in, int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags ); } 276 AUE_NULL STD { int linux_tee(void); } 277 AUE_NULL STD { int linux_sync_file_range( l_int fd, l_loff_t offset, l_loff_t nbytes, l_uint flags ); } 278 AUE_NULL STD { int linux_vmsplice(void); } 279 AUE_NULL STD { int linux_move_pages(void); } 280 AUE_FUTIMESAT STD { int linux_utimensat( l_int dfd, const char *pathname, const struct l_timespec *times, l_int flags ); } 281 AUE_NULL STD { int linux_epoll_pwait( l_int epfd, struct epoll_event *events, l_int maxevents, l_int timeout, l_sigset_t *mask, l_size_t sigsetsize ); } 282 AUE_NULL STD { int linux_signalfd(void); } 283 AUE_NULL STD { int linux_timerfd_create( l_int clockid, l_int flags ); } 284 AUE_NULL STD { int linux_eventfd( l_uint initval ); } 285 AUE_NULL STD { int linux_fallocate( l_int fd, l_int mode, l_loff_t offset, l_loff_t len ); } 286 AUE_NULL STD { int linux_timerfd_settime( l_int fd, l_int flags, const struct l_itimerspec *new_value, struct l_itimerspec *old_value ); } 287 AUE_NULL STD { int linux_timerfd_gettime( l_int fd, struct l_itimerspec *old_value ); } 288 AUE_ACCEPT STD { int linux_accept4( l_int s, l_uintptr_t addr, l_uintptr_t namelen, l_int flags ); } ; Linux 2.6.27: 289 AUE_NULL STD { int linux_signalfd4(void); } 290 AUE_NULL STD { int linux_eventfd2( l_uint initval, l_int flags ); } 291 AUE_NULL STD { int linux_epoll_create1( l_int flags ); } 292 AUE_NULL STD { int linux_dup3( l_uint oldfd, l_uint newfd, l_int flags ); } 293 AUE_NULL STD { int linux_pipe2( l_int *pipefds, l_int flags ); } 294 AUE_NULL STD { int linux_inotify_init1( l_int flags ); } ; Linux 2.6.30: 295 AUE_NULL STD { int linux_preadv( l_ulong fd, struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h ); } 296 AUE_NULL STD { int linux_pwritev( l_ulong fd, struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h ); } ; Linux 2.6.31: 297 AUE_NULL STD { int linux_rt_tgsigqueueinfo( l_pid_t tgid, l_pid_t tid, l_int sig, l_siginfo_t *uinfo ); } 298 AUE_NULL STD { int linux_perf_event_open(void); } ; Linux 2.6.33: 299 AUE_NULL STD { int linux_recvmmsg( l_int s, struct l_mmsghdr *msg, l_uint vlen, l_uint flags, struct l_timespec *timeout ); } ; Linux 2.6.37: 300 AUE_NULL STD { int linux_fanotify_init(void); } 301 AUE_NULL STD { int linux_fanotify_mark(void); } ; Linux 2.6.36: 302 AUE_NULL STD { int linux_prlimit64( l_pid_t pid, l_uint resource, struct rlimit *new, struct rlimit *old ); } ; Linux 2.6.39 (glibc 2.14): 303 AUE_NULL STD { int linux_name_to_handle_at( l_int dirfd, const char *name, struct l_file_handle *handle, l_int *mnt_id, l_int flags ); } 304 AUE_NULL STD { int linux_open_by_handle_at( l_int mountdirfd, struct l_file_handle *handle, l_int flags ); } 305 AUE_NULL STD { int linux_clock_adjtime(void); } 306 AUE_SYNC STD { int linux_syncfs( l_int fd ); } ; Linux 3.0 (glibc 2.14): 307 AUE_NULL STD { int linux_sendmmsg( l_int s, struct l_mmsghdr *msg, l_uint vlen, l_uint flags ); } 308 AUE_NULL STD { int linux_setns( l_int fd, l_int nstype ); } ; Linux 2.6.19 (no glibc wrapper): 309 AUE_NULL STD { int linux_getcpu( l_uint *cpu, l_uint *node, void *cache ); } ; Linux 3.2 (glibc 2.15): 310 AUE_NULL STD { int linux_process_vm_readv( l_pid_t pid, const struct iovec *lvec, l_ulong liovcnt, const struct iovec *rvec, l_ulong riovcnt, l_ulong flags ); } 311 AUE_NULL STD { int linux_process_vm_writev( l_pid_t pid, const struct iovec *lvec, l_ulong liovcnt, const struct iovec *rvec, l_ulong riovcnt, l_ulong flags ); } ; Linux 3.5 (no glibc wrapper): 312 AUE_NULL STD { int linux_kcmp( l_pid_t pid1, l_pid_t pid2, l_int type, l_ulong idx1, l_ulong idx ); } ; Linux 3.8 (no glibc wrapper): 313 AUE_NULL STD { int linux_finit_module( l_int fd, const char *uargs, l_int flags ); } ; Linux 3.14: 314 AUE_NULL STD { int linux_sched_setattr( l_pid_t pid, void *attr, l_uint flags ); } 315 AUE_NULL STD { int linux_sched_getattr( l_pid_t pid, void *attr, l_uint size, l_uint flags ); } ; Linux 3.15: 316 AUE_NULL STD { int linux_renameat2( l_int olddfd, const char *oldname, l_int newdfd, const char *newname, l_uint flags ); } ; Linux 3.17: 317 AUE_NULL STD { int linux_seccomp( l_uint op, l_uint flags, const char *uargs ); } 318 AUE_NULL STD { int linux_getrandom( char *buf, l_size_t count, l_uint flags ); } 319 AUE_NULL STD { int linux_memfd_create( const char *uname_ptr, l_uint flags ); } 320 AUE_NULL STD { int linux_kexec_file_load( l_int kernel_fd, l_int initrd_fd, l_ulong cmdline_len, const char *cmdline_ptr, l_ulong flags ); } ; Linux 3.18: 321 AUE_NULL STD { int linux_bpf( l_int cmd, void *attr, l_uint size ); } ; Linux 3.19: 322 AUE_NULL STD { int linux_execveat( l_int dfd, const char *filename, const char **argv, const char **envp, l_int flags ); } ; Linux 4.2: 323 AUE_NULL STD { int linux_userfaultfd( l_int flags ); } ; Linux 4.3: 324 AUE_NULL STD { int linux_membarrier( l_int cmd, l_int flags ); } ; Linux 4.4: 325 AUE_NULL STD { int linux_mlock2( l_ulong start, l_size_t len, l_int flags ); } ; Linux 4.5: 326 AUE_NULL STD { int linux_copy_file_range( l_int fd_in, l_loff_t *off_in, l_int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags ); } ; Linux 4.6: 327 AUE_NULL STD { int linux_preadv2( l_ulong fd, const struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h, l_int flags ); } 328 AUE_NULL STD { int linux_pwritev2( l_ulong fd, const struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h, l_int flags ); } ; Linux 4.8: 329 AUE_NULL STD { int linux_pkey_mprotect( l_ulong start, l_size_t len, l_ulong prot, l_int pkey ); } 330 AUE_NULL STD { int linux_pkey_alloc( l_ulong flags, l_ulong init_val ); } 331 AUE_NULL STD { int linux_pkey_free( l_int pkey ); } ; Linux 4.11: 332 AUE_NULL STD { int linux_statx( l_int dirfd, const char *pathname, l_uint flags, l_uint mask, void *statxbuf ); } ; Linux 4.18: 333 AUE_NULL STD { int linux_io_pgetevents(void); } 334 AUE_NULL STD { int linux_rseq(void); } ; Linux 5.0: 335-423 AUE_NULL UNIMPL nosys 424 AUE_NULL STD { int linux_pidfd_send_signal( l_int pidfd, l_int sig, l_siginfo_t *info, l_uint flags ); } 425 AUE_NULL STD { int linux_io_uring_setup(void); } 426 AUE_NULL STD { int linux_io_uring_enter(void); } 427 AUE_NULL STD { int linux_io_uring_register(void); } 428 AUE_NULL STD { int linux_open_tree(void); } 429 AUE_NULL STD { int linux_move_mount(void); } 430 AUE_NULL STD { int linux_fsopen(void); } 431 AUE_NULL STD { int linux_fsconfig(void); } 432 AUE_NULL STD { int linux_fsmount(void); } 433 AUE_NULL STD { int linux_fspick(void); } 434 AUE_NULL STD { int linux_pidfd_open(void); } 435 AUE_NULL STD { int linux_clone3(void); } 436 AUE_NULL STD { int linux_close_range(void); } 437 AUE_NULL STD { int linux_openat2(void); } 438 AUE_NULL STD { int linux_pidfd_getfd(void); } 439 AUE_NULL STD { int linux_faccessat2(void); } 440 AUE_NULL STD { int linux_process_madvise(void); } 441 AUE_NULL STD { int linux_epoll_pwait2(void); } 442 AUE_NULL STD { int linux_mount_setattr(void); } ; please, keep this line at the end. 443 AUE_NULL UNIMPL nosys ; vim: syntax=off diff --git a/sys/amd64/linux32/syscalls.master b/sys/amd64/linux32/syscalls.master index d3a124c6e8c2..79ee1f30a00d 100644 --- a/sys/amd64/linux32/syscalls.master +++ b/sys/amd64/linux32/syscalls.master @@ -1,2487 +1,2487 @@ $FreeBSD$ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). ; Processed to create linux32_sysent.c, linux32_proto.h and linux32_syscall.h. ; Columns: number audit type nargs name alt{name,tag,rtyp}/comments ; number system call number, must be in order ; audit the audit event associated with the system call ; A value of AUE_NULL means no auditing, but it also means that ; there is no audit event for the call at this time. For the ; case where the event exists, but we don't want auditing, the ; event should be #defined to AUE_NULL in audit_kevents.h. ; type one of STD, NOPROTO, UNIMPL ; name pseudo-prototype of syscall routine ; If one of the following alts is different, then all appear: ; altname name of system call if different ; alttag name of args struct tag if different from [o]`name'"_args" ; altrtyp return type if not int (bogus - syscalls always return int) ; for UNIMPL, name continues with comments ; types: ; STD always included ; UNIMPL not implemented, placeholder only ; NOPROTO same as STD except do not create structure or ; function prototype in sys/sysproto.h. Does add a ; definition to syscall.h besides adding a sysent. #include #include #include #include #include #include ; Isn't pretty, but there seems to be no other way to trap nosys #define nosys linux_nosys ; #ifdef's, etc. may be included, and are copied to the output files. 0 AUE_NULL UNIMPL setup 1 AUE_EXIT STD { void linux_exit( int rval ); } 2 AUE_FORK STD { int linux_fork(void); } 3 AUE_NULL NOPROTO { int read( int fd, char *buf, u_int nbyte ); } 4 AUE_NULL NOPROTO { int write( int fd, char *buf, u_int nbyte ); } 5 AUE_OPEN_RWTC STD { int linux_open( char *path, l_int flags, l_int mode ); } 6 AUE_CLOSE NOPROTO { int close( int fd ); } 7 AUE_WAIT4 STD { int linux_waitpid( l_pid_t pid, l_int *status, l_int options ); } 8 AUE_CREAT STD { int linux_creat( char *path, l_int mode ); } 9 AUE_LINK STD { int linux_link( char *path, char *to ); } 10 AUE_UNLINK STD { int linux_unlink( char *path ); } 11 AUE_EXECVE STD { int linux_execve( char *path, uint32_t *argp, uint32_t *envp ); } 12 AUE_CHDIR STD { int linux_chdir( char *path ); } 13 AUE_NULL STD { int linux_time( l_time_t *tm ); } 14 AUE_MKNOD STD { int linux_mknod( char *path, l_int mode, l_dev_t dev ); } 15 AUE_CHMOD STD { int linux_chmod( char *path, l_mode_t mode ); } 16 AUE_LCHOWN STD { int linux_lchown16( char *path, l_uid16_t uid, l_gid16_t gid ); } 17 AUE_NULL UNIMPL break 18 AUE_STAT STD { int linux_stat( char *path, struct linux_stat *up ); } 19 AUE_LSEEK STD { int linux_lseek( l_uint fdes, l_off_t off, l_int whence ); } 20 AUE_GETPID STD { int linux_getpid(void); } 21 AUE_MOUNT STD { int linux_mount( char *specialfile, char *dir, char *filesystemtype, l_ulong rwflag, void *data ); } 22 AUE_UMOUNT STD { int linux_oldumount( char *path ); } 23 AUE_SETUID STD { int linux_setuid16( l_uid16_t uid ); } 24 AUE_GETUID STD { int linux_getuid16(void); } 25 AUE_SETTIMEOFDAY STD { int linux_stime(void); } 26 AUE_PTRACE STD { int linux_ptrace( l_long req, l_long pid, l_long addr, l_long data ); } 27 AUE_NULL STD { int linux_alarm( l_uint secs ); } 28 AUE_FSTAT UNIMPL fstat 29 AUE_NULL STD { int linux_pause(void); } 30 AUE_UTIME STD { int linux_utime( char *fname, struct l_utimbuf *times ); } 31 AUE_NULL UNIMPL stty 32 AUE_NULL UNIMPL gtty 33 AUE_ACCESS STD { int linux_access( char *path, l_int amode ); } 34 AUE_NICE STD { int linux_nice( l_int inc ); } 35 AUE_NULL UNIMPL ftime 36 AUE_SYNC NOPROTO { int sync(void); } 37 AUE_KILL STD { int linux_kill( l_int pid, l_int signum ); } 38 AUE_RENAME STD { int linux_rename( char *from, char *to ); } 39 AUE_MKDIR STD { int linux_mkdir( char *path, l_int mode ); } 40 AUE_RMDIR STD { int linux_rmdir( char *path ); } 41 AUE_DUP NOPROTO { int dup( u_int fd ); } 42 AUE_PIPE STD { int linux_pipe( l_int *pipefds ); } 43 AUE_NULL STD { int linux_times( struct l_times_argv *buf ); } 44 AUE_NULL UNIMPL prof 45 AUE_NULL STD { int linux_brk( l_ulong dsend ); } 46 AUE_SETGID STD { int linux_setgid16( l_gid16_t gid ); } 47 AUE_GETGID STD { int linux_getgid16(void); } 48 AUE_NULL STD { int linux_signal( l_int sig, l_handler_t handler ); } 49 AUE_GETEUID STD { int linux_geteuid16(void); } 50 AUE_GETEGID STD { int linux_getegid16(void); } 51 AUE_ACCT NOPROTO { int acct( char *path ); } 52 AUE_UMOUNT STD { int linux_umount( char *path, l_int flags ); } 53 AUE_NULL UNIMPL lock 54 AUE_IOCTL STD { int linux_ioctl( l_uint fd, l_uint cmd, uintptr_t arg ); } 55 AUE_FCNTL STD { int linux_fcntl( l_uint fd, l_uint cmd, uintptr_t arg ); } 56 AUE_NULL UNIMPL mpx 57 AUE_SETPGRP NOPROTO { int setpgid( int pid, int pgid ); } 58 AUE_NULL UNIMPL ulimit 59 AUE_NULL STD { int linux_olduname(void); } 60 AUE_UMASK NOPROTO { int umask( int newmask ); } 61 AUE_CHROOT NOPROTO { int chroot( char *path ); } 62 AUE_NULL STD { int linux_ustat( l_dev_t dev, struct l_ustat *ubuf ); } 63 AUE_DUP2 NOPROTO { int dup2( u_int from, u_int to ); } 64 AUE_GETPPID STD { int linux_getppid(void); } 65 AUE_GETPGRP NOPROTO { int getpgrp(void); } 66 AUE_SETSID NOPROTO { int setsid(void); } 67 AUE_NULL STD { int linux_sigaction( l_int sig, l_osigaction_t *nsa, l_osigaction_t *osa ); } 68 AUE_NULL STD { int linux_sgetmask(void); } 69 AUE_NULL STD { int linux_ssetmask( l_osigset_t mask ); } 70 AUE_SETREUID STD { int linux_setreuid16( l_uid16_t ruid, l_uid16_t euid ); } 71 AUE_SETREGID STD { int linux_setregid16( l_gid16_t rgid, l_gid16_t egid ); } 72 AUE_NULL STD { int linux_sigsuspend( l_int hist0, l_int hist1, l_osigset_t mask ); } 73 AUE_NULL STD { int linux_sigpending( l_osigset_t *mask ); } 74 AUE_SYSCTL STD { int linux_sethostname( char *hostname, u_int len ); } 75 AUE_SETRLIMIT STD { int linux_setrlimit( l_uint resource, struct l_rlimit *rlim ); } 76 AUE_GETRLIMIT STD { int linux_old_getrlimit( l_uint resource, struct l_rlimit *rlim ); } 77 AUE_GETRUSAGE STD { int linux_getrusage( int who, struct l_rusage *rusage ); } 78 AUE_NULL STD { int linux_gettimeofday( struct l_timeval *tp, struct timezone *tzp ); } 79 AUE_SETTIMEOFDAY STD { int linux_settimeofday( struct l_timeval *tp, struct timezone *tzp ); } 80 AUE_GETGROUPS STD { int linux_getgroups16( l_uint gidsetsize, l_gid16_t *gidset ); } 81 AUE_SETGROUPS STD { int linux_setgroups16( l_uint gidsetsize, l_gid16_t *gidset ); } 82 AUE_SELECT STD { int linux_old_select( struct l_old_select_argv *ptr ); } 83 AUE_SYMLINK STD { int linux_symlink( char *path, char *to ); } ; 84: oldlstat 84 AUE_LSTAT STD { int linux_lstat( char *path, struct linux_lstat *up ); } 85 AUE_READLINK STD { int linux_readlink( char *name, char *buf, l_int count ); } 86 AUE_USELIB UNIMPL linux_uselib 87 AUE_SWAPON NOPROTO { int swapon( char *name ); } 88 AUE_REBOOT STD { int linux_reboot( l_int magic1, l_int magic2, l_uint cmd, void *arg ); } ; 89: old_readdir 89 AUE_GETDIRENTRIES STD { int linux_readdir( l_uint fd, struct l_dirent *dent, l_uint count ); } ; 90: old_mmap 90 AUE_MMAP STD { int linux_mmap( struct l_mmap_argv *ptr ); } 91 AUE_MUNMAP NOPROTO { int munmap( caddr_t addr, int len ); } 92 AUE_TRUNCATE STD { int linux_truncate( char *path, l_ulong length ); } 93 AUE_FTRUNCATE STD { int linux_ftruncate( int fd, long length ); } 94 AUE_FCHMOD NOPROTO { int fchmod( int fd, int mode ); } 95 AUE_FCHOWN NOPROTO { int fchown( int fd, int uid, int gid ); } 96 AUE_GETPRIORITY STD { int linux_getpriority( int which, int who ); } 97 AUE_SETPRIORITY NOPROTO { int setpriority( int which, int who, int prio ); } 98 AUE_PROFILE UNIMPL profil 99 AUE_STATFS STD { int linux_statfs( char *path, struct l_statfs_buf *buf ); } 100 AUE_FSTATFS STD { int linux_fstatfs( l_uint fd, struct l_statfs_buf *buf ); } 101 AUE_NULL UNIMPL ioperm 102 AUE_NULL STD { int linux_socketcall( l_int what, l_ulong args ); } 103 AUE_NULL STD { int linux_syslog( l_int type, char *buf, l_int len ); } 104 AUE_SETITIMER STD { int linux_setitimer( l_int which, struct l_itimerval *itv, struct l_itimerval *oitv ); } 105 AUE_GETITIMER STD { int linux_getitimer( l_int which, struct l_itimerval *itv ); } 106 AUE_STAT STD { int linux_newstat( char *path, struct l_newstat *buf ); } 107 AUE_LSTAT STD { int linux_newlstat( char *path, struct l_newstat *buf ); } 108 AUE_FSTAT STD { int linux_newfstat( l_uint fd, struct l_newstat *buf ); } ; 109: olduname 109 AUE_NULL STD { int linux_uname(void); } 110 AUE_NULL STD { int linux_iopl( l_int level ); } 111 AUE_NULL STD { int linux_vhangup(void); } 112 AUE_NULL UNIMPL idle 113 AUE_NULL UNIMPL vm86old 114 AUE_WAIT4 STD { int linux_wait4( l_pid_t pid, l_int *status, l_int options, struct l_rusage *rusage ); } 115 AUE_SWAPOFF STD { int linux_swapoff(void); } 116 AUE_NULL STD { int linux_sysinfo( struct l_sysinfo *info ); } 117 AUE_NULL STD { int linux_ipc( l_uint what, l_int arg1, l_int arg2, l_uint arg3, l_uintptr_t ptr, l_uint arg5 ); } 118 AUE_FSYNC NOPROTO { int fsync( int fd ); } 119 AUE_SIGRETURN STD { int linux_sigreturn( struct l_sigframe *sfp ); } 120 AUE_RFORK STD { int linux_clone( l_int flags, void *stack, void *parent_tidptr, void *tls, void *child_tidptr ); } 121 AUE_SYSCTL STD { int linux_setdomainname( char *name, int len ); } 122 AUE_NULL STD { int linux_newuname( struct l_new_utsname *buf ); } 123 AUE_NULL UNIMPL modify_ldt 124 AUE_ADJTIME STD { int linux_adjtimex(void); } 125 AUE_MPROTECT STD { int linux_mprotect( caddr_t addr, int len, int prot ); } 126 AUE_SIGPROCMASK STD { int linux_sigprocmask( l_int how, l_osigset_t *mask, l_osigset_t *omask ); } 127 AUE_NULL UNIMPL create_module 128 AUE_NULL STD { int linux_init_module(void); } 129 AUE_NULL STD { int linux_delete_module(void); } 130 AUE_NULL UNIMPL get_kernel_syms 131 AUE_QUOTACTL STD { int linux_quotactl(void); } 132 AUE_GETPGID NOPROTO { int getpgid( int pid ); } 133 AUE_FCHDIR NOPROTO { int fchdir( int fd ); } 134 AUE_BDFLUSH STD { int linux_bdflush(void); } 135 AUE_NULL STD { int linux_sysfs( l_int option, l_ulong arg1, l_ulong arg2 ); } 136 AUE_PERSONALITY STD { int linux_personality( l_uint per ); } 137 AUE_NULL UNIMPL afs_syscall 138 AUE_SETFSUID STD { int linux_setfsuid16( l_uid16_t uid ); } 139 AUE_SETFSGID STD { int linux_setfsgid16( l_gid16_t gid ); } 140 AUE_LSEEK STD { int linux_llseek( l_int fd, l_ulong ohigh, l_ulong olow, l_loff_t *res, l_uint whence ); } 141 AUE_GETDIRENTRIES STD { int linux_getdents( l_uint fd, void *dent, l_uint count ); } ; 142: newselect 142 AUE_SELECT STD { int linux_select( l_int nfds, l_fd_set *readfds, l_fd_set *writefds, l_fd_set *exceptfds, struct l_timeval *timeout ); } 143 AUE_FLOCK NOPROTO { int flock( int fd, int how ); } 144 AUE_MSYNC STD { int linux_msync( l_ulong addr, l_size_t len, l_int fl ); } 145 AUE_READV STD { int linux_readv( l_ulong fd, struct l_iovec32 *iovp, l_ulong iovcnt ); } 146 AUE_WRITEV STD { int linux_writev( l_ulong fd, struct l_iovec32 *iovp, l_ulong iovcnt ); } 147 AUE_GETSID STD { int linux_getsid( l_pid_t pid ); } 148 AUE_NULL STD { int linux_fdatasync( l_uint fd ); } 149 AUE_SYSCTL STD { int linux_sysctl( struct l___sysctl_args *args ); } 150 AUE_MLOCK NOPROTO { int mlock( const void *addr, size_t len ); } 151 AUE_MUNLOCK NOPROTO { int munlock( const void *addr, size_t len ); } 152 AUE_MLOCKALL NOPROTO { int mlockall( int how ); } 153 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } 154 AUE_SCHED_SETPARAM STD { int linux_sched_setparam( l_pid_t pid, struct sched_param *param ); } 155 AUE_SCHED_GETPARAM STD { int linux_sched_getparam( l_pid_t pid, struct sched_param *param ); } 156 AUE_SCHED_SETSCHEDULER STD { int linux_sched_setscheduler( l_pid_t pid, l_int policy, struct sched_param *param ); } 157 AUE_SCHED_GETSCHEDULER STD { int linux_sched_getscheduler( l_pid_t pid ); } 158 AUE_NULL NOPROTO { int sched_yield(void); } 159 AUE_SCHED_GET_PRIORITY_MAX STD { int linux_sched_get_priority_max( l_int policy ); } 160 AUE_SCHED_GET_PRIORITY_MIN STD { int linux_sched_get_priority_min( l_int policy ); } 161 AUE_SCHED_RR_GET_INTERVAL STD { int linux_sched_rr_get_interval( l_pid_t pid, struct l_timespec *interval ); } 162 AUE_NULL STD { int linux_nanosleep( const struct l_timespec *rqtp, struct l_timespec *rmtp ); } 163 AUE_NULL STD { int linux_mremap( l_ulong addr, l_ulong old_len, l_ulong new_len, l_ulong flags, l_ulong new_addr ); } 164 AUE_SETRESUID STD { int linux_setresuid16( l_uid16_t ruid, l_uid16_t euid, l_uid16_t suid ); } 165 AUE_GETRESUID STD { int linux_getresuid16( l_uid16_t *ruid, l_uid16_t *euid, l_uid16_t *suid ); } 166 AUE_NULL UNIMPL vm86 167 AUE_NULL UNIMPL query_module 168 AUE_POLL NOPROTO { int poll( struct pollfd *fds, unsigned int nfds, int timeout ); } 169 AUE_NULL UNIMPL nfsservctl 170 AUE_SETRESGID STD { int linux_setresgid16( l_gid16_t rgid, l_gid16_t egid, l_gid16_t sgid ); } 171 AUE_GETRESGID STD { int linux_getresgid16( l_gid16_t *rgid, l_gid16_t *egid, l_gid16_t *sgid ); } 172 AUE_PRCTL STD { int linux_prctl( l_int option, l_int arg2, l_int arg3, l_int arg4, l_int arg5 ); } 173 AUE_NULL STD { int linux_rt_sigreturn( struct l_ucontext *ucp ); } 174 AUE_NULL STD { int linux_rt_sigaction( l_int sig, l_sigaction_t *act, l_sigaction_t *oact, l_size_t sigsetsize ); } 175 AUE_NULL STD { int linux_rt_sigprocmask( l_int how, l_sigset_t *mask, l_sigset_t *omask, l_size_t sigsetsize ); } 176 AUE_NULL STD { int linux_rt_sigpending( l_sigset_t *set, l_size_t sigsetsize ); } 177 AUE_NULL STD { int linux_rt_sigtimedwait( l_sigset_t *mask, l_siginfo_t *ptr, - struct l_timeval *timeout, + struct l_timespec *timeout, l_size_t sigsetsize ); } 178 AUE_NULL STD { int linux_rt_sigqueueinfo( l_pid_t pid, l_int sig, l_siginfo_t *info ); } 179 AUE_NULL STD { int linux_rt_sigsuspend( l_sigset_t *newset, l_size_t sigsetsize ); } 180 AUE_PREAD STD { int linux_pread( l_uint fd, char *buf, l_size_t nbyte, uint32_t offset1, uint32_t offset2 ); } 181 AUE_PWRITE STD { int linux_pwrite( l_uint fd, char *buf, l_size_t nbyte, uint32_t offset1, uint32_t offset2 ); } 182 AUE_CHOWN STD { int linux_chown16( char *path, l_uid16_t uid, l_gid16_t gid ); } 183 AUE_GETCWD STD { int linux_getcwd( char *buf, l_ulong bufsize ); } 184 AUE_CAPGET STD { int linux_capget( struct l_user_cap_header *hdrp, struct l_user_cap_data *datap ); } 185 AUE_CAPSET STD { int linux_capset( struct l_user_cap_header *hdrp, struct l_user_cap_data *datap ); } 186 AUE_NULL STD { int linux_sigaltstack( l_stack_t *uss, l_stack_t *uoss ); } 187 AUE_SENDFILE STD { int linux_sendfile( l_int out, l_int in, l_long *offset, l_size_t count ); } 188 AUE_GETPMSG UNIMPL getpmsg 189 AUE_PUTPMSG UNIMPL putpmsg 190 AUE_VFORK STD { int linux_vfork(void); } ; 191: ugetrlimit 191 AUE_GETRLIMIT STD { int linux_getrlimit( l_uint resource, struct l_rlimit *rlim ); } 192 AUE_MMAP STD { int linux_mmap2( l_ulong addr, l_ulong len, l_ulong prot, l_ulong flags, l_ulong fd, l_ulong pgoff ); } 193 AUE_TRUNCATE STD { int linux_truncate64( char *path, uint32_t length1, uint32_t length2 ); } 194 AUE_FTRUNCATE STD { int linux_ftruncate64( l_uint fd, uint32_t length1, uint32_t length2 ); } 195 AUE_STAT STD { int linux_stat64( const char *filename, struct l_stat64 *statbuf ); } 196 AUE_LSTAT STD { int linux_lstat64( const char *filename, struct l_stat64 *statbuf ); } 197 AUE_FSTAT STD { int linux_fstat64( l_int fd, struct l_stat64 *statbuf ); } 198 AUE_LCHOWN STD { int linux_lchown( char *path, l_uid_t uid, l_gid_t gid ); } 199 AUE_GETUID STD { int linux_getuid(void); } 200 AUE_GETGID STD { int linux_getgid(void); } 201 AUE_GETEUID NOPROTO { int geteuid(void); } 202 AUE_GETEGID NOPROTO { int getegid(void); } 203 AUE_SETREUID NOPROTO { int setreuid( uid_t ruid, uid_t euid ); } 204 AUE_SETREGID NOPROTO { int setregid( gid_t rgid, gid_t egid ); } 205 AUE_GETGROUPS STD { int linux_getgroups( l_int gidsetsize, l_gid_t *grouplist ); } 206 AUE_SETGROUPS STD { int linux_setgroups( l_int gidsetsize, l_gid_t *grouplist ); } 207 AUE_FCHOWN NODEF fchown fchown fchown_args int 208 AUE_SETRESUID NOPROTO { int setresuid( uid_t ruid, uid_t euid, uid_t suid ); } 209 AUE_GETRESUID NOPROTO { int getresuid( uid_t *ruid, uid_t *euid, uid_t *suid ); } 210 AUE_SETRESGID NOPROTO { int setresgid( gid_t rgid, gid_t egid, gid_t sgid ); } 211 AUE_GETRESGID NOPROTO { int getresgid( gid_t *rgid, gid_t *egid, gid_t *sgid ); } 212 AUE_CHOWN STD { int linux_chown( char *path, l_uid_t uid, l_gid_t gid ); } 213 AUE_SETUID NOPROTO { int setuid( uid_t uid ); } 214 AUE_SETGID NOPROTO { int setgid( gid_t gid ); } 215 AUE_SETFSUID STD { int linux_setfsuid( l_uid_t uid ); } 216 AUE_SETFSGID STD { int linux_setfsgid( l_gid_t gid ); } 217 AUE_PIVOT_ROOT STD { int linux_pivot_root( char *new_root, char *put_old ); } 218 AUE_MINCORE STD { int linux_mincore( l_ulong start, l_size_t len, u_char *vec ); } 219 AUE_MADVISE STD { int linux_madvise( void *addr, size_t len, int behav ); } 220 AUE_GETDIRENTRIES STD { int linux_getdents64( l_uint fd, void *dirent, l_uint count ); } 221 AUE_FCNTL STD { int linux_fcntl64( l_uint fd, l_uint cmd, uintptr_t arg ); } 222 AUE_NULL UNIMPL 223 AUE_NULL UNIMPL 224 AUE_NULL STD { long linux_gettid(void); } 225 AUE_NULL UNIMPL linux_readahead 226 AUE_NULL STD { int linux_setxattr( const char *path, const char *name, const char *value, l_size_t size, l_int flags ); } 227 AUE_NULL STD { int linux_lsetxattr( const char *path, const char *name, const char *value, l_size_t size, l_int flags ); } 228 AUE_NULL STD { int linux_fsetxattr( l_int fd, const char *name, const char *value, l_size_t size, l_int flags ); } 229 AUE_NULL STD { int linux_getxattr( const char *path, const char *name, char *value, l_size_t size ); } 230 AUE_NULL STD { int linux_lgetxattr( const char *path, const char *name, char *value, l_size_t size ); } 231 AUE_NULL STD { int linux_fgetxattr( l_int fd, const char *name, char *value, l_size_t size ); } 232 AUE_NULL STD { int linux_listxattr( const char *path, const char *list, l_size_t size ); } 233 AUE_NULL STD { int linux_llistxattr( const char *path, const char *list, l_size_t size ); } 234 AUE_NULL STD { int linux_flistxattr( l_int fd, const char *list, l_size_t size ); } 235 AUE_NULL STD { int linux_removexattr( const char *path, const char *name ); } 236 AUE_NULL STD { int linux_lremovexattr( const char *path, const char *name ); } 237 AUE_NULL STD { int linux_fremovexattr( l_int fd, const char *name ); } 238 AUE_NULL STD { int linux_tkill( int tid, int sig ); } 239 AUE_SENDFILE STD { int linux_sendfile64( l_int out, l_int in, l_loff_t *offset, l_size_t count ); } 240 AUE_NULL STD { int linux_sys_futex( void *uaddr, int op, uint32_t val, struct l_timespec *timeout, uint32_t *uaddr2, uint32_t val3 ); } 241 AUE_NULL STD { int linux_sched_setaffinity( l_pid_t pid, l_uint len, l_ulong *user_mask_ptr ); } 242 AUE_NULL STD { int linux_sched_getaffinity( l_pid_t pid, l_uint len, l_ulong *user_mask_ptr ); } 243 AUE_NULL STD { int linux_set_thread_area( struct l_user_desc *desc ); } 244 AUE_NULL UNIMPL linux_get_thread_area 245 AUE_NULL UNIMPL linux_io_setup 246 AUE_NULL UNIMPL linux_io_destroy 247 AUE_NULL UNIMPL linux_io_getevents 248 AUE_NULL UNIMPL linux_io_submit 249 AUE_NULL UNIMPL linux_io_cancel 250 AUE_NULL STD { int linux_fadvise64( int fd, uint32_t offset1, uint32_t offset2, l_size_t len, int advice ); } 251 AUE_NULL UNIMPL 252 AUE_EXIT STD { int linux_exit_group( int error_code ); } 253 AUE_NULL STD { int linux_lookup_dcookie(void); } 254 AUE_NULL STD { int linux_epoll_create( l_int size ); } 255 AUE_NULL STD { int linux_epoll_ctl( l_int epfd, l_int op, l_int fd, struct epoll_event *event ); } 256 AUE_NULL STD { int linux_epoll_wait( l_int epfd, struct epoll_event *events, l_int maxevents, l_int timeout ); } 257 AUE_NULL STD { int linux_remap_file_pages(void); } 258 AUE_NULL STD { int linux_set_tid_address( int *tidptr ); } 259 AUE_NULL STD { int linux_timer_create( clockid_t clock_id, struct sigevent *evp, l_timer_t *timerid ); } 260 AUE_NULL STD { int linux_timer_settime( l_timer_t timerid, l_int flags, const struct itimerspec *new, struct itimerspec *old ); } 261 AUE_NULL STD { int linux_timer_gettime( l_timer_t timerid, struct itimerspec *setting ); } 262 AUE_NULL STD { int linux_timer_getoverrun( l_timer_t timerid ); } 263 AUE_NULL STD { int linux_timer_delete( l_timer_t timerid ); } 264 AUE_CLOCK_SETTIME STD { int linux_clock_settime( clockid_t which, struct l_timespec *tp ); } 265 AUE_NULL STD { int linux_clock_gettime( clockid_t which, struct l_timespec *tp ); } 266 AUE_NULL STD { int linux_clock_getres( clockid_t which, struct l_timespec *tp ); } 267 AUE_NULL STD { int linux_clock_nanosleep( clockid_t which, int flags, struct l_timespec *rqtp, struct l_timespec *rmtp ); } 268 AUE_STATFS STD { int linux_statfs64( char *path, size_t bufsize, struct l_statfs64_buf *buf ); } 269 AUE_FSTATFS STD { int linux_fstatfs64( l_uint fd, size_t bufsize, struct l_statfs64_buf *buf ); } 270 AUE_NULL STD { int linux_tgkill( int tgid, int pid, int sig ); } 271 AUE_UTIMES STD { int linux_utimes( char *fname, struct l_timeval *tptr ); } 272 AUE_NULL STD { int linux_fadvise64_64( int fd, uint32_t offset1, uint32_t offset2, uint32_t len1, uint32_t len2, int advice ); } 273 AUE_NULL UNIMPL vserver 274 AUE_NULL STD { int linux_mbind(void); } 275 AUE_NULL STD { int linux_get_mempolicy(void); } 276 AUE_NULL STD { int linux_set_mempolicy(void); } ; Linux 2.6.6: 277 AUE_NULL STD { int linux_mq_open( const char *name, l_int oflag, l_mode_t mode, struct mq_attr *attr ); } 278 AUE_NULL STD { int linux_mq_unlink( const char *name ); } 279 AUE_NULL STD { int linux_mq_timedsend( l_mqd_t mqd, const char *msg_ptr, l_size_t msg_len, l_uint msg_prio, const struct l_timespec *abs_timeout ); } 280 AUE_NULL STD { int linux_mq_timedreceive( l_mqd_t mqd, char *msg_ptr, l_size_t msg_len, l_uint *msg_prio, const struct l_timespec *abs_timeout ); } 281 AUE_NULL STD { int linux_mq_notify( l_mqd_t mqd, const struct l_timespec *abs_timeout ); } 282 AUE_NULL STD { int linux_mq_getsetattr( l_mqd_t mqd, const struct mq_attr *attr, struct mq_attr *oattr ); } 283 AUE_NULL STD { int linux_kexec_load(void); } 284 AUE_WAIT6 STD { int linux_waitid( int idtype, l_pid_t id, l_siginfo_t *info, int options, struct l_rusage *rusage ); } 285 AUE_NULL UNIMPL ; Linux 2.6.11: 286 AUE_NULL STD { int linux_add_key(void); } 287 AUE_NULL STD { int linux_request_key(void); } 288 AUE_NULL STD { int linux_keyctl(void); } ; Linux 2.6.13: 289 AUE_NULL STD { int linux_ioprio_set(void); } 290 AUE_NULL STD { int linux_ioprio_get(void); } 291 AUE_NULL STD { int linux_inotify_init(void); } 292 AUE_NULL STD { int linux_inotify_add_watch(void); } 293 AUE_NULL STD { int linux_inotify_rm_watch(void); } ; Linux 2.6.16: 294 AUE_NULL STD { int linux_migrate_pages(void); } 295 AUE_OPEN_RWTC STD { int linux_openat( l_int dfd, const char *filename, l_int flags, l_int mode ); } 296 AUE_MKDIRAT STD { int linux_mkdirat( l_int dfd, const char *pathname, l_int mode ); } 297 AUE_MKNODAT STD { int linux_mknodat( l_int dfd, const char *filename, l_int mode, l_uint dev ); } 298 AUE_FCHOWNAT STD { int linux_fchownat( l_int dfd, const char *filename, l_uid16_t uid, l_gid16_t gid, l_int flag ); } 299 AUE_FUTIMESAT STD { int linux_futimesat( l_int dfd, char *filename, struct l_timeval *utimes ); } 300 AUE_FSTATAT STD { int linux_fstatat64( l_int dfd, char *pathname, struct l_stat64 *statbuf, l_int flag ); } 301 AUE_UNLINKAT STD { int linux_unlinkat( l_int dfd, const char *pathname, l_int flag ); } 302 AUE_RENAMEAT STD { int linux_renameat( l_int olddfd, const char *oldname, l_int newdfd, const char *newname ); } 303 AUE_LINKAT STD { int linux_linkat( l_int olddfd, const char *oldname, l_int newdfd, const char *newname, l_int flag ); } 304 AUE_SYMLINKAT STD { int linux_symlinkat( const char *oldname, l_int newdfd, const char *newname ); } 305 AUE_READLINKAT STD { int linux_readlinkat( l_int dfd, const char *path, char *buf, l_int bufsiz ); } 306 AUE_FCHMODAT STD { int linux_fchmodat( l_int dfd, const char *filename, l_mode_t mode ); } 307 AUE_FACCESSAT STD { int linux_faccessat( l_int dfd, const char *filename, l_int amode ); } 308 AUE_SELECT STD { int linux_pselect6( l_int nfds, l_fd_set *readfds, l_fd_set *writefds, l_fd_set *exceptfds, struct l_timespec *tsp, l_uintptr_t *sig ); } 309 AUE_POLL STD { int linux_ppoll( struct pollfd *fds, uint32_t nfds, struct l_timespec *tsp, l_sigset_t *sset, l_size_t ssize ); } 310 AUE_NULL STD { int linux_unshare(void); } ; Linux 2.6.17: 311 AUE_NULL STD { int linux_set_robust_list( struct linux_robust_list_head *head, l_size_t len ); } 312 AUE_NULL STD { int linux_get_robust_list( l_int pid, struct linux_robust_list_head **head, l_size_t *len ); } 313 AUE_NULL STD { int linux_splice( int fd_in, l_loff_t *off_in, int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags ); } 314 AUE_NULL STD { int linux_sync_file_range( l_int fd, uint32_t offset1, uint32_t offset2, uint32_t nbytes1, uint32_t nbytes2, unsigned int flags ); } 315 AUE_NULL STD { int linux_tee(void); } 316 AUE_NULL STD { int linux_vmsplice(void); } ; Linux 2.6.18: 317 AUE_NULL STD { int linux_move_pages(void); } ; Linux 2.6.19: 318 AUE_NULL STD { int linux_getcpu( l_uint *cpu, l_uint *node, void *cache ); } 319 AUE_NULL STD { int linux_epoll_pwait( l_int epfd, struct epoll_event *events, l_int maxevents, l_int timeout, l_sigset_t *mask, l_size_t sigsetsize ); } ; Linux 2.6.22: 320 AUE_FUTIMESAT STD { int linux_utimensat( l_int dfd, const char *pathname, const struct l_timespec *times, l_int flags ); } 321 AUE_NULL STD { int linux_signalfd(void); } 322 AUE_NULL STD { int linux_timerfd_create( l_int clockid, l_int flags ); } 323 AUE_NULL STD { int linux_eventfd( l_uint initval ); } ; Linux 2.6.23: 324 AUE_NULL STD { int linux_fallocate( l_int fd, l_int mode, uint32_t offset1, uint32_t offset2, uint32_t len1, uint32_t len2 ); } ; Linux 2.6.25: 325 AUE_NULL STD { int linux_timerfd_settime( l_int fd, l_int flags, const struct l_itimerspec *new_value, struct l_itimerspec *old_value ); } 326 AUE_NULL STD { int linux_timerfd_gettime( l_int fd, struct l_itimerspec *old_value ); } ; Linux 2.6.27: 327 AUE_NULL STD { int linux_signalfd4(void); } 328 AUE_NULL STD { int linux_eventfd2( l_uint initval, l_int flags ); } 329 AUE_NULL STD { int linux_epoll_create1( l_int flags ); } 330 AUE_NULL STD { int linux_dup3( l_int oldfd, l_int newfd, l_int flags ); } 331 AUE_NULL STD { int linux_pipe2( l_int *pipefds, l_int flags ); } 332 AUE_NULL STD { int linux_inotify_init1(void); } ; Linux 2.6.30: 333 AUE_NULL STD { int linux_preadv( l_ulong fd, struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h ); } 334 AUE_NULL STD { int linux_pwritev( l_ulong fd, struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h ); } ; Linux 2.6.31: 335 AUE_NULL STD { int linux_rt_tgsigqueueinfo( l_pid_t tgid, l_pid_t tid, l_int sig, l_siginfo_t *uinfo ); } 336 AUE_NULL STD { int linux_perf_event_open(void); } ; Linux 2.6.33: 337 AUE_NULL STD { int linux_recvmmsg( l_int s, struct l_mmsghdr *msg, l_uint vlen, l_uint flags, struct l_timespec *timeout ); } 338 AUE_NULL STD { int linux_fanotify_init(void); } 339 AUE_NULL STD { int linux_fanotify_mark(void); } ; Linux 2.6.36: 340 AUE_NULL STD { int linux_prlimit64( l_pid_t pid, l_uint resource, struct rlimit *new, struct rlimit *old ); } ; Linux 2.6.39: 341 AUE_NULL STD { int linux_name_to_handle_at( l_int dirfd, const char *name, struct l_file_handle *handle, l_int *mnt_id, l_int flags ); } 342 AUE_NULL STD { int linux_open_by_handle_at( l_int mountdirfd, struct l_file_handle *handle, l_int flags ); } 343 AUE_NULL STD { int linux_clock_adjtime(void); } 344 AUE_SYNC STD { int linux_syncfs( l_int fd ); } ; Linux 3.0: 345 AUE_NULL STD { int linux_sendmmsg( l_int s, struct l_mmsghdr *msg, l_uint vlen, l_uint flags ); } 346 AUE_NULL STD { int linux_setns(void); } ; Linux 3.2 (glibc 2.15): 347 AUE_NULL STD { int linux_process_vm_readv( l_pid_t pid, const struct iovec *lvec, l_ulong liovcnt, const struct iovec *rvec, l_ulong riovcnt, l_ulong flags ); } 348 AUE_NULL STD { int linux_process_vm_writev( l_pid_t pid, const struct iovec *lvec, l_ulong liovcnt, const struct iovec *rvec, l_ulong riovcnt, l_ulong flags ); } ; Linux 3.5 (no glibc wrapper): 349 AUE_NULL STD { int linux_kcmp( l_pid_t pid1, l_pid_t pid2, l_int type, l_ulong idx1, l_ulong idx ); } ; Linux 3.8 (no glibc wrapper): 350 AUE_NULL STD { int linux_finit_module( l_int fd, const char *uargs, l_int flags ); } ; Linux 3.14: 351 AUE_NULL STD { int linux_sched_setattr( l_pid_t pid, void *attr, l_uint flags ); } 352 AUE_NULL STD { int linux_sched_getattr( l_pid_t pid, void *attr, l_uint size, l_uint flags ); } ; Linux 3.15: 353 AUE_NULL STD { int linux_renameat2( l_int olddfd, const char *oldname, l_int newdfd, const char *newname, unsigned int flags ); } ; Linux 3.17: 354 AUE_NULL STD { int linux_seccomp( l_uint op, l_uint flags, const char *uargs ); } 355 AUE_NULL STD { int linux_getrandom( char *buf, l_size_t count, l_uint flags ); } 356 AUE_NULL STD { int linux_memfd_create( const char *uname_ptr, l_uint flags ); } ; Linux 3.18: 357 AUE_NULL STD { int linux_bpf( l_int cmd, void *attr, l_uint size ); } ; Linux 3.19: 358 AUE_NULL STD { int linux_execveat( l_int dfd, const char *filename, const char **argv, const char **envp, l_int flags ); } ; Linux 4.3: sockets now direct system calls: 359 AUE_SOCKET STD { int linux_socket( l_int domain, l_int type, l_int protocol ); } 360 AUE_SOCKETPAIR STD { int linux_socketpair( l_int domain, l_int type, l_int protocol, l_uintptr_t rsv ); } 361 AUE_BIND STD { int linux_bind( l_int s, l_uintptr_t name, l_int namelen ); } 362 AUE_CONNECT STD { int linux_connect( l_int s, l_uintptr_t name, l_int namelen ); } 363 AUE_LISTEN STD { int linux_listen( l_int s, l_int backlog ); } 364 AUE_ACCEPT STD { int linux_accept4( l_int s, l_uintptr_t addr, l_uintptr_t namelen, l_int flags ); } 365 AUE_GETSOCKOPT STD { int linux_getsockopt( l_int s, l_int level, l_int optname, l_uintptr_t optval, l_uintptr_t optlen ); } 366 AUE_SETSOCKOPT STD { int linux_setsockopt( l_int s, l_int level, l_int optname, l_uintptr_t optval, l_int optlen ); } 367 AUE_GETSOCKNAME STD { int linux_getsockname( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 368 AUE_GETPEERNAME STD { int linux_getpeername( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 369 AUE_SENDTO STD { int linux_sendto( l_int s, l_uintptr_t msg, l_int len, l_int flags, l_uintptr_t to, l_int tolen ); } 370 AUE_SENDMSG STD { int linux_sendmsg( l_int s, l_uintptr_t msg, l_int flags ); } 371 AUE_RECVFROM STD { int linux_recvfrom( l_int s, l_uintptr_t buf, l_size_t len, l_int flags, l_uintptr_t from, l_uintptr_t fromlen ); } 372 AUE_RECVMSG STD { int linux_recvmsg( l_int s, l_uintptr_t msg, l_int flags ); } 373 AUE_NULL STD { int linux_shutdown( l_int s, l_int how ); } ; Linux 4.2: 374 AUE_NULL STD { int linux_userfaultfd( l_int flags ); } ; Linux 4.3: 375 AUE_NULL STD { int linux_membarrier( l_int cmd, l_int flags ); } ; Linux 4.4: 376 AUE_NULL STD { int linux_mlock2( l_ulong start, l_size_t len, l_int flags ); } ; Linux 4.5: 377 AUE_NULL STD { int linux_copy_file_range( l_int fd_in, l_loff_t *off_in, l_int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags ); } ; Linux 4.6: 378 AUE_NULL STD { int linux_preadv2( l_ulong fd, const struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h, l_int flags ); } 379 AUE_NULL STD { int linux_pwritev2( l_ulong fd, const struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h, l_int flags ); } ; Linux 4.8: 380 AUE_NULL STD { int linux_pkey_mprotect( l_ulong start, l_size_t len, l_ulong prot, l_int pkey ); } 381 AUE_NULL STD { int linux_pkey_alloc( l_ulong flags, l_ulong init_val ); } 382 AUE_NULL STD { int linux_pkey_free( l_int pkey ); } ; Linux 4.11: 383 AUE_NULL STD { int linux_statx( l_int dirfd, const char *pathname, l_uint flags, l_uint mask, void *statxbuf ); } 384 AUE_NULL STD { int linux_arch_prctl( l_int option, l_ulong arg2 ); } ; Linux 4.18: 385 AUE_NULL STD { int linux_io_pgetevents(void); } 386 AUE_NULL STD { int linux_rseq(void); } 387-392 AUE_NULL UNIMPL nosys 393 AUE_NULL STD { int linux_semget( l_key_t key, l_int nsems, l_int semflg ); } 394 AUE_NULL STD { int linux_semctl( l_int semid, l_int semnum, l_int cmd, union l_semun arg ); } 395 AUE_NULL STD { int linux_shmget( l_key_t key, l_size_t size, l_int shmflg ); } 396 AUE_NULL STD { int linux_shmctl( l_int shmid, l_int cmd, struct l_shmid_ds *buf ); } 397 AUE_NULL STD { int linux_shmat( l_int shmid, char *shmaddr, l_int shmflg ); } 398 AUE_NULL STD { int linux_shmdt( char *shmaddr ); } 399 AUE_NULL STD { int linux_msgget( l_key_t key, l_int msgflg ); } 400 AUE_NULL STD { int linux_msgsnd( l_int msqid, struct l_msgbuf *msgp, l_size_t msgsz, l_int msgflg ); } 401 AUE_NULL STD { int linux_msgrcv( l_int msqid, struct l_msgbuf *msgp, l_size_t msgsz, l_long msgtyp, l_int msgflg ); } 402 AUE_NULL STD { int linux_msgctl( l_int msqid, l_int cmd, struct l_msqid_ds *buf ); } ; Linux 5.0: 403 AUE_NULL STD { int linux_clock_gettime64( clockid_t which, struct l_timespec64 *tp ); } 404 AUE_NULL STD { int linux_clock_settime64( clockid_t which, struct l_timespec64 *tp ); } 405 AUE_NULL STD { int linux_clock_adjtime64(void); } 406 AUE_NULL STD { int linux_clock_getres_time64( clockid_t which, struct l_timespec64 *tp ); } 407 AUE_NULL STD { int linux_clock_nanosleep_time64( clockid_t which, l_int flags, struct l_timespec64 *rqtp, struct l_timespec64 *rmtp ); } 408 AUE_NULL STD { int linux_timer_gettime64(void); } 409 AUE_NULL STD { int linux_timer_settime64(void); } 410 AUE_NULL STD { int linux_timerfd_gettime64(void); } 411 AUE_NULL STD { int linux_timerfd_settime64(void); } 412 AUE_NULL STD { int linux_utimensat_time64( l_int dfd, const char *pathname, const struct l_timespec64 *times64, l_int flags ); } 413 AUE_NULL STD { int linux_pselect6_time64(void); } 414 AUE_NULL STD { int linux_ppoll_time64(void); } 415 AUE_NULL UNIMPL nosys 416 AUE_NULL STD { int linux_io_pgetevents_time64(void); } 417 AUE_NULL STD { int linux_recvmmsg_time64(void); } 418 AUE_NULL STD { int linux_mq_timedsend_time64(void); } 419 AUE_NULL STD { int linux_mq_timedreceive_time64(void); } 420 AUE_NULL STD { int linux_semtimedop_time64(void); } 421 AUE_NULL STD { int linux_rt_sigtimedwait_time64(void); } 422 AUE_NULL STD { int linux_futex_time64(void); } 423 AUE_NULL STD { int linux_sched_rr_get_interval_time64(void); } 424 AUE_NULL STD { int linux_pidfd_send_signal( l_int pidfd, l_int sig, l_siginfo_t *info, l_uint flags ); } 425 AUE_NULL STD { int linux_io_uring_setup(void); } 426 AUE_NULL STD { int linux_io_uring_enter(void); } 427 AUE_NULL STD { int linux_io_uring_register(void); } 428 AUE_NULL STD { int linux_open_tree(void); } 429 AUE_NULL STD { int linux_move_mount(void); } 430 AUE_NULL STD { int linux_fsopen(void); } 431 AUE_NULL STD { int linux_fsconfig(void); } 432 AUE_NULL STD { int linux_fsmount(void); } 433 AUE_NULL STD { int linux_fspick(void); } 434 AUE_NULL STD { int linux_pidfd_open(void); } 435 AUE_NULL STD { int linux_clone3(void); } 436 AUE_NULL STD { int linux_close_range(void); } 437 AUE_NULL STD { int linux_openat2(void); } 438 AUE_NULL STD { int linux_pidfd_getfd(void); } 439 AUE_NULL STD { int linux_faccessat2(void); } 440 AUE_NULL STD { int linux_process_madvise(void); } 441 AUE_NULL STD { int linux_epoll_pwait2(void); } 442 AUE_NULL STD { int linux_mount_setattr(void); } ; please, keep this line at the end. 443 AUE_NULL UNIMPL nosys ; vim: syntax=off diff --git a/sys/arm/linux/syscalls.master b/sys/arm/linux/syscalls.master index 02a504459760..d67f9c3b2069 100644 --- a/sys/arm/linux/syscalls.master +++ b/sys/arm/linux/syscalls.master @@ -1,1928 +1,1928 @@ $FreeBSD$ ; Linux ABI system call name/number map, based on Linux file ; arch/arm/kernel/calls.S #include #include #include #include #include #include ; Isn't pretty, but there seems to be no other way to trap nosys #define nosys linux_nosys 0 AUE_NULL UNIMPL setup 1 AUE_EXIT STD { void linux_exit( int rval ); } 2 AUE_FORK STD { int linux_fork(void); } 3 AUE_NULL NOPROTO { int read( int fd, char *buf, u_int nbyte ); } 4 AUE_NULL NOPROTO { int write( int fd, char *buf, u_int nbyte ); } 5 AUE_OPEN_RWTC STD { int linux_open( char *path, l_int flags, l_int mode ); } 6 AUE_CLOSE NOPROTO { int close( int fd); } 7 AUE_NULL UNIMPL ; was linux_waitpid 8 AUE_CREAT STD { int linux_creat( char *path, l_int mode ); } 9 AUE_LINK STD { int linux_link( char *path, char *to ); } 10 AUE_UNLINK STD { int linux_unlink( char *path ); } 11 AUE_EXECVE STD { int linux_execve( char *path, char **argp, char **envp ); } 12 AUE_CHDIR STD { int linux_chdir( char *path ); } 13 AUE_NULL UNIMPL ; was OBSOLETE(linux_time) 14 AUE_MKNOD STD { int linux_mknod( char *path, l_int mode, l_dev_t dev ); } 15 AUE_CHMOD STD { int linux_chmod( char *path, l_mode_t mode ); } 16 AUE_LCHOWN STD { int linux_lchown16( char *path, l_uid16_t uid, l_gid16_t gid); } 17 AUE_NULL UNIMPL ; was linux_break 18 AUE_NULL UNIMPL ; was linux_stat 19 AUE_LSEEK STD { int linux_lseek( l_uint fdes, l_off_t off, l_int whence ); } 20 AUE_GETPID STD { int linux_getpid(void); } 21 AUE_MOUNT STD { int linux_mount( char *specialfile, char *dir, char *filesystemtype, l_ulong rwflag, void *data ); } 22 AUE_NULL UNIMPL ; was OBSOLETE(linux_oldumount) 23 AUE_SETUID STD { int linux_setuid16( l_uid16_t uid); } 24 AUE_GETUID STD { int linux_getuid16(void); } 25 AUE_NULL UNIMPL ; was OBSOLETE(linux_stime) 26 AUE_PTRACE UNIMPL ptrace 27 AUE_NULL UNIMPL ; was OBSOLETE(linux_alarm) 28 AUE_NULL UNIMPL ; was linux_fstat 29 AUE_NULL STD { int linux_pause(void); } 30 AUE_NULL UNIMPL ; was OBSOLETE(linux_utime) 31 AUE_NULL UNIMPL ; was linux_stty 32 AUE_NULL UNIMPL ; was linux_getty 33 AUE_ACCESS STD { int linux_access( char *path, l_int amode ); } 34 AUE_NICE STD { int linux_nice( l_int inc ); } 35 AUE_NULL UNIMPL ; was linux_ftime 36 AUE_SYNC NOPROTO { int sync(void); } 37 AUE_KILL STD { int linux_kill( l_int pid, l_int signum ); } 38 AUE_RENAME STD { int linux_rename( char *from, char *to ); } 39 AUE_MKDIR STD { int linux_mkdir( char *path, l_int mode ); } 40 AUE_RMDIR STD { int linux_rmdir( char *path ); } 41 AUE_DUP NOPROTO { int dup( u_int fd); } 42 AUE_PIPE STD { int linux_pipe( l_int *pipefds ); } 43 AUE_NULL STD { int linux_times( struct l_times_argv *buf ); } 44 AUE_NULL UNIMPL ; was linux_prof 45 AUE_NULL STD { int linux_brk( l_ulong dsend); } 46 AUE_SETGID STD { int linux_setgid16( l_gid16_t gid); } 47 AUE_GETGID STD { int linux_getgid16(void); } 48 AUE_NULL UNIMPL ; was linux_signal 49 AUE_GETEUID STD { int linux_geteuid16(void); } 50 AUE_GETEGID STD { int linux_getegid16(void); } 51 AUE_ACCT NOPROTO { int acct( char *path ); } 52 AUE_UMOUNT STD { int linux_umount( char *path, l_int flags ); } 53 AUE_NULL UNIMPL ; was linux_lock 54 AUE_IOCTL STD { int linux_ioctl( l_uint fd, l_uint cmd, l_ulong arg ); } 55 AUE_FCNTL STD { int linux_fcntl( l_uint fd, l_uint cmd, l_ulong arg ); } 56 AUE_NULL UNIMPL ; was linux_mpx 57 AUE_SETPGRP NOPROTO { int setpgid( int pid, int pgid); } 58 AUE_NULL UNIMPL ; was linux_ulimit 59 AUE_NULL UNIMPL ; was linux_olduname 60 AUE_UMASK NOPROTO { int umask( int newmask ); } 61 AUE_CHROOT NOPROTO { int chroot( char *path ); } 62 AUE_NULL STD { int linux_ustat( l_dev_t dev, struct l_ustat *ubuf ); } 63 AUE_DUP2 NOPROTO { int dup2( u_int from, u_int to ); } 64 AUE_GETPPID STD { int linux_getppid(void); } 65 AUE_GETPGRP NOPROTO { int getpgrp(void); } 66 AUE_SETSID NOPROTO { int setsid(void); } 67 AUE_NULL STD { int linux_sigaction( l_int sig, l_osigaction_t *nsa, l_osigaction_t *osa ); } 68 AUE_NULL UNIMPL ; was linux_sgetmask 69 AUE_NULL UNIMPL ; was linux_ssetmask 70 AUE_SETREUID STD { int linux_setreuid16( l_uid16_t ruid, l_uid16_t euid); } 71 AUE_SETREGID STD { int linux_setregid16( l_gid16_t rgid, l_gid16_t egid); } 72 AUE_NULL STD { int linux_sigsuspend( l_int hist0, l_int hist1, l_osigset_t mask ); } 73 AUE_NULL STD { int linux_sigpending( l_osigset_t *mask ); } 74 AUE_SYSCTL STD { int linux_sethostname( char *hostname, u_int len ); } 75 AUE_SETRLIMIT STD { int linux_setrlimit( l_uint resource, struct l_rlimit *rlim ); } 76 AUE_NULL UNIMPL ; was OBSOLETE(linux_old_getrlimit) 77 AUE_GETRUSAGE NOPROTO { int getrusage( int who, struct rusage *rusage ); } 78 AUE_GETTIMEOFDAY STD { int linux_gettimeofday( struct timeval32 *tp, struct timezone *tzp ); } 79 AUE_SETTIMEOFDAY STD { int linux_settimeofday( struct timeval32 *tp, struct timezone *tzp ); } 80 AUE_GETGROUPS STD { int linux_getgroups16( l_uint gidsetsize, l_gid16_t *gidset ); } 81 AUE_SETGROUPS STD { int linux_setgroups16( l_uint gidsetsize, l_gid16_t *gidset ); } 82 AUE_NULL UNIMPL ; was OBSOLETE(linux_old_select) 83 AUE_SYMLINK STD { int linux_symlink( char *path, char *to ); } 84 AUE_NULL UNIMPL ; was linux_lstat 85 AUE_READLINK STD { int linux_readlink( char *name, char *buf, l_int count ); } 86 AUE_NULL UNIMPL uselib 87 AUE_SWAPON NOPROTO { int swapon( char *name ); } 88 AUE_REBOOT STD { int linux_reboot( l_int magic1, l_int magic2, l_uint cmd, void *arg ); } 89 AUE_NULL UNIMPL ; was OBSOLETE(linux_old_readdir) 90 AUE_NULL UNIMPL ; was OBSOLETE(linux_old_mmap) 91 AUE_MUNMAP NOPROTO { int munmap( caddr_t addr, int len ); } 92 AUE_TRUNCATE STD { int linux_truncate( char *path, l_ulong length ); } 93 AUE_FTRUNCATE STD { int linux_ftruncate( int fd, long length ); } 94 AUE_FCHMOD NOPROTO { int fchmod( int fd, int mode ); } 95 AUE_FCHOWN NOPROTO { int fchown( int fd, int uid, int gid); } 96 AUE_GETPRIORITY STD { int linux_getpriority( int which, int who ); } 97 AUE_SETPRIORITY NOPROTO { int setpriority( int which, int who, int prio ); } 98 AUE_NULL UNIMPL ; was linux_profil 99 AUE_STATFS STD { int linux_statfs( char *path, struct l_statfs_buf *buf ); } 100 AUE_FSTATFS STD { int linux_fstatfs( l_uint fd, struct l_statfs_buf *buf ); } 101 AUE_NULL UNIMPL ; was ioperm 102 AUE_NULL UNIMPL ; was OBSOLETE(linux_socketcall) 103 AUE_NULL STD { int linux_syslog( l_int type, char *buf, l_int len ); } 104 AUE_SETITIMER STD { int linux_setitimer( l_int which, struct l_itimerval *itv, struct l_itimerval *oitv ); } 105 AUE_GETITIMER STD { int linux_getitimer( l_int which, struct l_itimerval *itv ); } 106 AUE_STAT STD { int linux_newstat( char *path, struct l_newstat *buf ); } 107 AUE_LSTAT STD { int linux_newlstat( char *path, struct l_newstat *buf ); } 108 AUE_FSTAT STD { int linux_newfstat( l_uint fd, struct l_newstat *buf ); } 109 AUE_NULL UNIMPL ; was linux_uname 110 AUE_NULL UNIMPL ; was linux_iopl 111 AUE_NULL STD { int linux_vhangup(void); } 112 AUE_NULL UNIMPL ; 113 AUE_NULL UNIMPL ; was OBSOLETE(linux_syscall) 114 AUE_WAIT4 STD { int linux_wait4( l_pid_t pid, l_int *status, l_int options, void *rusage ); } 115 AUE_SWAPOFF STD { int linux_swapoff(void); } 116 AUE_NULL STD { int linux_sysinfo( struct l_sysinfo *info ); } 117 AUE_NULL UNIMPL ; was OBSOLETE(linux_ipc) 118 AUE_FSYNC NOPROTO { int fsync( int fd); } 119 AUE_SIGRETURN STD { int linux_sigreturn( struct l_sigframe *sfp ); } 120 AUE_RFORK STD { int linux_clone( l_int flags, void *stack, void *parent_tidptr, void *tls, void * child_tidptr ); } 121 AUE_SYSCTL STD { int linux_setdomainname( char *name, int len ); } 122 AUE_NULL STD { int linux_newuname( struct l_new_utsname *buf ); } 123 AUE_NULL UNIMPL ; was linux_modify_ldt 124 AUE_ADJTIME STD { int linux_adjtimex(void); } 125 AUE_MPROTECT STD { int linux_mprotect( caddr_t addr, int len, int prot ); } 126 AUE_SIGPROCMASK STD { int linux_sigprocmask( l_int how, l_osigset_t *mask, l_osigset_t *omask ); } 127 AUE_NULL UNIMPL ; was linux_create_module 128 AUE_NULL STD { int linux_init_module(void); } 129 AUE_NULL STD { int linux_delete_module(void); } 130 AUE_NULL UNIMPL ; was linux_get_kernel_syms 131 AUE_QUOTACTL STD { int linux_quotactl(void); } 132 AUE_GETPGID NOPROTO { int getpgid( int pid); } 133 AUE_FCHDIR NOPROTO { int fchdir( int fd); } 134 AUE_BDFLUSH STD { int linux_bdflush(void); } 135 AUE_NULL STD { int linux_sysfs( l_int option, l_ulong arg1, l_ulong arg2 ); } 136 AUE_PERSONALITY STD { int linux_personality( l_ulong per ); } 137 AUE_NULL UNIMPL ; was afs_syscall 138 AUE_SETFSUID STD { int linux_setfsuid16( l_uid16_t uid); } 139 AUE_SETFSGID STD { int linux_setfsgid16( l_gid16_t gid); } 140 AUE_LSEEK STD { int linux_llseek( l_int fd, l_ulong ohigh, l_ulong olow, l_loff_t *res, l_uint whence ); } 141 AUE_GETDIRENTRIES STD { int linux_getdents( l_uint fd, void *dent, l_uint count ); } ; 142: newselect 142 AUE_SELECT STD { int linux_select( l_int nfds, l_fd_set *readfds, l_fd_set *writefds, l_fd_set *exceptfds, struct l_timeval *timeout ); } 143 AUE_FLOCK NOPROTO { int flock( int fd, int how ); } 144 AUE_MSYNC STD { int linux_msync( l_ulong addr, l_size_t len, l_int fl ); } 145 AUE_READV NOPROTO { int readv( int fd, struct iovec *iovp, u_int iovcnt ); } 146 AUE_WRITEV NOPROTO { int writev( int fd, struct iovec *iovp, u_int iovcnt ); } 147 AUE_GETSID STD { int linux_getsid( l_pid_t pid); } 148 AUE_NULL STD { int linux_fdatasync( l_uint fd); } 149 AUE_SYSCTL STD { int linux_sysctl( struct l___sysctl_args *args ); } 150 AUE_MLOCK NOPROTO { int mlock( const void *addr, size_t len ); } 151 AUE_MUNLOCK NOPROTO { int munlock( const void *addr, size_t len ); } 152 AUE_MLOCKALL NOPROTO { int mlockall( int how ); } 153 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } 154 AUE_SCHED_SETPARAM STD { int linux_sched_setparam( l_pid_t pid, struct sched_param *param ); } 155 AUE_SCHED_GETPARAM STD { int linux_sched_getparam( l_pid_t pid, struct sched_param *param ); } 156 AUE_SCHED_SETSCHEDULER STD { int linux_sched_setscheduler( l_pid_t pid, l_int policy, struct sched_param *param ); } 157 AUE_SCHED_GETSCHEDULER STD { int linux_sched_getscheduler( l_pid_t pid); } 158 AUE_NULL NOPROTO { int sched_yield(void); } 159 AUE_SCHED_GET_PRIORITY_MAX STD { int linux_sched_get_priority_max( l_int policy ); } 160 AUE_SCHED_GET_PRIORITY_MIN STD { int linux_sched_get_priority_min( l_int policy ); } 161 AUE_SCHED_RR_GET_INTERVAL STD { int linux_sched_rr_get_interval( l_pid_t pid, struct l_timespec *interval ); } 162 AUE_NULL STD { int linux_nanosleep( const struct l_timespec *rqtp, struct l_timespec *rmtp ); } 163 AUE_NULL STD { int linux_mremap( l_ulong addr, l_ulong old_len, l_ulong new_len, l_ulong flags, l_ulong new_addr ); } 164 AUE_SETRESUID STD { int linux_setresuid16( l_uid16_t ruid, l_uid16_t euid, l_uid16_t suid); } 165 AUE_GETRESUID STD { int linux_getresuid16( l_uid16_t *ruid, l_uid16_t *euid, l_uid16_t *suid); } 166 AUE_NULL UNIMPL ; was linux_vm86 167 AUE_NULL UNIMPL ; was linux_query_module 168 AUE_POLL NOPROTO { int poll( struct pollfd* fds, unsigned int nfds, long timeout ); } 169 AUE_NULL UNIMPL ; was linux_nfsservctl 170 AUE_SETRESGID STD { int linux_setresgid16( l_gid16_t rgid, l_gid16_t egid, l_gid16_t sgid); } 171 AUE_GETRESGID STD { int linux_getresgid16( l_gid16_t *rgid, l_gid16_t *egid, l_gid16_t *sgid); } 172 AUE_PRCTL STD { int linux_prctl( l_int option, l_int arg2, l_int arg3, l_int arg4, l_int arg5 ); } 173 AUE_NULL STD { int linux_rt_sigreturn( struct l_ucontext *ucp ); } 174 AUE_NULL STD { int linux_rt_sigaction( l_int sig, l_sigaction_t *act, l_sigaction_t *oact, l_size_t sigsetsize ); } 175 AUE_NULL STD { int linux_rt_sigprocmask( l_int how, l_sigset_t *mask, l_sigset_t *omask, l_size_t sigsetsize ); } 176 AUE_NULL STD { int linux_rt_sigpending( l_sigset_t *set, l_size_t sigsetsize ); } 177 AUE_NULL STD { int linux_rt_sigtimedwait( l_sigset_t *mask, l_siginfo_t *ptr, - struct l_timeval *timeout, + struct l_timespec *timeout, l_size_t sigsetsize ); } 178 AUE_NULL STD { int linux_rt_sigqueueinfo( l_pid_t pid, l_int sig, l_siginfo_t *info ); } 179 AUE_NULL STD { int linux_rt_sigsuspend( l_sigset_t *newset, l_size_t sigsetsize ); } 180 AUE_PREAD STD { int linux_pread( l_uint fd, char *buf, l_size_t nbyte, l_loff_t offset ); } 181 AUE_PWRITE STD { int linux_pwrite( l_uint fd, char *buf, l_size_t nbyte, l_loff_t offset ); } 182 AUE_CHOWN STD { int linux_chown16( char *path, l_uid16_t uid, l_gid16_t gid); } 183 AUE_GETCWD STD { int linux_getcwd( char *buf, l_ulong bufsize ); } 184 AUE_CAPGET STD { int linux_capget( struct l_user_cap_header *hdrp, struct l_user_cap_data *datap ); } 185 AUE_CAPSET STD { int linux_capset( struct l_user_cap_header *hdrp, struct l_user_cap_data *datap ); } 186 AUE_NULL STD { int linux_sigaltstack( l_stack_t *uss, l_stack_t *uoss ); } 187 AUE_SENDFILE STD { int linux_sendfile( l_int out, l_int in, l_long *offset, l_size_t count ); } 188 AUE_NULL UNIMPL ; was getpmsg 189 AUE_NULL UNIMPL ; was putpmsg 190 AUE_VFORK STD { int linux_vfork(void); } ; 191: ugetrlimit 191 AUE_GETRLIMIT STD { int linux_getrlimit( l_uint resource, struct l_rlimit *rlim ); } 192 AUE_MMAP STD { int linux_mmap2( l_ulong addr, l_ulong len, l_ulong prot, l_ulong flags, l_ulong fd, l_ulong pgoff ); } 193 AUE_TRUNCATE STD { int linux_truncate64( char *path, l_loff_t length ); } 194 AUE_FTRUNCATE STD { int linux_ftruncate64( l_uint fd, l_loff_t length ); } 195 AUE_STAT STD { int linux_stat64( const char *filename, struct l_stat64 *statbuf ); } 196 AUE_LSTAT STD { int linux_lstat64( const char *filename, struct l_stat64 *statbuf ); } 197 AUE_FSTAT STD { int linux_fstat64( l_int fd, struct l_stat64 *statbuf ); } 198 AUE_LCHOWN STD { int linux_lchown( char *path, l_uid_t uid, l_gid_t gid); } 199 AUE_GETUID STD { int linux_getuid(void); } 200 AUE_GETGID STD { int linux_getgid(void); } 201 AUE_GETEUID NOPROTO { int geteuid(void); } 202 AUE_GETEGID NOPROTO { int getegid(void); } 203 AUE_SETREUID NOPROTO { int setreuid( uid_t ruid, uid_t euid); } 204 AUE_SETREGID NOPROTO { int setregid( gid_t rgid, gid_t egid); } 205 AUE_GETGROUPS STD { int linux_getgroups( l_int gidsetsize, l_gid_t *grouplist ); } 206 AUE_SETGROUPS STD { int linux_setgroups( l_int gidsetsize, l_gid_t *grouplist ); } 207 AUE_FCHOWN NODEF fchown fchown fchown_args int 208 AUE_SETRESUID NOPROTO { int setresuid( uid_t ruid, uid_t euid, uid_t suid); } 209 AUE_GETRESUID NOPROTO { int getresuid( uid_t *ruid, uid_t *euid, uid_t *suid); } 210 AUE_SETRESGID NOPROTO { int setresgid( gid_t rgid, gid_t egid, gid_t sgid); } 211 AUE_GETRESGID NOPROTO { int getresgid( gid_t *rgid, gid_t *egid, gid_t *sgid); } 212 AUE_CHOWN STD { int linux_chown( char *path, l_uid_t uid, l_gid_t gid); } 213 AUE_SETUID NOPROTO { int setuid( uid_t uid); } 214 AUE_SETGID NOPROTO { int setgid( gid_t gid); } 215 AUE_SETFSUID STD { int linux_setfsuid( l_uid_t uid); } 216 AUE_SETFSGID STD { int linux_setfsgid( l_gid_t gid); } 217 AUE_GETDIRENTRIES STD { int linux_getdents64( l_uint fd, void *dirent, l_uint count ); } 218 AUE_PIVOT_ROOT STD { int linux_pivot_root( char *new_root, char *put_old); } 219 AUE_MINCORE STD { int linux_mincore( l_ulong start, l_size_t len, u_char *vec ); } 220 AUE_MADVISE NOPROTO { int madvise(void *addr, size_t len, int behav ); } 221 AUE_FCNTL STD { int linux_fcntl64( l_uint fd, l_uint cmd, l_ulong arg ); } 222 AUE_NULL UNIMPL 223 AUE_NULL UNIMPL 224 AUE_NULL STD { long linux_gettid(void); } 225 AUE_NULL UNIMPL linux_readahead 226 AUE_NULL STD { int linux_setxattr(void); } 227 AUE_NULL STD { int linux_lsetxattr(void); } 228 AUE_NULL STD { int linux_fsetxattr(void); } 229 AUE_NULL STD { int linux_getxattr(void); } 230 AUE_NULL STD { int linux_lgetxattr(void); } 231 AUE_NULL STD { int linux_fgetxattr(void); } 232 AUE_NULL STD { int linux_listxattr(void); } 233 AUE_NULL STD { int linux_llistxattr(void); } 234 AUE_NULL STD { int linux_flistxattr(void); } 235 AUE_NULL STD { int linux_removexattr(void); } 236 AUE_NULL STD { int linux_lremovexattr(void); } 237 AUE_NULL STD { int linux_fremovexattr(void); } 238 AUE_NULL STD { int linux_tkill( int tid, int sig ); } 239 AUE_SENDFILE STD { int linux_sendfile64( l_int out, l_int in, l_loff_t *offset, l_size_t count ); } 240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, uint32_t val, struct l_timespec *timeout, uint32_t *uaddr2, uint32_t val3 ); } 241 AUE_NULL STD { int linux_sched_setaffinity( l_pid_t pid, l_uint len, l_ulong *user_mask_ptr ); } 242 AUE_NULL STD { int linux_sched_getaffinity( l_pid_t pid, l_uint len, l_ulong *user_mask_ptr ); } 243 AUE_NULL UNIMPL linux_io_setup 244 AUE_NULL UNIMPL linux_io_destroy 245 AUE_NULL UNIMPL linux_io_getevents 246 AUE_NULL UNIMPL linux_io_submit 247 AUE_NULL UNIMPL linux_io_cancel 248 AUE_EXIT STD { int linux_exit_group( int error_code ); } 249 AUE_NULL STD { int linux_lookup_dcookie(void); } 250 AUE_NULL STD { int linux_epoll_create( l_int size ); } 251 AUE_NULL STD { int linux_epoll_ctl( l_int epfd, l_int op, l_int fd, struct epoll_event *event ); } 252 AUE_NULL STD { int linux_epoll_wait( l_int epfd, struct epoll_event *events, l_int maxevents, l_int timeout ); } 253 AUE_NULL STD { int linux_remap_file_pages(void); } 254 AUE_NULL UNIMPL ; was set_thread_area 255 AUE_NULL UNIMPL ; was get_thread_area 256 AUE_NULL STD { int linux_set_tid_address( int *tidptr ); } 257 AUE_NULL STD { int linux_timer_create( clockid_t clock_id, struct sigevent *evp, l_timer_t *timerid); } 258 AUE_NULL STD { int linux_timer_settime( l_timer_t timerid, l_int flags, const struct itimerspec *new, struct itimerspec *old); } 259 AUE_NULL STD { int linux_timer_gettime( l_timer_t timerid, struct itimerspec *setting ); } 260 AUE_NULL STD { int linux_timer_getoverrun( l_timer_t timerid); } 261 AUE_NULL STD { int linux_timer_delete( l_timer_t timerid); } 262 AUE_CLOCK_SETTIME STD { int linux_clock_settime( clockid_t which, struct l_timespec *tp ); } 263 AUE_NULL STD { int linux_clock_gettime( clockid_t which, struct l_timespec *tp ); } 264 AUE_NULL STD { int linux_clock_getres( clockid_t which, struct l_timespec *tp ); } 265 AUE_NULL STD { int linux_clock_nanosleep( clockid_t which, int flags, struct l_timespec *rqtp, struct l_timespec *rmtp ); } 266 AUE_STATFS STD { int linux_statfs64( char *path, size_t bufsize, struct l_statfs64_buf *buf ); } 267 AUE_FSTATFS STD { int linux_fstatfs64( l_uint fd, size_t bufsize, struct l_statfs64_buf *buf ); } 268 AUE_NULL STD { int linux_tgkill( int tgid, int pid, int sig ); } 269 AUE_UTIMES STD { int linux_utimes( char *fname, struct l_timeval *tptr ); } 270 AUE_NULL STD { int linux_fadvise64_64( int fd, l_loff_t offset, l_loff_t len, int advice ); } 271 AUE_NULL UNIMPL pciconfig_iobase 272 AUE_NULL UNIMPL pciconfig_read 273 AUE_NULL UNIMPL pciconfig_write ; linux 2.6.6: 274 AUE_NULL STD { int linux_mq_open( const char *name, int oflag, mode_t mode, struct mq_attr *attr ); } 275 AUE_NULL STD { int linux_mq_unlink( const char *name ); } 276 AUE_NULL STD { int linux_mq_timedsend( l_mqd_t mqd, const char *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct l_timespec *abs_timeout ); } 277 AUE_NULL STD { int linux_mq_timedreceive( l_mqd_t mqd, char *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct l_timespec *abs_timeout ); } 278 AUE_NULL STD { int linux_mq_notify( l_mqd_t mqd, const struct l_timespec *abs_timeout ); } 279 AUE_NULL STD { int linux_mq_getsetattr( l_mqd_t mqd, const struct mq_attr *attr, struct mq_attr *oattr ); } 280 AUE_WAIT6 STD { int linux_waitid( int idtype, l_pid_t id, l_siginfo_t *info, int options, void *rusage ); } 281 AUE_SOCKET STD { int linux_socket( l_int domain, l_int type, l_int protocol ); } 282 AUE_BIND STD { int linux_bind( l_int s, l_uintptr_t name, l_int namelen ); } 283 AUE_CONNECT STD { int linux_connect( l_int s, l_uintptr_t name, l_int namelen ); } 284 AUE_LISTEN STD { int linux_listen( l_int s, l_int backlog ); } 285 AUE_ACCEPT STD { int linux_accept( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 286 AUE_GETSOCKNAME STD { int linux_getsockname( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 287 AUE_GETPEERNAME STD { int linux_getpeername( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 288 AUE_SOCKETPAIR STD { int linux_socketpair( l_int domain, l_int type, l_int protocol, l_uintptr_t rsv ); } 289 AUE_SEND STD { int linux_send( int s, l_uintptr_t msg, int len, int flags ); } 290 AUE_SENDTO STD { int linux_sendto( l_int s, l_uintptr_t msg, l_int len, l_int flags, l_uintptr_t to, l_int tolen ); } 291 AUE_RECV STD { int linux_recv( int s, l_uintptr_t msg, int len, int flags ); } 292 AUE_RECVFROM STD { int linux_recvfrom( l_int s, l_uintptr_t buf, l_size_t len, l_int flags, l_uintptr_t from, l_uintptr_t fromlen ); } 293 AUE_NULL STD { int linux_shutdown( l_int s, l_int how ); } 294 AUE_SETSOCKOPT STD { int linux_setsockopt( l_int s, l_int level, l_int optname, l_uintptr_t optval, l_int optlen ); } 295 AUE_GETSOCKOPT STD { int linux_getsockopt( l_int s, l_int level, l_int optname, l_uintptr_t optval, l_uintptr_t optlen ); } 296 AUE_SENDMSG STD { int linux_sendmsg( l_int s, l_uintptr_t msg, l_int flags ); } 297 AUE_RECVMSG STD { int linux_recvmsg( l_int s, l_uintptr_t msg, l_int flags ); } 298 AUE_NULL STD { int linux_semop( l_int semid, struct l_sembuf *tsops, l_uint nsops ); } 299 AUE_NULL STD { int linux_semget(l_key_t key, l_int nsems, l_int semflg ); } 300 AUE_NULL STD { int linux_semctl( l_int semid, l_int semnum, l_int cmd, union l_semun arg ); } 301 AUE_NULL STD { int linux_msgsnd( l_int msqid, struct l_msgbuf *msgp, l_size_t msgsz, l_int msgflg ); } 302 AUE_NULL STD { int linux_msgrcv( l_int msqid, struct l_msgbuf *msgp, l_size_t msgsz, l_long msgtyp, l_int msgflg ); } 303 AUE_NULL STD { int linux_msgget( l_key_t key, l_int msgflg ); } 304 AUE_NULL STD { int linux_msgctl( l_int msqid, l_int cmd, struct l_msqid_ds *buf ); } 305 AUE_NULL STD { int linux_shmat( l_int shmid, char *shmaddr, l_int shmflg ); } 306 AUE_NULL STD { int linux_shmdt( char *shmaddr ); } 307 AUE_NULL STD { int linux_shmget( l_key_t key, l_size_t size, l_int shmflg ); } 308 AUE_NULL STD { int linux_shmctl( l_int shmid, l_int cmd, struct l_shmid_ds *buf ); } ; linux 2.6.11: 309 AUE_NULL STD { int linux_add_key(void); } 310 AUE_NULL STD { int linux_request_key(void); } 311 AUE_NULL STD { int linux_keyctl(void); } 312 AUE_NULL UNIMPL semtimedop 313 AUE_NULL UNIMPL ; was vserver ; linux 2.6.13: 314 AUE_NULL STD { int linux_ioprio_set(void); } 315 AUE_NULL STD { int linux_ioprio_get(void); } 316 AUE_NULL STD { int linux_inotify_init(void); } 317 AUE_NULL STD { int linux_inotify_add_watch(void); } 318 AUE_NULL STD { int linux_inotify_rm_watch(void); } 319 AUE_NULL STD { int linux_mbind(void); } 320 AUE_NULL STD { int linux_get_mempolicy(void); } 321 AUE_NULL STD { int linux_set_mempolicy(void); } ; linux 2.6.16: 322 AUE_OPEN_RWTC STD { int linux_openat( l_int dfd, const char *filename, l_int flags, l_int mode ); } 323 AUE_MKDIRAT STD { int linux_mkdirat( l_int dfd, const char *pathname, l_int mode ); } 324 AUE_MKNODAT STD { int linux_mknodat( l_int dfd, const char *filename, l_int mode, l_uint dev ); } 325 AUE_FCHOWNAT STD { int linux_fchownat( l_int dfd, const char *filename, l_uid16_t uid, l_gid16_t gid, l_int flag ); } 326 AUE_FUTIMESAT STD { int linux_futimesat( l_int dfd, char *filename, struct l_timeval *utimes ); } 327 AUE_FSTATAT STD { int linux_fstatat64( l_int dfd, char *pathname, struct l_stat64 *statbuf, l_int flag ); } 328 AUE_UNLINKAT STD { int linux_unlinkat( l_int dfd, const char *pathname, l_int flag ); } 329 AUE_RENAMEAT STD { int linux_renameat( l_int olddfd, const char *oldname, l_int newdfd, const char *newname ); } 330 AUE_LINKAT STD { int linux_linkat( l_int olddfd, const char *oldname, l_int newdfd, const char *newname, l_int flag ); } 331 AUE_SYMLINKAT STD { int linux_symlinkat( const char *oldname, l_int newdfd, const char *newname ); } 332 AUE_READLINKAT STD { int linux_readlinkat( l_int dfd, const char *path, char *buf, l_int bufsiz ); } 333 AUE_FCHMODAT STD { int linux_fchmodat( l_int dfd, const char *filename, l_mode_t mode ); } 334 AUE_FACCESSAT STD { int linux_faccessat( l_int dfd, const char *filename, l_int amode ); } 335 AUE_SELECT STD { int linux_pselect6( l_int nfds, l_fd_set *readfds, l_fd_set *writefds, l_fd_set *exceptfds, struct l_timespec *tsp, l_uintptr_t *sig ); } 336 AUE_POLL STD { int linux_ppoll( struct pollfd *fds, uint32_t nfds, struct l_timespec *tsp, l_sigset_t *sset, l_size_t ssize ); } 337 AUE_NULL STD { int linux_unshare(void); } ; linux 2.6.17: 338 AUE_NULL STD { int linux_set_robust_list( struct linux_robust_list_head *head, l_size_t len ); } 339 AUE_NULL STD { int linux_get_robust_list( l_int pid, struct linux_robust_list_head **head, l_size_t *len ); } 340 AUE_NULL STD { int linux_splice(void); } 341 AUE_NULL STD { int linux_sync_file_range( l_int fd, l_loff_t offset, l_loff_t nbytes, unsigned int flags ); } 342 AUE_NULL STD { int linux_tee(void); } 343 AUE_NULL STD { int linux_vmsplice(void); } ; linux 2.6.18: 344 AUE_NULL STD { int linux_move_pages(void); } ; linux 2.6.19: 345 AUE_NULL STD { int linux_getcpu( l_uint *cpu, l_uint *node, void *cache ); } 346 AUE_NULL STD { int linux_epoll_pwait( l_int epfd, struct epoll_event *events, l_int maxevents, l_int timeout, l_sigset_t *mask ); } ; linux 2.6.22: 347 AUE_NULL STD { int linux_kexec_load(void); } 348 AUE_FUTIMESAT STD { int linux_utimensat( l_int dfd, const char *pathname, const struct l_timespec *times, l_int flags ); } 349 AUE_NULL STD { int linux_signalfd(void); } 350 AUE_NULL STD { int linux_timerfd_create(void); } 351 AUE_NULL STD { int linux_eventfd( l_uint initval ); } ; linux 2.6.23: 352 AUE_NULL STD { int linux_fallocate( l_int fd, l_int mode, l_loff_t offset, l_loff_t len ); } ; linux 2.6.25: 353 AUE_NULL STD { int linux_timerfd_settime(void); } 354 AUE_NULL STD { int linux_timerfd_gettime(void); } ; linux 2.6.27: 355 AUE_NULL STD { int linux_signalfd4(void); } 356 AUE_NULL STD { int linux_eventfd2( l_uint initval, l_int flags ); } 357 AUE_NULL STD { int linux_epoll_create1( l_int flags ); } 358 AUE_NULL STD { int linux_dup3( l_int oldfd, l_int newfd, l_int flags ); } 359 AUE_NULL STD { int linux_pipe2( l_int *pipefds, l_int flags ); } 360 AUE_NULL STD { int linux_inotify_init1(void); } ; linux 2.6.30: 361 AUE_NULL STD { int linux_preadv(void); } 362 AUE_NULL STD { int linux_pwritev(void); } ; linux 2.6.31: 363 AUE_NULL STD { int linux_rt_tsigqueueinfo(void); } 364 AUE_NULL STD { int linux_perf_event_open(void); } ; linux 2.6.33: 365 AUE_NULL STD { int linux_recvmmsg( l_int s, struct l_mmsghdr *msg, l_uint vlen, l_uint flags, struct l_timespec *timeout ); } 366 AUE_ACCEPT STD { int linux_accept4( l_int s, l_uintptr_t addr, l_uintptr_t namelen, int flags ); } 367 AUE_NULL STD { int linux_fanotify_init(void); } 368 AUE_NULL STD { int linux_fanotify_mark(void); } ; linux 2.6.36: 369 AUE_NULL STD { int linux_prlimit64( l_pid_t pid, l_uint resource, struct rlimit *new, struct rlimit *old); } ; later: 370 AUE_NULL STD { int linux_name_to_handle_at(void); } 371 AUE_NULL STD { int linux_open_by_handle_at(void); } 372 AUE_NULL STD { int linux_clock_adjtime(void); } 373 AUE_SYNC STD { int linux_syncfs( l_int fd); } 374 AUE_NULL STD { int linux_sendmmsg( l_int s, struct l_mmsghdr *msg, l_uint vlen, l_uint flags ); } 375 AUE_NULL STD { int linux_setns(void); } 376 AUE_NULL STD { int linux_process_vm_readv(void); } 377 AUE_NULL STD { int linux_process_vm_writev(void); } 378 AUE_NULL UNIMPL kcmp 379 AUE_NULL UNIMPL finit_module 380 AUE_NULL UNIMPL sys_sched_setattr 381 AUE_NULL UNIMPL sys_sched_getattr 382 AUE_NULL UNIMPL sys_renameat2 383 AUE_NULL UNIMPL sys_seccomp 384 AUE_NULL UNIMPL sys_getrandom 385 AUE_NULL UNIMPL sys_memfd_create 386 AUE_NULL UNIMPL sys_bpf 387 AUE_NULL UNIMPL sys_execveat 388 AUE_NULL UNIMPL sys_userfaultfd 389 AUE_NULL UNIMPL sys_membarrier 390 AUE_NULL UNIMPL sys_mlock2 391 AUE_NULL UNIMPL sys_copy_file_range 392 AUE_NULL UNIMPL sys_preadv2 393 AUE_NULL UNIMPL sys_pwritev2 394 AUE_NULL UNIMPL 395 AUE_NULL UNIMPL 396 AUE_NULL UNIMPL 397 AUE_NULL UNIMPL 398 AUE_NULL UNIMPL 399 AUE_NULL UNIMPL ; ARM specific ; Effective number here is 0x000f0000 ; but we must not breaks syscall numbering 400 AUE_NULL UNIMPL unimpl400 401 AUE_NULL UNIMPL breakpoint 402 AUE_NULL UNIMPL cacheflush 403 AUE_NULL UNIMPL usr26 404 AUE_NULL UNIMPL usr32 405 AUE_NULL STD { int linux_set_tls( void* tls ); } ; please, keep this line at the end. 406 AUE_NULL UNIMPL nosys diff --git a/sys/arm64/linux/syscalls.master b/sys/arm64/linux/syscalls.master index c8e7a2da812a..202425581e8e 100644 --- a/sys/arm64/linux/syscalls.master +++ b/sys/arm64/linux/syscalls.master @@ -1,1760 +1,1760 @@ $FreeBSD$ ; Linux ABI system call generic name/number map, based on Linux file ; include/uapi/asm-generic/unistd.h #include #include #include #include #include #include ; Isn't pretty, but there seems to be no other way to trap nosys #define nosys linux_nosys 0 AUE_NULL UNIMPL linux_io_setup 1 AUE_NULL UNIMPL linux_io_destroy 2 AUE_NULL UNIMPL linux_io_submit 3 AUE_NULL UNIMPL linux_io_cancel 4 AUE_NULL UNIMPL linux_io_getevents 5 AUE_NULL STD { int linux_setxattr( const char *path, const char *name, const char *value, l_size_t size, l_int flags ); } 6 AUE_NULL STD { int linux_lsetxattr( const char *path, const char *name, const char *value, l_size_t size, l_int flags ); } 7 AUE_NULL STD { int linux_fsetxattr( l_int fd, const char *name, const char *value, l_size_t size, l_int flags ); } 8 AUE_NULL STD { int linux_getxattr( const char *path, const char *name, char *value, l_size_t size ); } 9 AUE_NULL STD { int linux_lgetxattr( const char *path, const char *name, char *value, l_size_t size ); } 10 AUE_NULL STD { int linux_fgetxattr( l_int fd, const char *name, char *value, l_size_t size ); } 11 AUE_NULL STD { int linux_listxattr( const char *path, const char *list, l_size_t size ); } 12 AUE_NULL STD { int linux_llistxattr( const char *path, const char *list, l_size_t size ); } 13 AUE_NULL STD { int linux_flistxattr( l_int fd, const char *list, l_size_t size ); } 14 AUE_NULL STD { int linux_removexattr( const char *path, const char *name ); } 15 AUE_NULL STD { int linux_lremovexattr( const char *path, const char *name ); } 16 AUE_NULL STD { int linux_fremovexattr( l_int fd, const char *name ); } 17 AUE_GETCWD STD { int linux_getcwd( char *buf, l_ulong bufsize ); } 18 AUE_NULL STD { int linux_lookup_dcookie(void); } 19 AUE_NULL STD { int linux_eventfd2( l_uint initval, l_int flags ); } 20 AUE_NULL STD { int linux_epoll_create1( l_int flags ); } 21 AUE_NULL STD { int linux_epoll_ctl( l_int epfd, l_int op, l_int fd, struct epoll_event *event ); } 22 AUE_NULL STD { int linux_epoll_pwait( l_int epfd, struct epoll_event *events, l_int maxevents, l_int timeout, l_sigset_t *mask, l_size_t sigsetsize ); } 23 AUE_DUP NOPROTO { int dup( u_int fd); } 24 AUE_NULL STD { int linux_dup3( l_int oldfd, l_int newfd, l_int flags ); } 25 AUE_FCNTL STD { int linux_fcntl( l_uint fd, l_uint cmd, l_ulong arg ); } 26 AUE_NULL STD { int linux_inotify_init1( l_int flags ); } 27 AUE_NULL STD { int linux_inotify_add_watch(void); } 28 AUE_NULL STD { int linux_inotify_rm_watch(void); } 29 AUE_IOCTL STD { int linux_ioctl( l_uint fd, l_uint cmd, l_ulong arg ); } 30 AUE_NULL STD { int linux_ioprio_set(void); } 31 AUE_NULL STD { int linux_ioprio_get(void); } 32 AUE_FLOCK NOPROTO { int flock( int fd, int how ); } 33 AUE_MKNODAT STD { int linux_mknodat( l_int dfd, const char *filename, l_int mode, l_uint dev ); } 34 AUE_MKDIRAT STD { int linux_mkdirat( l_int dfd, const char *pathname, l_mode_t mode ); } 35 AUE_UNLINKAT STD { int linux_unlinkat( l_int dfd, const char *pathname, l_int flag ); } 36 AUE_SYMLINKAT STD { int linux_symlinkat( const char *oldname, l_int newdfd, const char *newname ); } 37 AUE_LINKAT STD { int linux_linkat( l_int olddfd, const char *oldname, l_int newdfd, const char *newname, l_int flag ); } 38 AUE_RENAMEAT STD { int linux_renameat( l_int olddfd, const char *oldname, l_int newdfd, const char *newname ); } 39 AUE_NULL UNIMPL linux_umount2 40 AUE_MOUNT STD { int linux_mount( char *specialfile, char *dir, char *filesystemtype, l_ulong rwflag, void *data ); } 41 AUE_PIVOT_ROOT STD { int linux_pivot_root(void); } 42 AUE_NULL UNIMPL nfsservctl 43 AUE_STATFS STD { int linux_statfs( char *path, struct l_statfs_buf *buf ); } 44 AUE_FSTATFS STD { int linux_fstatfs( l_uint fd, struct l_statfs_buf *buf ); } 45 AUE_TRUNCATE STD { int linux_truncate( char *path, l_ulong length ); } 46 AUE_FTRUNCATE STD { int linux_ftruncate( l_int fd, l_long length ); } 47 AUE_NULL STD { int linux_fallocate( l_int fd, l_int mode, l_loff_t offset, l_loff_t len ); } 48 AUE_FACCESSAT STD { int linux_faccessat( l_int dfd, const char *filename, l_int amode ); } 49 AUE_CHDIR STD { int linux_chdir( char *path ); } 50 AUE_FCHDIR NOPROTO { int fchdir( int fd); } 51 AUE_CHROOT NOPROTO { int chroot( char *path ); } 52 AUE_FCHMOD NOPROTO { int fchmod( int fd, int mode ); } 53 AUE_FCHMODAT STD { int linux_fchmodat( l_int dfd, const char *filename, l_mode_t mode ); } 54 AUE_FCHOWNAT STD { int linux_fchownat( l_int dfd, const char *filename, l_uid_t uid, l_gid_t gid, l_int flag ); } 55 AUE_FCHOWN NOPROTO { int fchown( int fd, int uid, int gid); } 56 AUE_OPEN_RWTC STD { int linux_openat( l_int dfd, const char *filename, l_int flags, l_mode_t mode ); } 57 AUE_CLOSE NOPROTO { int close( int fd); } 58 AUE_NULL STD { int linux_vhangup(void); } 59 AUE_NULL STD { int linux_pipe2( l_int *pipefds, l_int flags ); } 60 AUE_NULL UNIMPL linux_quotactl 61 AUE_GETDIRENTRIES STD { int linux_getdents64( l_uint fd, void *dirent, l_uint count ); } 62 AUE_LSEEK STD { int linux_lseek( l_uint fdes, l_off_t off, l_int whence ); } 63 AUE_NULL NOPROTO { int read( int fd, char *buf, l_size_t nbyte ); } 64 AUE_NULL NOPROTO { int write( int fd, char *buf, l_size_t nbyte ); } 65 AUE_READV NOPROTO { int readv( int fd, struct iovec *iovp, u_int iovcnt ); } 66 AUE_WRITEV NOPROTO { int writev( int fd, struct iovec *iovp, u_int iovcnt ); } 67 AUE_PREAD STD { int linux_pread( l_uint fd, char *buf, l_size_t nbyte, l_loff_t offset ); } 68 AUE_PWRITE STD { int linux_pwrite( l_uint fd, char *buf, l_size_t nbyte, l_loff_t offset ); } 69 AUE_NULL STD { int linux_preadv( l_ulong fd, struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h ); } 70 AUE_NULL STD { int linux_pwritev( l_ulong fd, struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h ); } 71 AUE_SENDFILE STD { int linux_sendfile( l_int out, l_int in, l_off_t *offset, l_size_t count ); } 72 AUE_SELECT STD { int linux_pselect6( l_int nfds, l_fd_set *readfds, l_fd_set *writefds, l_fd_set *exceptfds, struct l_timespec *tsp, l_uintptr_t *sig ); } 73 AUE_POLL STD { int linux_ppoll( struct pollfd *fds, l_uint nfds, struct l_timespec *tsp, l_sigset_t *sset, l_size_t ssize ); } 74 AUE_NULL STD { int linux_signalfd4(void); } 75 AUE_NULL STD { int linux_vmsplice(void); } 76 AUE_NULL STD { int linux_splice( int fd_in, l_loff_t *off_in, int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags ); } 77 AUE_NULL STD { int linux_tee(void); } 78 AUE_READLINKAT STD { int linux_readlinkat( l_int dfd, const char *path, char *buf, l_int bufsiz ); } 79 AUE_FSTATAT STD { int linux_newfstatat( l_int dfd, char *pathname, struct l_stat64 *statbuf, l_int flag ); } 80 AUE_FSTAT STD { int linux_newfstat( l_uint fd, struct l_newstat *buf ); } 81 AUE_NULL UNIMPL linux_sync 82 AUE_FSYNC NOPROTO { int fsync( int fd); } 83 AUE_NULL STD { int linux_fdatasync( l_uint fd); } 84 AUE_NULL STD { int linux_sync_file_range( l_int fd, l_loff_t offset, l_loff_t nbytes, l_uint flags ); } 85 AUE_NULL STD { int linux_timerfd_create( l_int clockid, l_int flags ); } 86 AUE_NULL STD { int linux_timerfd_settime( l_int fd, l_int flags, const struct l_itimerspec *new_value, struct l_itimerspec *old_value ); } 87 AUE_NULL STD { int linux_timerfd_gettime( l_int fd, struct l_itimerspec *old_value ); } 88 AUE_FUTIMESAT STD { int linux_utimensat( l_int dfd, const char *pathname, const struct l_timespec *times, l_int flags ); } 89 AUE_ACCT NOPROTO { int acct( char *path ); } 90 AUE_CAPGET STD { int linux_capget( struct l_user_cap_header *hdrp, struct l_user_cap_data *datap ); } 91 AUE_CAPSET STD { int linux_capset( struct l_user_cap_header *hdrp, struct l_user_cap_data *datap ); } 92 AUE_PERSONALITY STD { int linux_personality( l_uint per ); } 93 AUE_EXIT STD { int linux_exit( u_int rval ); } 94 AUE_EXIT STD { int linux_exit_group( l_int error_code ); } 95 AUE_WAIT6 STD { int linux_waitid( l_int idtype, l_pid_t id, l_siginfo_t *info, l_int options, struct rusage *rusage ); } 96 AUE_NULL STD { int linux_set_tid_address( l_int *tidptr ); } 97 AUE_NULL STD { int linux_unshare(void); } 98 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, struct l_timespec *timeout, void *uaddr2, int val3 ); } 99 AUE_NULL STD { int linux_set_robust_list( struct linux_robust_list_head *head, l_size_t len ); } 100 AUE_NULL STD { int linux_get_robust_list( l_int pid, struct linux_robust_list_head **head, l_size_t *len ); } 101 AUE_NULL STD { int linux_nanosleep( const struct l_timespec *rqtp, struct l_timespec *rmtp ); } 102 AUE_GETITIMER STD { int linux_getitimer( l_int which, struct l_itimerval *itv ); } 103 AUE_SETITIMER STD { int linux_setitimer( l_int which, struct l_itimerval *itv, struct l_itimerval *oitv ); } 104 AUE_NULL STD { int linux_kexec_load(void); } 105 AUE_NULL STD { int linux_init_module(void); } 106 AUE_NULL STD { int linux_delete_module(void); } 107 AUE_NULL STD { int linux_timer_create( clockid_t clock_id, struct sigevent *evp, l_timer_t *timerid); } 108 AUE_NULL STD { int linux_timer_gettime( l_timer_t timerid, struct itimerspec *setting ); } 109 AUE_NULL STD { int linux_timer_getoverrun( l_timer_t timerid); } 110 AUE_NULL STD { int linux_timer_settime( l_timer_t timerid, l_int flags, const struct itimerspec *new, struct itimerspec *old); } 111 AUE_NULL STD { int linux_timer_delete( l_timer_t timerid); } 112 AUE_CLOCK_SETTIME STD { int linux_clock_settime( clockid_t which, struct l_timespec *tp ); } 113 AUE_NULL STD { int linux_clock_gettime( clockid_t which, struct l_timespec *tp ); } 114 AUE_NULL STD { int linux_clock_getres( clockid_t which, struct l_timespec *tp ); } 115 AUE_NULL STD { int linux_clock_nanosleep( clockid_t which, l_int flags, struct l_timespec *rqtp, struct l_timespec *rmtp ); } 116 AUE_NULL STD { int linux_syslog( l_int type, char *buf, l_int len ); } 117 AUE_PTRACE STD { int linux_ptrace( l_long req, l_long pid, l_ulong addr, l_ulong data ); } 118 AUE_SCHED_SETPARAM STD { int linux_sched_setparam( l_pid_t pid, struct sched_param *param ); } 119 AUE_SCHED_SETSCHEDULER STD { int linux_sched_setscheduler( l_pid_t pid, l_int policy, struct sched_param *param ); } 120 AUE_SCHED_GETSCHEDULER STD { int linux_sched_getscheduler( l_pid_t pid); } 121 AUE_SCHED_GETPARAM STD { int linux_sched_getparam( l_pid_t pid, struct sched_param *param ); } 122 AUE_NULL STD { int linux_sched_setaffinity( l_pid_t pid, l_uint len, l_ulong *user_mask_ptr ); } 123 AUE_NULL STD { int linux_sched_getaffinity( l_pid_t pid, l_uint len, l_ulong *user_mask_ptr ); } 124 AUE_NULL NOPROTO { int sched_yield(void); } 125 AUE_SCHED_GET_PRIORITY_MAX STD { int linux_sched_get_priority_max( \ l_int policy ); } 126 AUE_SCHED_GET_PRIORITY_MIN STD { int linux_sched_get_priority_min( \ l_int policy ); } 127 AUE_SCHED_RR_GET_INTERVAL STD { int linux_sched_rr_get_interval( l_pid_t pid, struct l_timespec *interval ); } 128 AUE_NULL UNIMPL restart_syscall 129 AUE_KILL STD { int linux_kill( l_pid_t pid, l_int signum ); } 130 AUE_NULL STD { int linux_tkill( l_pid_t tid, l_int sig ); } 131 AUE_NULL STD { int linux_tgkill( l_pid_t tgid, l_pid_t pid, l_int sig ); } 132 AUE_NULL STD { int linux_sigaltstack( l_stack_t *uss, l_stack_t *uoss ); } 133 AUE_NULL STD { int linux_rt_sigsuspend( l_sigset_t *newset, l_size_t sigsetsize ); } 134 AUE_NULL STD { int linux_rt_sigaction( l_int sig, l_sigaction_t *act, l_sigaction_t *oact, l_size_t sigsetsize ); } 135 AUE_NULL STD { int linux_rt_sigprocmask( l_int how, l_sigset_t *mask, l_sigset_t *omask, l_size_t sigsetsize ); } 136 AUE_NULL STD { int linux_rt_sigpending( l_sigset_t *set, l_size_t sigsetsize ); } 137 AUE_NULL STD { int linux_rt_sigtimedwait( l_sigset_t *mask, l_siginfo_t *ptr, - struct l_timeval *timeout, + struct l_timespec *timeout, l_size_t sigsetsize ); } 138 AUE_NULL STD { int linux_rt_sigqueueinfo( l_pid_t pid, l_int sig, l_siginfo_t *info ); } 139 AUE_NULL STD { int linux_rt_sigreturn( struct l_ucontext *ucp ); } 140 AUE_SETPRIORITY NOPROTO { int setpriority( int which, int who, int prio ); } 141 AUE_GETPRIORITY STD { int linux_getpriority( l_int which, l_int who ); } 142 AUE_REBOOT STD { int linux_reboot( l_int magic1, l_int magic2, l_uint cmd, void *arg ); } 143 AUE_SETREGID NOPROTO { int setregid( gid_t rgid, gid_t egid); } 144 AUE_SETGID NOPROTO { int setgid( gid_t gid); } 145 AUE_SETREUID NOPROTO { int setreuid( uid_t ruid, uid_t euid); } 146 AUE_SETUID NOPROTO { int setuid( uid_t uid); } 147 AUE_SETRESUID NOPROTO { int setresuid( uid_t ruid, uid_t euid, uid_t suid); } 148 AUE_GETRESUID NOPROTO { int getresuid( uid_t *ruid, uid_t *euid, uid_t *suid); } 149 AUE_SETRESGID NOPROTO { int setresgid( gid_t rgid, gid_t egid, gid_t sgid); } 150 AUE_GETRESGID NOPROTO { int getresgid( gid_t *rgid, gid_t *egid, gid_t *sgid); } 151 AUE_SETFSUID STD { int linux_setfsuid( l_uid_t uid); } 152 AUE_SETFSGID STD { int linux_setfsgid( l_gid_t gid); } 153 AUE_NULL STD { int linux_times( struct l_times_argv *buf ); } 154 AUE_SETPGRP NOPROTO { int setpgid( int pid, int pgid); } 155 AUE_GETPGID NOPROTO { int getpgid( int pid); } 156 AUE_GETSID STD { int linux_getsid( l_pid_t pid); } 157 AUE_SETSID NOPROTO { int setsid(void); } 158 AUE_GETGROUPS STD { int linux_getgroups( l_int gidsetsize, l_gid_t *grouplist ); } 159 AUE_SETGROUPS STD { int linux_setgroups( l_int gidsetsize, l_gid_t *grouplist ); } 160 AUE_NULL STD { int linux_newuname( struct l_new_utsname *buf ); } 161 AUE_SYSCTL STD { int linux_sethostname( char *hostname, l_uint len ); } 162 AUE_SYSCTL STD { int linux_setdomainname( char *name, l_int len ); } 163 AUE_GETRLIMIT STD { int linux_getrlimit( l_uint resource, struct l_rlimit *rlim ); } 164 AUE_SETRLIMIT STD { int linux_setrlimit( l_uint resource, struct l_rlimit *rlim ); } 165 AUE_GETRUSAGE NOPROTO { int getrusage( int who, struct rusage *rusage ); } 166 AUE_UMASK NOPROTO { int umask( int newmask ); } 167 AUE_PRCTL STD { int linux_prctl( l_int option, l_uintptr_t arg2, l_uintptr_t arg3, l_uintptr_t arg4, l_uintptr_t arg5 ); } 168 AUE_NULL STD { int linux_getcpu( l_uint *cpu, l_uint *node, void *cache ); } 169 AUE_NULL NOPROTO { int gettimeofday( struct l_timeval *tp, struct timezone *tzp ); } 170 AUE_SETTIMEOFDAY NOPROTO { int settimeofday( struct l_timeval *tv, struct timezone *tzp ); } 171 AUE_ADJTIME STD { int linux_adjtimex(void); } 172 AUE_GETPID STD { int linux_getpid(void); } 173 AUE_GETPPID STD { int linux_getppid(void); } 174 AUE_GETUID STD { int linux_getuid(void); } 175 AUE_GETEUID NOPROTO { int geteuid(void); } 176 AUE_GETGID STD { int linux_getgid(void); } 177 AUE_GETEGID NOPROTO { int getegid(void); } 178 AUE_NULL STD { int linux_gettid(void); } 179 AUE_NULL STD { int linux_sysinfo( struct l_sysinfo *info ); } 180 AUE_NULL STD { int linux_mq_open( const char *name, l_int oflag, l_mode_t mode, struct mq_attr *attr ); } 181 AUE_NULL STD { int linux_mq_unlink( const char *name ); } 182 AUE_NULL STD { int linux_mq_timedsend( l_mqd_t mqd, const char *msg_ptr, l_size_t msg_len, l_uint msg_prio, const struct l_timespec *abs_timeout ); } 183 AUE_NULL STD { int linux_mq_timedreceive( l_mqd_t mqd, char *msg_ptr, l_size_t msg_len, l_uint *msg_prio, const struct l_timespec *abs_timeout ); } 184 AUE_NULL STD { int linux_mq_notify( l_mqd_t mqd, const struct l_timespec *abs_timeout ); } 185 AUE_NULL STD { int linux_mq_getsetattr( l_mqd_t mqd, const struct mq_attr *attr, struct mq_attr *oattr ); } 186 AUE_NULL STD { int linux_msgget( l_key_t key, l_int msgflg ); } 187 AUE_NULL STD { int linux_msgctl( l_int msqid, l_int cmd, struct l_msqid_ds *buf ); } 188 AUE_NULL STD { int linux_msgrcv( l_int msqid, struct l_msgbuf *msgp, l_size_t msgsz, l_long msgtyp, l_int msgflg ); } 189 AUE_NULL STD { int linux_msgsnd( l_int msqid, struct l_msgbuf *msgp, l_size_t msgsz, l_int msgflg ); } 190 AUE_NULL STD { int linux_semget( l_key_t key, l_int nsems, l_int semflg ); } 191 AUE_NULL STD { int linux_semctl( l_int semid, l_int semnum, l_int cmd, union l_semun arg ); } 192 AUE_NULL STD { int linux_semtimedop(void); } 193 AUE_NULL STD { int linux_semop( l_int semid, struct l_sembuf *tsops, l_uint nsops ); } 194 AUE_NULL STD { int linux_shmget( l_key_t key, l_size_t size, l_int shmflg ); } 195 AUE_NULL STD { int linux_shmctl( l_int shmid, l_int cmd, struct l_shmid_ds *buf ); } 196 AUE_NULL STD { int linux_shmat( l_int shmid, char *shmaddr, l_int shmflg ); } 197 AUE_NULL STD { int linux_shmdt( char *shmaddr ); } 198 AUE_SOCKET STD { int linux_socket( l_int domain, l_int type, l_int protocol ); } 199 AUE_SOCKETPAIR STD { int linux_socketpair( l_int domain, l_int type, l_int protocol, l_uintptr_t rsv ); } 200 AUE_BIND STD { int linux_bind( l_int s, l_uintptr_t name, l_int namelen ); } 201 AUE_LISTEN STD { int linux_listen( l_int s, l_int backlog ); } 202 AUE_ACCEPT STD { int linux_accept( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 203 AUE_CONNECT STD { int linux_connect( l_int s, l_uintptr_t name, l_int namelen ); } 204 AUE_GETSOCKNAME STD { int linux_getsockname( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 205 AUE_GETPEERNAME STD { int linux_getpeername( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 206 AUE_SENDTO STD { int linux_sendto( l_int s, l_uintptr_t msg, l_size_t len, l_uint flags, l_uintptr_t to, l_int tolen ); } 207 AUE_RECVFROM STD { int linux_recvfrom( l_int s, l_uintptr_t buf, l_size_t len, l_uint flags, l_uintptr_t from, l_uintptr_t fromlen ); } 208 AUE_SETSOCKOPT STD { int linux_setsockopt( l_int s, l_int level, l_int optname, l_uintptr_t optval, l_int optlen ); } 209 AUE_GETSOCKOPT STD { int linux_getsockopt( l_int s, l_int level, l_int optname, l_uintptr_t optval, l_uintptr_t optlen ); } 210 AUE_NULL STD { int linux_shutdown( l_int s, l_int how ); } 211 AUE_SENDMSG STD { int linux_sendmsg( l_int s, l_uintptr_t msg, l_uint flags ); } 212 AUE_RECVMSG STD { int linux_recvmsg( l_int s, l_uintptr_t msg, l_uint flags ); } 213 AUE_NULL UNIMPL linux_readahead 214 AUE_NULL STD { int linux_brk( l_ulong dsend); } 215 AUE_MUNMAP NOPROTO { int munmap( void *addr, l_size_t len ); } 216 AUE_NULL STD { int linux_mremap( l_ulong addr, l_ulong old_len, l_ulong new_len, l_ulong flags, l_ulong new_addr ); } 217 AUE_NULL STD { int linux_add_key(void); } 218 AUE_NULL STD { int linux_request_key(void); } 219 AUE_NULL STD { int linux_keyctl(void); } 220 AUE_RFORK STD { int linux_clone( l_ulong flags, void *stack, void *parent_tidptr, void *tls, void *child_tidptr ); } 221 AUE_EXECVE STD { int linux_execve( char *path, char **argp, char **envp ); } 222 AUE_MMAP STD { int linux_mmap2( l_ulong addr, l_ulong len, l_ulong prot, l_ulong flags, l_ulong fd, l_ulong pgoff ); } 223 AUE_NULL STD { int linux_fadvise64( l_int fd, l_loff_t offset, l_size_t len, l_int advice ); } 224 AUE_SWAPON NOPROTO { int swapon( char *name ); } 225 AUE_SWAPOFF STD { int linux_swapoff(void); } 226 AUE_MPROTECT STD { int linux_mprotect( l_ulong addr, l_size_t len, l_ulong prot ); } 227 AUE_MSYNC STD { int linux_msync( l_ulong addr, l_size_t len, l_int fl ); } 228 AUE_MLOCK NOPROTO { int mlock( const void *addr, size_t len ); } 229 AUE_MUNLOCK NOPROTO { int munlock( const void *addr, size_t len ); } 230 AUE_MLOCKALL NOPROTO { int mlockall( int how ); } 231 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } 232 AUE_MINCORE STD { int linux_mincore( l_ulong start, l_size_t len, u_char *vec ); } 233 AUE_MADVISE STD { int linux_madvise( l_ulong addr, l_size_t len, l_int behav ); } 234 AUE_NULL STD { int linux_remap_file_pages(void); } 235 AUE_NULL STD { int linux_mbind(void); } 236 AUE_NULL STD { int linux_get_mempolicy(void); } 237 AUE_NULL STD { int linux_set_mempolicy(void); } 238 AUE_NULL STD { int linux_migrate_pages(void); } 239 AUE_NULL STD { int linux_move_pages(void); } 240 AUE_NULL STD { int linux_rt_tgsigqueueinfo( l_pid_t tgid, l_pid_t tid, l_int sig, l_siginfo_t *uinfo ); } 241 AUE_NULL STD { int linux_perf_event_open(void); } 242 AUE_ACCEPT STD { int linux_accept4( l_int s, l_uintptr_t addr, l_uintptr_t namelen, l_int flags ); } 243 AUE_NULL STD { int linux_recvmmsg( l_int s, struct l_mmsghdr *msg, l_uint vlen, l_uint flags, struct l_timespec *timeout ); } 244-259 AUE_NULL UNIMPL unimpl_md_syscall 260 AUE_WAIT4 STD { int linux_wait4( l_pid_t pid, l_int *status, l_int options, struct rusage *rusage ); } 261 AUE_NULL STD { int linux_prlimit64( l_pid_t pid, l_uint resource, struct rlimit *new, struct rlimit *old); } 262 AUE_NULL STD { int linux_fanotify_init(void); } 263 AUE_NULL STD { int linux_fanotify_mark(void); } 264 AUE_NULL STD { int linux_name_to_handle_at( l_int dirfd, const char *name, struct l_file_handle *handle, l_int *mnt_id, l_int flags ); } 265 AUE_NULL STD { int linux_open_by_handle_at( l_int mountdirfd, struct l_file_handle *handle, l_int flags ); } 266 AUE_NULL STD { int linux_clock_adjtime(void); } 267 AUE_SYNC STD { int linux_syncfs( l_int fd); } 268 AUE_NULL STD { int linux_setns( l_int fd, l_int nstype ); } 269 AUE_NULL STD { int linux_sendmmsg( l_int s, struct l_mmsghdr *msg, l_uint vlen, l_uint flags ); } 270 AUE_NULL STD { int linux_process_vm_readv( l_pid_t pid, const struct iovec *lvec, l_ulong liovcnt, const struct iovec *rvec, l_ulong riovcnt, l_ulong flags ); } 271 AUE_NULL STD { int linux_process_vm_writev( l_pid_t pid, const struct iovec *lvec, l_ulong liovcnt, const struct iovec *rvec, l_ulong riovcnt, l_ulong flags ); } 272 AUE_NULL STD { int linux_kcmp( l_pid_t pid1, l_pid_t pid2, l_int type, l_ulong idx1, l_ulong idx ); } 273 AUE_NULL STD { int linux_finit_module( l_int fd, const char *uargs, l_int flags ); } 274 AUE_NULL STD { int linux_sched_setattr( l_pid_t pid, void *attr, l_uint flags ); } 275 AUE_NULL STD { int linux_sched_getattr( l_pid_t pid, void *attr, l_uint size, l_uint flags ); } 276 AUE_NULL STD { int linux_renameat2( l_int olddfd, const char *oldname, l_int newdfd, const char *newname, l_uint flags ); } 277 AUE_NULL STD { int linux_seccomp( l_uint op, l_uint flags, const char *uargs ); } 278 AUE_NULL STD { int linux_getrandom( char *buf, l_size_t count, l_uint flags ); } 279 AUE_NULL STD { int linux_memfd_create( const char *uname_ptr, l_uint flags ); } 280 AUE_NULL STD { int linux_bpf( l_int cmd, void *attr, l_uint size ); } 281 AUE_NULL STD { int linux_execveat( l_int dfd, const char *filename, const char **argv, const char **envp, l_int flags ); } 282 AUE_NULL STD { int linux_userfaultfd( l_int flags ); } 283 AUE_NULL STD { int linux_membarrier( l_int cmd, l_int flags ); } 284 AUE_NULL STD { int linux_mlock2( l_ulong start, l_size_t len, l_int flags ); } 285 AUE_NULL STD { int linux_copy_file_range( l_int fd_in, l_loff_t *off_in, l_int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags ); } 286 AUE_NULL STD { int linux_preadv2( l_ulong fd, const struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h, l_int flags ); } 287 AUE_NULL STD { int linux_pwritev2( l_ulong fd, const struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h, l_int flags ); } 288 AUE_NULL STD { int linux_pkey_mprotect( l_ulong start, l_size_t len, l_ulong prot, l_int pkey ); } 289 AUE_NULL STD { int linux_pkey_alloc( l_ulong flags, l_ulong init_val ); } 290 AUE_NULL STD { int linux_pkey_free( l_int pkey ); } ; Linux 4.11: 291 AUE_NULL STD { int linux_statx( l_int dirfd, const char *pathname, l_uint flags, l_uint mask, void *statxbuf ); } ; Linux 4.18: 292 AUE_NULL STD { int linux_io_pgetevents(void); } 293 AUE_NULL STD { int linux_rseq(void); } 294 AUE_NULL STD { int linux_kexec_file_load(void); } 295-423 AUE_NULL UNIMPL unimpl_md_syscall 424 AUE_NULL STD { int linux_pidfd_send_signal( l_int pidfd, l_int sig, l_siginfo_t *info, l_uint flags ); } 425 AUE_NULL STD { int linux_io_uring_setup(void); } 426 AUE_NULL STD { int linux_io_uring_enter(void); } 427 AUE_NULL STD { int linux_io_uring_register(void); } 428 AUE_NULL STD { int linux_open_tree(void); } 429 AUE_NULL STD { int linux_move_mount(void); } 430 AUE_NULL STD { int linux_fsopen(void); } 431 AUE_NULL STD { int linux_fsconfig(void); } 432 AUE_NULL STD { int linux_fsmount(void); } 433 AUE_NULL STD { int linux_fspick(void); } 434 AUE_NULL STD { int linux_pidfd_open(void); } 435 AUE_NULL STD { int linux_clone3(void); } 436 AUE_NULL STD { int linux_close_range(void); } 437 AUE_NULL STD { int linux_openat2(void); } 438 AUE_NULL STD { int linux_pidfd_getfd(void); } 439 AUE_NULL STD { int linux_faccessat2(void); } 440 AUE_NULL STD { int linux_process_madvise(void); } 441 AUE_NULL STD { int linux_epoll_pwait2(void); } 442 AUE_NULL STD { int linux_mount_setattr(void); } ; please, keep this line at the end. 443 AUE_NULL UNIMPL nosys ; vim: syntax=off diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c index 51f08d61bef1..a479c9cc769c 100644 --- a/sys/compat/linux/linux_signal.c +++ b/sys/compat/linux/linux_signal.c @@ -1,744 +1,732 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 1994-1995 Søren Schmidt * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include #include #include #include #include "opt_compat.h" #ifdef COMPAT_LINUX32 #include #include #else #include #include #endif #include +#include #include #include #include static int linux_do_tkill(struct thread *td, struct thread *tdt, ksiginfo_t *ksi); static void sicode_to_lsicode(int si_code, int *lsi_code); static void linux_to_bsd_sigaction(l_sigaction_t *lsa, struct sigaction *bsa) { unsigned long flags; linux_to_bsd_sigset(&lsa->lsa_mask, &bsa->sa_mask); bsa->sa_handler = PTRIN(lsa->lsa_handler); bsa->sa_flags = 0; flags = lsa->lsa_flags; if (lsa->lsa_flags & LINUX_SA_NOCLDSTOP) { flags &= ~LINUX_SA_NOCLDSTOP; bsa->sa_flags |= SA_NOCLDSTOP; } if (lsa->lsa_flags & LINUX_SA_NOCLDWAIT) { flags &= ~LINUX_SA_NOCLDWAIT; bsa->sa_flags |= SA_NOCLDWAIT; } if (lsa->lsa_flags & LINUX_SA_SIGINFO) { flags &= ~LINUX_SA_SIGINFO; bsa->sa_flags |= SA_SIGINFO; #ifdef notyet /* * XXX: We seem to be missing code to convert * some of the fields in ucontext_t. */ linux_msg(curthread, "partially unsupported sigaction flag SA_SIGINFO"); #endif } if (lsa->lsa_flags & LINUX_SA_RESTORER) { flags &= ~LINUX_SA_RESTORER; /* XXX: We might want to handle it; see Linux sigreturn(2). */ } if (lsa->lsa_flags & LINUX_SA_ONSTACK) { flags &= ~LINUX_SA_ONSTACK; bsa->sa_flags |= SA_ONSTACK; } if (lsa->lsa_flags & LINUX_SA_RESTART) { flags &= ~LINUX_SA_RESTART; bsa->sa_flags |= SA_RESTART; } if (lsa->lsa_flags & LINUX_SA_INTERRUPT) { flags &= ~LINUX_SA_INTERRUPT; /* Documented to be a "historical no-op". */ } if (lsa->lsa_flags & LINUX_SA_ONESHOT) { flags &= ~LINUX_SA_ONESHOT; bsa->sa_flags |= SA_RESETHAND; } if (lsa->lsa_flags & LINUX_SA_NOMASK) { flags &= ~LINUX_SA_NOMASK; bsa->sa_flags |= SA_NODEFER; } if (flags != 0) linux_msg(curthread, "unsupported sigaction flag %#lx", flags); } static void bsd_to_linux_sigaction(struct sigaction *bsa, l_sigaction_t *lsa) { bsd_to_linux_sigset(&bsa->sa_mask, &lsa->lsa_mask); #ifdef COMPAT_LINUX32 lsa->lsa_handler = (uintptr_t)bsa->sa_handler; #else lsa->lsa_handler = bsa->sa_handler; #endif lsa->lsa_restorer = 0; /* unsupported */ lsa->lsa_flags = 0; if (bsa->sa_flags & SA_NOCLDSTOP) lsa->lsa_flags |= LINUX_SA_NOCLDSTOP; if (bsa->sa_flags & SA_NOCLDWAIT) lsa->lsa_flags |= LINUX_SA_NOCLDWAIT; if (bsa->sa_flags & SA_SIGINFO) lsa->lsa_flags |= LINUX_SA_SIGINFO; if (bsa->sa_flags & SA_ONSTACK) lsa->lsa_flags |= LINUX_SA_ONSTACK; if (bsa->sa_flags & SA_RESTART) lsa->lsa_flags |= LINUX_SA_RESTART; if (bsa->sa_flags & SA_RESETHAND) lsa->lsa_flags |= LINUX_SA_ONESHOT; if (bsa->sa_flags & SA_NODEFER) lsa->lsa_flags |= LINUX_SA_NOMASK; } int linux_do_sigaction(struct thread *td, int linux_sig, l_sigaction_t *linux_nsa, l_sigaction_t *linux_osa) { struct sigaction act, oact, *nsa, *osa; int error, sig; if (!LINUX_SIG_VALID(linux_sig)) return (EINVAL); osa = (linux_osa != NULL) ? &oact : NULL; if (linux_nsa != NULL) { nsa = &act; linux_to_bsd_sigaction(linux_nsa, nsa); } else nsa = NULL; sig = linux_to_bsd_signal(linux_sig); error = kern_sigaction(td, sig, nsa, osa, 0); if (error) return (error); if (linux_osa != NULL) bsd_to_linux_sigaction(osa, linux_osa); return (0); } #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_signal(struct thread *td, struct linux_signal_args *args) { l_sigaction_t nsa, osa; int error; nsa.lsa_handler = args->handler; nsa.lsa_flags = LINUX_SA_ONESHOT | LINUX_SA_NOMASK; LINUX_SIGEMPTYSET(nsa.lsa_mask); error = linux_do_sigaction(td, args->sig, &nsa, &osa); td->td_retval[0] = (int)(intptr_t)osa.lsa_handler; return (error); } #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int linux_rt_sigaction(struct thread *td, struct linux_rt_sigaction_args *args) { l_sigaction_t nsa, osa; int error; if (args->sigsetsize != sizeof(l_sigset_t)) return (EINVAL); if (args->act != NULL) { error = copyin(args->act, &nsa, sizeof(l_sigaction_t)); if (error) return (error); } error = linux_do_sigaction(td, args->sig, args->act ? &nsa : NULL, args->oact ? &osa : NULL); if (args->oact != NULL && !error) { error = copyout(&osa, args->oact, sizeof(l_sigaction_t)); } return (error); } static int linux_do_sigprocmask(struct thread *td, int how, l_sigset_t *new, l_sigset_t *old) { sigset_t omask, nmask; sigset_t *nmaskp; int error; td->td_retval[0] = 0; switch (how) { case LINUX_SIG_BLOCK: how = SIG_BLOCK; break; case LINUX_SIG_UNBLOCK: how = SIG_UNBLOCK; break; case LINUX_SIG_SETMASK: how = SIG_SETMASK; break; default: return (EINVAL); } if (new != NULL) { linux_to_bsd_sigset(new, &nmask); nmaskp = &nmask; } else nmaskp = NULL; error = kern_sigprocmask(td, how, nmaskp, &omask, 0); if (error == 0 && old != NULL) bsd_to_linux_sigset(&omask, old); return (error); } #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_sigprocmask(struct thread *td, struct linux_sigprocmask_args *args) { l_osigset_t mask; l_sigset_t set, oset; int error; if (args->mask != NULL) { error = copyin(args->mask, &mask, sizeof(l_osigset_t)); if (error) return (error); LINUX_SIGEMPTYSET(set); set.__mask = mask; } error = linux_do_sigprocmask(td, args->how, args->mask ? &set : NULL, args->omask ? &oset : NULL); if (args->omask != NULL && !error) { mask = oset.__mask; error = copyout(&mask, args->omask, sizeof(l_osigset_t)); } return (error); } #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ int linux_rt_sigprocmask(struct thread *td, struct linux_rt_sigprocmask_args *args) { l_sigset_t set, oset; int error; if (args->sigsetsize != sizeof(l_sigset_t)) return (EINVAL); if (args->mask != NULL) { error = copyin(args->mask, &set, sizeof(l_sigset_t)); if (error) return (error); } error = linux_do_sigprocmask(td, args->how, args->mask ? &set : NULL, args->omask ? &oset : NULL); if (args->omask != NULL && !error) { error = copyout(&oset, args->omask, sizeof(l_sigset_t)); } return (error); } #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) int linux_sgetmask(struct thread *td, struct linux_sgetmask_args *args) { struct proc *p = td->td_proc; l_sigset_t mask; PROC_LOCK(p); bsd_to_linux_sigset(&td->td_sigmask, &mask); PROC_UNLOCK(p); td->td_retval[0] = mask.__mask; return (0); } int linux_ssetmask(struct thread *td, struct linux_ssetmask_args *args) { struct proc *p = td->td_proc; l_sigset_t lset; sigset_t bset; PROC_LOCK(p); bsd_to_linux_sigset(&td->td_sigmask, &lset); td->td_retval[0] = lset.__mask; LINUX_SIGEMPTYSET(lset); lset.__mask = args->mask; linux_to_bsd_sigset(&lset, &bset); td->td_sigmask = bset; SIG_CANTMASK(td->td_sigmask); signotify(td); PROC_UNLOCK(p); return (0); } int linux_sigpending(struct thread *td, struct linux_sigpending_args *args) { struct proc *p = td->td_proc; sigset_t bset; l_sigset_t lset; l_osigset_t mask; PROC_LOCK(p); bset = p->p_siglist; SIGSETOR(bset, td->td_siglist); SIGSETAND(bset, td->td_sigmask); PROC_UNLOCK(p); bsd_to_linux_sigset(&bset, &lset); mask = lset.__mask; return (copyout(&mask, args->mask, sizeof(mask))); } #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ /* * MPSAFE */ int linux_rt_sigpending(struct thread *td, struct linux_rt_sigpending_args *args) { struct proc *p = td->td_proc; sigset_t bset; l_sigset_t lset; if (args->sigsetsize > sizeof(lset)) return (EINVAL); /* NOT REACHED */ PROC_LOCK(p); bset = p->p_siglist; SIGSETOR(bset, td->td_siglist); SIGSETAND(bset, td->td_sigmask); PROC_UNLOCK(p); bsd_to_linux_sigset(&bset, &lset); return (copyout(&lset, args->set, args->sigsetsize)); } /* * MPSAFE */ int linux_rt_sigtimedwait(struct thread *td, struct linux_rt_sigtimedwait_args *args) { int error, sig; - l_timeval ltv; - struct timeval tv; struct timespec ts, *tsa; + struct l_timespec lts; l_sigset_t lset; sigset_t bset; l_siginfo_t linfo; ksiginfo_t info; if (args->sigsetsize != sizeof(l_sigset_t)) return (EINVAL); if ((error = copyin(args->mask, &lset, sizeof(lset)))) return (error); linux_to_bsd_sigset(&lset, &bset); tsa = NULL; if (args->timeout) { - if ((error = copyin(args->timeout, <v, sizeof(ltv)))) + if ((error = copyin(args->timeout, <s, sizeof(lts)))) + return (error); + error = linux_to_native_timespec(&ts, <s); + if (error != 0) return (error); - tv.tv_sec = (long)ltv.tv_sec; - tv.tv_usec = (suseconds_t)ltv.tv_usec; - if (itimerfix(&tv)) { - /* - * The timeout was invalid. Convert it to something - * valid that will act as it does under Linux. - */ - tv.tv_sec += tv.tv_usec / 1000000; - tv.tv_usec %= 1000000; - if (tv.tv_usec < 0) { - tv.tv_sec -= 1; - tv.tv_usec += 1000000; - } - if (tv.tv_sec < 0) - timevalclear(&tv); - } - TIMEVAL_TO_TIMESPEC(&tv, &ts); tsa = &ts; - } + } else + tsa = NULL; + error = kern_sigtimedwait(td, bset, &info, tsa); if (error) return (error); sig = bsd_to_linux_signal(info.ksi_signo); if (args->ptr) { memset(&linfo, 0, sizeof(linfo)); ksiginfo_to_lsiginfo(&info, &linfo, sig); error = copyout(&linfo, args->ptr, sizeof(linfo)); } if (error == 0) td->td_retval[0] = sig; return (error); } int linux_kill(struct thread *td, struct linux_kill_args *args) { int l_signum; /* * Allow signal 0 as a means to check for privileges */ if (!LINUX_SIG_VALID(args->signum) && args->signum != 0) return (EINVAL); if (args->signum > 0) l_signum = linux_to_bsd_signal(args->signum); else l_signum = 0; return (kern_kill(td, args->pid, l_signum)); } static int linux_do_tkill(struct thread *td, struct thread *tdt, ksiginfo_t *ksi) { struct proc *p; int error; p = tdt->td_proc; AUDIT_ARG_SIGNUM(ksi->ksi_signo); AUDIT_ARG_PID(p->p_pid); AUDIT_ARG_PROCESS(p); error = p_cansignal(td, p, ksi->ksi_signo); if (error != 0 || ksi->ksi_signo == 0) goto out; tdksignal(tdt, ksi->ksi_signo, ksi); out: PROC_UNLOCK(p); return (error); } int linux_tgkill(struct thread *td, struct linux_tgkill_args *args) { struct thread *tdt; ksiginfo_t ksi; int sig; if (args->pid <= 0 || args->tgid <=0) return (EINVAL); /* * Allow signal 0 as a means to check for privileges */ if (!LINUX_SIG_VALID(args->sig) && args->sig != 0) return (EINVAL); if (args->sig > 0) sig = linux_to_bsd_signal(args->sig); else sig = 0; tdt = linux_tdfind(td, args->pid, args->tgid); if (tdt == NULL) return (ESRCH); ksiginfo_init(&ksi); ksi.ksi_signo = sig; ksi.ksi_code = SI_LWP; ksi.ksi_errno = 0; ksi.ksi_pid = td->td_proc->p_pid; ksi.ksi_uid = td->td_proc->p_ucred->cr_ruid; return (linux_do_tkill(td, tdt, &ksi)); } /* * Deprecated since 2.5.75. Replaced by tgkill(). */ int linux_tkill(struct thread *td, struct linux_tkill_args *args) { struct thread *tdt; ksiginfo_t ksi; int sig; if (args->tid <= 0) return (EINVAL); if (!LINUX_SIG_VALID(args->sig)) return (EINVAL); sig = linux_to_bsd_signal(args->sig); tdt = linux_tdfind(td, args->tid, -1); if (tdt == NULL) return (ESRCH); ksiginfo_init(&ksi); ksi.ksi_signo = sig; ksi.ksi_code = SI_LWP; ksi.ksi_errno = 0; ksi.ksi_pid = td->td_proc->p_pid; ksi.ksi_uid = td->td_proc->p_ucred->cr_ruid; return (linux_do_tkill(td, tdt, &ksi)); } void ksiginfo_to_lsiginfo(const ksiginfo_t *ksi, l_siginfo_t *lsi, l_int sig) { siginfo_to_lsiginfo(&ksi->ksi_info, lsi, sig); } static void sicode_to_lsicode(int si_code, int *lsi_code) { switch (si_code) { case SI_USER: *lsi_code = LINUX_SI_USER; break; case SI_KERNEL: *lsi_code = LINUX_SI_KERNEL; break; case SI_QUEUE: *lsi_code = LINUX_SI_QUEUE; break; case SI_TIMER: *lsi_code = LINUX_SI_TIMER; break; case SI_MESGQ: *lsi_code = LINUX_SI_MESGQ; break; case SI_ASYNCIO: *lsi_code = LINUX_SI_ASYNCIO; break; case SI_LWP: *lsi_code = LINUX_SI_TKILL; break; default: *lsi_code = si_code; break; } } void siginfo_to_lsiginfo(const siginfo_t *si, l_siginfo_t *lsi, l_int sig) { /* sig alredy converted */ lsi->lsi_signo = sig; sicode_to_lsicode(si->si_code, &lsi->lsi_code); switch (si->si_code) { case SI_LWP: lsi->lsi_pid = si->si_pid; lsi->lsi_uid = si->si_uid; break; case SI_TIMER: lsi->lsi_int = si->si_value.sival_int; lsi->lsi_ptr = PTROUT(si->si_value.sival_ptr); lsi->lsi_tid = si->si_timerid; break; case SI_QUEUE: lsi->lsi_pid = si->si_pid; lsi->lsi_uid = si->si_uid; lsi->lsi_ptr = PTROUT(si->si_value.sival_ptr); break; case SI_ASYNCIO: lsi->lsi_int = si->si_value.sival_int; lsi->lsi_ptr = PTROUT(si->si_value.sival_ptr); break; default: switch (sig) { case LINUX_SIGPOLL: /* XXX si_fd? */ lsi->lsi_band = si->si_band; break; case LINUX_SIGCHLD: lsi->lsi_errno = 0; lsi->lsi_pid = si->si_pid; lsi->lsi_uid = si->si_uid; if (si->si_code == CLD_STOPPED) lsi->lsi_status = bsd_to_linux_signal(si->si_status); else if (si->si_code == CLD_CONTINUED) lsi->lsi_status = bsd_to_linux_signal(SIGCONT); else lsi->lsi_status = si->si_status; break; case LINUX_SIGBUS: case LINUX_SIGILL: case LINUX_SIGFPE: case LINUX_SIGSEGV: lsi->lsi_addr = PTROUT(si->si_addr); break; default: lsi->lsi_pid = si->si_pid; lsi->lsi_uid = si->si_uid; if (sig >= LINUX_SIGRTMIN) { lsi->lsi_int = si->si_value.sival_int; lsi->lsi_ptr = PTROUT(si->si_value.sival_ptr); } break; } break; } } void lsiginfo_to_ksiginfo(const l_siginfo_t *lsi, ksiginfo_t *ksi, int sig) { ksi->ksi_signo = sig; ksi->ksi_code = lsi->lsi_code; /* XXX. Convert. */ ksi->ksi_pid = lsi->lsi_pid; ksi->ksi_uid = lsi->lsi_uid; ksi->ksi_status = lsi->lsi_status; ksi->ksi_addr = PTRIN(lsi->lsi_addr); ksi->ksi_info.si_value.sival_int = lsi->lsi_int; } int linux_rt_sigqueueinfo(struct thread *td, struct linux_rt_sigqueueinfo_args *args) { l_siginfo_t linfo; struct proc *p; ksiginfo_t ksi; int error; int sig; if (!LINUX_SIG_VALID(args->sig)) return (EINVAL); error = copyin(args->info, &linfo, sizeof(linfo)); if (error != 0) return (error); if (linfo.lsi_code >= 0) return (EPERM); sig = linux_to_bsd_signal(args->sig); error = ESRCH; if ((p = pfind_any(args->pid)) != NULL) { error = p_cansignal(td, p, sig); if (error != 0) { PROC_UNLOCK(p); return (error); } ksiginfo_init(&ksi); lsiginfo_to_ksiginfo(&linfo, &ksi, sig); error = tdsendsignal(p, NULL, sig, &ksi); PROC_UNLOCK(p); } return (error); } int linux_rt_tgsigqueueinfo(struct thread *td, struct linux_rt_tgsigqueueinfo_args *args) { l_siginfo_t linfo; struct thread *tds; ksiginfo_t ksi; int error; int sig; if (!LINUX_SIG_VALID(args->sig)) return (EINVAL); error = copyin(args->uinfo, &linfo, sizeof(linfo)); if (error != 0) return (error); if (linfo.lsi_code >= 0) return (EPERM); tds = linux_tdfind(td, args->tid, args->tgid); if (tds == NULL) return (ESRCH); sig = linux_to_bsd_signal(args->sig); ksiginfo_init(&ksi); lsiginfo_to_ksiginfo(&linfo, &ksi, sig); return (linux_do_tkill(td, tds, &ksi)); } diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master index 7e1ab24e9f75..aa6eb7c1c46f 100644 --- a/sys/i386/linux/syscalls.master +++ b/sys/i386/linux/syscalls.master @@ -1,2505 +1,2505 @@ $FreeBSD$ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). ; Processed to create linux_sysent.c, linux_proto.h and linux_syscall.h. ; Columns: number audit type nargs name alt{name,tag,rtyp}/comments ; number system call number, must be in order ; audit the audit event associated with the system call ; A value of AUE_NULL means no auditing, but it also means that ; there is no audit event for the call at this time. For the ; case where the event exists, but we don't want auditing, the ; event should be #defined to AUE_NULL in audit_kevents.h. ; type one of STD, NOPROTO, UNIMPL ; name pseudo-prototype of syscall routine ; If one of the following alts is different, then all appear: ; altname name of system call if different ; alttag name of args struct tag if different from [o]`name'"_args" ; altrtyp return type if not int (bogus - syscalls always return int) ; for UNIMPL, name continues with comments ; types: ; STD always included ; UNIMPL not implemented, placeholder only ; NOPROTO same as STD except do not create structure or ; function prototype in sys/sysproto.h. Does add a ; definition to syscall.h besides adding a sysent. #include #include #include #include #include #include ; Isn't pretty, but there seems to be no other way to trap nosys #define nosys linux_nosys ; #ifdef's, etc. may be included, and are copied to the output files. 0 AUE_NULL UNIMPL setup 1 AUE_EXIT STD { void linux_exit( int rval ); } 2 AUE_FORK STD { int linux_fork(void); } 3 AUE_NULL NOPROTO { int read( int fd, char *buf, u_int nbyte ); } 4 AUE_NULL NOPROTO { int write( int fd, char *buf, u_int nbyte ); } 5 AUE_OPEN_RWTC STD { int linux_open( char *path, l_int flags, l_int mode ); } 6 AUE_CLOSE NOPROTO { int close( int fd ); } 7 AUE_WAIT4 STD { int linux_waitpid( l_pid_t pid, l_int *status, l_int options ); } 8 AUE_CREAT STD { int linux_creat( char *path, l_int mode ); } 9 AUE_LINK STD { int linux_link( char *path, char *to ); } 10 AUE_UNLINK STD { int linux_unlink( char *path ); } 11 AUE_EXECVE STD { int linux_execve( char *path, char **argp, char **envp ); } 12 AUE_CHDIR STD { int linux_chdir( char *path ); } 13 AUE_NULL STD { int linux_time( l_time_t *tm ); } 14 AUE_MKNOD STD { int linux_mknod( char *path, l_int mode, l_dev_t dev ); } 15 AUE_CHMOD STD { int linux_chmod( char *path, l_mode_t mode ); } 16 AUE_LCHOWN STD { int linux_lchown16( char *path, l_uid16_t uid, l_gid16_t gid ); } 17 AUE_NULL UNIMPL break 18 AUE_STAT STD { int linux_stat( char *path, struct linux_stat *up ); } 19 AUE_LSEEK STD { int linux_lseek( l_uint fdes, l_off_t off, l_int whence ); } 20 AUE_GETPID STD { int linux_getpid(void); } 21 AUE_MOUNT STD { int linux_mount( char *specialfile, char *dir, char *filesystemtype, l_ulong rwflag, void *data ); } 22 AUE_UMOUNT STD { int linux_oldumount( char *path ); } 23 AUE_SETUID STD { int linux_setuid16( l_uid16_t uid ); } 24 AUE_GETUID STD { int linux_getuid16(void); } 25 AUE_SETTIMEOFDAY STD { int linux_stime(void); } 26 AUE_PTRACE STD { int linux_ptrace( l_long req, l_long pid, l_long addr, l_long data ); } 27 AUE_NULL STD { int linux_alarm( l_uint secs ); } 28 AUE_FSTAT STD { int linux_fstat( l_uint fd, struct linux_stat *up ); } 29 AUE_NULL STD { int linux_pause(void); } 30 AUE_UTIME STD { int linux_utime( char *fname, struct l_utimbuf *times ); } 31 AUE_NULL UNIMPL stty 32 AUE_NULL UNIMPL gtty 33 AUE_ACCESS STD { int linux_access( char *path, l_int amode ); } 34 AUE_NICE STD { int linux_nice( l_int inc ); } 35 AUE_NULL UNIMPL ftime 36 AUE_SYNC NOPROTO { int sync(void); } 37 AUE_KILL STD { int linux_kill( l_int pid, l_int signum ); } 38 AUE_RENAME STD { int linux_rename( char *from, char *to ); } 39 AUE_MKDIR STD { int linux_mkdir( char *path, l_int mode ); } 40 AUE_RMDIR STD { int linux_rmdir( char *path ); } 41 AUE_DUP NOPROTO { int dup( u_int fd ); } 42 AUE_PIPE STD { int linux_pipe( l_int *pipefds ); } 43 AUE_NULL STD { int linux_times( struct l_times_argv *buf ); } 44 AUE_NULL UNIMPL prof 45 AUE_NULL STD { int linux_brk( l_ulong dsend ); } 46 AUE_SETGID STD { int linux_setgid16( l_gid16_t gid ); } 47 AUE_GETGID STD { int linux_getgid16(void); } 48 AUE_NULL STD { int linux_signal( l_int sig, void *handler ); } 49 AUE_GETEUID STD { int linux_geteuid16(void); } 50 AUE_GETEGID STD { int linux_getegid16(void); } 51 AUE_ACCT NOPROTO { int acct( char *path ); } 52 AUE_UMOUNT STD { int linux_umount( char *path, l_int flags ); } 53 AUE_NULL UNIMPL lock 54 AUE_IOCTL STD { int linux_ioctl( l_uint fd, l_uint cmd, l_ulong arg ); } 55 AUE_FCNTL STD { int linux_fcntl( l_uint fd, l_uint cmd, l_ulong arg ); } 56 AUE_NULL UNIMPL mpx 57 AUE_SETPGRP NOPROTO { int setpgid( int pid, int pgid ); } 58 AUE_NULL UNIMPL ulimit 59 AUE_NULL STD { int linux_olduname(void); } 60 AUE_UMASK NOPROTO { int umask( int newmask ); } 61 AUE_CHROOT NOPROTO { int chroot( char *path ); } 62 AUE_NULL STD { int linux_ustat( l_dev_t dev, struct l_ustat *ubuf ); } 63 AUE_DUP2 NOPROTO { int dup2( u_int from, u_int to ); } 64 AUE_GETPPID STD { int linux_getppid(void); } 65 AUE_GETPGRP NOPROTO { int getpgrp(void); } 66 AUE_SETSID NOPROTO { int setsid(void); } 67 AUE_NULL STD { int linux_sigaction( l_int sig, l_osigaction_t *nsa, l_osigaction_t *osa ); } 68 AUE_NULL STD { int linux_sgetmask(void); } 69 AUE_NULL STD { int linux_ssetmask( l_osigset_t mask ); } 70 AUE_SETREUID STD { int linux_setreuid16( l_uid16_t ruid, l_uid16_t euid ); } 71 AUE_SETREGID STD { int linux_setregid16( l_gid16_t rgid, l_gid16_t egid ); } 72 AUE_NULL STD { int linux_sigsuspend( l_int hist0, l_int hist1, l_osigset_t mask ); } 73 AUE_NULL STD { int linux_sigpending( l_osigset_t *mask ); } 74 AUE_SYSCTL STD { int linux_sethostname( char *hostname, u_int len ); } 75 AUE_SETRLIMIT STD { int linux_setrlimit( l_uint resource, struct l_rlimit *rlim ); } 76 AUE_GETRLIMIT STD { int linux_old_getrlimit( l_uint resource, struct l_rlimit *rlim ); } 77 AUE_GETRUSAGE NOPROTO { int getrusage( int who, struct rusage *rusage ); } 78 AUE_NULL NOPROTO { int gettimeofday( struct timeval *tp, struct timezone *tzp ); } 79 AUE_SETTIMEOFDAY NOPROTO { int settimeofday( struct timeval *tv, struct timezone *tzp ); } 80 AUE_GETGROUPS STD { int linux_getgroups16( l_uint gidsetsize, l_gid16_t *gidset ); } 81 AUE_SETGROUPS STD { int linux_setgroups16( l_uint gidsetsize, l_gid16_t *gidset ); } 82 AUE_SELECT STD { int linux_old_select( struct l_old_select_argv *ptr ); } 83 AUE_SYMLINK STD { int linux_symlink( char *path, char *to ); } ; 84: oldlstat 84 AUE_LSTAT STD { int linux_lstat( char *path, struct l_stat *up ); } 85 AUE_READLINK STD { int linux_readlink( char *name, char *buf, l_int count ); } 86 AUE_USELIB STD { int linux_uselib( char *library ); } 87 AUE_SWAPON NOPROTO { int swapon( char *name ); } 88 AUE_REBOOT STD { int linux_reboot( l_int magic1, l_int magic2, l_uint cmd, void *arg ); } ; 89: old_readdir 89 AUE_GETDIRENTRIES STD { int linux_readdir( l_uint fd, struct l_dirent *dent, l_uint count ); } ; 90: old_mmap 90 AUE_MMAP STD { int linux_mmap( struct l_mmap_argv *ptr ); } 91 AUE_MUNMAP NOPROTO { int munmap( caddr_t addr, int len ); } 92 AUE_TRUNCATE STD { int linux_truncate( char *path, l_ulong length ); } 93 AUE_FTRUNCATE STD { int linux_ftruncate( int fd, long length ); } 94 AUE_FCHMOD NOPROTO { int fchmod( int fd, int mode ); } 95 AUE_FCHOWN NOPROTO { int fchown( int fd, int uid, int gid ); } 96 AUE_GETPRIORITY STD { int linux_getpriority( int which, int who ); } 97 AUE_SETPRIORITY NOPROTO { int setpriority( int which, int who, int prio ); } 98 AUE_PROFILE UNIMPL profil 99 AUE_STATFS STD { int linux_statfs( char *path, struct l_statfs_buf *buf ); } 100 AUE_FSTATFS STD { int linux_fstatfs( l_uint fd, struct l_statfs_buf *buf ); } 101 AUE_NULL STD { int linux_ioperm( l_ulong start, l_ulong length, l_int enable ); } 102 AUE_NULL STD { int linux_socketcall( l_int what, l_ulong args ); } 103 AUE_NULL STD { int linux_syslog( l_int type, char *buf, l_int len ); } 104 AUE_SETITIMER STD { int linux_setitimer( l_int which, struct l_itimerval *itv, struct l_itimerval *oitv ); } 105 AUE_GETITIMER STD { int linux_getitimer( l_int which, struct l_itimerval *itv ); } 106 AUE_STAT STD { int linux_newstat( char *path, struct l_newstat *buf ); } 107 AUE_LSTAT STD { int linux_newlstat( char *path, struct l_newstat *buf ); } 108 AUE_FSTAT STD { int linux_newfstat( l_uint fd, struct l_newstat *buf ); } ; 109: olduname 109 AUE_NULL STD { int linux_uname(void); } 110 AUE_NULL STD { int linux_iopl( l_int level ); } 111 AUE_NULL STD { int linux_vhangup(void); } 112 AUE_NULL UNIMPL idle 113 AUE_NULL STD { int linux_vm86old(void); } 114 AUE_WAIT4 STD { int linux_wait4( l_pid_t pid, l_int *status, l_int options, void *rusage ); } 115 AUE_SWAPOFF STD { int linux_swapoff(void); } 116 AUE_NULL STD { int linux_sysinfo( struct l_sysinfo *info ); } 117 AUE_NULL STD { int linux_ipc( l_uint what, l_int arg1, l_int arg2, l_uint arg3, l_uintptr_t ptr, l_uint arg5 ); } 118 AUE_FSYNC NOPROTO { int fsync( int fd ); } 119 AUE_SIGRETURN STD { int linux_sigreturn( struct l_sigframe *sfp ); } 120 AUE_RFORK STD { int linux_clone( l_int flags, void *stack, void *parent_tidptr, void *tls, void *child_tidptr ); } 121 AUE_SYSCTL STD { int linux_setdomainname( char *name, int len ); } 122 AUE_NULL STD { int linux_newuname( struct l_new_utsname *buf ); } 123 AUE_NULL STD { int linux_modify_ldt( l_int func, void *ptr, l_ulong bytecount ); } 124 AUE_ADJTIME STD { int linux_adjtimex(void); } 125 AUE_MPROTECT STD { int linux_mprotect( caddr_t addr, int len, int prot ); } 126 AUE_SIGPROCMASK STD { int linux_sigprocmask( l_int how, l_osigset_t *mask, l_osigset_t *omask ); } 127 AUE_NULL UNIMPL create_module 128 AUE_NULL STD { int linux_init_module(void); } 129 AUE_NULL STD { int linux_delete_module(void); } 130 AUE_NULL UNIMPL get_kernel_syms 131 AUE_QUOTACTL STD { int linux_quotactl(void); } 132 AUE_GETPGID NOPROTO { int getpgid( int pid ); } 133 AUE_FCHDIR NOPROTO { int fchdir( int fd ); } 134 AUE_BDFLUSH STD { int linux_bdflush(void); } 135 AUE_NULL STD { int linux_sysfs( l_int option, l_ulong arg1, l_ulong arg2 ); } 136 AUE_PERSONALITY STD { int linux_personality( l_uint per ); } 137 AUE_NULL UNIMPL afs_syscall 138 AUE_SETFSUID STD { int linux_setfsuid16( l_uid16_t uid ); } 139 AUE_SETFSGID STD { int linux_setfsgid16( l_gid16_t gid ); } 140 AUE_LSEEK STD { int linux_llseek( l_int fd, l_ulong ohigh, l_ulong olow, l_loff_t *res, l_uint whence ); } 141 AUE_GETDIRENTRIES STD { int linux_getdents( l_uint fd, void *dent, l_uint count ); } ; 142: newselect 142 AUE_SELECT STD { int linux_select( l_int nfds, l_fd_set *readfds, l_fd_set *writefds, l_fd_set *exceptfds, struct l_timeval *timeout ); } 143 AUE_FLOCK NOPROTO { int flock( int fd, int how ); } 144 AUE_MSYNC STD { int linux_msync( l_ulong addr, l_size_t len, l_int fl ); } 145 AUE_READV NOPROTO { int readv( int fd, struct iovec *iovp, u_int iovcnt ); } 146 AUE_WRITEV NOPROTO { int writev( int fd, struct iovec *iovp, u_int iovcnt ); } 147 AUE_GETSID STD { int linux_getsid( l_pid_t pid ); } 148 AUE_NULL STD { int linux_fdatasync( l_uint fd ); } 149 AUE_SYSCTL STD { int linux_sysctl( struct l___sysctl_args *args ); } 150 AUE_MLOCK NOPROTO { int mlock( const void *addr, size_t len ); } 151 AUE_MUNLOCK NOPROTO { int munlock( const void *addr, size_t len ); } 152 AUE_MLOCKALL NOPROTO { int mlockall( int how ); } 153 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } 154 AUE_SCHED_SETPARAM STD { int linux_sched_setparam( l_pid_t pid, struct sched_param *param ); } 155 AUE_SCHED_GETPARAM STD { int linux_sched_getparam( l_pid_t pid, struct sched_param *param ); } 156 AUE_SCHED_SETSCHEDULER STD { int linux_sched_setscheduler( l_pid_t pid, l_int policy, struct sched_param *param ); } 157 AUE_SCHED_GETSCHEDULER STD { int linux_sched_getscheduler( l_pid_t pid ); } 158 AUE_NULL NOPROTO { int sched_yield(void); } 159 AUE_SCHED_GET_PRIORITY_MAX STD { int linux_sched_get_priority_max( l_int policy ); } 160 AUE_SCHED_GET_PRIORITY_MIN STD { int linux_sched_get_priority_min( l_int policy ); } 161 AUE_SCHED_RR_GET_INTERVAL STD { int linux_sched_rr_get_interval( l_pid_t pid, struct l_timespec *interval ); } 162 AUE_NULL STD { int linux_nanosleep( const struct l_timespec *rqtp, struct l_timespec *rmtp ); } 163 AUE_NULL STD { int linux_mremap( l_ulong addr, l_ulong old_len, l_ulong new_len, l_ulong flags, l_ulong new_addr ); } 164 AUE_SETRESUID STD { int linux_setresuid16( l_uid16_t ruid, l_uid16_t euid, l_uid16_t suid ); } 165 AUE_GETRESUID STD { int linux_getresuid16( l_uid16_t *ruid, l_uid16_t *euid, l_uid16_t *suid ); } 166 AUE_NULL STD { int linux_vm86(void); } 167 AUE_NULL UNIMPL query_module 168 AUE_POLL NOPROTO { int poll( struct pollfd *fds, unsigned int nfds, long timeout ); } 169 AUE_NULL UNIMPL nfsservctl 170 AUE_SETRESGID STD { int linux_setresgid16( l_gid16_t rgid, l_gid16_t egid, l_gid16_t sgid ); } 171 AUE_GETRESGID STD { int linux_getresgid16( l_gid16_t *rgid, l_gid16_t *egid, l_gid16_t *sgid ); } 172 AUE_PRCTL STD { int linux_prctl( l_int option, l_int arg2, l_int arg3, l_int arg4, l_int arg5 ); } 173 AUE_NULL STD { int linux_rt_sigreturn( struct l_ucontext *ucp ); } 174 AUE_NULL STD { int linux_rt_sigaction( l_int sig, l_sigaction_t *act, l_sigaction_t *oact, l_size_t sigsetsize ); } 175 AUE_NULL STD { int linux_rt_sigprocmask( l_int how, l_sigset_t *mask, l_sigset_t *omask, l_size_t sigsetsize ); } 176 AUE_NULL STD { int linux_rt_sigpending( l_sigset_t *set, l_size_t sigsetsize ); } 177 AUE_NULL STD { int linux_rt_sigtimedwait( l_sigset_t *mask, l_siginfo_t *ptr, - struct l_timeval *timeout, + struct l_timespec *timeout, l_size_t sigsetsize ); } 178 AUE_NULL STD { int linux_rt_sigqueueinfo( l_pid_t pid, l_int sig, l_siginfo_t *info ); } 179 AUE_NULL STD { int linux_rt_sigsuspend( l_sigset_t *newset, l_size_t sigsetsize ); } 180 AUE_PREAD STD { int linux_pread( l_uint fd, char *buf, l_size_t nbyte, l_loff_t offset ); } 181 AUE_PWRITE STD { int linux_pwrite( l_uint fd, char *buf, l_size_t nbyte, l_loff_t offset ); } 182 AUE_CHOWN STD { int linux_chown16( char *path, l_uid16_t uid, l_gid16_t gid ); } 183 AUE_GETCWD STD { int linux_getcwd( char *buf, l_ulong bufsize ); } 184 AUE_CAPGET STD { int linux_capget( struct l_user_cap_header *hdrp, struct l_user_cap_data *datap ); } 185 AUE_CAPSET STD { int linux_capset( struct l_user_cap_header *hdrp, struct l_user_cap_data *datap ); } 186 AUE_NULL STD { int linux_sigaltstack( l_stack_t *uss, l_stack_t *uoss ); } 187 AUE_SENDFILE STD { int linux_sendfile( l_int out, l_int in, l_long *offset, l_size_t count ); } 188 AUE_GETPMSG UNIMPL getpmsg 189 AUE_PUTPMSG UNIMPL putpmsg 190 AUE_VFORK STD { int linux_vfork(void); } ; 191: ugetrlimit 191 AUE_GETRLIMIT STD { int linux_getrlimit( l_uint resource, struct l_rlimit *rlim ); } 192 AUE_MMAP STD { int linux_mmap2( l_ulong addr, l_ulong len, l_ulong prot, l_ulong flags, l_ulong fd, l_ulong pgoff ); } 193 AUE_TRUNCATE STD { int linux_truncate64( char *path, l_loff_t length ); } 194 AUE_FTRUNCATE STD { int linux_ftruncate64( l_uint fd, l_loff_t length ); } 195 AUE_STAT STD { int linux_stat64( const char *filename, struct l_stat64 *statbuf ); } 196 AUE_LSTAT STD { int linux_lstat64( const char *filename, struct l_stat64 *statbuf ); } 197 AUE_FSTAT STD { int linux_fstat64( l_int fd, struct l_stat64 *statbuf ); } 198 AUE_LCHOWN STD { int linux_lchown( char *path, l_uid_t uid, l_gid_t gid ); } 199 AUE_GETUID STD { int linux_getuid(void); } 200 AUE_GETGID STD { int linux_getgid(void); } 201 AUE_GETEUID NOPROTO { int geteuid(void); } 202 AUE_GETEGID NOPROTO { int getegid(void); } 203 AUE_SETREUID NOPROTO { int setreuid( uid_t ruid, uid_t euid ); } 204 AUE_SETREGID NOPROTO { int setregid( gid_t rgid, gid_t egid ); } 205 AUE_GETGROUPS STD { int linux_getgroups( l_int gidsetsize, l_gid_t *grouplist ); } 206 AUE_SETGROUPS STD { int linux_setgroups( l_int gidsetsize, l_gid_t *grouplist ); } 207 AUE_FCHOWN NODEF fchown fchown fchown_args int 208 AUE_SETRESUID NOPROTO { int setresuid( uid_t ruid, uid_t euid, uid_t suid ); } 209 AUE_GETRESUID NOPROTO { int getresuid( uid_t *ruid, uid_t *euid, uid_t *suid ); } 210 AUE_SETRESGID NOPROTO { int setresgid( gid_t rgid, gid_t egid, gid_t sgid ); } 211 AUE_GETRESGID NOPROTO { int getresgid( gid_t *rgid, gid_t *egid, gid_t *sgid ); } 212 AUE_CHOWN STD { int linux_chown( char *path, l_uid_t uid, l_gid_t gid ); } 213 AUE_SETUID NOPROTO { int setuid( uid_t uid ); } 214 AUE_SETGID NOPROTO { int setgid( gid_t gid ); } 215 AUE_SETFSUID STD { int linux_setfsuid( l_uid_t uid ); } 216 AUE_SETFSGID STD { int linux_setfsgid( l_gid_t gid ); } 217 AUE_PIVOT_ROOT STD { int linux_pivot_root( char *new_root, char *put_old ); } 218 AUE_MINCORE STD { int linux_mincore( l_ulong start, l_size_t len, u_char *vec ); } 219 AUE_MADVISE STD { int linux_madvise( void *addr, size_t len, int behav ); } 220 AUE_GETDIRENTRIES STD { int linux_getdents64( l_uint fd, void *dirent, l_uint count ); } 221 AUE_FCNTL STD { int linux_fcntl64( l_uint fd, l_uint cmd, l_ulong arg ); } 222 AUE_NULL UNIMPL 223 AUE_NULL UNIMPL 224 AUE_NULL STD { long linux_gettid(void); } 225 AUE_NULL UNIMPL linux_readahead 226 AUE_NULL STD { int linux_setxattr( const char *path, const char *name, const char *value, l_size_t size, l_int flags ); } 227 AUE_NULL STD { int linux_lsetxattr( const char *path, const char *name, const char *value, l_size_t size, l_int flags ); } 228 AUE_NULL STD { int linux_fsetxattr( l_int fd, const char *name, const char *value, l_size_t size, l_int flags ); } 229 AUE_NULL STD { int linux_getxattr( const char *path, const char *name, char *value, l_size_t size ); } 230 AUE_NULL STD { int linux_lgetxattr( const char *path, const char *name, char *value, l_size_t size ); } 231 AUE_NULL STD { int linux_fgetxattr( l_int fd, const char *name, char *value, l_size_t size ); } 232 AUE_NULL STD { int linux_listxattr( const char *path, const char *list, l_size_t size ); } 233 AUE_NULL STD { int linux_llistxattr( const char *path, const char *list, l_size_t size ); } 234 AUE_NULL STD { int linux_flistxattr( l_int fd, const char *list, l_size_t size ); } 235 AUE_NULL STD { int linux_removexattr( const char *path, const char *name ); } 236 AUE_NULL STD { int linux_lremovexattr( const char *path, const char *name ); } 237 AUE_NULL STD { int linux_fremovexattr( l_int fd, const char *name ); } 238 AUE_NULL STD { int linux_tkill( int tid, int sig ); } 239 AUE_SENDFILE STD { int linux_sendfile64( l_int out, l_int in, l_loff_t *offset, l_size_t count ); } 240 AUE_NULL STD { int linux_sys_futex( void *uaddr, int op, uint32_t val, struct l_timespec *timeout, uint32_t *uaddr2, uint32_t val3 ); } 241 AUE_NULL STD { int linux_sched_setaffinity( l_pid_t pid, l_uint len, l_ulong *user_mask_ptr ); } 242 AUE_NULL STD { int linux_sched_getaffinity( l_pid_t pid, l_uint len, l_ulong *user_mask_ptr ); } 243 AUE_NULL STD { int linux_set_thread_area( struct l_user_desc *desc ); } 244 AUE_NULL STD { int linux_get_thread_area( struct l_user_desc *desc ); } 245 AUE_NULL UNIMPL linux_io_setup 246 AUE_NULL UNIMPL linux_io_destroy 247 AUE_NULL UNIMPL linux_io_getevents 248 AUE_NULL UNIMPL linux_io_submit 249 AUE_NULL UNIMPL linux_io_cancel 250 AUE_NULL STD { int linux_fadvise64( int fd, l_loff_t offset, l_size_t len, int advice ); } 251 AUE_NULL UNIMPL 252 AUE_EXIT STD { int linux_exit_group( int error_code ); } 253 AUE_NULL STD { int linux_lookup_dcookie(void); } 254 AUE_NULL STD { int linux_epoll_create( l_int size ); } 255 AUE_NULL STD { int linux_epoll_ctl( l_int epfd, l_int op, l_int fd, struct epoll_event *event ); } 256 AUE_NULL STD { int linux_epoll_wait( l_int epfd, struct epoll_event *events, l_int maxevents, l_int timeout ); } 257 AUE_NULL STD { int linux_remap_file_pages(void); } 258 AUE_NULL STD { int linux_set_tid_address( int *tidptr ); } 259 AUE_NULL STD { int linux_timer_create( clockid_t clock_id, struct sigevent *evp, l_timer_t *timerid ); } 260 AUE_NULL STD { int linux_timer_settime( l_timer_t timerid, l_int flags, const struct itimerspec *new, struct itimerspec *old ); } 261 AUE_NULL STD { int linux_timer_gettime( l_timer_t timerid, struct itimerspec *setting ); } 262 AUE_NULL STD { int linux_timer_getoverrun( l_timer_t timerid ); } 263 AUE_NULL STD { int linux_timer_delete( l_timer_t timerid ); } 264 AUE_CLOCK_SETTIME STD { int linux_clock_settime( clockid_t which, struct l_timespec *tp ); } 265 AUE_NULL STD { int linux_clock_gettime( clockid_t which, struct l_timespec *tp ); } 266 AUE_NULL STD { int linux_clock_getres( clockid_t which, struct l_timespec *tp ); } 267 AUE_NULL STD { int linux_clock_nanosleep( clockid_t which, int flags, struct l_timespec *rqtp, struct l_timespec *rmtp ); } 268 AUE_STATFS STD { int linux_statfs64( char *path, size_t bufsize, struct l_statfs64_buf *buf ); } 269 AUE_FSTATFS STD { int linux_fstatfs64( l_uint fd, size_t bufsize, struct l_statfs64_buf *buf ); } 270 AUE_NULL STD { int linux_tgkill( int tgid, int pid, int sig ); } 271 AUE_UTIMES STD { int linux_utimes( char *fname, struct l_timeval *tptr ); } 272 AUE_NULL STD { int linux_fadvise64_64( int fd, l_loff_t offset, l_loff_t len, int advice ); } 273 AUE_NULL UNIMPL vserver 274 AUE_NULL STD { int linux_mbind(void); } 275 AUE_NULL STD { int linux_get_mempolicy(void); } 276 AUE_NULL STD { int linux_set_mempolicy(void); } ; Linux 2.6.6: 277 AUE_NULL STD { int linux_mq_open( const char *name, l_int oflag, l_mode_t mode, struct mq_attr *attr ); } 278 AUE_NULL STD { int linux_mq_unlink( const char *name ); } 279 AUE_NULL STD { int linux_mq_timedsend( l_mqd_t mqd, const char *msg_ptr, l_size_t msg_len, l_uint msg_prio, const struct l_timespec *abs_timeout ); } 280 AUE_NULL STD { int linux_mq_timedreceive( l_mqd_t mqd, char *msg_ptr, l_size_t msg_len, l_uint *msg_prio, const struct l_timespec *abs_timeout ); } 281 AUE_NULL STD { int linux_mq_notify( l_mqd_t mqd, const struct l_timespec *abs_timeout ); } 282 AUE_NULL STD { int linux_mq_getsetattr( l_mqd_t mqd, const struct mq_attr *attr, struct mq_attr *oattr ); } 283 AUE_NULL STD { int linux_kexec_load(void); } 284 AUE_WAIT6 STD { int linux_waitid( int idtype, l_pid_t id, l_siginfo_t *info, int options, void *rusage ); } 285 AUE_NULL UNIMPL ; Linux 2.6.11: 286 AUE_NULL STD { int linux_add_key(void); } 287 AUE_NULL STD { int linux_request_key(void); } 288 AUE_NULL STD { int linux_keyctl(void); } ; Linux 2.6.13: 289 AUE_NULL STD { int linux_ioprio_set(void); } 290 AUE_NULL STD { int linux_ioprio_get(void); } 291 AUE_NULL STD { int linux_inotify_init(void); } 292 AUE_NULL STD { int linux_inotify_add_watch(void); } 293 AUE_NULL STD { int linux_inotify_rm_watch(void); } ; Linux 2.6.16: 294 AUE_NULL STD { int linux_migrate_pages(void); } 295 AUE_OPEN_RWTC STD { int linux_openat( l_int dfd, const char *filename, l_int flags, l_int mode ); } 296 AUE_MKDIRAT STD { int linux_mkdirat( l_int dfd, const char *pathname, l_int mode ); } 297 AUE_MKNODAT STD { int linux_mknodat( l_int dfd, const char *filename, l_int mode, l_uint dev ); } 298 AUE_FCHOWNAT STD { int linux_fchownat( l_int dfd, const char *filename, l_uid16_t uid, l_gid16_t gid, l_int flag ); } 299 AUE_FUTIMESAT STD { int linux_futimesat( l_int dfd, char *filename, struct l_timeval *utimes ); } 300 AUE_FSTATAT STD { int linux_fstatat64( l_int dfd, char *pathname, struct l_stat64 *statbuf, l_int flag ); } 301 AUE_UNLINKAT STD { int linux_unlinkat( l_int dfd, const char *pathname, l_int flag ); } 302 AUE_RENAMEAT STD { int linux_renameat( l_int olddfd, const char *oldname, l_int newdfd, const char *newname ); } 303 AUE_LINKAT STD { int linux_linkat( l_int olddfd, const char *oldname, l_int newdfd, const char *newname, l_int flag ); } 304 AUE_SYMLINKAT STD { int linux_symlinkat( const char *oldname, l_int newdfd, const char *newname ); } 305 AUE_READLINKAT STD { int linux_readlinkat( l_int dfd, const char *path, char *buf, l_int bufsiz ); } 306 AUE_FCHMODAT STD { int linux_fchmodat( l_int dfd, const char *filename, l_mode_t mode ); } 307 AUE_FACCESSAT STD { int linux_faccessat( l_int dfd, const char *filename, l_int amode ); } 308 AUE_SELECT STD { int linux_pselect6( l_int nfds, l_fd_set *readfds, l_fd_set *writefds, l_fd_set *exceptfds, struct l_timespec *tsp, l_uintptr_t *sig ); } 309 AUE_POLL STD { int linux_ppoll( struct pollfd *fds, uint32_t nfds, struct l_timespec *tsp, l_sigset_t *sset, l_size_t ssize ); } 310 AUE_NULL STD { int linux_unshare(void); } ; Linux 2.6.17: 311 AUE_NULL STD { int linux_set_robust_list( struct linux_robust_list_head *head, l_size_t len ); } 312 AUE_NULL STD { int linux_get_robust_list( l_int pid, struct linux_robust_list_head **head, l_size_t *len ); } 313 AUE_NULL STD { int linux_splice( int fd_in, l_loff_t *off_in, int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags ); } 314 AUE_NULL STD { int linux_sync_file_range( l_int fd, l_loff_t offset, l_loff_t nbytes, unsigned int flags ); } 315 AUE_NULL STD { int linux_tee(void); } 316 AUE_NULL STD { int linux_vmsplice(void); } ; Linux 2.6.18: 317 AUE_NULL STD { int linux_move_pages(void); } ; Linux 2.6.19: 318 AUE_NULL STD { int linux_getcpu( l_uint *cpu, l_uint *node, void *cache ); } 319 AUE_NULL STD { int linux_epoll_pwait( l_int epfd, struct epoll_event *events, l_int maxevents, l_int timeout, l_sigset_t *mask, l_size_t sigsetsize ); } ; Linux 2.6.22: 320 AUE_FUTIMESAT STD { int linux_utimensat( l_int dfd, const char *pathname, const struct l_timespec *times, l_int flags ); } 321 AUE_NULL STD { int linux_signalfd(void); } 322 AUE_NULL STD { int linux_timerfd_create( l_int clockid, l_int flags ); } 323 AUE_NULL STD { int linux_eventfd( l_uint initval ); } ; Linux 2.6.23: 324 AUE_NULL STD { int linux_fallocate( l_int fd, l_int mode, l_loff_t offset, l_loff_t len ); } ; Linux 2.6.25: 325 AUE_NULL STD { int linux_timerfd_settime( l_int fd, l_int flags, const struct l_itimerspec *new_value, struct l_itimerspec *old_value ); } 326 AUE_NULL STD { int linux_timerfd_gettime( l_int fd, struct l_itimerspec *old_value ); } ; Linux 2.6.27: 327 AUE_NULL STD { int linux_signalfd4(void); } 328 AUE_NULL STD { int linux_eventfd2( l_uint initval, l_int flags ); } 329 AUE_NULL STD { int linux_epoll_create1( l_int flags ); } 330 AUE_NULL STD { int linux_dup3( l_int oldfd, l_int newfd, l_int flags ); } 331 AUE_NULL STD { int linux_pipe2( l_int *pipefds, l_int flags ); } 332 AUE_NULL STD { int linux_inotify_init1(void); } ; Linux 2.6.30: 333 AUE_NULL STD { int linux_preadv( l_ulong fd, struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h ); } 334 AUE_NULL STD { int linux_pwritev( l_ulong fd, struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h ); } ; Linux 2.6.31: 335 AUE_NULL STD { int linux_rt_tgsigqueueinfo( l_pid_t tgid, l_pid_t tid, l_int sig, l_siginfo_t *uinfo ); } 336 AUE_NULL STD { int linux_perf_event_open(void); } ; Linux 2.6.33: 337 AUE_NULL STD { int linux_recvmmsg( l_int s, struct l_mmsghdr *msg, l_uint vlen, l_uint flags, struct l_timespec *timeout ); } 338 AUE_NULL STD { int linux_fanotify_init(void); } 339 AUE_NULL STD { int linux_fanotify_mark(void); } ; Linux 2.6.36: 340 AUE_NULL STD { int linux_prlimit64( l_pid_t pid, l_uint resource, struct rlimit *new, struct rlimit *old ); } ; Linux 2.6.39: 341 AUE_NULL STD { int linux_name_to_handle_at( l_int dirfd, const char *name, struct l_file_handle *handle, l_int *mnt_id, l_int flags ); } 342 AUE_NULL STD { int linux_open_by_handle_at( l_int mountdirfd, struct l_file_handle *handle, l_int flags ); } 343 AUE_NULL STD { int linux_clock_adjtime(void); } 344 AUE_SYNC STD { int linux_syncfs( l_int fd ); } ; Linux 3.0: 345 AUE_NULL STD { int linux_sendmmsg( l_int s, struct l_mmsghdr *msg, l_uint vlen, l_uint flags ); } 346 AUE_NULL STD { int linux_setns(void); } ; Linux 3.2 (glibc 2.15): 347 AUE_NULL STD { int linux_process_vm_readv( l_pid_t pid, const struct iovec *lvec, l_ulong liovcnt, const struct iovec *rvec, l_ulong riovcnt, l_ulong flags ); } 348 AUE_NULL STD { int linux_process_vm_writev( l_pid_t pid, const struct iovec *lvec, l_ulong liovcnt, const struct iovec *rvec, l_ulong riovcnt, l_ulong flags ); } ; Linux 3.5 (no glibc wrapper): 349 AUE_NULL STD { int linux_kcmp( l_pid_t pid1, l_pid_t pid2, l_int type, l_ulong idx1, l_ulong idx ); } ; Linux 3.8 (no glibc wrapper): 350 AUE_NULL STD { int linux_finit_module( l_int fd, const char *uargs, l_int flags ); } ; Linux 3.14: 351 AUE_NULL STD { int linux_sched_setattr( l_pid_t pid, void *attr, l_uint flags ); } 352 AUE_NULL STD { int linux_sched_getattr( l_pid_t pid, void *attr, l_uint size, l_uint flags ); } ; Linux 3.15: 353 AUE_NULL STD { int linux_renameat2( l_int olddfd, const char *oldname, l_int newdfd, const char *newname, unsigned int flags ); } ; Linux 3.17: 354 AUE_NULL STD { int linux_seccomp( l_uint op, l_uint flags, const char *uargs ); } 355 AUE_NULL STD { int linux_getrandom( char *buf, l_size_t count, l_uint flags ); } 356 AUE_NULL STD { int linux_memfd_create( const char *uname_ptr, l_uint flags ); } ; Linux 3.18: 357 AUE_NULL STD { int linux_bpf( l_int cmd, void *attr, l_uint size ); } ; Linux 3.19: 358 AUE_NULL STD { int linux_execveat( l_int dfd, const char *filename, const char **argv, const char **envp, l_int flags ); } ; Linux 4.3: sockets now direct system calls: 359 AUE_SOCKET STD { int linux_socket( l_int domain, l_int type, l_int protocol ); } 360 AUE_SOCKETPAIR STD { int linux_socketpair( l_int domain, l_int type, l_int protocol, l_uintptr_t rsv ); } 361 AUE_BIND STD { int linux_bind( l_int s, l_uintptr_t name, l_int namelen ); } 362 AUE_CONNECT STD { int linux_connect( l_int s, l_uintptr_t name, l_int namelen ); } 363 AUE_LISTEN STD { int linux_listen( l_int s, l_int backlog ); } 364 AUE_ACCEPT STD { int linux_accept4( l_int s, l_uintptr_t addr, l_uintptr_t namelen, l_int flags ); } 365 AUE_GETSOCKOPT STD { int linux_getsockopt( l_int s, l_int level, l_int optname, l_uintptr_t optval, l_uintptr_t optlen ); } 366 AUE_SETSOCKOPT STD { int linux_setsockopt( l_int s, l_int level, l_int optname, l_uintptr_t optval, l_int optlen ); } 367 AUE_GETSOCKNAME STD { int linux_getsockname( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 368 AUE_GETPEERNAME STD { int linux_getpeername( l_int s, l_uintptr_t addr, l_uintptr_t namelen ); } 369 AUE_SENDTO STD { int linux_sendto( l_int s, l_uintptr_t msg, l_int len, l_int flags, l_uintptr_t to, l_int tolen ); } 370 AUE_SENDMSG STD { int linux_sendmsg( l_int s, l_uintptr_t msg, l_int flags ); } 371 AUE_RECVFROM STD { int linux_recvfrom( l_int s, l_uintptr_t buf, l_size_t len, l_int flags, l_uintptr_t from, l_uintptr_t fromlen ); } 372 AUE_RECVMSG STD { int linux_recvmsg( l_int s, l_uintptr_t msg, l_int flags ); } 373 AUE_NULL STD { int linux_shutdown( l_int s, l_int how ); } ; Linux 4.2: 374 AUE_NULL STD { int linux_userfaultfd( l_int flags ); } ; Linux 4.3: 375 AUE_NULL STD { int linux_membarrier( l_int cmd, l_int flags ); } ; Linux 4.4: 376 AUE_NULL STD { int linux_mlock2( l_ulong start, l_size_t len, l_int flags ); } ; Linux 4.5: 377 AUE_NULL STD { int linux_copy_file_range( l_int fd_in, l_loff_t *off_in, l_int fd_out, l_loff_t *off_out, l_size_t len, l_uint flags ); } ; Linux 4.6: 378 AUE_NULL STD { int linux_preadv2( l_ulong fd, const struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h, l_int flags ); } 379 AUE_NULL STD { int linux_pwritev2( l_ulong fd, const struct iovec *vec, l_ulong vlen, l_ulong pos_l, l_ulong pos_h, l_int flags ); } ; Linux 4.8: 380 AUE_NULL STD { int linux_pkey_mprotect( l_ulong start, l_size_t len, l_ulong prot, l_int pkey ); } 381 AUE_NULL STD { int linux_pkey_alloc( l_ulong flags, l_ulong init_val ); } 382 AUE_NULL STD { int linux_pkey_free( l_int pkey ); } ; Linux 4.11: 383 AUE_NULL STD { int linux_statx( l_int dirfd, const char *pathname, l_uint flags, l_uint mask, void *statxbuf ); } 384 AUE_PRCTL STD { int linux_arch_prctl( l_int option, l_ulong arg2 ); } ; Linux 4.18: 385 AUE_NULL STD { int linux_io_pgetevents(void); } 386 AUE_NULL STD { int linux_rseq(void); } 387-392 AUE_NULL UNIMPL nosys 393 AUE_NULL STD { int linux_semget( l_key_t key, l_int nsems, l_int semflg ); } 394 AUE_NULL STD { int linux_semctl( l_int semid, l_int semnum, l_int cmd, union l_semun arg ); } 395 AUE_NULL STD { int linux_shmget( l_key_t key, l_size_t size, l_int shmflg ); } 396 AUE_NULL STD { int linux_shmctl( l_int shmid, l_int cmd, struct l_shmid_ds *buf ); } 397 AUE_NULL STD { int linux_shmat( l_int shmid, char *shmaddr, l_int shmflg ); } 398 AUE_NULL STD { int linux_shmdt( char *shmaddr ); } 399 AUE_NULL STD { int linux_msgget( l_key_t key, l_int msgflg ); } 400 AUE_NULL STD { int linux_msgsnd( l_int msqid, struct l_msgbuf *msgp, l_size_t msgsz, l_int msgflg ); } 401 AUE_NULL STD { int linux_msgrcv( l_int msqid, struct l_msgbuf *msgp, l_size_t msgsz, l_long msgtyp, l_int msgflg ); } 402 AUE_NULL STD { int linux_msgctl( l_int msqid, l_int cmd, struct l_msqid_ds *buf ); } ; Linux 5.0: 403 AUE_NULL STD { int linux_clock_gettime64( clockid_t which, struct l_timespec64 *tp ); } 404 AUE_NULL STD { int linux_clock_settime64( clockid_t which, struct l_timespec64 *tp ); } 405 AUE_NULL STD { int linux_clock_adjtime64(void); } 406 AUE_NULL STD { int linux_clock_getres_time64( clockid_t which, struct l_timespec64 *tp ); } 407 AUE_NULL STD { int linux_clock_nanosleep_time64( clockid_t which, l_int flags, struct l_timespec64 *rqtp, struct l_timespec64 *rmtp ); } 408 AUE_NULL STD { int linux_timer_gettime64(void); } 409 AUE_NULL STD { int linux_timer_settime64(void); } 410 AUE_NULL STD { int linux_timerfd_gettime64(void); } 411 AUE_NULL STD { int linux_timerfd_settime64(void); } 412 AUE_NULL STD { int linux_utimensat_time64( l_int dfd, const char *pathname, const struct l_timespec64 *times64, l_int flags ); } 413 AUE_NULL STD { int linux_pselect6_time64(void); } 414 AUE_NULL STD { int linux_ppoll_time64(void); } 415 AUE_NULL UNIMPL nosys 416 AUE_NULL STD { int linux_io_pgetevents_time64(void); } 417 AUE_NULL STD { int linux_recvmmsg_time64(void); } 418 AUE_NULL STD { int linux_mq_timedsend_time64(void); } 419 AUE_NULL STD { int linux_mq_timedreceive_time64(void); } 420 AUE_NULL STD { int linux_semtimedop_time64(void); } 421 AUE_NULL STD { int linux_rt_sigtimedwait_time64(void); } 422 AUE_NULL STD { int linux_futex_time64(void); } 423 AUE_NULL STD { int linux_sched_rr_get_interval_time64(void); } 424 AUE_NULL STD { int linux_pidfd_send_signal( l_int pidfd, l_int sig, l_siginfo_t *info, l_uint flags ); } 425 AUE_NULL STD { int linux_io_uring_setup(void); } 426 AUE_NULL STD { int linux_io_uring_enter(void); } 427 AUE_NULL STD { int linux_io_uring_register(void); } 428 AUE_NULL STD { int linux_open_tree(void); } 429 AUE_NULL STD { int linux_move_mount(void); } 430 AUE_NULL STD { int linux_fsopen(void); } 431 AUE_NULL STD { int linux_fsconfig(void); } 432 AUE_NULL STD { int linux_fsmount(void); } 433 AUE_NULL STD { int linux_fspick(void); } 434 AUE_NULL STD { int linux_pidfd_open(void); } 435 AUE_NULL STD { int linux_clone3(void); } 436 AUE_NULL STD { int linux_close_range(void); } 437 AUE_NULL STD { int linux_openat2(void); } 438 AUE_NULL STD { int linux_pidfd_getfd(void); } 439 AUE_NULL STD { int linux_faccessat2(void); } 440 AUE_NULL STD { int linux_process_madvise(void); } 441 AUE_NULL STD { int linux_epoll_pwait2(void); } 442 AUE_NULL STD { int linux_mount_setattr(void); } ; please, keep this line at the end. 443 AUE_NULL UNIMPL nosys ; vim: syntax=off