Signed-off-by: Tao Liu <ltao(a)redhat.com>
---
erase_info.c | 16 +++++++++++++++-
erase_info.h | 14 ++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/erase_info.c b/erase_info.c
index d68e1a2..9ec1813 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,19 @@ 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,
+ &get_structure_size,
+ &get_member_offset,
+ /**********************/
+ &update_filter_pages_info,
+ &get_kallsyms_value_by_name,
+ &get_struct_member_by_name,
+ &get_type_member_by_index,
+ &get_type_size_by_name,
+ &get_en_by_uniq_id,
+ &resolve_typedef,
+ &get_btf_type_by_type_id,
+ &id_to_uniq_id,
};
diff --git a/erase_info.h b/erase_info.h
index 4552dfc..6797ed1 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,19 @@ 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);
+ long (*get_structure_size)(char *, int);
+ long (*get_member_offset)(char *, char *, int);
+ /********************************/
+ int (*update_filter_pages_info)(unsigned long, unsigned long);
+ uint64_t (*get_kallsyms_value_by_name)(char *);
+ uint32_t (*get_struct_member_by_name)(char *, char *, struct member_info *);
+ 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 *);
+ void (*resolve_typedef)(struct name_entry *, struct name_entry **, 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 *);
};
extern struct erase_info *erase_info;
--
2.47.0