16#ifndef LIEF_PE_LOAD_CONFIGURATION_CHPE_METADATA_ARM64_H
17#define LIEF_PE_LOAD_CONFIGURATION_CHPE_METADATA_ARM64_H
70 uint32_t
end()
const {
116 std::unique_ptr<CHPEMetadata>
clone()
const override {
120 static std::unique_ptr<CHPEMetadataARM64>
parse(
132 return code_map_rva_;
137 return code_map_cnt_;
141 return code_ranges_to_ep_;
145 return redirection_metadata_;
149 return os_arm64x_dispatch_call_no_redirect_;
153 return os_arm64x_dispatch_ret_;
157 return os_arm64x_dispatch_call_;
161 return os_arm64x_dispatch_icall_;
165 return os_arm64x_dispatch_icall_cfg_;
169 return alternate_ep_;
177 return code_ranges_to_ep_cnt_;
181 return redirection_metadata_cnt_;
185 return get_x64_information_function_pointer_;
189 return set_x64_information_function_pointer_;
194 return extra_rfe_table_;
199 return extra_rfe_table_size_;
203 return os_arm64x_dispatch_fptr_;
207 return aux_iat_copy_;
211 return aux_delay_import_;
215 return aux_delay_import_copy_;
219 return bitfield_info_;
223 return range_entries_;
227 return range_entries_;
231 return redirection_entries_;
235 return redirection_entries_;
239 return code_range_entry_point_entries_;
243 return code_range_entry_point_entries_;
247 code_map_rva_ = value;
252 code_map_cnt_ = value;
257 code_ranges_to_ep_ = value;
262 redirection_metadata_ = value;
267 os_arm64x_dispatch_call_no_redirect_ = value;
272 os_arm64x_dispatch_ret_ = value;
277 os_arm64x_dispatch_call_ = value;
282 os_arm64x_dispatch_icall_ = value;
287 os_arm64x_dispatch_icall_cfg_ = value;
292 alternate_ep_ = value;
302 code_ranges_to_ep_cnt_ = value;
307 redirection_metadata_cnt_ = value;
312 get_x64_information_function_pointer_ = value;
317 set_x64_information_function_pointer_ = value;
322 extra_rfe_table_ = value;
327 extra_rfe_table_size_ = value;
332 os_arm64x_dispatch_fptr_ = value;
337 aux_iat_copy_ = value;
342 aux_delay_import_ = value;
347 aux_delay_import_copy_ = value;
352 bitfield_info_ = value;
365 uint32_t code_map_rva_ = 0;
366 uint32_t code_map_cnt_ = 0;
367 uint32_t code_ranges_to_ep_ = 0;
368 uint32_t redirection_metadata_ = 0;
369 uint32_t os_arm64x_dispatch_call_no_redirect_ = 0;
370 uint32_t os_arm64x_dispatch_ret_ = 0;
371 uint32_t os_arm64x_dispatch_call_ = 0;
372 uint32_t os_arm64x_dispatch_icall_ = 0;
373 uint32_t os_arm64x_dispatch_icall_cfg_ = 0;
374 uint32_t alternate_ep_ = 0;
375 uint32_t aux_iat_ = 0;
376 uint32_t code_ranges_to_ep_cnt_ = 0;
377 uint32_t redirection_metadata_cnt_ = 0;
378 uint32_t get_x64_information_function_pointer_ = 0;
379 uint32_t set_x64_information_function_pointer_ = 0;
380 uint32_t extra_rfe_table_ = 0;
381 uint32_t extra_rfe_table_size_ = 0;
382 uint32_t os_arm64x_dispatch_fptr_ = 0;
383 uint32_t aux_iat_copy_ = 0;
384 uint32_t aux_delay_import_ = 0;
385 uint32_t aux_delay_import_copy_ = 0;
386 uint32_t bitfield_info_ = 0;
Class that is used to a read stream of data from different sources.
Definition BinaryStream.hpp:33
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:52
Opaque structure that is used by LIEF to avoid writing result<void> f(...). Instead,...
Definition errors.hpp:112
Iterator which returns reference on container's values.
Definition iterators.hpp:46
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
const char * to_string(CODE_PAGES e)
LIEF namespace.
Definition Abstract/Binary.hpp:40
ref_iterator< CT, U, typename decay_t< CT >::const_iterator > const_ref_iterator
Iterator which return const ref on container's values.
Definition iterators.hpp:257
Mirror of IMAGE_ARM64EC_CODE_RANGE_ENTRY_POINT: Represents a mapping between code range and its entry...
Definition MetadataARM64.hpp:83
uint32_t end_rva
End of the code range (RVA).
Definition MetadataARM64.hpp:88
uint32_t entrypoint
RVA of the entry point for this range.
Definition MetadataARM64.hpp:91
uint32_t start_rva
Start of the code range.
Definition MetadataARM64.hpp:85
Structure that describes architecture-specific ranges.
Definition MetadataARM64.hpp:39
uint32_t length
Range's length.
Definition MetadataARM64.hpp:57
static constexpr uint32_t TYPE_MASK
Definition MetadataARM64.hpp:40
TYPE
Definition MetadataARM64.hpp:42
@ ARM64EC
ARM64EC hybrid code (compatible with x64).
Definition MetadataARM64.hpp:47
@ AMD64
x64 code.
Definition MetadataARM64.hpp:50
@ ARM64
Pure ARM64 code.
Definition MetadataARM64.hpp:44
TYPE type() const
Architecture for this range.
Definition MetadataARM64.hpp:65
uint32_t start_offset
Raw data (include start RVA and type).
Definition MetadataARM64.hpp:54
uint32_t end() const
End of the range (RVA).
Definition MetadataARM64.hpp:70
uint32_t start() const
Start of the range (RVA).
Definition MetadataARM64.hpp:60
Structure that describes a redirection.
Definition MetadataARM64.hpp:76
uint32_t dst
Definition MetadataARM64.hpp:78
uint32_t src
Definition MetadataARM64.hpp:77
#define LIEF_API
Definition visibility.h:41