LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::PE::CHPEMetadataARM64 Class Reference

This class represents hybrid metadata for ARM64EC or ARM64X. More...

#include <MetadataARM64.hpp>

Inheritance diagram for LIEF::PE::CHPEMetadataARM64:
Collaboration diagram for LIEF::PE::CHPEMetadataARM64:

Classes

struct  range_entry_t
 Structure that describes architecture-specific ranges. More...
 
struct  redirection_entry_t
 Structure that describes a redirection. More...
 

Public Types

using range_entries_t = std::vector<range_entry_t>
 
using it_range_entries = ref_iterator<range_entries_t&>
 
using it_const_range_entries = const_ref_iterator<const range_entries_t&>
 
using redirection_entries_t = std::vector<redirection_entry_t>
 
using it_redirection_entries = ref_iterator<redirection_entries_t&>
 
using it_const_redirection_entries = const_ref_iterator<const redirection_entries_t&>
 
 Discriminator for the subclasses. More...

Public Member Functions

 CHPEMetadataARM64 (uint32_t version)
 
 CHPEMetadataARM64 (const CHPEMetadataARM64 &)=default
 
CHPEMetadataARM64operator= (const CHPEMetadataARM64 &)=default
 
 CHPEMetadataARM64 (CHPEMetadataARM64 &&)=default
 
CHPEMetadataARM64operator= (CHPEMetadataARM64 &&)=default
 
std::unique_ptr< CHPEMetadataclone () const override
 
uint32_t code_map () const
 RVA to the array that describes architecture-specific ranges.
 
uint32_t code_map_count () const
 Number of entries in the code map.
 
uint32_t code_ranges_to_entrypoints () const
 
uint32_t redirection_metadata () const
 
uint32_t os_arm64x_dispatch_call_no_redirect () const
 
uint32_t os_arm64x_dispatch_ret () const
 
uint32_t os_arm64x_dispatch_call () const
 
uint32_t os_arm64x_dispatch_icall () const
 
uint32_t os_arm64x_dispatch_icall_cfg () const
 
uint32_t alternate_entry_point () const
 
uint32_t auxiliary_iat () const
 
uint32_t code_ranges_to_entry_points_count () const
 
uint32_t redirection_metadata_count () const
 
uint32_t get_x64_information_function_pointer () const
 
uint32_t set_x64_information_function_pointer () const
 
uint32_t extra_rfe_table () const
 RVA to this architecture-specific exception table.
 
uint32_t extra_rfe_table_size () const
 architecture-specific exception table size
 
uint32_t os_arm64x_dispatch_fptr () const
 
uint32_t auxiliary_iat_copy () const
 
uint32_t auxiliary_delay_import () const
 
uint32_t auxiliary_delay_import_copy () const
 
uint32_t bitfield_info () const
 
it_range_entries code_ranges ()
 
it_const_range_entries code_ranges () const
 
it_redirection_entries redirections ()
 
it_const_redirection_entries redirections () const
 
CHPEMetadataARM64code_map (uint32_t value)
 
CHPEMetadataARM64code_map_count (uint32_t value)
 
CHPEMetadataARM64code_ranges_to_entrypoints (uint32_t value)
 
CHPEMetadataARM64redirection_metadata (uint32_t value)
 
CHPEMetadataARM64os_arm64x_dispatch_call_no_redirect (uint32_t value)
 
CHPEMetadataARM64os_arm64x_dispatch_ret (uint32_t value)
 
CHPEMetadataARM64os_arm64x_dispatch_call (uint32_t value)
 
CHPEMetadataARM64os_arm64x_dispatch_icall (uint32_t value)
 
CHPEMetadataARM64os_arm64x_dispatch_icall_cfg (uint32_t value)
 
CHPEMetadataARM64alternate_entry_point (uint32_t value)
 
CHPEMetadataARM64auxiliary_iat (uint32_t value)
 
CHPEMetadataARM64code_ranges_to_entry_points_count (uint32_t value)
 
CHPEMetadataARM64redirection_metadata_count (uint32_t value)
 
CHPEMetadataARM64get_x64_information_function_pointer (uint32_t value)
 
