|
libclues
Linux C++ Tracing Library
|
Classes | |
| struct | AccessSystemCall |
| struct | AlarmSystemCall |
| struct | Args |
| class | AutoAttachedTracee |
| Specialization of Tracee for automatically attached child tracees. More... | |
| struct | BreakSystemCall |
| class | ChildTracee |
| Specialization of Tracee that creates a new child process for tracing. More... | |
| struct | ClockNanoSleepSystemCall |
| struct | Clone3SystemCall |
| struct | CloneSystemCall |
| Wrapper for the clone() and clone2() system calls. More... | |
| struct | CloseSystemCall |
| class | Engine |
| Main class for configuring and running libclues. More... | |
| class | ErrnoResult |
| An errno system call result. More... | |
| class | EventConsumer |
| Callback interface for consumers of tracing events. More... | |
| struct | ExecveAtSystemCall |
| struct | ExecveSystemCall |
| struct | ExitGroupSystemCall |
| struct | FAccessAt2SystemCall |
| struct | FAccessAtSystemCall |
| struct | FcntlSystemCall |
| struct | FDInfo |
| Contextual information about a file descriptor in a Tracee. More... | |
| class | ForeignTracee |
| Specialization of Tracee that attaches to an existing, unrelated process in the system. More... | |
| struct | ForkSystemCall |
| struct | FstatAtSystemCall |
| struct | FstatSystemCall |
| struct | FutexSystemCall |
| futex() system call with context-sensitive parameters and return values. More... | |
| struct | GetDentsSystemCall |
| struct | GetRobustListSystemCall |
| struct | GetXIdSystemCall |
| struct | IoCtlSystemCall |
| struct | kernel_old_sigaction |
| Variant of sigaction used for the old sigaction() system call. More... | |
| struct | kernel_sigaction |
| This is the sigaction structure used by the kernel for e.g. rt_sigaction. More... | |
| struct | kernel_sigaction32 |
| Variant of sigaction for 64-bit <-> 32-bit cross ABI tracing. More... | |
| struct | LimitSystemCallT |
| struct | linux_dirent |
| 32-bit getdents() directory entries.used on native 32-bit/64-bit ABIs. More... | |
| struct | linux_dirent32 |
| 32-bit getdents() directory entries used in 32-bit emulation ABI. More... | |
| struct | linux_dirent64 |
| 64-bit entries used with getdents64() on both 32-bit and 64-bit ABIs More... | |
| struct | mmap_arg_struct |
| Old mmap() parameter on 32-bit ABIs like I386. More... | |
| struct | MmapSystemCall |
| Type for mmap() / mmap2() system calls. More... | |
| struct | MprotectSystemCall |
| struct | MunmapSystemCall |
| struct | NanoSleepSystemCall |
| struct | old_kernel_stat |
| Original Linux stat data structure for SystemCallNr::OLDSTAT, OLDLSTAT and OLDFSTAT. More... | |
| struct | OpenAtSystemCall |
| struct | OpenSystemCall |
| struct | Pipe2SystemCall |
| struct | PipeSystemCall |
The classic pipe() system call without flags. More... | |
| struct | Prlimit64SystemCall |
| class | ProcessData |
| This type contains data that is shared between tracees of the same thread group. More... | |
| struct | ReadSystemCall |
| struct | RegisterData |
| Base class for ABI specific register data. More... | |
| struct | RegisterDataAARCH64 |
| Native register data for the aarch64 ABI. More... | |
| struct | RegisterDataI386 |
| Native register data for the I386 32-bit X86 ABI. More... | |
| struct | RegisterDataTraits |
| Traits which will be overridden by template specializations per ABI. More... | |
| struct | RegisterDataTraits< ABI::AARCH64 > |
| struct | RegisterDataTraits< ABI::I386 > |
| struct | RegisterDataTraits< ABI::X32 > |
| struct | RegisterDataTraits< ABI::X86_64 > |
| struct | RegisterDataX32 |
| struct | RegisterDataX64 |
| struct | RegisterDataX86_64_T |
| Native register data for the X86_64 and X32 ABIs. More... | |
| class | RegisterSet |
| Holds a set of registers for the given ABI. More... | |
| struct | RestartSystemCall |
| struct | rlimit32 |
32-bit based struct rlimit used with getrlimit() and setrlimit(). More... | |
| struct | rlimit64 |
64-bit based struct rlimit used with prlimit(). More... | |
| struct | RtSigActionSystemCall |
| Type for the current rt_sigaction() system call. More... | |
| struct | RtSigProcMaskSystemCall |
| Type for the current rt_sigprocmask(). More... | |
| struct | SetRobustListSystemCall |
| struct | SetTIDAddressSystemCall |
| struct | SigActionSystemCall |
| Type for and old sigaction(). More... | |
| struct | SigProcMaskSystemCall |
| Type for old sigprocmask(). More... | |
| struct | stat32 |
| 32-bit sized stat data structure with some padding for SystemCallNR::STAT, LSTAT and FSTAT on 32-bit archs like i386. More... | |
| struct | stat32_64 |
| 64-bit sized stat data structure used with the stat64 family of system calls on 32-bit ABIs like i386. More... | |
| struct | stat64 |
| The single stat structure from asm-generic used e.g. on AARCH64. More... | |
| struct | StatSystemCallT |
| class | SystemCall |
| Access to System Call Data. More... | |
| class | SystemCallDB |
| Stores information about each system call number in form of SystemCall objects. More... | |
| class | SystemCallInfo |
| Extended ptrace system call state information. More... | |
| class | SystemCallItem |
| Base class for any kind of system call parameter or return value. More... | |
| struct | SystemCallNrTraits |
| Traits which allow to lookup the correct SystemCallNr type per ABI. More... | |
| struct | SystemCallNrTraits< ABI::AARCH64 > |
| struct | SystemCallNrTraits< ABI::I386 > |
| struct | SystemCallNrTraits< ABI::X32 > |
| struct | SystemCallNrTraits< ABI::X86_64 > |
| class | TermTracer |
| struct | TgKillSystemCall |
| struct | timespec32 |
| Original Linux stat data structure for SystemCallNr::OLDSTAT, OLDLSTAT and OLDFSTAT. More... | |
| class | Tracee |
| Base class for traced processes. More... | |
| struct | UnknownSystemCall |
| struct | Wait4SystemCall |
| struct | WriteSystemCall |
Typedefs | |
| using | RestorerCB = void (*)() |
| using | SignalCB = void (*)(int) |
| using | AnyRegisterSet |
| A variant to hold any of the ABI-specific RegisterSet types. | |
| using | StatSystemCall = StatSystemCallT |
| using | LstatSystemCall = StatSystemCallT |
| using | GetRlimitSystemCall = LimitSystemCallT<SystemCallNr::GETRLIMIT> |
| using | SetRlimitSystemCall = LimitSystemCallT<SystemCallNr::SETRLIMIT> |
| using | GetUidSystemCall = GetXIdSystemCall<item::UserID> |
| using | GetEuidSystemCall = GetXIdSystemCall<item::UserID> |
| using | GetGidSystemCall = GetXIdSystemCall<item::GroupID> |
| using | GetEgidSystemCall = GetXIdSystemCall<item::GroupID> |
| using | AnySystemCallNr = std::variant<SystemCallNrI386, SystemCallNrX64, SystemCallNrX32, SystemCallNrAARCH64> |
| using | SystemCallPtr = std::shared_ptr<SystemCall> |
| using | SystemCallItemPtr = SystemCallItem* |
| using | FollowChildren = cosmos::NamedBool<struct follow_children_t, true> |
| A strong boolean type denoting whether to automatically attach to newly created child processes. | |
| using | AttachThreads = cosmos::NamedBool<struct attach_threads_t, true> |
| A strong boolean type denoting whether to automatically all other threads of a process. | |
| using | TraceePtr = std::shared_ptr<Tracee> |
| using | ProcessDataPtr = std::shared_ptr<ProcessData> |
| using | FDInfoMap = std::map<cosmos::FileNum, FDInfo> |
| A mapping of file descriptor numbers to their file system paths or other human readable description of the descriptor. | |
Enumerations | |
| enum class | SystemCallNrAARCH64 : uint64_t { _FIRST = 0 , IO_SETUP = 0 , IO_DESTROY = 1 , IO_SUBMIT = 2 , IO_CANCEL = 3 , IO_GETEVENTS = 4 , SETXATTR = 5 , LSETXATTR = 6 , FSETXATTR = 7 , GETXATTR = 8 , LGETXATTR = 9 , FGETXATTR = 10 , LISTXATTR = 11 , LLISTXATTR = 12 , FLISTXATTR = 13 , REMOVEXATTR = 14 , LREMOVEXATTR = 15 , FREMOVEXATTR = 16 , GETCWD = 17 , LOOKUP_DCOOKIE = 18 , EVENTFD2 = 19 , EPOLL_CREATE1 = 20 , EPOLL_CTL = 21 , EPOLL_PWAIT = 22 , DUP = 23 , DUP3 = 24 , FCNTL = 25 , INOTIFY_INIT1 = 26 , INOTIFY_ADD_WATCH = 27 , INOTIFY_RM_WATCH = 28 , IOCTL = 29 , IOPRIO_SET = 30 , IOPRIO_GET = 31 , FLOCK = 32 , MKNODAT = 33 , MKDIRAT = 34 , UNLINKAT = 35 , SYMLINKAT = 36 , LINKAT = 37 , RENAMEAT = 38 , UMOUNT2 = 39 , MOUNT = 40 , PIVOT_ROOT = 41 , NFSSERVCTL = 42 , STATFS = 43 , FSTATFS = 44 , TRUNCATE = 45 , FTRUNCATE = 46 , FALLOCATE = 47 , FACCESSAT = 48 , CHDIR = 49 , FCHDIR = 50 , CHROOT = 51 , FCHMOD = 52 , FCHMODAT = 53 , FCHOWNAT = 54 , FCHOWN = 55 , OPENAT = 56 , CLOSE = 57 , VHANGUP = 58 , PIPE2 = 59 , QUOTACTL = 60 , GETDENTS64 = 61 , LSEEK = 62 , READ = 63 , WRITE = 64 , READV = 65 , WRITEV = 66 , PREAD64 = 67 , PWRITE64 = 68 , PREADV = 69 , PWRITEV = 70 , SENDFILE = 71 , PSELECT6 = 72 , PPOLL = 73 , SIGNALFD4 = 74 , VMSPLICE = 75 , SPLICE = 76 , TEE = 77 , READLINKAT = 78 , NEWFSTATAT = 79 , FSTAT = 80 , SYNC = 81 , FSYNC = 82 , FDATASYNC = 83 , SYNC_FILE_RANGE = 84 , TIMERFD_CREATE = 85 , TIMERFD_SETTIME = 86 , TIMERFD_GETTIME = 87 , UTIMENSAT = 88 , ACCT = 89 , CAPGET = 90 , CAPSET = 91 , PERSONALITY = 92 , EXIT = 93 , EXIT_GROUP = 94 , WAITID = 95 , SET_TID_ADDRESS = 96 , UNSHARE = 97 , FUTEX = 98 , SET_ROBUST_LIST = 99 , GET_ROBUST_LIST = 100 , NANOSLEEP = 101 , GETITIMER = 102 , SETITIMER = 103 , KEXEC_LOAD = 104 , INIT_MODULE = 105 , DELETE_MODULE = 106 , TIMER_CREATE = 107 , TIMER_GETTIME = 108 , TIMER_GETOVERRUN = 109 , TIMER_SETTIME = 110 , TIMER_DELETE = 111 , CLOCK_SETTIME = 112 , CLOCK_GETTIME = 113 , CLOCK_GETRES = 114 , CLOCK_NANOSLEEP = 115 , SYSLOG = 116 , PTRACE = 117 , SCHED_SETPARAM = 118 , SCHED_SETSCHEDULER = 119 , SCHED_GETSCHEDULER = 120 , SCHED_GETPARAM = 121 , SCHED_SETAFFINITY = 122 , SCHED_GETAFFINITY = 123 , SCHED_YIELD = 124 , SCHED_GET_PRIORITY_MAX = 125 , SCHED_GET_PRIORITY_MIN = 126 , SCHED_RR_GET_INTERVAL = 127 , RESTART_SYSCALL = 128 , KILL = 129 , TKILL = 130 , TGKILL = 131 , SIGALTSTACK = 132 , RT_SIGSUSPEND = 133 , RT_SIGACTION = 134 , RT_SIGPROCMASK = 135 , RT_SIGPENDING = 136 , RT_SIGTIMEDWAIT = 137 , RT_SIGQUEUEINFO = 138 , RT_SIGRETURN = 139 , SETPRIORITY = 140 , GETPRIORITY = 141 , REBOOT = 142 , SETREGID = 143 , SETGID = 144 , SETREUID = 145 , SETUID = 146 , SETRESUID = 147 , GETRESUID = 148 , SETRESGID = 149 , GETRESGID = 150 , SETFSUID = 151 , SETFSGID = 152 , TIMES = 153 , SETPGID = 154 , GETPGID = 155 , GETSID = 156 , SETSID = 157 , GETGROUPS = 158 , SETGROUPS = 159 , UNAME = 160 , SETHOSTNAME = 161 , SETDOMAINNAME = 162 , GETRLIMIT = 163 , SETRLIMIT = 164 , GETRUSAGE = 165 , UMASK = 166 , PRCTL = 167 , GETCPU = 168 , GETTIMEOFDAY = 169 , SETTIMEOFDAY = 170 , ADJTIMEX = 171 , GETPID = 172 , GETPPID = 173 , GETUID = 174 , GETEUID = 175 , GETGID = 176 , GETEGID = 177 , GETTID = 178 , SYSINFO = 179 , MQ_OPEN = 180 , MQ_UNLINK = 181 , MQ_TIMEDSEND = 182 , MQ_TIMEDRECEIVE = 183 , MQ_NOTIFY = 184 , MQ_GETSETATTR = 185 , MSGGET = 186 , MSGCTL = 187 , MSGRCV = 188 , MSGSND = 189 , SEMGET = 190 , SEMCTL = 191 , SEMTIMEDOP = 192 , SEMOP = 193 , SHMGET = 194 , SHMCTL = 195 , SHMAT = 196 , SHMDT = 197 , SOCKET = 198 , SOCKETPAIR = 199 , BIND = 200 , LISTEN = 201 , ACCEPT = 202 , CONNECT = 203 , GETSOCKNAME = 204 , GETPEERNAME = 205 , SENDTO = 206 , RECVFROM = 207 , SETSOCKOPT = 208 , GETSOCKOPT = 209 , SHUTDOWN = 210 , SENDMSG = 211 , RECVMSG = 212 , READAHEAD = 213 , BRK = 214 , MUNMAP = 215 , MREMAP = 216 , ADD_KEY = 217 , REQUEST_KEY = 218 , KEYCTL = 219 , CLONE = 220 , EXECVE = 221 , MMAP = 222 , FADVISE64 = 223 , SWAPON = 224 , SWAPOFF = 225 , MPROTECT = 226 , MSYNC = 227 , MLOCK = 228 , MUNLOCK = 229 , MLOCKALL = 230 , MUNLOCKALL = 231 , MINCORE = 232 , MADVISE = 233 , REMAP_FILE_PAGES = 234 , MBIND = 235 , GET_MEMPOLICY = 236 , SET_MEMPOLICY = 237 , MIGRATE_PAGES = 238 , MOVE_PAGES = 239 , RT_TGSIGQUEUEINFO = 240 , PERF_EVENT_OPEN = 241 , ACCEPT4 = 242 , RECVMMSG = 243 , WAIT4 = 260 , PRLIMIT64 = 261 , FANOTIFY_INIT = 262 , FANOTIFY_MARK = 263 , NAME_TO_HANDLE_AT = 264 , OPEN_BY_HANDLE_AT = 265 , CLOCK_ADJTIME = 266 , SYNCFS = 267 , SETNS = 268 , SENDMMSG = 269 , PROCESS_VM_READV = 270 , PROCESS_VM_WRITEV = 271 , KCMP = 272 , FINIT_MODULE = 273 , SCHED_SETATTR = 274 , SCHED_GETATTR = 275 , RENAMEAT2 = 276 , SECCOMP = 277 , GETRANDOM = 278 , MEMFD_CREATE = 279 , BPF = 280 , EXECVEAT = 281 , USERFAULTFD = 282 , MEMBARRIER = 283 , MLOCK2 = 284 , COPY_FILE_RANGE = 285 , PREADV2 = 286 , PWRITEV2 = 287 , PKEY_MPROTECT = 288 , PKEY_ALLOC = 289 , PKEY_FREE = 290 , STATX = 291 , IO_PGETEVENTS = 292 , RSEQ = 293 , KEXEC_FILE_LOAD = 294 , PIDFD_SEND_SIGNAL = 424 , IO_URING_SETUP = 425 , IO_URING_ENTER = 426 , IO_URING_REGISTER = 427 , OPEN_TREE = 428 , MOVE_MOUNT = 429 , FSOPEN = 430 , FSCONFIG = 431 , FSMOUNT = 432 , FSPICK = 433 , PIDFD_OPEN = 434 , CLONE3 = 435 , CLOSE_RANGE = 436 , OPENAT2 = 437 , PIDFD_GETFD = 438 , FACCESSAT2 = 439 , PROCESS_MADVISE = 440 , EPOLL_PWAIT2 = 441 , MOUNT_SETATTR = 442 , QUOTACTL_FD = 443 , LANDLOCK_CREATE_RULESET = 444 , LANDLOCK_ADD_RULE = 445 , LANDLOCK_RESTRICT_SELF = 446 , MEMFD_SECRET = 447 , PROCESS_MRELEASE = 448 , FUTEX_WAITV = 449 , SET_MEMPOLICY_HOME_NODE = 450 , CACHESTAT = 451 , FCHMODAT2 = 452 , MAP_SHADOW_STACK = 453 , _FUTEX_WAKE = 454 , _FUTEX_WAIT = 455 , _FUTEX_REQUEUE = 456 , STATMOUNT = 457 , LISTMOUNT = 458 , LSM_GET_SELF_ATTR = 459 , LSM_SET_SELF_ATTR = 460 , LSM_LIST_MODULES = 461 , MSEAL = 462 , SETXATTRAT = 463 , GETXATTRAT = 464 , LISTXATTRAT = 465 , REMOVEXATTRAT = 466 , OPEN_TREE_ATTR = 467 , FILE_GETATTR = 468 , FILE_SETATTR = 469 , _LAST = 469 } |
| Native system call numbers as used by Linux on the aarch64 ABI. More... | |
| enum class | SystemCallNr : uint64_t { UNKNOWN = 0 , ACCEPT , ACCEPT4 , ACCESS , ACCT , ADD_KEY , ADJTIMEX , AFS_SYSCALL , ALARM , ARCH_PRCTL , BDFLUSH , BIND , BPF , BREAK , BRK , CACHESTAT , CAPGET , CAPSET , CHDIR , CHMOD , CHOWN , CHOWN32 , CHROOT , CLOCK_ADJTIME , CLOCK_ADJTIME64 , CLOCK_GETRES , CLOCK_GETRES_TIME64 , CLOCK_GETTIME , CLOCK_GETTIME64 , CLOCK_NANOSLEEP , CLOCK_NANOSLEEP_TIME64 , CLOCK_SETTIME , CLOCK_SETTIME64 , CLONE , CLONE3 , CLOSE , CLOSE_RANGE , CONNECT , COPY_FILE_RANGE , CREAT , CREATE_MODULE , DELETE_MODULE , DUP , DUP2 , DUP3 , EPOLL_CREATE , EPOLL_CREATE1 , EPOLL_CTL , EPOLL_CTL_OLD , EPOLL_PWAIT , EPOLL_PWAIT2 , EPOLL_WAIT , EPOLL_WAIT_OLD , EVENTFD , EVENTFD2 , EXECVE , EXECVEAT , EXIT , EXIT_GROUP , FACCESSAT , FACCESSAT2 , FADVISE64 , FADVISE64_64 , FALLOCATE , FANOTIFY_INIT , FANOTIFY_MARK , FCHDIR , FCHMOD , FCHMODAT , FCHMODAT2 , FCHOWN , FCHOWN32 , FCHOWNAT , FCNTL , FCNTL64 , FDATASYNC , FGETXATTR , FILE_GETATTR , FILE_SETATTR , FINIT_MODULE , FLISTXATTR , FLOCK , FORK , FREMOVEXATTR , FSCONFIG , FSETXATTR , FSMOUNT , FSOPEN , FSPICK , FSTAT , FSTAT64 , FSTATAT64 , FSTATFS , FSTATFS64 , FSYNC , FTIME , FTRUNCATE , FTRUNCATE64 , FUTEX , _FUTEX_REQUEUE , FUTEX_TIME64 , _FUTEX_WAIT , FUTEX_WAITV , _FUTEX_WAKE , FUTIMESAT , GET_KERNEL_SYMS , GET_MEMPOLICY , GET_ROBUST_LIST , GET_THREAD_AREA , GETCPU , GETCWD , GETDENTS , GETDENTS64 , GETEGID , GETEGID32 , GETEUID , GETEUID32 , GETGID , GETGID32 , GETGROUPS , GETGROUPS32 , GETITIMER , GETPEERNAME , GETPGID , GETPGRP , GETPID , GETPMSG , GETPPID , GETPRIORITY , GETRANDOM , GETRESGID , GETRESGID32 , GETRESUID , GETRESUID32 , GETRLIMIT , GETRUSAGE , GETSID , GETSOCKNAME , GETSOCKOPT , GETTID , GETTIMEOFDAY , GETUID , GETUID32 , GETXATTR , GETXATTRAT , GTTY , IDLE , INIT_MODULE , INOTIFY_ADD_WATCH , INOTIFY_INIT , INOTIFY_INIT1 , INOTIFY_RM_WATCH , IO_CANCEL , IO_DESTROY , IO_GETEVENTS , IO_PGETEVENTS , IO_PGETEVENTS_TIME64 , IO_SETUP , IO_SUBMIT , IO_URING_ENTER , IO_URING_REGISTER , IO_URING_SETUP , IOCTL , IOPERM , IOPL , IOPRIO_GET , IOPRIO_SET , IPC , KCMP , KEXEC_FILE_LOAD , KEXEC_LOAD , KEYCTL , KILL , LANDLOCK_ADD_RULE , LANDLOCK_CREATE_RULESET , LANDLOCK_RESTRICT_SELF , LCHOWN , LCHOWN32 , LGETXATTR , LINK , LINKAT , LISTEN , LISTMOUNT , LISTXATTR , LISTXATTRAT , LLISTXATTR , LLSEEK , LOCK , LOOKUP_DCOOKIE , LREMOVEXATTR , LSEEK , LSETXATTR , LSM_GET_SELF_ATTR , LSM_LIST_MODULES , LSM_SET_SELF_ATTR , LSTAT , LSTAT64 , MADVISE , MAP_SHADOW_STACK , MBIND , MEMBARRIER , MEMFD_CREATE , MEMFD_SECRET , MIGRATE_PAGES , MINCORE , MKDIR , MKDIRAT , MKNOD , MKNODAT , MLOCK , MLOCK2 , MLOCKALL , MMAP , MMAP2 , MODIFY_LDT , MOUNT , MOUNT_SETATTR , MOVE_MOUNT , MOVE_PAGES , MPROTECT , MPX , MQ_GETSETATTR , MQ_NOTIFY , MQ_OPEN , MQ_TIMEDRECEIVE , MQ_TIMEDRECEIVE_TIME64 , MQ_TIMEDSEND , MQ_TIMEDSEND_TIME64 , MQ_UNLINK , MREMAP , MSEAL , MSGCTL , MSGGET , MSGRCV , MSGSND , MSYNC , MUNLOCK , MUNLOCKALL , MUNMAP , NAME_TO_HANDLE_AT , NANOSLEEP , NEWFSTATAT , NEWSELECT , NFSSERVCTL , NICE , OLDFSTAT , OLDLSTAT , OLDOLDUNAME , OLDSTAT , OLDUNAME , OPEN , OPEN_BY_HANDLE_AT , OPEN_TREE , OPEN_TREE_ATTR , OPENAT , OPENAT2 , PAUSE , PERF_EVENT_OPEN , PERSONALITY , PIDFD_GETFD , PIDFD_OPEN , PIDFD_SEND_SIGNAL , PIPE , PIPE2 , PIVOT_ROOT , PKEY_ALLOC , PKEY_FREE , PKEY_MPROTECT , POLL , PPOLL , PPOLL_TIME64 , PRCTL , PREAD64 , PREADV , PREADV2 , PRLIMIT64 , PROCESS_MADVISE , PROCESS_MRELEASE , PROCESS_VM_READV , PROCESS_VM_WRITEV , PROF , PROFIL , PSELECT6 , PSELECT6_TIME64 , PTRACE , PUTPMSG , PWRITE64 , PWRITEV , PWRITEV2 , QUERY_MODULE , QUOTACTL , QUOTACTL_FD , READ , READAHEAD , READDIR , READLINK , READLINKAT , READV , REBOOT , RECVFROM , RECVMMSG , RECVMMSG_TIME64 , RECVMSG , REMAP_FILE_PAGES , REMOVEXATTR , REMOVEXATTRAT , RENAME , RENAMEAT , RENAMEAT2 , REQUEST_KEY , RESTART_SYSCALL , RMDIR , RSEQ , RT_SIGACTION , RT_SIGPENDING , RT_SIGPROCMASK , RT_SIGQUEUEINFO , RT_SIGRETURN , RT_SIGSUSPEND , RT_SIGTIMEDWAIT , RT_SIGTIMEDWAIT_TIME64 , RT_TGSIGQUEUEINFO , SCHED_GET_PRIORITY_MAX , SCHED_GET_PRIORITY_MIN , SCHED_GETAFFINITY , SCHED_GETATTR , SCHED_GETPARAM , SCHED_GETSCHEDULER , SCHED_RR_GET_INTERVAL , SCHED_RR_GET_INTERVAL_TIME64 , SCHED_SETAFFINITY , SCHED_SETATTR , SCHED_SETPARAM , SCHED_SETSCHEDULER , SCHED_YIELD , SECCOMP , SECURITY , SELECT , SEMCTL , SEMGET , SEMOP , SEMTIMEDOP , SEMTIMEDOP_TIME64 , SENDFILE , SENDFILE64 , SENDMMSG , SENDMSG , SENDTO , SET_MEMPOLICY , SET_MEMPOLICY_HOME_NODE , SET_ROBUST_LIST , SET_THREAD_AREA , SET_TID_ADDRESS , SETDOMAINNAME , SETFSGID , SETFSGID32 , SETFSUID , SETFSUID32 , SETGID , SETGID32 , SETGROUPS , SETGROUPS32 , SETHOSTNAME , SETITIMER , SETNS , SETPGID , SETPRIORITY , SETREGID , SETREGID32 , SETRESGID , SETRESGID32 , SETRESUID , SETRESUID32 , SETREUID , SETREUID32 , SETRLIMIT , SETSID , SETSOCKOPT , SETTIMEOFDAY , SETUID , SETUID32 , SETXATTR , SETXATTRAT , SGETMASK , SHMAT , SHMCTL , SHMDT , SHMGET , SHUTDOWN , SIGACTION , SIGALTSTACK , SIGNAL , SIGNALFD , SIGNALFD4 , SIGPENDING , SIGPROCMASK , SIGRETURN , SIGSUSPEND , SOCKET , SOCKETCALL , SOCKETPAIR , SPLICE , SSETMASK , STAT , STAT64 , STATFS , STATFS64 , STATMOUNT , STATX , STIME , STTY , SWAPOFF , SWAPON , SYMLINK , SYMLINKAT , SYNC , SYNC_FILE_RANGE , SYNCFS , SYSCTL , SYSFS , SYSINFO , SYSLOG , TEE , TGKILL , TIME , TIMER_CREATE , TIMER_DELETE , TIMER_GETOVERRUN , TIMER_GETTIME , TIMER_GETTIME64 , TIMER_SETTIME , TIMER_SETTIME64 , TIMERFD_CREATE , TIMERFD_GETTIME , TIMERFD_GETTIME64 , TIMERFD_SETTIME , TIMERFD_SETTIME64 , TIMES , TKILL , TRUNCATE , TRUNCATE64 , TUXCALL , UGETRLIMIT , ULIMIT , UMASK , UMOUNT , UMOUNT2 , UNAME , UNLINK , UNLINKAT , UNSHARE , UPROBE , URETPROBE , USELIB , USERFAULTFD , USTAT , UTIME , UTIMENSAT , UTIMENSAT_TIME64 , UTIMES , VFORK , VHANGUP , VM86 , VM86OLD , VMSPLICE , VSERVER , WAIT4 , WAITID , WAITPID , WRITE , WRITEV } |
| Abstract system call number usable across architectures and ABIs. More... | |
| enum class | SystemCallNrI386 : uint64_t { _FIRST = 0 , RESTART_SYSCALL = 0 , EXIT = 1 , FORK = 2 , READ = 3 , WRITE = 4 , OPEN = 5 , CLOSE = 6 , WAITPID = 7 , CREAT = 8 , LINK = 9 , UNLINK = 10 , EXECVE = 11 , CHDIR = 12 , TIME = 13 , MKNOD = 14 , CHMOD = 15 , LCHOWN = 16 , BREAK = 17 , OLDSTAT = 18 , LSEEK = 19 , GETPID = 20 , MOUNT = 21 , UMOUNT = 22 , SETUID = 23 , GETUID = 24 , STIME = 25 , PTRACE = 26 , ALARM = 27 , OLDFSTAT = 28 , PAUSE = 29 , UTIME = 30 , STTY = 31 , GTTY = 32 , ACCESS = 33 , NICE = 34 , FTIME = 35 , SYNC = 36 , KILL = 37 , RENAME = 38 , MKDIR = 39 , RMDIR = 40 , DUP = 41 , PIPE = 42 , TIMES = 43 , PROF = 44 , BRK = 45 , SETGID = 46 , GETGID = 47 , SIGNAL = 48 , GETEUID = 49 , GETEGID = 50 , ACCT = 51 , UMOUNT2 = 52 , LOCK = 53 , IOCTL = 54 , FCNTL = 55 , MPX = 56 , SETPGID = 57 , ULIMIT = 58 , OLDOLDUNAME = 59 , UMASK = 60 , CHROOT = 61 , USTAT = 62 , DUP2 = 63 , GETPPID = 64 , GETPGRP = 65 , SETSID = 66 , SIGACTION = 67 , SGETMASK = 68 , SSETMASK = 69 , SETREUID = 70 , SETREGID = 71 , SIGSUSPEND = 72 , SIGPENDING = 73 , SETHOSTNAME = 74 , SETRLIMIT = 75 , GETRLIMIT = 76 , GETRUSAGE = 77 , GETTIMEOFDAY = 78 , SETTIMEOFDAY = 79 , GETGROUPS = 80 , SETGROUPS = 81 , SELECT = 82 , SYMLINK = 83 , OLDLSTAT = 84 , READLINK = 85 , USELIB = 86 , SWAPON = 87 , REBOOT = 88 , READDIR = 89 , MMAP = 90 , MUNMAP = 91 , TRUNCATE = 92 , FTRUNCATE = 93 , FCHMOD = 94 , FCHOWN = 95 , GETPRIORITY = 96 , SETPRIORITY = 97 , PROFIL = 98 , STATFS = 99 , FSTATFS = 100 , IOPERM = 101 , SOCKETCALL = 102 , SYSLOG = 103 , SETITIMER = 104 , GETITIMER = 105 , STAT = 106 , LSTAT = 107 , FSTAT = 108 , OLDUNAME = 109 , IOPL = 110 , VHANGUP = 111 , IDLE = 112 , VM86OLD = 113 , WAIT4 = 114 , SWAPOFF = 115 , SYSINFO = 116 , IPC = 117 , FSYNC = 118 , SIGRETURN = 119 , CLONE = 120 , SETDOMAINNAME = 121 , UNAME = 122 , MODIFY_LDT = 123 , ADJTIMEX = 124 , MPROTECT = 125 , SIGPROCMASK = 126 , CREATE_MODULE = 127 , INIT_MODULE = 128 , DELETE_MODULE = 129 , GET_KERNEL_SYMS = 130 , QUOTACTL = 131 , GETPGID = 132 , FCHDIR = 133 , BDFLUSH = 134 , SYSFS = 135 , PERSONALITY = 136 , AFS_SYSCALL = 137 , SETFSUID = 138 , SETFSGID = 139 , LLSEEK = 140 , GETDENTS = 141 , NEWSELECT = 142 , FLOCK = 143 , MSYNC = 144 , READV = 145 , WRITEV = 146 , GETSID = 147 , FDATASYNC = 148 , SYSCTL = 149 , MLOCK = 150 , MUNLOCK = 151 , MLOCKALL = 152 , MUNLOCKALL = 153 , SCHED_SETPARAM = 154 , SCHED_GETPARAM = 155 , SCHED_SETSCHEDULER = 156 , SCHED_GETSCHEDULER = 157 , SCHED_YIELD = 158 , SCHED_GET_PRIORITY_MAX = 159 , SCHED_GET_PRIORITY_MIN = 160 , SCHED_RR_GET_INTERVAL = 161 , NANOSLEEP = 162 , MREMAP = 163 , SETRESUID = 164 , GETRESUID = 165 , VM86 = 166 , QUERY_MODULE = 167 , POLL = 168 , NFSSERVCTL = 169 , SETRESGID = 170 , GETRESGID = 171 , PRCTL = 172 , RT_SIGRETURN = 173 , RT_SIGACTION = 174 , RT_SIGPROCMASK = 175 , RT_SIGPENDING = 176 , RT_SIGTIMEDWAIT = 177 , RT_SIGQUEUEINFO = 178 , RT_SIGSUSPEND = 179 , PREAD64 = 180 , PWRITE64 = 181 , CHOWN = 182 , GETCWD = 183 , CAPGET = 184 , CAPSET = 185 , SIGALTSTACK = 186 , SENDFILE = 187 , GETPMSG = 188 , PUTPMSG = 189 , VFORK = 190 , UGETRLIMIT = 191 , MMAP2 = 192 , TRUNCATE64 = 193 , FTRUNCATE64 = 194 , STAT64 = 195 , LSTAT64 = 196 , FSTAT64 = 197 , LCHOWN32 = 198 , GETUID32 = 199 , GETGID32 = 200 , GETEUID32 = 201 , GETEGID32 = 202 , SETREUID32 = 203 , SETREGID32 = 204 , GETGROUPS32 = 205 , SETGROUPS32 = 206 , FCHOWN32 = 207 , SETRESUID32 = 208 , GETRESUID32 = 209 , SETRESGID32 = 210 , GETRESGID32 = 211 , CHOWN32 = 212 , SETUID32 = 213 , SETGID32 = 214 , SETFSUID32 = 215 , SETFSGID32 = 216 , PIVOT_ROOT = 217 , MINCORE = 218 , MADVISE = 219 , GETDENTS64 = 220 , FCNTL64 = 221 , GETTID = 224 , READAHEAD = 225 , SETXATTR = 226 , LSETXATTR = 227 , FSETXATTR = 228 , GETXATTR = 229 , LGETXATTR = 230 , FGETXATTR = 231 , LISTXATTR = 232 , LLISTXATTR = 233 , FLISTXATTR = 234 , REMOVEXATTR = 235 , LREMOVEXATTR = 236 , FREMOVEXATTR = 237 , TKILL = 238 , SENDFILE64 = 239 , FUTEX = 240 , SCHED_SETAFFINITY = 241 , SCHED_GETAFFINITY = 242 , SET_THREAD_AREA = 243 , GET_THREAD_AREA = 244 , IO_SETUP = 245 , IO_DESTROY = 246 , IO_GETEVENTS = 247 , IO_SUBMIT = 248 , IO_CANCEL = 249 , FADVISE64 = 250 , EXIT_GROUP = 252 , LOOKUP_DCOOKIE = 253 , EPOLL_CREATE = 254 , EPOLL_CTL = 255 , EPOLL_WAIT = 256 , REMAP_FILE_PAGES = 257 , SET_TID_ADDRESS = 258 , TIMER_CREATE = 259 , TIMER_SETTIME = 260 , TIMER_GETTIME = 261 , TIMER_GETOVERRUN = 262 , TIMER_DELETE = 263 , CLOCK_SETTIME = 264 , CLOCK_GETTIME = 265 , CLOCK_GETRES = 266 , CLOCK_NANOSLEEP = 267 , STATFS64 = 268 , FSTATFS64 = 269 , TGKILL = 270 , UTIMES = 271 , FADVISE64_64 = 272 , VSERVER = 273 , MBIND = 274 , GET_MEMPOLICY = 275 , SET_MEMPOLICY = 276 , MQ_OPEN = 277 , MQ_UNLINK = 278 , MQ_TIMEDSEND = 279 , MQ_TIMEDRECEIVE = 280 , MQ_NOTIFY = 281 , MQ_GETSETATTR = 282 , KEXEC_LOAD = 283 , WAITID = 284 , ADD_KEY = 286 , REQUEST_KEY = 287 , KEYCTL = 288 , IOPRIO_SET = 289 , IOPRIO_GET = 290 , INOTIFY_INIT = 291 , INOTIFY_ADD_WATCH = 292 , INOTIFY_RM_WATCH = 293 , MIGRATE_PAGES = 294 , OPENAT = 295 , MKDIRAT = 296 , MKNODAT = 297 , FCHOWNAT = 298 , FUTIMESAT = 299 , FSTATAT64 = 300 , UNLINKAT = 301 , RENAMEAT = 302 , LINKAT = 303 , SYMLINKAT = 304 , READLINKAT = 305 , FCHMODAT = 306 , FACCESSAT = 307 , PSELECT6 = 308 , PPOLL = 309 , UNSHARE = 310 , SET_ROBUST_LIST = 311 , GET_ROBUST_LIST = 312 , SPLICE = 313 , SYNC_FILE_RANGE = 314 , TEE = 315 , VMSPLICE = 316 , MOVE_PAGES = 317 , GETCPU = 318 , EPOLL_PWAIT = 319 , UTIMENSAT = 320 , SIGNALFD = 321 , TIMERFD_CREATE = 322 , EVENTFD = 323 , FALLOCATE = 324 , TIMERFD_SETTIME = 325 , TIMERFD_GETTIME = 326 , SIGNALFD4 = 327 , EVENTFD2 = 328 , EPOLL_CREATE1 = 329 , DUP3 = 330 , PIPE2 = 331 , INOTIFY_INIT1 = 332 , PREADV = 333 , PWRITEV = 334 , RT_TGSIGQUEUEINFO = 335 , PERF_EVENT_OPEN = 336 , RECVMMSG = 337 , FANOTIFY_INIT = 338 , FANOTIFY_MARK = 339 , PRLIMIT64 = 340 , NAME_TO_HANDLE_AT = 341 , OPEN_BY_HANDLE_AT = 342 , CLOCK_ADJTIME = 343 , SYNCFS = 344 , SENDMMSG = 345 , SETNS = 346 , PROCESS_VM_READV = 347 , PROCESS_VM_WRITEV = 348 , KCMP = 349 , FINIT_MODULE = 350 , SCHED_SETATTR = 351 , SCHED_GETATTR = 352 , RENAMEAT2 = 353 , SECCOMP = 354 , GETRANDOM = 355 , MEMFD_CREATE = 356 , BPF = 357 , EXECVEAT = 358 , SOCKET = 359 , SOCKETPAIR = 360 , BIND = 361 , CONNECT = 362 , LISTEN = 363 , ACCEPT4 = 364 , GETSOCKOPT = 365 , SETSOCKOPT = 366 , GETSOCKNAME = 367 , GETPEERNAME = 368 , SENDTO = 369 , SENDMSG = 370 , RECVFROM = 371 , RECVMSG = 372 , SHUTDOWN = 373 , USERFAULTFD = 374 , MEMBARRIER = 375 , MLOCK2 = 376 , COPY_FILE_RANGE = 377 , PREADV2 = 378 , PWRITEV2 = 379 , PKEY_MPROTECT = 380 , PKEY_ALLOC = 381 , PKEY_FREE = 382 , STATX = 383 , ARCH_PRCTL = 384 , IO_PGETEVENTS = 385 , RSEQ = 386 , SEMGET = 393 , SEMCTL = 394 , SHMGET = 395 , SHMCTL = 396 , SHMAT = 397 , SHMDT = 398 , MSGGET = 399 , MSGSND = 400 , MSGRCV = 401 , MSGCTL = 402 , CLOCK_GETTIME64 = 403 , CLOCK_SETTIME64 = 404 , CLOCK_ADJTIME64 = 405 , CLOCK_GETRES_TIME64 = 406 , CLOCK_NANOSLEEP_TIME64 = 407 , TIMER_GETTIME64 = 408 , TIMER_SETTIME64 = 409 , TIMERFD_GETTIME64 = 410 , TIMERFD_SETTIME64 = 411 , UTIMENSAT_TIME64 = 412 , PSELECT6_TIME64 = 413 , PPOLL_TIME64 = 414 , IO_PGETEVENTS_TIME64 = 416 , RECVMMSG_TIME64 = 417 , MQ_TIMEDSEND_TIME64 = 418 , MQ_TIMEDRECEIVE_TIME64 = 419 , SEMTIMEDOP_TIME64 = 420 , RT_SIGTIMEDWAIT_TIME64 = 421 , FUTEX_TIME64 = 422 , SCHED_RR_GET_INTERVAL_TIME64 = 423 , PIDFD_SEND_SIGNAL = 424 , IO_URING_SETUP = 425 , IO_URING_ENTER = 426 , IO_URING_REGISTER = 427 , OPEN_TREE = 428 , MOVE_MOUNT = 429 , FSOPEN = 430 , FSCONFIG = 431 , FSMOUNT = 432 , FSPICK = 433 , PIDFD_OPEN = 434 , CLONE3 = 435 , CLOSE_RANGE = 436 , OPENAT2 = 437 , PIDFD_GETFD = 438 , FACCESSAT2 = 439 , PROCESS_MADVISE = 440 , EPOLL_PWAIT2 = 441 , MOUNT_SETATTR = 442 , QUOTACTL_FD = 443 , LANDLOCK_CREATE_RULESET = 444 , LANDLOCK_ADD_RULE = 445 , LANDLOCK_RESTRICT_SELF = 446 , MEMFD_SECRET = 447 , PROCESS_MRELEASE = 448 , FUTEX_WAITV = 449 , SET_MEMPOLICY_HOME_NODE = 450 , CACHESTAT = 451 , FCHMODAT2 = 452 , MAP_SHADOW_STACK = 453 , _FUTEX_WAKE = 454 , _FUTEX_WAIT = 455 , _FUTEX_REQUEUE = 456 , STATMOUNT = 457 , LISTMOUNT = 458 , LSM_GET_SELF_ATTR = 459 , LSM_SET_SELF_ATTR = 460 , LSM_LIST_MODULES = 461 , MSEAL = 462 , SETXATTRAT = 463 , GETXATTRAT = 464 , LISTXATTRAT = 465 , REMOVEXATTRAT = 466 , OPEN_TREE_ATTR = 467 , FILE_GETATTR = 468 , FILE_SETATTR = 469 , _LAST = 469 } |
| Native system call numbers as used by Linux on the i386 ABI. More... | |
| enum class | SystemCallNrX32 : uint64_t { _FIRST = X32_SYSCALL_BIT + 0 , READ = X32_SYSCALL_BIT + 0 , WRITE = X32_SYSCALL_BIT + 1 , OPEN = X32_SYSCALL_BIT + 2 , CLOSE = X32_SYSCALL_BIT + 3 , STAT = X32_SYSCALL_BIT + 4 , FSTAT = X32_SYSCALL_BIT + 5 , LSTAT = X32_SYSCALL_BIT + 6 , POLL = X32_SYSCALL_BIT + 7 , LSEEK = X32_SYSCALL_BIT + 8 , MMAP = X32_SYSCALL_BIT + 9 , MPROTECT = X32_SYSCALL_BIT + 10 , MUNMAP = X32_SYSCALL_BIT + 11 , BRK = X32_SYSCALL_BIT + 12 , RT_SIGPROCMASK = X32_SYSCALL_BIT + 14 , PREAD64 = X32_SYSCALL_BIT + 17 , PWRITE64 = X32_SYSCALL_BIT + 18 , ACCESS = X32_SYSCALL_BIT + 21 , PIPE = X32_SYSCALL_BIT + 22 , SELECT = X32_SYSCALL_BIT + 23 , SCHED_YIELD = X32_SYSCALL_BIT + 24 , MREMAP = X32_SYSCALL_BIT + 25 , MSYNC = X32_SYSCALL_BIT + 26 , MINCORE = X32_SYSCALL_BIT + 27 , MADVISE = X32_SYSCALL_BIT + 28 , SHMGET = X32_SYSCALL_BIT + 29 , SHMAT = X32_SYSCALL_BIT + 30 , SHMCTL = X32_SYSCALL_BIT + 31 , DUP = X32_SYSCALL_BIT + 32 , DUP2 = X32_SYSCALL_BIT + 33 , PAUSE = X32_SYSCALL_BIT + 34 , NANOSLEEP = X32_SYSCALL_BIT + 35 , GETITIMER = X32_SYSCALL_BIT + 36 , ALARM = X32_SYSCALL_BIT + 37 , SETITIMER = X32_SYSCALL_BIT + 38 , GETPID = X32_SYSCALL_BIT + 39 , SENDFILE = X32_SYSCALL_BIT + 40 , SOCKET = X32_SYSCALL_BIT + 41 , CONNECT = X32_SYSCALL_BIT + 42 , ACCEPT = X32_SYSCALL_BIT + 43 , SENDTO = X32_SYSCALL_BIT + 44 , SHUTDOWN = X32_SYSCALL_BIT + 48 , BIND = X32_SYSCALL_BIT + 49 , LISTEN = X32_SYSCALL_BIT + 50 , GETSOCKNAME = X32_SYSCALL_BIT + 51 , GETPEERNAME = X32_SYSCALL_BIT + 52 , SOCKETPAIR = X32_SYSCALL_BIT + 53 , CLONE = X32_SYSCALL_BIT + 56 , FORK = X32_SYSCALL_BIT + 57 , VFORK = X32_SYSCALL_BIT + 58 , EXIT = X32_SYSCALL_BIT + 60 , WAIT4 = X32_SYSCALL_BIT + 61 , KILL = X32_SYSCALL_BIT + 62 , UNAME = X32_SYSCALL_BIT + 63 , SEMGET = X32_SYSCALL_BIT + 64 , SEMOP = X32_SYSCALL_BIT + 65 , SEMCTL = X32_SYSCALL_BIT + 66 , SHMDT = X32_SYSCALL_BIT + 67 , MSGGET = X32_SYSCALL_BIT + 68 , MSGSND = X32_SYSCALL_BIT + 69 , MSGRCV = X32_SYSCALL_BIT + 70 , MSGCTL = X32_SYSCALL_BIT + 71 , FCNTL = X32_SYSCALL_BIT + 72 , FLOCK = X32_SYSCALL_BIT + 73 , FSYNC = X32_SYSCALL_BIT + 74 , FDATASYNC = X32_SYSCALL_BIT + 75 , TRUNCATE = X32_SYSCALL_BIT + 76 , FTRUNCATE = X32_SYSCALL_BIT + 77 , GETDENTS = X32_SYSCALL_BIT + 78 , GETCWD = X32_SYSCALL_BIT + 79 , CHDIR = X32_SYSCALL_BIT + 80 , FCHDIR = X32_SYSCALL_BIT + 81 , RENAME = X32_SYSCALL_BIT + 82 , MKDIR = X32_SYSCALL_BIT + 83 , RMDIR = X32_SYSCALL_BIT + 84 , CREAT = X32_SYSCALL_BIT + 85 , LINK = X32_SYSCALL_BIT + 86 , UNLINK = X32_SYSCALL_BIT + 87 , SYMLINK = X32_SYSCALL_BIT + 88 , READLINK = X32_SYSCALL_BIT + 89 , CHMOD = X32_SYSCALL_BIT + 90 , FCHMOD = X32_SYSCALL_BIT + 91 , CHOWN = X32_SYSCALL_BIT + 92 , FCHOWN = X32_SYSCALL_BIT + 93 , LCHOWN = X32_SYSCALL_BIT + 94 , UMASK = X32_SYSCALL_BIT + 95 , GETTIMEOFDAY = X32_SYSCALL_BIT + 96 , GETRLIMIT = X32_SYSCALL_BIT + 97 , GETRUSAGE = X32_SYSCALL_BIT + 98 , SYSINFO = X32_SYSCALL_BIT + 99 , TIMES = X32_SYSCALL_BIT + 100 , GETUID = X32_SYSCALL_BIT + 102 , SYSLOG = X32_SYSCALL_BIT + 103 , GETGID = X32_SYSCALL_BIT + 104 , SETUID = X32_SYSCALL_BIT + 105 , SETGID = X32_SYSCALL_BIT + 106 , GETEUID = X32_SYSCALL_BIT + 107 , GETEGID = X32_SYSCALL_BIT + 108 , SETPGID = X32_SYSCALL_BIT + 109 , GETPPID = X32_SYSCALL_BIT + 110 , GETPGRP = X32_SYSCALL_BIT + 111 , SETSID = X32_SYSCALL_BIT + 112 , SETREUID = X32_SYSCALL_BIT + 113 , SETREGID = X32_SYSCALL_BIT + 114 , GETGROUPS = X32_SYSCALL_BIT + 115 , SETGROUPS = X32_SYSCALL_BIT + 116 , SETRESUID = X32_SYSCALL_BIT + 117 , GETRESUID = X32_SYSCALL_BIT + 118 , SETRESGID = X32_SYSCALL_BIT + 119 , GETRESGID = X32_SYSCALL_BIT + 120 , GETPGID = X32_SYSCALL_BIT + 121 , SETFSUID = X32_SYSCALL_BIT + 122 , SETFSGID = X32_SYSCALL_BIT + 123 , GETSID = X32_SYSCALL_BIT + 124 , CAPGET = X32_SYSCALL_BIT + 125 , CAPSET = X32_SYSCALL_BIT + 126 , RT_SIGSUSPEND = X32_SYSCALL_BIT + 130 , UTIME = X32_SYSCALL_BIT + 132 , MKNOD = X32_SYSCALL_BIT + 133 , PERSONALITY = X32_SYSCALL_BIT + 135 , USTAT = X32_SYSCALL_BIT + 136 , STATFS = X32_SYSCALL_BIT + 137 , FSTATFS = X32_SYSCALL_BIT + 138 , SYSFS = X32_SYSCALL_BIT + 139 , GETPRIORITY = X32_SYSCALL_BIT + 140 , SETPRIORITY = X32_SYSCALL_BIT + 141 , SCHED_SETPARAM = X32_SYSCALL_BIT + 142 , SCHED_GETPARAM = X32_SYSCALL_BIT + 143 , SCHED_SETSCHEDULER = X32_SYSCALL_BIT + 144 , SCHED_GETSCHEDULER = X32_SYSCALL_BIT + 145 , SCHED_GET_PRIORITY_MAX = X32_SYSCALL_BIT + 146 , SCHED_GET_PRIORITY_MIN = X32_SYSCALL_BIT + 147 , SCHED_RR_GET_INTERVAL = X32_SYSCALL_BIT + 148 , MLOCK = X32_SYSCALL_BIT + 149 , MUNLOCK = X32_SYSCALL_BIT + 150 , MLOCKALL = X32_SYSCALL_BIT + 151 , MUNLOCKALL = X32_SYSCALL_BIT + 152 , VHANGUP = X32_SYSCALL_BIT + 153 , MODIFY_LDT = X32_SYSCALL_BIT + 154 , PIVOT_ROOT = X32_SYSCALL_BIT + 155 , PRCTL = X32_SYSCALL_BIT + 157 , ARCH_PRCTL = X32_SYSCALL_BIT + 158 , ADJTIMEX = X32_SYSCALL_BIT + 159 , SETRLIMIT = X32_SYSCALL_BIT + 160 , CHROOT = X32_SYSCALL_BIT + 161 , SYNC = X32_SYSCALL_BIT + 162 , ACCT = X32_SYSCALL_BIT + 163 , SETTIMEOFDAY = X32_SYSCALL_BIT + 164 , MOUNT = X32_SYSCALL_BIT + 165 , UMOUNT2 = X32_SYSCALL_BIT + 166 , SWAPON = X32_SYSCALL_BIT + 167 , SWAPOFF = X32_SYSCALL_BIT + 168 , REBOOT = X32_SYSCALL_BIT + 169 , SETHOSTNAME = X32_SYSCALL_BIT + 170 , SETDOMAINNAME = X32_SYSCALL_BIT + 171 , IOPL = X32_SYSCALL_BIT + 172 , IOPERM = X32_SYSCALL_BIT + 173 , INIT_MODULE = X32_SYSCALL_BIT + 175 , DELETE_MODULE = X32_SYSCALL_BIT + 176 , QUOTACTL = X32_SYSCALL_BIT + 179 , GETPMSG = X32_SYSCALL_BIT + 181 , PUTPMSG = X32_SYSCALL_BIT + 182 , AFS_SYSCALL = X32_SYSCALL_BIT + 183 , TUXCALL = X32_SYSCALL_BIT + 184 , SECURITY = X32_SYSCALL_BIT + 185 , GETTID = X32_SYSCALL_BIT + 186 , READAHEAD = X32_SYSCALL_BIT + 187 , SETXATTR = X32_SYSCALL_BIT + 188 , LSETXATTR = X32_SYSCALL_BIT + 189 , FSETXATTR = X32_SYSCALL_BIT + 190 , GETXATTR = X32_SYSCALL_BIT + 191 , LGETXATTR = X32_SYSCALL_BIT + 192 , FGETXATTR = X32_SYSCALL_BIT + 193 , LISTXATTR = X32_SYSCALL_BIT + 194 , LLISTXATTR = X32_SYSCALL_BIT + 195 , FLISTXATTR = X32_SYSCALL_BIT + 196 , REMOVEXATTR = X32_SYSCALL_BIT + 197 , LREMOVEXATTR = X32_SYSCALL_BIT + 198 , FREMOVEXATTR = X32_SYSCALL_BIT + 199 , TKILL = X32_SYSCALL_BIT + 200 , TIME = X32_SYSCALL_BIT + 201 , FUTEX = X32_SYSCALL_BIT + 202 , SCHED_SETAFFINITY = X32_SYSCALL_BIT + 203 , SCHED_GETAFFINITY = X32_SYSCALL_BIT + 204 , IO_DESTROY = X32_SYSCALL_BIT + 207 , IO_GETEVENTS = X32_SYSCALL_BIT + 208 , IO_CANCEL = X32_SYSCALL_BIT + 210 , LOOKUP_DCOOKIE = X32_SYSCALL_BIT + 212 , EPOLL_CREATE = X32_SYSCALL_BIT + 213 , REMAP_FILE_PAGES = X32_SYSCALL_BIT + 216 , GETDENTS64 = X32_SYSCALL_BIT + 217 , SET_TID_ADDRESS = X32_SYSCALL_BIT + 218 , RESTART_SYSCALL = X32_SYSCALL_BIT + 219 , SEMTIMEDOP = X32_SYSCALL_BIT + 220 , FADVISE64 = X32_SYSCALL_BIT + 221 , TIMER_SETTIME = X32_SYSCALL_BIT + 223 , TIMER_GETTIME = X32_SYSCALL_BIT + 224 , TIMER_GETOVERRUN = X32_SYSCALL_BIT + 225 , TIMER_DELETE = X32_SYSCALL_BIT + 226 , CLOCK_SETTIME = X32_SYSCALL_BIT + 227 , CLOCK_GETTIME = X32_SYSCALL_BIT + 228 , CLOCK_GETRES = X32_SYSCALL_BIT + 229 , CLOCK_NANOSLEEP = X32_SYSCALL_BIT + 230 , EXIT_GROUP = X32_SYSCALL_BIT + 231 , EPOLL_WAIT = X32_SYSCALL_BIT + 232 , EPOLL_CTL = X32_SYSCALL_BIT + 233 , TGKILL = X32_SYSCALL_BIT + 234 , UTIMES = X32_SYSCALL_BIT + 235 , MBIND = X32_SYSCALL_BIT + 237 , SET_MEMPOLICY = X32_SYSCALL_BIT + 238 , GET_MEMPOLICY = X32_SYSCALL_BIT + 239 , MQ_OPEN = X32_SYSCALL_BIT + 240 , MQ_UNLINK = X32_SYSCALL_BIT + 241 , MQ_TIMEDSEND = X32_SYSCALL_BIT + 242 , MQ_TIMEDRECEIVE = X32_SYSCALL_BIT + 243 , MQ_GETSETATTR = X32_SYSCALL_BIT + 245 , ADD_KEY = X32_SYSCALL_BIT + 248 , REQUEST_KEY = X32_SYSCALL_BIT + 249 , KEYCTL = X32_SYSCALL_BIT + 250 , IOPRIO_SET = X32_SYSCALL_BIT + 251 , IOPRIO_GET = X32_SYSCALL_BIT + 252 , INOTIFY_INIT = X32_SYSCALL_BIT + 253 , INOTIFY_ADD_WATCH = X32_SYSCALL_BIT + 254 , INOTIFY_RM_WATCH = X32_SYSCALL_BIT + 255 , MIGRATE_PAGES = X32_SYSCALL_BIT + 256 , OPENAT = X32_SYSCALL_BIT + 257 , MKDIRAT = X32_SYSCALL_BIT + 258 , MKNODAT = X32_SYSCALL_BIT + 259 , FCHOWNAT = X32_SYSCALL_BIT + 260 , FUTIMESAT = X32_SYSCALL_BIT + 261 , NEWFSTATAT = X32_SYSCALL_BIT + 262 , UNLINKAT = X32_SYSCALL_BIT + 263 , RENAMEAT = X32_SYSCALL_BIT + 264 , LINKAT = X32_SYSCALL_BIT + 265 , SYMLINKAT = X32_SYSCALL_BIT + 266 , READLINKAT = X32_SYSCALL_BIT + 267 , FCHMODAT = X32_SYSCALL_BIT + 268 , FACCESSAT = X32_SYSCALL_BIT + 269 , PSELECT6 = X32_SYSCALL_BIT + 270 , PPOLL = X32_SYSCALL_BIT + 271 , UNSHARE = X32_SYSCALL_BIT + 272 , SPLICE = X32_SYSCALL_BIT + 275 , TEE = X32_SYSCALL_BIT + 276 , SYNC_FILE_RANGE = X32_SYSCALL_BIT + 277 , UTIMENSAT = X32_SYSCALL_BIT + 280 , EPOLL_PWAIT = X32_SYSCALL_BIT + 281 , SIGNALFD = X32_SYSCALL_BIT + 282 , TIMERFD_CREATE = X32_SYSCALL_BIT + 283 , EVENTFD = X32_SYSCALL_BIT + 284 , FALLOCATE = X32_SYSCALL_BIT + 285 , TIMERFD_SETTIME = X32_SYSCALL_BIT + 286 , TIMERFD_GETTIME = X32_SYSCALL_BIT + 287 , ACCEPT4 = X32_SYSCALL_BIT + 288 , SIGNALFD4 = X32_SYSCALL_BIT + 289 , EVENTFD2 = X32_SYSCALL_BIT + 290 , EPOLL_CREATE1 = X32_SYSCALL_BIT + 291 , DUP3 = X32_SYSCALL_BIT + 292 , PIPE2 = X32_SYSCALL_BIT + 293 , INOTIFY_INIT1 = X32_SYSCALL_BIT + 294 , PERF_EVENT_OPEN = X32_SYSCALL_BIT + 298 , FANOTIFY_INIT = X32_SYSCALL_BIT + 300 , FANOTIFY_MARK = X32_SYSCALL_BIT + 301 , PRLIMIT64 = X32_SYSCALL_BIT + 302 , NAME_TO_HANDLE_AT = X32_SYSCALL_BIT + 303 , OPEN_BY_HANDLE_AT = X32_SYSCALL_BIT + 304 , CLOCK_ADJTIME = X32_SYSCALL_BIT + 305 , SYNCFS = X32_SYSCALL_BIT + 306 , SETNS = X32_SYSCALL_BIT + 308 , GETCPU = X32_SYSCALL_BIT + 309 , KCMP = X32_SYSCALL_BIT + 312 , FINIT_MODULE = X32_SYSCALL_BIT + 313 , SCHED_SETATTR = X32_SYSCALL_BIT + 314 , SCHED_GETATTR = X32_SYSCALL_BIT + 315 , RENAMEAT2 = X32_SYSCALL_BIT + 316 , SECCOMP = X32_SYSCALL_BIT + 317 , GETRANDOM = X32_SYSCALL_BIT + 318 , MEMFD_CREATE = X32_SYSCALL_BIT + 319 , KEXEC_FILE_LOAD = X32_SYSCALL_BIT + 320 , BPF = X32_SYSCALL_BIT + 321 , USERFAULTFD = X32_SYSCALL_BIT + 323 , MEMBARRIER = X32_SYSCALL_BIT + 324 , MLOCK2 = X32_SYSCALL_BIT + 325 , COPY_FILE_RANGE = X32_SYSCALL_BIT + 326 , PKEY_MPROTECT = X32_SYSCALL_BIT + 329 , PKEY_ALLOC = X32_SYSCALL_BIT + 330 , PKEY_FREE = X32_SYSCALL_BIT + 331 , STATX = X32_SYSCALL_BIT + 332 , IO_PGETEVENTS = X32_SYSCALL_BIT + 333 , RSEQ = X32_SYSCALL_BIT + 334 , URETPROBE = X32_SYSCALL_BIT + 335 , UPROBE = X32_SYSCALL_BIT + 336 , PIDFD_SEND_SIGNAL = X32_SYSCALL_BIT + 424 , IO_URING_SETUP = X32_SYSCALL_BIT + 425 , IO_URING_ENTER = X32_SYSCALL_BIT + 426 , IO_URING_REGISTER = X32_SYSCALL_BIT + 427 , OPEN_TREE = X32_SYSCALL_BIT + 428 , MOVE_MOUNT = X32_SYSCALL_BIT + 429 , FSOPEN = X32_SYSCALL_BIT + 430 , FSCONFIG = X32_SYSCALL_BIT + 431 , FSMOUNT = X32_SYSCALL_BIT + 432 , FSPICK = X32_SYSCALL_BIT + 433 , PIDFD_OPEN = X32_SYSCALL_BIT + 434 , CLONE3 = X32_SYSCALL_BIT + 435 , CLOSE_RANGE = X32_SYSCALL_BIT + 436 , OPENAT2 = X32_SYSCALL_BIT + 437 , PIDFD_GETFD = X32_SYSCALL_BIT + 438 , FACCESSAT2 = X32_SYSCALL_BIT + 439 , PROCESS_MADVISE = X32_SYSCALL_BIT + 440 , EPOLL_PWAIT2 = X32_SYSCALL_BIT + 441 , MOUNT_SETATTR = X32_SYSCALL_BIT + 442 , QUOTACTL_FD = X32_SYSCALL_BIT + 443 , LANDLOCK_CREATE_RULESET = X32_SYSCALL_BIT + 444 , LANDLOCK_ADD_RULE = X32_SYSCALL_BIT + 445 , LANDLOCK_RESTRICT_SELF = X32_SYSCALL_BIT + 446 , MEMFD_SECRET = X32_SYSCALL_BIT + 447 , PROCESS_MRELEASE = X32_SYSCALL_BIT + 448 , FUTEX_WAITV = X32_SYSCALL_BIT + 449 , SET_MEMPOLICY_HOME_NODE = X32_SYSCALL_BIT + 450 , CACHESTAT = X32_SYSCALL_BIT + 451 , FCHMODAT2 = X32_SYSCALL_BIT + 452 , MAP_SHADOW_STACK = X32_SYSCALL_BIT + 453 , _FUTEX_WAKE = X32_SYSCALL_BIT + 454 , _FUTEX_WAIT = X32_SYSCALL_BIT + 455 , _FUTEX_REQUEUE = X32_SYSCALL_BIT + 456 , STATMOUNT = X32_SYSCALL_BIT + 457 , LISTMOUNT = X32_SYSCALL_BIT + 458 , LSM_GET_SELF_ATTR = X32_SYSCALL_BIT + 459 , LSM_SET_SELF_ATTR = X32_SYSCALL_BIT + 460 , LSM_LIST_MODULES = X32_SYSCALL_BIT + 461 , MSEAL = X32_SYSCALL_BIT + 462 , SETXATTRAT = X32_SYSCALL_BIT + 463 , GETXATTRAT = X32_SYSCALL_BIT + 464 , LISTXATTRAT = X32_SYSCALL_BIT + 465 , REMOVEXATTRAT = X32_SYSCALL_BIT + 466 , OPEN_TREE_ATTR = X32_SYSCALL_BIT + 467 , FILE_GETATTR = X32_SYSCALL_BIT + 468 , FILE_SETATTR = X32_SYSCALL_BIT + 469 , RT_SIGACTION = X32_SYSCALL_BIT + 512 , RT_SIGRETURN = X32_SYSCALL_BIT + 513 , IOCTL = X32_SYSCALL_BIT + 514 , READV = X32_SYSCALL_BIT + 515 , WRITEV = X32_SYSCALL_BIT + 516 , RECVFROM = X32_SYSCALL_BIT + 517 , SENDMSG = X32_SYSCALL_BIT + 518 , RECVMSG = X32_SYSCALL_BIT + 519 , EXECVE = X32_SYSCALL_BIT + 520 , PTRACE = X32_SYSCALL_BIT + 521 , RT_SIGPENDING = X32_SYSCALL_BIT + 522 , RT_SIGTIMEDWAIT = X32_SYSCALL_BIT + 523 , RT_SIGQUEUEINFO = X32_SYSCALL_BIT + 524 , SIGALTSTACK = X32_SYSCALL_BIT + 525 , TIMER_CREATE = X32_SYSCALL_BIT + 526 , MQ_NOTIFY = X32_SYSCALL_BIT + 527 , KEXEC_LOAD = X32_SYSCALL_BIT + 528 , WAITID = X32_SYSCALL_BIT + 529 , SET_ROBUST_LIST = X32_SYSCALL_BIT + 530 , GET_ROBUST_LIST = X32_SYSCALL_BIT + 531 , VMSPLICE = X32_SYSCALL_BIT + 532 , MOVE_PAGES = X32_SYSCALL_BIT + 533 , PREADV = X32_SYSCALL_BIT + 534 , PWRITEV = X32_SYSCALL_BIT + 535 , RT_TGSIGQUEUEINFO = X32_SYSCALL_BIT + 536 , RECVMMSG = X32_SYSCALL_BIT + 537 , SENDMMSG = X32_SYSCALL_BIT + 538 , PROCESS_VM_READV = X32_SYSCALL_BIT + 539 , PROCESS_VM_WRITEV = X32_SYSCALL_BIT + 540 , SETSOCKOPT = X32_SYSCALL_BIT + 541 , GETSOCKOPT = X32_SYSCALL_BIT + 542 , IO_SETUP = X32_SYSCALL_BIT + 543 , IO_SUBMIT = X32_SYSCALL_BIT + 544 , EXECVEAT = X32_SYSCALL_BIT + 545 , PREADV2 = X32_SYSCALL_BIT + 546 , PWRITEV2 = X32_SYSCALL_BIT + 547 , _LAST = X32_SYSCALL_BIT + 547 } |
| enum class | SystemCallNrX64 : uint64_t { _FIRST = 0 , READ = 0 , WRITE = 1 , OPEN = 2 , CLOSE = 3 , STAT = 4 , FSTAT = 5 , LSTAT = 6 , POLL = 7 , LSEEK = 8 , MMAP = 9 , MPROTECT = 10 , MUNMAP = 11 , BRK = 12 , RT_SIGACTION = 13 , RT_SIGPROCMASK = 14 , RT_SIGRETURN = 15 , IOCTL = 16 , PREAD64 = 17 , PWRITE64 = 18 , READV = 19 , WRITEV = 20 , ACCESS = 21 , PIPE = 22 , SELECT = 23 , SCHED_YIELD = 24 , MREMAP = 25 , MSYNC = 26 , MINCORE = 27 , MADVISE = 28 , SHMGET = 29 , SHMAT = 30 , SHMCTL = 31 , DUP = 32 , DUP2 = 33 , PAUSE = 34 , NANOSLEEP = 35 , GETITIMER = 36 , ALARM = 37 , SETITIMER = 38 , GETPID = 39 , SENDFILE = 40 , SOCKET = 41 , CONNECT = 42 , ACCEPT = 43 , SENDTO = 44 , RECVFROM = 45 , SENDMSG = 46 , RECVMSG = 47 , SHUTDOWN = 48 , BIND = 49 , LISTEN = 50 , GETSOCKNAME = 51 , GETPEERNAME = 52 , SOCKETPAIR = 53 , SETSOCKOPT = 54 , GETSOCKOPT = 55 , CLONE = 56 , FORK = 57 , VFORK = 58 , EXECVE = 59 , EXIT = 60 , WAIT4 = 61 , KILL = 62 , UNAME = 63 , SEMGET = 64 , SEMOP = 65 , SEMCTL = 66 , SHMDT = 67 , MSGGET = 68 , MSGSND = 69 , MSGRCV = 70 , MSGCTL = 71 , FCNTL = 72 , FLOCK = 73 , FSYNC = 74 , FDATASYNC = 75 , TRUNCATE = 76 , FTRUNCATE = 77 , GETDENTS = 78 , GETCWD = 79 , CHDIR = 80 , FCHDIR = 81 , RENAME = 82 , MKDIR = 83 , RMDIR = 84 , CREAT = 85 , LINK = 86 , UNLINK = 87 , SYMLINK = 88 , READLINK = 89 , CHMOD = 90 , FCHMOD = 91 , CHOWN = 92 , FCHOWN = 93 , LCHOWN = 94 , UMASK = 95 , GETTIMEOFDAY = 96 , GETRLIMIT = 97 , GETRUSAGE = 98 , SYSINFO = 99 , TIMES = 100 , PTRACE = 101 , GETUID = 102 , SYSLOG = 103 , GETGID = 104 , SETUID = 105 , SETGID = 106 , GETEUID = 107 , GETEGID = 108 , SETPGID = 109 , GETPPID = 110 , GETPGRP = 111 , SETSID = 112 , SETREUID = 113 , SETREGID = 114 , GETGROUPS = 115 , SETGROUPS = 116 , SETRESUID = 117 , GETRESUID = 118 , SETRESGID = 119 , GETRESGID = 120 , GETPGID = 121 , SETFSUID = 122 , SETFSGID = 123 , GETSID = 124 , CAPGET = 125 , CAPSET = 126 , RT_SIGPENDING = 127 , RT_SIGTIMEDWAIT = 128 , RT_SIGQUEUEINFO = 129 , RT_SIGSUSPEND = 130 , SIGALTSTACK = 131 , UTIME = 132 , MKNOD = 133 , USELIB = 134 , PERSONALITY = 135 , USTAT = 136 , STATFS = 137 , FSTATFS = 138 , SYSFS = 139 , GETPRIORITY = 140 , SETPRIORITY = 141 , SCHED_SETPARAM = 142 , SCHED_GETPARAM = 143 , SCHED_SETSCHEDULER = 144 , SCHED_GETSCHEDULER = 145 , SCHED_GET_PRIORITY_MAX = 146 , SCHED_GET_PRIORITY_MIN = 147 , SCHED_RR_GET_INTERVAL = 148 , MLOCK = 149 , MUNLOCK = 150 , MLOCKALL = 151 , MUNLOCKALL = 152 , VHANGUP = 153 , MODIFY_LDT = 154 , PIVOT_ROOT = 155 , SYSCTL = 156 , PRCTL = 157 , ARCH_PRCTL = 158 , ADJTIMEX = 159 , SETRLIMIT = 160 , CHROOT = 161 , SYNC = 162 , ACCT = 163 , SETTIMEOFDAY = 164 , MOUNT = 165 , UMOUNT2 = 166 , SWAPON = 167 , SWAPOFF = 168 , REBOOT = 169 , SETHOSTNAME = 170 , SETDOMAINNAME = 171 , IOPL = 172 , IOPERM = 173 , CREATE_MODULE = 174 , INIT_MODULE = 175 , DELETE_MODULE = 176 , GET_KERNEL_SYMS = 177 , QUERY_MODULE = 178 , QUOTACTL = 179 , NFSSERVCTL = 180 , GETPMSG = 181 , PUTPMSG = 182 , AFS_SYSCALL = 183 , TUXCALL = 184 , SECURITY = 185 , GETTID = 186 , READAHEAD = 187 , SETXATTR = 188 , LSETXATTR = 189 , FSETXATTR = 190 , GETXATTR = 191 , LGETXATTR = 192 , FGETXATTR = 193 , LISTXATTR = 194 , LLISTXATTR = 195 , FLISTXATTR = 196 , REMOVEXATTR = 197 , LREMOVEXATTR = 198 , FREMOVEXATTR = 199 , TKILL = 200 , TIME = 201 , FUTEX = 202 , SCHED_SETAFFINITY = 203 , SCHED_GETAFFINITY = 204 , SET_THREAD_AREA = 205 , IO_SETUP = 206 , IO_DESTROY = 207 , IO_GETEVENTS = 208 , IO_SUBMIT = 209 , IO_CANCEL = 210 , GET_THREAD_AREA = 211 , LOOKUP_DCOOKIE = 212 , EPOLL_CREATE = 213 , EPOLL_CTL_OLD = 214 , EPOLL_WAIT_OLD = 215 , REMAP_FILE_PAGES = 216 , GETDENTS64 = 217 , SET_TID_ADDRESS = 218 , RESTART_SYSCALL = 219 , SEMTIMEDOP = 220 , FADVISE64 = 221 , TIMER_CREATE = 222 , TIMER_SETTIME = 223 , TIMER_GETTIME = 224 , TIMER_GETOVERRUN = 225 , TIMER_DELETE = 226 , CLOCK_SETTIME = 227 , CLOCK_GETTIME = 228 , CLOCK_GETRES = 229 , CLOCK_NANOSLEEP = 230 , EXIT_GROUP = 231 , EPOLL_WAIT = 232 , EPOLL_CTL = 233 , TGKILL = 234 , UTIMES = 235 , VSERVER = 236 , MBIND = 237 , SET_MEMPOLICY = 238 , GET_MEMPOLICY = 239 , MQ_OPEN = 240 , MQ_UNLINK = 241 , MQ_TIMEDSEND = 242 , MQ_TIMEDRECEIVE = 243 , MQ_NOTIFY = 244 , MQ_GETSETATTR = 245 , KEXEC_LOAD = 246 , WAITID = 247 , ADD_KEY = 248 , REQUEST_KEY = 249 , KEYCTL = 250 , IOPRIO_SET = 251 , IOPRIO_GET = 252 , INOTIFY_INIT = 253 , INOTIFY_ADD_WATCH = 254 , INOTIFY_RM_WATCH = 255 , MIGRATE_PAGES = 256 , OPENAT = 257 , MKDIRAT = 258 , MKNODAT = 259 , FCHOWNAT = 260 , FUTIMESAT = 261 , NEWFSTATAT = 262 , UNLINKAT = 263 , RENAMEAT = 264 , LINKAT = 265 , SYMLINKAT = 266 , READLINKAT = 267 , FCHMODAT = 268 , FACCESSAT = 269 , PSELECT6 = 270 , PPOLL = 271 , UNSHARE = 272 , SET_ROBUST_LIST = 273 , GET_ROBUST_LIST = 274 , SPLICE = 275 , TEE = 276 , SYNC_FILE_RANGE = 277 , VMSPLICE = 278 , MOVE_PAGES = 279 , UTIMENSAT = 280 , EPOLL_PWAIT = 281 , SIGNALFD = 282 , TIMERFD_CREATE = 283 , EVENTFD = 284 , FALLOCATE = 285 , TIMERFD_SETTIME = 286 , TIMERFD_GETTIME = 287 , ACCEPT4 = 288 , SIGNALFD4 = 289 , EVENTFD2 = 290 , EPOLL_CREATE1 = 291 , DUP3 = 292 , PIPE2 = 293 , INOTIFY_INIT1 = 294 , PREADV = 295 , PWRITEV = 296 , RT_TGSIGQUEUEINFO = 297 , PERF_EVENT_OPEN = 298 , RECVMMSG = 299 , FANOTIFY_INIT = 300 , FANOTIFY_MARK = 301 , PRLIMIT64 = 302 , NAME_TO_HANDLE_AT = 303 , OPEN_BY_HANDLE_AT = 304 , CLOCK_ADJTIME = 305 , SYNCFS = 306 , SENDMMSG = 307 , SETNS = 308 , GETCPU = 309 , PROCESS_VM_READV = 310 , PROCESS_VM_WRITEV = 311 , KCMP = 312 , FINIT_MODULE = 313 , SCHED_SETATTR = 314 , SCHED_GETATTR = 315 , RENAMEAT2 = 316 , SECCOMP = 317 , GETRANDOM = 318 , MEMFD_CREATE = 319 , KEXEC_FILE_LOAD = 320 , BPF = 321 , EXECVEAT = 322 , USERFAULTFD = 323 , MEMBARRIER = 324 , MLOCK2 = 325 , COPY_FILE_RANGE = 326 , PREADV2 = 327 , PWRITEV2 = 328 , PKEY_MPROTECT = 329 , PKEY_ALLOC = 330 , PKEY_FREE = 331 , STATX = 332 , IO_PGETEVENTS = 333 , RSEQ = 334 , URETPROBE = 335 , UPROBE = 336 , PIDFD_SEND_SIGNAL = 424 , IO_URING_SETUP = 425 , IO_URING_ENTER = 426 , IO_URING_REGISTER = 427 , OPEN_TREE = 428 , MOVE_MOUNT = 429 , FSOPEN = 430 , FSCONFIG = 431 , FSMOUNT = 432 , FSPICK = 433 , PIDFD_OPEN = 434 , CLONE3 = 435 , CLOSE_RANGE = 436 , OPENAT2 = 437 , PIDFD_GETFD = 438 , FACCESSAT2 = 439 , PROCESS_MADVISE = 440 , EPOLL_PWAIT2 = 441 , MOUNT_SETATTR = 442 , QUOTACTL_FD = 443 , LANDLOCK_CREATE_RULESET = 444 , LANDLOCK_ADD_RULE = 445 , LANDLOCK_RESTRICT_SELF = 446 , MEMFD_SECRET = 447 , PROCESS_MRELEASE = 448 , FUTEX_WAITV = 449 , SET_MEMPOLICY_HOME_NODE = 450 , CACHESTAT = 451 , FCHMODAT2 = 452 , MAP_SHADOW_STACK = 453 , _FUTEX_WAKE = 454 , _FUTEX_WAIT = 455 , _FUTEX_REQUEUE = 456 , STATMOUNT = 457 , LISTMOUNT = 458 , LSM_GET_SELF_ATTR = 459 , LSM_SET_SELF_ATTR = 460 , LSM_LIST_MODULES = 461 , MSEAL = 462 , SETXATTRAT = 463 , GETXATTRAT = 464 , LISTXATTRAT = 465 , REMOVEXATTRAT = 466 , OPEN_TREE_ATTR = 467 , FILE_GETATTR = 468 , FILE_SETATTR = 469 , _LAST = 469 } |
| Native system call numbers as used by Linux on the x64 ABI. More... | |
| enum class | ItemType { PARAM_IN , PARAM_OUT , PARAM_IN_OUT , RETVAL } |
| Basic type of a SystemCallItem. More... | |
| enum class | Word : elf_greg_t { ZERO = 0 } |
| An integer that is able to hold a word for the current architecture. More... | |
| enum class | KernelErrno : int { RESTART_SYS = 512 , RESTART_NOINTR = 513 , RESTART_NOHAND = 514 , RESTART_RESTARTBLOCK = 516 } |
| Errno values that can appear in tracing context. More... | |
| enum class | ABI { UNKNOWN , X86_64 , I386 , X32 , AARCH64 } |
| System Call ABI. More... | |
| enum class | Base { OCT , DEC , HEX } |
| Integer number display base for formatting purposes. More... | |
| enum class | ForeignPtr : uintptr_t { NO_POINTER = 0 } |
| Strongly typed opaque pointer to tracee memory. More... | |
Functions | |
| struct clues::kernel_sigaction32 | __attribute__ ((packed)) |
| std::string | strip_back (std::string &&s, const char ch='|') |
| void | set_logger (cosmos::ILogger &) |
| Configure a cosmos ILogger instance to use in the Clues library. | |
| clues::SystemCallNr | to_generic (const SystemCallNrAARCH64 nr) |
| Convert the native system call nr. into its generic representation. | |
| clues::SystemCallNr | to_generic (const SystemCallNrI386 nr) |
| Convert the native system call nr. into its generic representation. | |
| clues::SystemCallNr | to_generic (const SystemCallNrX32 nr) |
| Convert the native system call nr. into its generic representation. | |
| clues::SystemCallNr | to_generic (const SystemCallNrX64 nr) |
| Convert the native system call nr. into its generic representation. | |
| template<typename T, typename... Args> | |
| std::shared_ptr< T > | new_sys (Args &&... args) |
| SystemCallPtr | create_syscall (const SystemCallNr nr) |
| Creates a dynamically allocated SystemCall instance for the given system call number. | |
| template void | Tracee::readVector< std::vector< uintptr_t > > (const ForeignPtr, std::vector< uintptr_t > &) const |
| template void | Tracee::readVector< std::vector< uint32_t > > (const ForeignPtr, std::vector< uint32_t > &) const |
| const char * | get_errno_label (const cosmos::Errno err) |
Returns a short errno label like ENOENT for the given errno integer. | |
| const char * | get_kernel_errno_label (const KernelErrno err) |
| Returns a short errno label for extended KernelErrno codes. | |
| const char * | get_ptrace_event_str (const cosmos::ptrace::Event event) |
| Returns a string label for the given event. | |
| std::set< cosmos::FileNum > | get_currently_open_fds (const cosmos::ProcessID pid) |
Returns the currently open file descriptors according to /proc/<pid>/fd. | |
| std::vector< FDInfo > | get_fd_infos (const cosmos::ProcessID pid) |
Obtain detailed information about currently open file descriptors according to /proc/<pid>/fd. | |
| std::optional< SystemCallNr > | lookup_system_call (const std::string_view name) |
| Returns the SystemCallNr for the given system call name, if it exists. | |
| bool | is_default_abi (const ABI abi) |
| Returns whether the given ABI is default ABI for this system. | |
| const char * | get_abi_label (const ABI abi) |
| std::array< ABI, SUPPORTED_ABIS > | get_supported_abis () |
| Returns a list of ABIs supported on the current platform. | |
| void | parse_proc_file (const cosmos::ProcessID pid, const std::string_view subpath, std::function< bool(const std::string &)> parser) |
| Parse a proc file of the given process using the given functor. | |
| void | parse_proc_file (const Tracee &tracee, const std::string_view subpath, std::function< bool(const std::string &)> parser) |
| Parse proc file of the given Tracee. | |
| constexpr ABI | get_default_abi () |
| Returns the default ABI for this system. | |
| bool | is_supported_abi (const ABI abi) |
| Returns whether the given ABI is supported on the current platform. | |
Variables | |
| struct clues::kernel_old_sigaction | __attribute__ |
| cosmos::ILogger * | logger = nullptr |
| Global logger instance to use for Clues library logging - if any. | |
| const std::array< std::string_view, SYSTEM_CALL_COUNT > | SYSTEM_CALL_NAMES |
| const std::map< std::string_view, SystemCallNr > | SYSTEM_CALL_NAME_MAP |
| constexpr size_t | SYSTEM_CALL_COUNT = 471 |
| constexpr uint64_t | X32_SYSCALL_BIT = 0x40000000 |
| Native system call numbers as used by Linux on the x32 ABI. | |
This ABI is used for real 32-bit x86 kernels as well as for the 32-bit emulation when running on x64 kernels.
This ABI is based on the AMD64 instruction set but uses only 32-bit pointers and integers to reduce memory footprint.
The system call numbers have a high bit set to indicate the X32 ABI, which means that the system call numbers reported by ptrace() don't directly correspond to the values seen here.
This is the standard AMD64 ABI for 64-bit x86 kernels.
| using clues::AnyRegisterSet |
A variant to hold any of the ABI-specific RegisterSet types.
Definition at line 108 of file RegisterSet.hxx.
| using clues::AnySystemCallNr = std::variant<SystemCallNrI386, SystemCallNrX64, SystemCallNrX32, SystemCallNrAARCH64> |
| using clues::AttachThreads = cosmos::NamedBool<struct attach_threads_t, true> |
| using clues::FDInfoMap = std::map<cosmos::FileNum, FDInfo> |
| using clues::FollowChildren = cosmos::NamedBool<struct follow_children_t, true> |
Definition at line 241 of file process.hxx.
Definition at line 239 of file process.hxx.
Definition at line 240 of file process.hxx.
| using clues::GetRlimitSystemCall = LimitSystemCallT<SystemCallNr::GETRLIMIT> |
Definition at line 238 of file process.hxx.
| using clues::ProcessDataPtr = std::shared_ptr<ProcessData> |
| using clues::RestorerCB = void (*)() |
Definition at line 18 of file sigaction.hxx.
| using clues::SetRlimitSystemCall = LimitSystemCallT<SystemCallNr::SETRLIMIT> |
| using clues::SignalCB = void (*)(int) |
Definition at line 19 of file sigaction.hxx.
| using clues::StatSystemCall = StatSystemCallT |
| using clues::SystemCallItemPtr = SystemCallItem* |
Definition at line 33 of file SystemCall.hxx.
| using clues::SystemCallPtr = std::shared_ptr<SystemCall> |
Definition at line 32 of file SystemCall.hxx.
|
strong |
System Call ABI.
This is mostly similar to cosmos::ptrace::Arch, but contains some extra differentiation. E.g. on Arch::X86_64 there is also the X32 ABI, which can only be detected by querying a special bit set in the system call nr.
| Enumerator | |
|---|---|
| X32 | X86_64 with 32-bit pointers. |
|
strong |
|
strong |
|
strong |
Basic type of a SystemCallItem.
Definition at line 21 of file SystemCallItem.hxx.
|
strong |
Errno values that can appear in tracing context.
these errno values can appear for interrupted system calls and are not usually visible in user space, but can be observed when tracing a process. There is currently no user space header for these constants, they are found in the kernel header linux/errno.h.
Definition at line 49 of file types.hxx.
|
strong |
Abstract system call number usable across architectures and ABIs.
This enum contains all known system calls across supported Linux architectures and ABIs. These are abstract in the sense that their numerical values don't correspond to the actual system call numbers used by the kernel.
For simplicity the underlying type for the abstract enum type is kept in sync with the concrete system call number enum types.
Definition at line 29 of file generic.hxx.
|
strong |
Native system call numbers as used by Linux on the aarch64 ABI.
This strong enum type represents a system call number on the aarch64 ABI. The literal values correspond to the numbers used by the operating system and reported by the ptrace() API for this ABI.
The underlying data type corresponds to the type used in the PTRACE_GET_SYSCALL_INFO API and is the same for all ABIs.
Definition at line 31 of file aarch64.hxx.
|
strong |
Native system call numbers as used by Linux on the i386 ABI.
This strong enum type represents a system call number on the i386 ABI. The literal values correspond to the numbers used by the operating system and reported by the ptrace() API for this ABI.
The underlying data type corresponds to the type used in the PTRACE_GET_SYSCALL_INFO API and is the same for all ABIs.
Definition at line 32 of file i386.hxx.
|
strong |
Definition at line 40 of file x32.hxx.
|
strong |
Native system call numbers as used by Linux on the x64 ABI.
This strong enum type represents a system call number on the x64 ABI. The literal values correspond to the numbers used by the operating system and reported by the ptrace() API for this ABI.
The underlying data type corresponds to the type used in the PTRACE_GET_SYSCALL_INFO API and is the same for all ABIs.
Definition at line 31 of file x64.hxx.
|
strong |
| CLUES_API SystemCallPtr clues::create_syscall | ( | const SystemCallNr | nr | ) |
Creates a dynamically allocated SystemCall instance for the given system call number.
Definition at line 119 of file SystemCall.cxx.
| CLUES_API const char * clues::get_abi_label | ( | const ABI | abi | ) |
| std::set< cosmos::FileNum > clues::get_currently_open_fds | ( | const cosmos::ProcessID | pid | ) |
Returns the currently open file descriptors according to /proc/<pid>/fd.
This function can throw a cosmos::ApiError in case the process is no longer accessible in /proc.
Definition at line 62 of file utils.cxx.
|
constexpr |
Returns the default ABI for this system.
Definition at line 59 of file utils.hxx.
| const char * clues::get_errno_label | ( | const cosmos::Errno | err | ) |
| std::vector< FDInfo > clues::get_fd_infos | ( | const cosmos::ProcessID | pid | ) |
Obtain detailed information about currently open file descriptors according to /proc/<pid>/fd.
This function can throw a cosmos::ApiError in case the process is no longer accessible in /proc.
Definition at line 210 of file utils.cxx.
| const char * clues::get_kernel_errno_label | ( | const KernelErrno | err | ) |
Returns a short errno label for extended KernelErrno codes.
Definition at line 37 of file utils.cxx.
| const char * clues::get_ptrace_event_str | ( | const cosmos::ptrace::Event | event | ) |
Returns a string label for the given event.
Definition at line 47 of file utils.cxx.
| CLUES_API std::array< ABI, SUPPORTED_ABIS > clues::get_supported_abis | ( | ) |
Returns a list of ABIs supported on the current platform.
Definition at line 299 of file utils.cxx.
| CLUES_API bool clues::is_default_abi | ( | const ABI | abi | ) |
Returns whether the given ABI is default ABI for this system.
The abi is checked against the compile time architecture to determine whether this is the default native ABI, or not.
For example ABI::I386 in a tracer compiled tor X86_64 would not be the default ABI.
Definition at line 280 of file utils.cxx.
|
inline |
Returns whether the given ABI is supported on the current platform.
Definition at line 88 of file utils.hxx.
| CLUES_API std::optional< SystemCallNr > clues::lookup_system_call | ( | const std::string_view | name | ) |
Returns the SystemCallNr for the given system call name, if it exists.
Definition at line 271 of file utils.cxx.
| std::shared_ptr< T > clues::new_sys | ( | Args &&... | args | ) |
Definition at line 114 of file SystemCall.cxx.
| void CLUES_API clues::parse_proc_file | ( | const cosmos::ProcessID | pid, |
| const std::string_view | subpath, | ||
| std::function< bool(const std::string &)> | parser ) |
Parse a proc file of the given process using the given functor.
This function performs a line-wise read of the file found in /proc/<pid>/<subpath> and calls parser for each line. When the function returns true then parsing ends and the function call returns, otherwise further lines will be passed to parser until the end of file is encountered.
If opening or reading the file fails then a cosmos::RuntimeError is thrown.
Definition at line 322 of file utils.cxx.
| void CLUES_API clues::parse_proc_file | ( | const Tracee & | tracee, |
| const std::string_view | subpath, | ||
| std::function< bool(const std::string &)> | parser ) |
Parse proc file of the given Tracee.
This is just a shorthand to parse a proc file of the given tracee.
Definition at line 345 of file utils.cxx.
| void CLUES_API clues::set_logger | ( | cosmos::ILogger & | ) |
Configure a cosmos ILogger instance to use in the Clues library.
The Clues library supports basic logging using the cosmos::ILogger interface. By default no logger is configured.
Definition at line 7 of file logger.cxx.
|
inline |
| CLUES_API clues::SystemCallNr clues::to_generic | ( | const SystemCallNrAARCH64 | nr | ) |
Convert the native system call nr. into its generic representation.
If there is no generic representation (e.g. because the nr is invalid then SystemCallNr::UNKNOWN is returned.
Definition at line 21 of file aarch64.cxx.
| CLUES_API clues::SystemCallNr clues::to_generic | ( | const SystemCallNrI386 | nr | ) |
Convert the native system call nr. into its generic representation.
If there is no generic representation (e.g. because the nr is invalid then SystemCallNr::UNKNOWN is returned.
Definition at line 21 of file i386.cxx.
| CLUES_API clues::SystemCallNr clues::to_generic | ( | const SystemCallNrX32 | nr | ) |
Convert the native system call nr. into its generic representation.
If there is no generic representation (e.g. because the nr is invalid then SystemCallNr::UNKNOWN is returned.
Definition at line 21 of file x32.cxx.
| CLUES_API clues::SystemCallNr clues::to_generic | ( | const SystemCallNrX64 | nr | ) |
Convert the native system call nr. into its generic representation.
If there is no generic representation (e.g. because the nr is invalid then SystemCallNr::UNKNOWN is returned.
Definition at line 21 of file x64.cxx.
| cosmos::ILogger * clues::logger = nullptr |
Global logger instance to use for Clues library logging - if any.
Definition at line 5 of file logger.cxx.
|
constexpr |
Definition at line 503 of file generic.hxx.
| CLUES_API const std::map< std::string_view, SystemCallNr > clues::SYSTEM_CALL_NAME_MAP |
Definition at line 485 of file generic.cxx.
| CLUES_API const std::array< std::string_view, SYSTEM_CALL_COUNT > clues::SYSTEM_CALL_NAMES |
Definition at line 11 of file generic.cxx.
|
constexpr |
Native system call numbers as used by Linux on the x32 ABI.
This strong enum type represents a system call number on the x32 ABI. The literal values correspond to the numbers used by the operating system and reported by the ptrace() API for this ABI.
The underlying data type corresponds to the type used in the PTRACE_GET_SYSCALL_INFO API and is the same for all ABIs. This bit is set for all X32 system call to identify this ABI