summaryrefslogtreecommitdiff
path: root/src/syscalls.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/syscalls.h')
-rw-r--r--src/syscalls.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/syscalls.h b/src/syscalls.h
index 58a788c..3a9e0cb 100644
--- a/src/syscalls.h
+++ b/src/syscalls.h
@@ -10,6 +10,7 @@
#define _SYSCALLS_H
#include <stddef.h>
+#include <seccomp.h>
#include "arch-aarch64.h"
#include "arch-arm.h"
@@ -37,28 +38,55 @@ struct arch_syscall_table {
/* each arch listed here must be defined in syscalls.c */
/* NOTE: see the warning above - BEWARE! */
+
int x86;
+ enum scmp_kver x86_kver;
int x86_64;
+ enum scmp_kver x86_64_kver;
int x32;
+ enum scmp_kver x32_kver;
+
int arm;
+ enum scmp_kver arm_kver;
int aarch64;
+ enum scmp_kver aarch64_kver;
+
int mips;
+ enum scmp_kver mips_kver;
int mips64;
+ enum scmp_kver mips64_kver;
int mips64n32;
+ enum scmp_kver mips64n32_kver;
+
int parisc;
+ enum scmp_kver parisc_kver;
int parisc64;
+ enum scmp_kver parisc64_kver;
+
int ppc;
+ enum scmp_kver ppc_kver;
int ppc64;
+ enum scmp_kver ppc64_kver;
+
int riscv64;
+ enum scmp_kver riscv64_kver;
+
int s390;
+ enum scmp_kver s390_kver;
int s390x;
+ enum scmp_kver s390x_kver;
+
int sh;
+ enum scmp_kver sh_kver;
};
-#define OFFSET_ARCH(NAME) offsetof(struct arch_syscall_table, NAME)
+#define SYSTBL_OFFSET(NAME) offsetof(struct arch_syscall_table, NAME)
/* defined in syscalls.perf.template */
int syscall_resolve_name(const char *name, int offset);
const char *syscall_resolve_num(int num, int offset);
+enum scmp_kver syscall_resolve_name_kver(const char *name, int offset_kver);
+enum scmp_kver syscall_resolve_num_kver(int num,
+ int offset_arch, int offset_kver);
const struct arch_syscall_def *syscall_iterate(unsigned int spot, int offset);
/* helper functions for multiplexed syscalls, e.g. socketcall(2) and ipc(2) */