CHPEMetadataARM64set_x64_information_function_pointer (uint32_t value)
 
CHPEMetadataARM64extra_rfe_table (uint32_t value)
 
CHPEMetadataARM64extra_rfe_table_size (uint32_t value)
 
CHPEMetadataARM64os_arm64x_dispatch_fptr (uint32_t value)
 
CHPEMetadataARM64auxiliary_iat_copy (uint32_t value)
 
CHPEMetadataARM64auxiliary_delay_import (uint32_t value)
 
CHPEMetadataARM64auxiliary_delay_import_copy (uint32_t value)
 
CHPEMetadataARM64bitfield_info (uint32_t value)
 
std::string to_string () const override
 
 ~CHPEMetadataARM64 () override=default
 

Static Public Member Functions

static std::unique_ptr< CHPEMetadataARM64parse (Parser &ctx, BinaryStream &stream, uint32_t version)
 
static ok_error_t parse_code_map (Parser &ctx, CHPEMetadataARM64 &metadata)
 
static ok_error_t parse_redirections (Parser &ctx, CHPEMetadataARM64 &metadata)
 
static bool classof (const CHPEMetadata *meta)
 

Detailed Description

This class represents hybrid metadata for ARM64EC or ARM64X.

Member Typedef Documentation

◆ it_const_range_entries

◆ it_const_redirection_entries

◆ it_range_entries

◆ it_redirection_entries

◆ range_entries_t

◆ redirection_entries_t

Constructor & Destructor Documentation

◆ CHPEMetadataARM64() [1/3]

LIEF::PE::CHPEMetadataARM64::CHPEMetadataARM64 ( uint32_t version)
inline

◆ CHPEMetadataARM64() [2/3]

LIEF::PE::CHPEMetadataARM64::CHPEMetadataARM64 ( const CHPEMetadataARM64 & )
default

◆ CHPEMetadataARM64() [3/3]

LIEF::PE::CHPEMetadataARM64::CHPEMetadataARM64 ( CHPEMetadataARM64 && )
default

◆ ~CHPEMetadataARM64()

LIEF::PE::CHPEMetadataARM64::~CHPEMetadataARM64 ( )
overridedefault

Member Function Documentation

◆ alternate_entry_point() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::alternate_entry_point ( ) const
inline

◆ alternate_entry_point() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::alternate_entry_point ( uint32_t value)
inline

◆ auxiliary_delay_import() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::auxiliary_delay_import ( ) const
inline

◆ auxiliary_delay_import() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::auxiliary_delay_import ( uint32_t value)
inline

◆ auxiliary_delay_import_copy() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::auxiliary_delay_import_copy ( ) const
inline

◆ auxiliary_delay_import_copy() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::auxiliary_delay_import_copy ( uint32_t value)
inline

◆ auxiliary_iat() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::auxiliary_iat ( ) const
inline

◆ auxiliary_iat() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::auxiliary_iat ( uint32_t value)
inline

◆ auxiliary_iat_copy() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::auxiliary_iat_copy ( ) const
inline

◆ auxiliary_iat_copy() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::auxiliary_iat_copy ( uint32_t value)
inline

◆ bitfield_info() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::bitfield_info ( ) const
inline

◆ bitfield_info() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::bitfield_info ( uint32_t value)
inline

◆ classof()

static bool LIEF::PE::CHPEMetadataARM64::classof ( const CHPEMetadata * meta)
inlinestatic

◆ clone()

std::unique_ptr< CHPEMetadata > LIEF::PE::CHPEMetadataARM64::clone ( ) const
inlineoverridevirtual

Reimplemented from LIEF::PE::CHPEMetadata.

◆ code_map() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::code_map ( ) const
inline

RVA to the array that describes architecture-specific ranges.

◆ code_map() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::code_map ( uint32_t value)
inline

◆ code_map_count() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::code_map_count ( ) const
inline

Number of entries in the code map.

◆ code_map_count() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::code_map_count ( uint32_t value)
inline

◆ code_ranges() [1/2]

it_range_entries LIEF::PE::CHPEMetadataARM64::code_ranges ( )
inline

◆ code_ranges() [2/2]

it_const_range_entries LIEF::PE::CHPEMetadataARM64::code_ranges ( ) const
inline

