diff options
Diffstat (limited to 'src/syscalls.h')
-rw-r--r-- | src/syscalls.h | 30 |
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) */ |