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