Signed-off-by: Tao Liu <[email protected]>
---
erase_info.c | 13 ++++++++++++-
erase_info.h | 11 +++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/erase_info.c b/erase_info.c
index e903eeb..7c637c2 100644
--- a/erase_info.c
+++ b/erase_info.c
@@ -20,6 +20,8 @@
#include "print_info.h"
#include "dwarf_info.h"
#include "erase_info.h"
+#include "kallsyms.h"
+#include "btf.h"
#include <dlfcn.h>
@@ -36,7 +38,16 @@ struct call_back eppic_cb = {
&get_die_member_all,
&get_die_nfields_all,
&get_symbol_addr_all,
- &update_filter_info_raw
+ &update_filter_info_raw,
+ /**********************/
+ &update_filter_pages_info,
+ &get_kallsyms_value_by_name,
+ &get_type_member_by_index,
+ &get_type_size_by_name,
+ &get_en_by_uniq_id,
+ &get_btf_type_by_type_id,
+ &id_to_uniq_id,
+ &read_file_at_offset,
};
diff --git a/erase_info.h b/erase_info.h
index 4552dfc..bf466e8 100644
--- a/erase_info.h
+++ b/erase_info.h
@@ -19,6 +19,7 @@
#ifndef _ERASE_INFO_H
#define _ERASE_INFO_H
+#include "btf.h"
#define MAX_SIZE_STR_LEN (26)
/*
@@ -52,6 +53,16 @@ struct call_back {
int (*get_die_nfields_all)(unsigned long long die_off);
unsigned long long (*get_symbol_addr_all)(char *symname);
int (*update_filter_info_raw)(unsigned long long, int, int);
+ /********************************/
+ int (*update_filter_pages_info)(unsigned long, unsigned long);
+ uint64_t (*get_kallsyms_value_by_name)(char *);
+ bool (*get_type_member_by_index)(uint64_t, int, struct member_info *);
+ uint32_t (*get_type_size_by_name)(char *, int, uint32_t *);
+ struct name_entry *(*get_en_by_uniq_id)(uint32_t, struct btf_type *);
+ int (*get_btf_type_by_type_id)(struct btf_file *, uint32_t,
+ struct btf_type *, struct name_entry **);
+ uint32_t (*id_to_uniq_id)(uint32_t, struct btf_file *);
+ int (*read_file_at_offset)(char *, int, int, void *);
};
extern struct erase_info *erase_info;
--
2.47.0