#[cxx::bridge]
pub mod ffi {
unsafe extern "C++" {
include!("LIEF/rust/PE/LoadConfiguration/DynamicRelocation/DynamicFixup.hpp");
type Span = crate::utils::ffi::Span;
type PE_Relocation = crate::pe::relocation::ffi::PE_Relocation;
type PE_DynamicFixup;
fn to_string(self: &PE_DynamicFixup) -> UniquePtr<CxxString>;
type PE_DynamicFixupARM64Kernel;
#[Self = "PE_DynamicFixupARM64Kernel"]
fn classof(meta: &PE_DynamicFixup) -> bool;
fn relocations(
self: &PE_DynamicFixupARM64Kernel,
) -> UniquePtr<PE_DynamicFixupARM64Kernel_it_relocations>;
type PE_DynamicFixupARM64Kernel_entry;
fn to_string(self: &PE_DynamicFixupARM64Kernel_entry) -> UniquePtr<CxxString>;
fn rva(self: &PE_DynamicFixupARM64Kernel_entry) -> u32;
fn indirect_call(self: &PE_DynamicFixupARM64Kernel_entry) -> bool;
fn register_index(self: &PE_DynamicFixupARM64Kernel_entry) -> u8;
fn import_type(self: &PE_DynamicFixupARM64Kernel_entry) -> u8;
fn iat_index(self: &PE_DynamicFixupARM64Kernel_entry) -> u16;
type PE_DynamicFixupARM64Kernel_it_relocations;
fn next(
self: Pin<&mut PE_DynamicFixupARM64Kernel_it_relocations>,
) -> UniquePtr<PE_DynamicFixupARM64Kernel_entry>;
fn size(self: &PE_DynamicFixupARM64Kernel_it_relocations) -> u64;
type PE_DynamicFixupARM64X;
#[Self = "PE_DynamicFixupARM64X"]
fn classof(meta: &PE_DynamicFixup) -> bool;
fn relocations(
self: &PE_DynamicFixupARM64X,
) -> UniquePtr<PE_DynamicFixupARM64X_it_relocations>;
type PE_DynamicFixupARM64X_entry;
fn get_bytes(self: &PE_DynamicFixupARM64X_entry) -> Span;
fn rva(self: &PE_DynamicFixupARM64X_entry) -> u32;
fn value(self: &PE_DynamicFixupARM64X_entry) -> i64;
fn size(self: &PE_DynamicFixupARM64X_entry) -> u32;
fn get_type(self: &PE_DynamicFixupARM64X_entry) -> u32;
fn to_string(self: &PE_DynamicFixupARM64X_entry) -> UniquePtr<CxxString>;
type PE_DynamicFixupARM64X_it_relocations;
fn next(
self: Pin<&mut PE_DynamicFixupARM64X_it_relocations>,
) -> UniquePtr<PE_DynamicFixupARM64X_entry>;
fn size(self: &PE_DynamicFixupARM64X_it_relocations) -> u64;
type PE_DynamicFixupControlTransfer;
#[Self = "PE_DynamicFixupControlTransfer"]
fn classof(meta: &PE_DynamicFixup) -> bool;
fn relocations(
self: &PE_DynamicFixupControlTransfer,
) -> UniquePtr<PE_DynamicFixupControlTransfer_it_relocations>;
type PE_DynamicFixupControlTransfer_entry;
fn rva(self: &PE_DynamicFixupControlTransfer_entry) -> u32;
fn is_call(self: &PE_DynamicFixupControlTransfer_entry) -> bool;
fn iat_index(self: &PE_DynamicFixupControlTransfer_entry) -> u16;
fn to_string(self: &PE_DynamicFixupControlTransfer_entry) -> UniquePtr<CxxString>;
type PE_DynamicFixupControlTransfer_it_relocations;
fn next(
self: Pin<&mut PE_DynamicFixupControlTransfer_it_relocations>,
) -> UniquePtr<PE_DynamicFixupControlTransfer_entry>;
fn size(self: &PE_DynamicFixupControlTransfer_it_relocations) -> u64;
type PE_DynamicFixupGeneric;
#[Self = "PE_DynamicFixupGeneric"]
fn classof(meta: &PE_DynamicFixup) -> bool;
fn relocations(
self: &PE_DynamicFixupGeneric,
) -> UniquePtr<PE_DynamicFixupGeneric_it_relocations>;
type PE_DynamicFixupGeneric_it_relocations;
fn next(self: Pin<&mut PE_DynamicFixupGeneric_it_relocations>) -> UniquePtr<PE_Relocation>;
fn size(self: &PE_DynamicFixupGeneric_it_relocations) -> u64;
type PE_DynamicFixupUnknown;
#[Self = "PE_DynamicFixupUnknown"]
fn classof(meta: &PE_DynamicFixup) -> bool;
fn payload(self: &PE_DynamicFixupUnknown) -> Span;
type PE_FunctionOverride;
#[Self = "PE_FunctionOverride"]
fn classof(meta: &PE_DynamicFixup) -> bool;
fn func_overriding_info(
self: &PE_FunctionOverride,
) -> UniquePtr<PE_FunctionOverride_it_func_overriding_info>;
fn bdd_info(self: &PE_FunctionOverride) -> UniquePtr<PE_FunctionOverride_it_bdd_info>;
fn bdd_info_at(
self: &PE_FunctionOverride,
offset: u32,
) -> UniquePtr<PE_FunctionOverride_image_bdd_info_t>;
fn bdd_info_for(
self: &PE_FunctionOverride,
info: &PE_FunctionOverrideInfo,
) -> UniquePtr<PE_FunctionOverride_image_bdd_info_t>;
type PE_FunctionOverrideInfo;
fn original_rva(self: &PE_FunctionOverrideInfo) -> u32;
fn bdd_offset(self: &PE_FunctionOverrideInfo) -> u32;
fn rva_size(self: &PE_FunctionOverrideInfo) -> u32;
fn base_reloc_size(self: &PE_FunctionOverrideInfo) -> u32;
fn functions_rva(self: &PE_FunctionOverrideInfo) -> UniquePtr<CxxVector<u32>>;
fn relocations(
self: &PE_FunctionOverrideInfo,
) -> UniquePtr<PE_FunctionOverrideInfo_it_relocations>;
fn to_string(self: &PE_FunctionOverrideInfo) -> UniquePtr<CxxString>;
type PE_FunctionOverrideInfo_it_relocations;
fn next(self: Pin<&mut PE_FunctionOverrideInfo_it_relocations>)
-> UniquePtr<PE_Relocation>;
fn size(self: &PE_FunctionOverrideInfo_it_relocations) -> u64;
type PE_FunctionOverride_image_bdd_dynamic_relocation_t;
fn value(self: &PE_FunctionOverride_image_bdd_dynamic_relocation_t) -> u32;
fn left(self: &PE_FunctionOverride_image_bdd_dynamic_relocation_t) -> u16;
fn right(self: &PE_FunctionOverride_image_bdd_dynamic_relocation_t) -> u16;
type PE_FunctionOverride_image_bdd_info_t;
fn payload(self: &PE_FunctionOverride_image_bdd_info_t) -> Span;
fn version(self: &PE_FunctionOverride_image_bdd_info_t) -> u32;
fn original_size(self: &PE_FunctionOverride_image_bdd_info_t) -> u32;
fn original_offset(self: &PE_FunctionOverride_image_bdd_info_t) -> u32;
fn relocations(
self: &PE_FunctionOverride_image_bdd_info_t,
) -> UniquePtr<PE_FunctionOverride_image_bdd_info_t_it_relocations>;
type PE_FunctionOverride_image_bdd_info_t_it_relocations;
fn next(
self: Pin<&mut PE_FunctionOverride_image_bdd_info_t_it_relocations>,
) -> UniquePtr<PE_FunctionOverride_image_bdd_dynamic_relocation_t>;
fn size(self: &PE_FunctionOverride_image_bdd_info_t_it_relocations) -> u64;
type PE_FunctionOverride_it_bdd_info;
fn next(
self: Pin<&mut PE_FunctionOverride_it_bdd_info>,
) -> UniquePtr<PE_FunctionOverride_image_bdd_info_t>;
fn size(self: &PE_FunctionOverride_it_bdd_info) -> u64;
type PE_FunctionOverride_it_func_overriding_info;
fn next(
self: Pin<&mut PE_FunctionOverride_it_func_overriding_info>,
) -> UniquePtr<PE_FunctionOverrideInfo>;
fn size(self: &PE_FunctionOverride_it_func_overriding_info) -> u64;
}
impl UniquePtr<PE_DynamicFixup> {}
impl UniquePtr<PE_DynamicFixupARM64Kernel> {}
impl UniquePtr<PE_DynamicFixupARM64Kernel_entry> {}
impl UniquePtr<PE_DynamicFixupARM64Kernel_it_relocations> {}
impl UniquePtr<PE_DynamicFixupARM64X> {}
impl UniquePtr<PE_DynamicFixupARM64X_entry> {}
impl UniquePtr<PE_DynamicFixupARM64X_it_relocations> {}
impl UniquePtr<PE_DynamicFixupControlTransfer> {}
impl UniquePtr<PE_DynamicFixupControlTransfer_entry> {}
impl UniquePtr<PE_DynamicFixupControlTransfer_it_relocations> {}
impl UniquePtr<PE_DynamicFixupGeneric> {}
impl UniquePtr<PE_DynamicFixupGeneric_it_relocations> {}
impl UniquePtr<PE_DynamicFixupUnknown> {}
impl UniquePtr<PE_FunctionOverride> {}
impl UniquePtr<PE_FunctionOverride_image_bdd_dynamic_relocation_t> {}
impl UniquePtr<PE_FunctionOverride_image_bdd_info_t> {}
impl UniquePtr<PE_FunctionOverride_image_bdd_info_t_it_relocations> {}
impl UniquePtr<PE_FunctionOverrideInfo> {}
impl UniquePtr<PE_FunctionOverrideInfo_it_relocations> {}
impl UniquePtr<PE_FunctionOverride_it_bdd_info> {}
impl UniquePtr<PE_FunctionOverride_it_func_overriding_info> {}
}