summaryrefslogtreecommitdiff
path: root/src/arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch.h')
-rw-r--r--src/arch.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/arch.h b/src/arch.h
index c3ac524..54380f7 100644
--- a/src/arch.h
+++ b/src/arch.h
@@ -30,6 +30,8 @@
#include "system.h"
+struct db_filter;
+struct db_api_arg;
struct db_api_rule_list;
struct arch_def {
@@ -52,6 +54,8 @@ struct arch_def {
const char *(*syscall_resolve_num)(int num);
int (*syscall_rewrite)(int *syscall);
int (*filter_rewrite)(bool strict, struct db_api_rule_list *rule);
+ int (*rule_add)(struct db_filter *filter,
+ struct db_api_rule_list *rule);
};
/* arch_def for the current architecture */
@@ -99,7 +103,8 @@ const char *arch_syscall_resolve_num(const struct arch_def *arch, int num);
int arch_syscall_translate(const struct arch_def *arch, int *syscall);
int arch_syscall_rewrite(const struct arch_def *arch, int *syscall);
-int arch_filter_rewrite(const struct arch_def *arch, bool strict,
- struct db_api_rule_list *rule);
+int arch_filter_rule_add(struct db_filter *db, bool strict,
+ uint32_t action, int syscall,
+ unsigned int chain_len, struct db_api_arg *chain);
#endif