libclues
Linux C++ Tracing Library
Loading...
Searching...
No Matches
x32.hxx
1#pragma once
2
3#include <stdint.h>
4
5#include <clues/dso_export.h>
6
7
8#include "fwd.hxx"
9
10
11/********************************************************************************
12 * this file was generated by parse_syscall_tables.py
13 * based on Linux kernel sources 6.18.18-gentoo
14 ********************************************************************************/
15
24
25namespace clues {
26
28
36
38constexpr uint64_t X32_SYSCALL_BIT = 0x40000000;
39
40enum class SystemCallNrX32 : uint64_t {
41 _FIRST = X32_SYSCALL_BIT + 0, // first valid system call nr.
42 READ = X32_SYSCALL_BIT + 0, // common between x64 and x32
43 WRITE = X32_SYSCALL_BIT + 1, // common between x64 and x32
44 OPEN = X32_SYSCALL_BIT + 2, // common between x64 and x32
45 CLOSE = X32_SYSCALL_BIT + 3, // common between x64 and x32
46 STAT = X32_SYSCALL_BIT + 4, // common between x64 and x32
47 FSTAT = X32_SYSCALL_BIT + 5, // common between x64 and x32
48 LSTAT = X32_SYSCALL_BIT + 6, // common between x64 and x32
49 POLL = X32_SYSCALL_BIT + 7, // common between x64 and x32
50 LSEEK = X32_SYSCALL_BIT + 8, // common between x64 and x32
51 MMAP = X32_SYSCALL_BIT + 9, // common between x64 and x32
52 MPROTECT = X32_SYSCALL_BIT + 10, // common between x64 and x32
53 MUNMAP = X32_SYSCALL_BIT + 11, // common between x64 and x32
54 BRK = X32_SYSCALL_BIT + 12, // common between x64 and x32
55 RT_SIGPROCMASK = X32_SYSCALL_BIT + 14, // common between x64 and x32
56 PREAD64 = X32_SYSCALL_BIT + 17, // common between x64 and x32
57 PWRITE64 = X32_SYSCALL_BIT + 18, // common between x64 and x32
58 ACCESS = X32_SYSCALL_BIT + 21, // common between x64 and x32
59 PIPE = X32_SYSCALL_BIT + 22, // common between x64 and x32
60 SELECT = X32_SYSCALL_BIT + 23, // common between x64 and x32
61 SCHED_YIELD = X32_SYSCALL_BIT + 24, // common between x64 and x32
62 MREMAP = X32_SYSCALL_BIT + 25, // common between x64 and x32
63 MSYNC = X32_SYSCALL_BIT + 26, // common between x64 and x32
64 MINCORE = X32_SYSCALL_BIT + 27, // common between x64 and x32
65 MADVISE = X32_SYSCALL_BIT + 28, // common between x64 and x32
66 SHMGET = X32_SYSCALL_BIT + 29, // common between x64 and x32
67 SHMAT = X32_SYSCALL_BIT + 30, // common between x64 and x32
68 SHMCTL = X32_SYSCALL_BIT + 31, // common between x64 and x32
69 DUP = X32_SYSCALL_BIT + 32, // common between x64 and x32
70 DUP2 = X32_SYSCALL_BIT + 33, // common between x64 and x32
71 PAUSE = X32_SYSCALL_BIT + 34, // common between x64 and x32
72 NANOSLEEP = X32_SYSCALL_BIT + 35, // common between x64 and x32
73 GETITIMER = X32_SYSCALL_BIT + 36, // common between x64 and x32
74 ALARM = X32_SYSCALL_BIT + 37, // common between x64 and x32
75 SETITIMER = X32_SYSCALL_BIT + 38, // common between x64 and x32
76 GETPID = X32_SYSCALL_BIT + 39, // common between x64 and x32
77 SENDFILE = X32_SYSCALL_BIT + 40, // common between x64 and x32
78 SOCKET = X32_SYSCALL_BIT + 41, // common between x64 and x32
79 CONNECT = X32_SYSCALL_BIT + 42, // common between x64 and x32
80 ACCEPT = X32_SYSCALL_BIT + 43, // common between x64 and x32
81 SENDTO = X32_SYSCALL_BIT + 44, // common between x64 and x32
82 SHUTDOWN = X32_SYSCALL_BIT + 48, // common between x64 and x32
83 BIND = X32_SYSCALL_BIT + 49, // common between x64 and x32
84 LISTEN = X32_SYSCALL_BIT + 50, // common between x64 and x32
85 GETSOCKNAME = X32_SYSCALL_BIT + 51, // common between x64 and x32
86 GETPEERNAME = X32_SYSCALL_BIT + 52, // common between x64 and x32
87 SOCKETPAIR = X32_SYSCALL_BIT + 53, // common between x64 and x32
88 CLONE = X32_SYSCALL_BIT + 56, // common between x64 and x32
89 FORK = X32_SYSCALL_BIT + 57, // common between x64 and x32
90 VFORK = X32_SYSCALL_BIT + 58, // common between x64 and x32
91 EXIT = X32_SYSCALL_BIT + 60, // common between x64 and x32
92 WAIT4 = X32_SYSCALL_BIT + 61, // common between x64 and x32
93 KILL = X32_SYSCALL_BIT + 62, // common between x64 and x32
94 UNAME = X32_SYSCALL_BIT + 63, // common between x64 and x32
95 SEMGET = X32_SYSCALL_BIT + 64, // common between x64 and x32
96 SEMOP = X32_SYSCALL_BIT + 65, // common between x64 and x32
97 SEMCTL = X32_SYSCALL_BIT + 66, // common between x64 and x32
98 SHMDT = X32_SYSCALL_BIT + 67, // common between x64 and x32
99 MSGGET = X32_SYSCALL_BIT + 68, // common between x64 and x32
100 MSGSND = X32_SYSCALL_BIT + 69, // common between x64 and x32
101 MSGRCV = X32_SYSCALL_BIT + 70, // common between x64 and x32
102 MSGCTL = X32_SYSCALL_BIT + 71, // common between x64 and x32
103 FCNTL = X32_SYSCALL_BIT + 72, // common between x64 and x32
104 FLOCK = X32_SYSCALL_BIT + 73, // common between x64 and x32
105 FSYNC = X32_SYSCALL_BIT + 74, // common between x64 and x32
106 FDATASYNC = X32_SYSCALL_BIT + 75, // common between x64 and x32
107 TRUNCATE = X32_SYSCALL_BIT + 76, // common between x64 and x32
108 FTRUNCATE = X32_SYSCALL_BIT + 77, // common between x64 and x32
109 GETDENTS = X32_SYSCALL_BIT + 78, // common between x64 and x32
110 GETCWD = X32_SYSCALL_BIT + 79, // common between x64 and x32
111 CHDIR = X32_SYSCALL_BIT + 80, // common between x64 and x32
112 FCHDIR = X32_SYSCALL_BIT + 81, // common between x64 and x32
113 RENAME = X32_SYSCALL_BIT + 82, // common between x64 and x32
114 MKDIR = X32_SYSCALL_BIT + 83, // common between x64 and x32
115 RMDIR = X32_SYSCALL_BIT + 84, // common between x64 and x32
116 CREAT = X32_SYSCALL_BIT + 85, // common between x64 and x32
117 LINK = X32_SYSCALL_BIT + 86, // common between x64 and x32
118 UNLINK = X32_SYSCALL_BIT + 87, // common between x64 and x32
119 SYMLINK = X32_SYSCALL_BIT + 88, // common between x64 and x32
120 READLINK = X32_SYSCALL_BIT + 89, // common between x64 and x32
121 CHMOD = X32_SYSCALL_BIT + 90, // common between x64 and x32
122 FCHMOD = X32_SYSCALL_BIT + 91, // common between x64 and x32
123 CHOWN = X32_SYSCALL_BIT + 92, // common between x64 and x32
124 FCHOWN = X32_SYSCALL_BIT + 93, // common between x64 and x32
125 LCHOWN = X32_SYSCALL_BIT + 94, // common between x64 and x32
126 UMASK = X32_SYSCALL_BIT + 95, // common between x64 and x32
127 GETTIMEOFDAY = X32_SYSCALL_BIT + 96, // common between x64 and x32
128 GETRLIMIT = X32_SYSCALL_BIT + 97, // common between x64 and x32
129 GETRUSAGE = X32_SYSCALL_BIT + 98, // common between x64 and x32
130 SYSINFO = X32_SYSCALL_BIT + 99, // common between x64 and x32
131 TIMES = X32_SYSCALL_BIT + 100, // common between x64 and x32
132 GETUID = X32_SYSCALL_BIT + 102, // common between x64 and x32
133 SYSLOG = X32_SYSCALL_BIT + 103, // common between x64 and x32
134 GETGID = X32_SYSCALL_BIT + 104, // common between x64 and x32
135 SETUID = X32_SYSCALL_BIT + 105, // common between x64 and x32
136 SETGID = X32_SYSCALL_BIT + 106, // common between x64 and x32
137 GETEUID = X32_SYSCALL_BIT + 107, // common between x64 and x32
138 GETEGID = X32_SYSCALL_BIT + 108, // common between x64 and x32
139 SETPGID = X32_SYSCALL_BIT + 109, // common between x64 and x32
140 GETPPID = X32_SYSCALL_BIT + 110, // common between x64 and x32
141 GETPGRP = X32_SYSCALL_BIT + 111, // common between x64 and x32
142 SETSID = X32_SYSCALL_BIT + 112, // common between x64 and x32
143 SETREUID = X32_SYSCALL_BIT + 113, // common between x64 and x32
144 SETREGID = X32_SYSCALL_BIT + 114, // common between x64 and x32
145 GETGROUPS = X32_SYSCALL_BIT + 115, // common between x64 and x32
146 SETGROUPS = X32_SYSCALL_BIT + 116, // common between x64 and x32
147 SETRESUID = X32_SYSCALL_BIT + 117, // common between x64 and x32
148 GETRESUID = X32_SYSCALL_BIT + 118, // common between x64 and x32
149 SETRESGID = X32_SYSCALL_BIT + 119, // common between x64 and x32
150 GETRESGID = X32_SYSCALL_BIT + 120, // common between x64 and x32
151 GETPGID = X32_SYSCALL_BIT + 121, // common between x64 and x32
152 SETFSUID = X32_SYSCALL_BIT + 122, // common between x64 and x32
153 SETFSGID = X32_SYSCALL_BIT + 123, // common between x64 and x32
154 GETSID = X32_SYSCALL_BIT + 124, // common between x64 and x32
155 CAPGET = X32_SYSCALL_BIT + 125, // common between x64 and x32
156 CAPSET = X32_SYSCALL_BIT + 126, // common between x64 and x32
157 RT_SIGSUSPEND = X32_SYSCALL_BIT + 130, // common between x64 and x32
158 UTIME = X32_SYSCALL_BIT + 132, // common between x64 and x32
159 MKNOD = X32_SYSCALL_BIT + 133, // common between x64 and x32
160 PERSONALITY = X32_SYSCALL_BIT + 135, // common between x64 and x32
161 USTAT = X32_SYSCALL_BIT + 136, // common between x64 and x32
162 STATFS = X32_SYSCALL_BIT + 137, // common between x64 and x32
163 FSTATFS = X32_SYSCALL_BIT + 138, // common between x64 and x32
164 SYSFS = X32_SYSCALL_BIT + 139, // common between x64 and x32
165 GETPRIORITY = X32_SYSCALL_BIT + 140, // common between x64 and x32
166 SETPRIORITY = X32_SYSCALL_BIT + 141, // common between x64 and x32
167 SCHED_SETPARAM = X32_SYSCALL_BIT + 142, // common between x64 and x32
168 SCHED_GETPARAM = X32_SYSCALL_BIT + 143, // common between x64 and x32
169 SCHED_SETSCHEDULER = X32_SYSCALL_BIT + 144, // common between x64 and x32
170 SCHED_GETSCHEDULER = X32_SYSCALL_BIT + 145, // common between x64 and x32
171 SCHED_GET_PRIORITY_MAX = X32_SYSCALL_BIT + 146, // common between x64 and x32
172 SCHED_GET_PRIORITY_MIN = X32_SYSCALL_BIT + 147, // common between x64 and x32
173 SCHED_RR_GET_INTERVAL = X32_SYSCALL_BIT + 148, // common between x64 and x32
174 MLOCK = X32_SYSCALL_BIT + 149, // common between x64 and x32
175 MUNLOCK = X32_SYSCALL_BIT + 150, // common between x64 and x32
176 MLOCKALL = X32_SYSCALL_BIT + 151, // common between x64 and x32
177 MUNLOCKALL = X32_SYSCALL_BIT + 152, // common between x64 and x32
178 VHANGUP = X32_SYSCALL_BIT + 153, // common between x64 and x32
179 MODIFY_LDT = X32_SYSCALL_BIT + 154, // common between x64 and x32
180 PIVOT_ROOT = X32_SYSCALL_BIT + 155, // common between x64 and x32
181 PRCTL = X32_SYSCALL_BIT + 157, // common between x64 and x32
182 ARCH_PRCTL = X32_SYSCALL_BIT + 158, // common between x64 and x32
183 ADJTIMEX = X32_SYSCALL_BIT + 159, // common between x64 and x32
184 SETRLIMIT = X32_SYSCALL_BIT + 160, // common between x64 and x32
185 CHROOT = X32_SYSCALL_BIT + 161, // common between x64 and x32
186 SYNC = X32_SYSCALL_BIT + 162, // common between x64 and x32
187 ACCT = X32_SYSCALL_BIT + 163, // common between x64 and x32
188 SETTIMEOFDAY = X32_SYSCALL_BIT + 164, // common between x64 and x32
189 MOUNT = X32_SYSCALL_BIT + 165, // common between x64 and x32
190 UMOUNT2 = X32_SYSCALL_BIT + 166, // common between x64 and x32
191 SWAPON = X32_SYSCALL_BIT + 167, // common between x64 and x32
192 SWAPOFF = X32_SYSCALL_BIT + 168, // common between x64 and x32
193 REBOOT = X32_SYSCALL_BIT + 169, // common between x64 and x32
194 SETHOSTNAME = X32_SYSCALL_BIT + 170, // common between x64 and x32
195 SETDOMAINNAME = X32_SYSCALL_BIT + 171, // common between x64 and x32
196 IOPL = X32_SYSCALL_BIT + 172, // common between x64 and x32
197 IOPERM = X32_SYSCALL_BIT + 173, // common between x64 and x32
198 INIT_MODULE = X32_SYSCALL_BIT + 175, // common between x64 and x32
199 DELETE_MODULE = X32_SYSCALL_BIT + 176, // common between x64 and x32
200 QUOTACTL = X32_SYSCALL_BIT + 179, // common between x64 and x32
201 GETPMSG = X32_SYSCALL_BIT + 181, // common between x64 and x32
202 PUTPMSG = X32_SYSCALL_BIT + 182, // common between x64 and x32
203 AFS_SYSCALL = X32_SYSCALL_BIT + 183, // common between x64 and x32
204 TUXCALL = X32_SYSCALL_BIT + 184, // common between x64 and x32
205 SECURITY = X32_SYSCALL_BIT + 185, // common between x64 and x32
206 GETTID = X32_SYSCALL_BIT + 186, // common between x64 and x32
207 READAHEAD = X32_SYSCALL_BIT + 187, // common between x64 and x32
208 SETXATTR = X32_SYSCALL_BIT + 188, // common between x64 and x32
209 LSETXATTR = X32_SYSCALL_BIT + 189, // common between x64 and x32
210 FSETXATTR = X32_SYSCALL_BIT + 190, // common between x64 and x32
211 GETXATTR = X32_SYSCALL_BIT + 191, // common between x64 and x32
212 LGETXATTR = X32_SYSCALL_BIT + 192, // common between x64 and x32
213 FGETXATTR = X32_SYSCALL_BIT + 193, // common between x64 and x32
214 LISTXATTR = X32_SYSCALL_BIT + 194, // common between x64 and x32
215 LLISTXATTR = X32_SYSCALL_BIT + 195, // common between x64 and x32
216 FLISTXATTR = X32_SYSCALL_BIT + 196, // common between x64 and x32
217 REMOVEXATTR = X32_SYSCALL_BIT + 197, // common between x64 and x32
218 LREMOVEXATTR = X32_SYSCALL_BIT + 198, // common between x64 and x32
219 FREMOVEXATTR = X32_SYSCALL_BIT + 199, // common between x64 and x32
220 TKILL = X32_SYSCALL_BIT + 200, // common between x64 and x32
221 TIME = X32_SYSCALL_BIT + 201, // common between x64 and x32
222 FUTEX = X32_SYSCALL_BIT + 202, // common between x64 and x32
223 SCHED_SETAFFINITY = X32_SYSCALL_BIT + 203, // common between x64 and x32
224 SCHED_GETAFFINITY = X32_SYSCALL_BIT + 204, // common between x64 and x32
225 IO_DESTROY = X32_SYSCALL_BIT + 207, // common between x64 and x32
226 IO_GETEVENTS = X32_SYSCALL_BIT + 208, // common between x64 and x32
227 IO_CANCEL = X32_SYSCALL_BIT + 210, // common between x64 and x32
228 LOOKUP_DCOOKIE = X32_SYSCALL_BIT + 212, // common between x64 and x32
229 EPOLL_CREATE = X32_SYSCALL_BIT + 213, // common between x64 and x32
230 REMAP_FILE_PAGES = X32_SYSCALL_BIT + 216, // common between x64 and x32
231 GETDENTS64 = X32_SYSCALL_BIT + 217, // common between x64 and x32
232 SET_TID_ADDRESS = X32_SYSCALL_BIT + 218, // common between x64 and x32
233 RESTART_SYSCALL = X32_SYSCALL_BIT + 219, // common between x64 and x32
234 SEMTIMEDOP = X32_SYSCALL_BIT + 220, // common between x64 and x32
235 FADVISE64 = X32_SYSCALL_BIT + 221, // common between x64 and x32
236 TIMER_SETTIME = X32_SYSCALL_BIT + 223, // common between x64 and x32
237 TIMER_GETTIME = X32_SYSCALL_BIT + 224, // common between x64 and x32
238 TIMER_GETOVERRUN = X32_SYSCALL_BIT + 225, // common between x64 and x32
239 TIMER_DELETE = X32_SYSCALL_BIT + 226, // common between x64 and x32
240 CLOCK_SETTIME = X32_SYSCALL_BIT + 227, // common between x64 and x32
241 CLOCK_GETTIME = X32_SYSCALL_BIT + 228, // common between x64 and x32
242 CLOCK_GETRES = X32_SYSCALL_BIT + 229, // common between x64 and x32
243 CLOCK_NANOSLEEP = X32_SYSCALL_BIT + 230, // common between x64 and x32
244 EXIT_GROUP = X32_SYSCALL_BIT + 231, // common between x64 and x32
245 EPOLL_WAIT = X32_SYSCALL_BIT + 232, // common between x64 and x32
246 EPOLL_CTL = X32_SYSCALL_BIT + 233, // common between x64 and x32
247 TGKILL = X32_SYSCALL_BIT + 234, // common between x64 and x32
248 UTIMES = X32_SYSCALL_BIT + 235, // common between x64 and x32
249 MBIND = X32_SYSCALL_BIT + 237, // common between x64 and x32
250 SET_MEMPOLICY = X32_SYSCALL_BIT + 238, // common between x64 and x32
251 GET_MEMPOLICY = X32_SYSCALL_BIT + 239, // common between x64 and x32
252 MQ_OPEN = X32_SYSCALL_BIT + 240, // common between x64 and x32
253 MQ_UNLINK = X32_SYSCALL_BIT + 241, // common between x64 and x32
254 MQ_TIMEDSEND = X32_SYSCALL_BIT + 242, // common between x64 and x32
255 MQ_TIMEDRECEIVE = X32_SYSCALL_BIT + 243, // common between x64 and x32
256 MQ_GETSETATTR = X32_SYSCALL_BIT + 245, // common between x64 and x32
257 ADD_KEY = X32_SYSCALL_BIT + 248, // common between x64 and x32
258 REQUEST_KEY = X32_SYSCALL_BIT + 249, // common between x64 and x32
259 KEYCTL = X32_SYSCALL_BIT + 250, // common between x64 and x32
260 IOPRIO_SET = X32_SYSCALL_BIT + 251, // common between x64 and x32
261 IOPRIO_GET = X32_SYSCALL_BIT + 252, // common between x64 and x32
262 INOTIFY_INIT = X32_SYSCALL_BIT + 253, // common between x64 and x32
263 INOTIFY_ADD_WATCH = X32_SYSCALL_BIT + 254, // common between x64 and x32
264 INOTIFY_RM_WATCH = X32_SYSCALL_BIT + 255, // common between x64 and x32
265 MIGRATE_PAGES = X32_SYSCALL_BIT + 256, // common between x64 and x32
266 OPENAT = X32_SYSCALL_BIT + 257, // common between x64 and x32
267 MKDIRAT = X32_SYSCALL_BIT + 258, // common between x64 and x32
268 MKNODAT = X32_SYSCALL_BIT + 259, // common between x64 and x32
269 FCHOWNAT = X32_SYSCALL_BIT + 260, // common between x64 and x32
270 FUTIMESAT = X32_SYSCALL_BIT + 261, // common between x64 and x32
271 NEWFSTATAT = X32_SYSCALL_BIT + 262, // common between x64 and x32
272 UNLINKAT = X32_SYSCALL_BIT + 263, // common between x64 and x32
273 RENAMEAT = X32_SYSCALL_BIT + 264, // common between x64 and x32
274 LINKAT = X32_SYSCALL_BIT + 265, // common between x64 and x32
275 SYMLINKAT = X32_SYSCALL_BIT + 266, // common between x64 and x32
276 READLINKAT = X32_SYSCALL_BIT + 267, // common between x64 and x32
277 FCHMODAT = X32_SYSCALL_BIT + 268, // common between x64 and x32
278 FACCESSAT = X32_SYSCALL_BIT + 269, // common between x64 and x32
279 PSELECT6 = X32_SYSCALL_BIT + 270, // common between x64 and x32
280 PPOLL = X32_SYSCALL_BIT + 271, // common between x64 and x32
281 UNSHARE = X32_SYSCALL_BIT + 272, // common between x64 and x32
282 SPLICE = X32_SYSCALL_BIT + 275, // common between x64 and x32
283 TEE = X32_SYSCALL_BIT + 276, // common between x64 and x32
284 SYNC_FILE_RANGE = X32_SYSCALL_BIT + 277, // common between x64 and x32
285 UTIMENSAT = X32_SYSCALL_BIT + 280, // common between x64 and x32
286 EPOLL_PWAIT = X32_SYSCALL_BIT + 281, // common between x64 and x32
287 SIGNALFD = X32_SYSCALL_BIT + 282, // common between x64 and x32
288 TIMERFD_CREATE = X32_SYSCALL_BIT + 283, // common between x64 and x32
289 EVENTFD = X32_SYSCALL_BIT + 284, // common between x64 and x32
290 FALLOCATE = X32_SYSCALL_BIT + 285, // common between x64 and x32
291 TIMERFD_SETTIME = X32_SYSCALL_BIT + 286, // common between x64 and x32
292 TIMERFD_GETTIME = X32_SYSCALL_BIT + 287, // common between x64 and x32
293 ACCEPT4 = X32_SYSCALL_BIT + 288, // common between x64 and x32
294 SIGNALFD4 = X32_SYSCALL_BIT + 289, // common between x64 and x32
295 EVENTFD2 = X32_SYSCALL_BIT + 290, // common between x64 and x32
296 EPOLL_CREATE1 = X32_SYSCALL_BIT + 291, // common between x64 and x32
297 DUP3 = X32_SYSCALL_BIT + 292, // common between x64 and x32
298 PIPE2 = X32_SYSCALL_BIT + 293, // common between x64 and x32
299 INOTIFY_INIT1 = X32_SYSCALL_BIT + 294, // common between x64 and x32
300 PERF_EVENT_OPEN = X32_SYSCALL_BIT + 298, // common between x64 and x32
301 FANOTIFY_INIT = X32_SYSCALL_BIT + 300, // common between x64 and x32
302 FANOTIFY_MARK = X32_SYSCALL_BIT + 301, // common between x64 and x32
303 PRLIMIT64 = X32_SYSCALL_BIT + 302, // common between x64 and x32
304 NAME_TO_HANDLE_AT = X32_SYSCALL_BIT + 303, // common between x64 and x32
305 OPEN_BY_HANDLE_AT = X32_SYSCALL_BIT + 304, // common between x64 and x32
306 CLOCK_ADJTIME = X32_SYSCALL_BIT + 305, // common between x64 and x32
307 SYNCFS = X32_SYSCALL_BIT + 306, // common between x64 and x32
308 SETNS = X32_SYSCALL_BIT + 308, // common between x64 and x32
309 GETCPU = X32_SYSCALL_BIT + 309, // common between x64 and x32
310 KCMP = X32_SYSCALL_BIT + 312, // common between x64 and x32
311 FINIT_MODULE = X32_SYSCALL_BIT + 313, // common between x64 and x32
312 SCHED_SETATTR = X32_SYSCALL_BIT + 314, // common between x64 and x32
313 SCHED_GETATTR = X32_SYSCALL_BIT + 315, // common between x64 and x32
314 RENAMEAT2 = X32_SYSCALL_BIT + 316, // common between x64 and x32
315 SECCOMP = X32_SYSCALL_BIT + 317, // common between x64 and x32
316 GETRANDOM = X32_SYSCALL_BIT + 318, // common between x64 and x32
317 MEMFD_CREATE = X32_SYSCALL_BIT + 319, // common between x64 and x32
318 KEXEC_FILE_LOAD = X32_SYSCALL_BIT + 320, // common between x64 and x32
319 BPF = X32_SYSCALL_BIT + 321, // common between x64 and x32
320 USERFAULTFD = X32_SYSCALL_BIT + 323, // common between x64 and x32
321 MEMBARRIER = X32_SYSCALL_BIT + 324, // common between x64 and x32
322 MLOCK2 = X32_SYSCALL_BIT + 325, // common between x64 and x32
323 COPY_FILE_RANGE = X32_SYSCALL_BIT + 326, // common between x64 and x32
324 PKEY_MPROTECT = X32_SYSCALL_BIT + 329, // common between x64 and x32
325 PKEY_ALLOC = X32_SYSCALL_BIT + 330, // common between x64 and x32
326 PKEY_FREE = X32_SYSCALL_BIT + 331, // common between x64 and x32
327 STATX = X32_SYSCALL_BIT + 332, // common between x64 and x32
328 IO_PGETEVENTS = X32_SYSCALL_BIT + 333, // common between x64 and x32
329 RSEQ = X32_SYSCALL_BIT + 334, // common between x64 and x32
330 URETPROBE = X32_SYSCALL_BIT + 335, // common between x64 and x32
331 UPROBE = X32_SYSCALL_BIT + 336, // common between x64 and x32
332 PIDFD_SEND_SIGNAL = X32_SYSCALL_BIT + 424, // common between x64 and x32
333 IO_URING_SETUP = X32_SYSCALL_BIT + 425, // common between x64 and x32
334 IO_URING_ENTER = X32_SYSCALL_BIT + 426, // common between x64 and x32
335 IO_URING_REGISTER = X32_SYSCALL_BIT + 427, // common between x64 and x32
336 OPEN_TREE = X32_SYSCALL_BIT + 428, // common between x64 and x32
337 MOVE_MOUNT = X32_SYSCALL_BIT + 429, // common between x64 and x32
338 FSOPEN = X32_SYSCALL_BIT + 430, // common between x64 and x32
339 FSCONFIG = X32_SYSCALL_BIT + 431, // common between x64 and x32
340 FSMOUNT = X32_SYSCALL_BIT + 432, // common between x64 and x32
341 FSPICK = X32_SYSCALL_BIT + 433, // common between x64 and x32
342 PIDFD_OPEN = X32_SYSCALL_BIT + 434, // common between x64 and x32
343 CLONE3 = X32_SYSCALL_BIT + 435, // common between x64 and x32
344 CLOSE_RANGE = X32_SYSCALL_BIT + 436, // common between x64 and x32
345 OPENAT2 = X32_SYSCALL_BIT + 437, // common between x64 and x32
346 PIDFD_GETFD = X32_SYSCALL_BIT + 438, // common between x64 and x32
347 FACCESSAT2 = X32_SYSCALL_BIT + 439, // common between x64 and x32
348 PROCESS_MADVISE = X32_SYSCALL_BIT + 440, // common between x64 and x32
349 EPOLL_PWAIT2 = X32_SYSCALL_BIT + 441, // common between x64 and x32
350 MOUNT_SETATTR = X32_SYSCALL_BIT + 442, // common between x64 and x32
351 QUOTACTL_FD = X32_SYSCALL_BIT + 443, // common between x64 and x32
352 LANDLOCK_CREATE_RULESET = X32_SYSCALL_BIT + 444, // common between x64 and x32
353 LANDLOCK_ADD_RULE = X32_SYSCALL_BIT + 445, // common between x64 and x32
354 LANDLOCK_RESTRICT_SELF = X32_SYSCALL_BIT + 446, // common between x64 and x32
355 MEMFD_SECRET = X32_SYSCALL_BIT + 447, // common between x64 and x32
356 PROCESS_MRELEASE = X32_SYSCALL_BIT + 448, // common between x64 and x32
357 FUTEX_WAITV = X32_SYSCALL_BIT + 449, // common between x64 and x32
358 SET_MEMPOLICY_HOME_NODE = X32_SYSCALL_BIT + 450, // common between x64 and x32
359 CACHESTAT = X32_SYSCALL_BIT + 451, // common between x64 and x32
360 FCHMODAT2 = X32_SYSCALL_BIT + 452, // common between x64 and x32
361 MAP_SHADOW_STACK = X32_SYSCALL_BIT + 453, // common between x64 and x32
362 _FUTEX_WAKE = X32_SYSCALL_BIT + 454, // common between x64 and x32
363 _FUTEX_WAIT = X32_SYSCALL_BIT + 455, // common between x64 and x32
364 _FUTEX_REQUEUE = X32_SYSCALL_BIT + 456, // common between x64 and x32
365 STATMOUNT = X32_SYSCALL_BIT + 457, // common between x64 and x32
366 LISTMOUNT = X32_SYSCALL_BIT + 458, // common between x64 and x32
367 LSM_GET_SELF_ATTR = X32_SYSCALL_BIT + 459, // common between x64 and x32
368 LSM_SET_SELF_ATTR = X32_SYSCALL_BIT + 460, // common between x64 and x32
369 LSM_LIST_MODULES = X32_SYSCALL_BIT + 461, // common between x64 and x32
370 MSEAL = X32_SYSCALL_BIT + 462, // common between x64 and x32
371 SETXATTRAT = X32_SYSCALL_BIT + 463, // common between x64 and x32
372 GETXATTRAT = X32_SYSCALL_BIT + 464, // common between x64 and x32
373 LISTXATTRAT = X32_SYSCALL_BIT + 465, // common between x64 and x32
374 REMOVEXATTRAT = X32_SYSCALL_BIT + 466, // common between x64 and x32
375 OPEN_TREE_ATTR = X32_SYSCALL_BIT + 467, // common between x64 and x32
376 FILE_GETATTR = X32_SYSCALL_BIT + 468, // common between x64 and x32
377 FILE_SETATTR = X32_SYSCALL_BIT + 469, // common between x64 and x32
378 RT_SIGACTION = X32_SYSCALL_BIT + 512, // specific to x32
379 RT_SIGRETURN = X32_SYSCALL_BIT + 513, // specific to x32
380 IOCTL = X32_SYSCALL_BIT + 514, // specific to x32
381 READV = X32_SYSCALL_BIT + 515, // specific to x32
382 WRITEV = X32_SYSCALL_BIT + 516, // specific to x32
383 RECVFROM = X32_SYSCALL_BIT + 517, // specific to x32
384 SENDMSG = X32_SYSCALL_BIT + 518, // specific to x32
385 RECVMSG = X32_SYSCALL_BIT + 519, // specific to x32
386 EXECVE = X32_SYSCALL_BIT + 520, // specific to x32
387 PTRACE = X32_SYSCALL_BIT + 521, // specific to x32
388 RT_SIGPENDING = X32_SYSCALL_BIT + 522, // specific to x32
389 RT_SIGTIMEDWAIT = X32_SYSCALL_BIT + 523, // specific to x32
390 RT_SIGQUEUEINFO = X32_SYSCALL_BIT + 524, // specific to x32
391 SIGALTSTACK = X32_SYSCALL_BIT + 525, // specific to x32
392 TIMER_CREATE = X32_SYSCALL_BIT + 526, // specific to x32
393 MQ_NOTIFY = X32_SYSCALL_BIT + 527, // specific to x32
394 KEXEC_LOAD = X32_SYSCALL_BIT + 528, // specific to x32
395 WAITID = X32_SYSCALL_BIT + 529, // specific to x32
396 SET_ROBUST_LIST = X32_SYSCALL_BIT + 530, // specific to x32
397 GET_ROBUST_LIST = X32_SYSCALL_BIT + 531, // specific to x32
398 VMSPLICE = X32_SYSCALL_BIT + 532, // specific to x32
399 MOVE_PAGES = X32_SYSCALL_BIT + 533, // specific to x32
400 PREADV = X32_SYSCALL_BIT + 534, // specific to x32
401 PWRITEV = X32_SYSCALL_BIT + 535, // specific to x32
402 RT_TGSIGQUEUEINFO = X32_SYSCALL_BIT + 536, // specific to x32
403 RECVMMSG = X32_SYSCALL_BIT + 537, // specific to x32
404 SENDMMSG = X32_SYSCALL_BIT + 538, // specific to x32
405 PROCESS_VM_READV = X32_SYSCALL_BIT + 539, // specific to x32
406 PROCESS_VM_WRITEV = X32_SYSCALL_BIT + 540, // specific to x32
407 SETSOCKOPT = X32_SYSCALL_BIT + 541, // specific to x32
408 GETSOCKOPT = X32_SYSCALL_BIT + 542, // specific to x32
409 IO_SETUP = X32_SYSCALL_BIT + 543, // specific to x32
410 IO_SUBMIT = X32_SYSCALL_BIT + 544, // specific to x32
411 EXECVEAT = X32_SYSCALL_BIT + 545, // specific to x32
412 PREADV2 = X32_SYSCALL_BIT + 546, // specific to x32
413 PWRITEV2 = X32_SYSCALL_BIT + 547, // specific to x32
414 _LAST = X32_SYSCALL_BIT + 547, // last valid system call nr. (careful, could be used in the future by the kernel!)
415};
416
418
422CLUES_API clues::SystemCallNr to_generic(const SystemCallNrX32 nr);
423
424} // end ns
constexpr uint64_t X32_SYSCALL_BIT
Native system call numbers as used by Linux on the x32 ABI.
Definition x32.hxx:38
SystemCallNr
Abstract system call number usable across architectures and ABIs.
Definition generic.hxx:29
clues::SystemCallNr to_generic(const SystemCallNrAARCH64 nr)
Convert the native system call nr. into its generic representation.
Definition aarch64.cxx:21