Signed-off-by: Tao Liu <l...@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
--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki

Reply via email to