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