43 using location_t = std::pair<uint32_t, uint32_t>;
45 using magic_t = std::array<uint8_t, 8>;
46 using signature_t = std::array<uint8_t, 20>;
53 LIEF_LOCAL
Header(
const T& header);
78 location_t link()
const;
79 location_t types()
const;
80 location_t prototypes()
const;
81 location_t fields()
const;
82 location_t methods()
const;
83 location_t classes()
const;
84 location_t data()
const;
86 uint32_t nb_classes()
const;
88 uint32_t nb_methods()
const;
90 void accept(
Visitor& visitor)
const override;
93 LIEF_API
friend std::ostream& operator<<(std::ostream& os,
const Header& hdr);
100 signature_t signature_;
103 uint32_t header_size_;
104 uint32_t endian_tag_;
111 uint32_t string_ids_size_;
112 uint32_t string_ids_off_;
114 uint32_t type_ids_size_;
115 uint32_t type_ids_off_;
117 uint32_t proto_ids_size_;
118 uint32_t proto_ids_off_;
120 uint32_t field_ids_size_;
121 uint32_t field_ids_off_;
123 uint32_t method_ids_size_;
124 uint32_t method_ids_off_;
126 uint32_t class_defs_size_;
127 uint32_t class_defs_off_;