◆ code_ranges_to_entry_points_count() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::code_ranges_to_entry_points_count ( ) const
inline

◆ code_ranges_to_entry_points_count() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::code_ranges_to_entry_points_count ( uint32_t value)
inline

◆ code_ranges_to_entrypoints() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::code_ranges_to_entrypoints ( ) const
inline

◆ code_ranges_to_entrypoints() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::code_ranges_to_entrypoints ( uint32_t value)
inline

◆ extra_rfe_table() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::extra_rfe_table ( ) const
inline

RVA to this architecture-specific exception table.

◆ extra_rfe_table() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::extra_rfe_table ( uint32_t value)
inline

◆ extra_rfe_table_size() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::extra_rfe_table_size ( ) const
inline

architecture-specific exception table size

◆ extra_rfe_table_size() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::extra_rfe_table_size ( uint32_t value)
inline

◆ get_x64_information_function_pointer() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::get_x64_information_function_pointer ( ) const
inline

◆ get_x64_information_function_pointer() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::get_x64_information_function_pointer ( uint32_t value)
inline

◆ operator=() [1/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::operator= ( CHPEMetadataARM64 && )
default

◆ operator=() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::operator= ( const CHPEMetadataARM64 & )
default

◆ os_arm64x_dispatch_call() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_call ( ) const
inline

◆ os_arm64x_dispatch_call() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_call ( uint32_t value)
inline

◆ os_arm64x_dispatch_call_no_redirect() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_call_no_redirect ( ) const
inline

◆ os_arm64x_dispatch_call_no_redirect() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_call_no_redirect ( uint32_t value)
inline

◆ os_arm64x_dispatch_fptr() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_fptr ( ) const
inline

◆ os_arm64x_dispatch_fptr() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_fptr ( uint32_t value)
inline

◆ os_arm64x_dispatch_icall() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_icall ( ) const
inline

◆ os_arm64x_dispatch_icall() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_icall ( uint32_t value)
inline

◆ os_arm64x_dispatch_icall_cfg() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_icall_cfg ( ) const
inline

◆ os_arm64x_dispatch_icall_cfg() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_icall_cfg ( uint32_t value)
inline

◆ os_arm64x_dispatch_ret() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_ret ( ) const
inline

◆ os_arm64x_dispatch_ret() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::os_arm64x_dispatch_ret ( uint32_t value)
inline

◆ parse()

static std::unique_ptr< CHPEMetadataARM64 > LIEF::PE::CHPEMetadataARM64::parse ( Parser & ctx,
BinaryStream & stream,
uint32_t version )
static

◆ parse_code_map()

static ok_error_t LIEF::PE::CHPEMetadataARM64::parse_code_map ( Parser & ctx,
CHPEMetadataARM64 & metadata )
static

◆ parse_redirections()

static ok_error_t LIEF::PE::CHPEMetadataARM64::parse_redirections ( Parser & ctx,
CHPEMetadataARM64 & metadata )
static

◆ redirection_metadata() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::redirection_metadata ( ) const
inline

◆ redirection_metadata() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::redirection_metadata ( uint32_t value)
inline

◆ redirection_metadata_count() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::redirection_metadata_count ( ) const
inline

◆ redirection_metadata_count() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::redirection_metadata_count ( uint32_t value)
inline

◆ redirections() [1/2]

it_redirection_entries LIEF::PE::CHPEMetadataARM64::redirections ( )
inline

◆ redirections() [2/2]

it_const_redirection_entries LIEF::PE::CHPEMetadataARM64::redirections ( ) const
inline

◆ set_x64_information_function_pointer() [1/2]

uint32_t LIEF::PE::CHPEMetadataARM64::set_x64_information_function_pointer ( ) const
inline

◆ set_x64_information_function_pointer() [2/2]

CHPEMetadataARM64 & LIEF::PE::CHPEMetadataARM64::set_x64_information_function_pointer ( uint32_t value)
inline

◆ to_string()

std::string LIEF::PE::CHPEMetadataARM64::to_string ( ) const
overridevirtual

Reimplemented from LIEF::PE::CHPEMetadata.


The documentation for this class was generated from the following file: