Struct lief::pe::exception_aarch64::Unpacked
pub struct Unpacked<'a> { /* private fields */ }
Expand description
This class represents an unpacked AArch64 exception entry
Reference: https://learn.microsoft.com/en-us/cpp/build/arm64-exception-handling?view=msvc-170#xdata-records
Implementations§
§impl Unpacked<'_>
impl Unpacked<'_>
pub fn version(&self) -> u32
pub fn version(&self) -> u32
Describes the version of the remaining .xdata
.
Currently (2025-01-04), only version 0 is defined, so values of 1-3 aren’t permitted.
pub fn E(&self) -> u8
pub fn E(&self) -> u8
1-bit field that indicates that information describing a single epilog is packed into the header (1) rather than requiring more scope words later (0).
pub fn epilog_count(&self) -> u16
pub fn epilog_count(&self) -> u16
If Unpacked::E
== 0, specifies the count of the total number of epilog scopes.
Otherwise, return 0
pub fn epilog_offset(&self) -> u16
pub fn epilog_offset(&self) -> u16
If E() == 1, index of the first unwind code that describes the one and only epilog.
pub fn code_words(&self) -> u32
pub fn code_words(&self) -> u32
Number of 32-bit words needed to contain all of the unwind codes
pub fn exception_handler(&self) -> u32
pub fn exception_handler(&self) -> u32
Exception handler RVA (if any)
pub fn unwind_code(&self) -> &[u8] ⓘ
pub fn unwind_code(&self) -> &[u8] ⓘ
Slices that contain the unwind codes.
pub fn epilog_scopes(&self) -> EpilogScopes<'_> ⓘ
pub fn epilog_scopes(&self) -> EpilogScopes<'_> ⓘ
Iterator over the epilog scopes