#[cxx::bridge]
pub mod ffi {
unsafe extern "C++" {
include!("LIEF/rust/ELF/Relocation.hpp");
type ELF_Section = crate::elf::section::ffi::ELF_Section;
type ELF_Symbol = crate::elf::symbol::ffi::ELF_Symbol;
type ELF_Relocation;
fn addend(self: &ELF_Relocation) -> i64;
fn get_type(self: &ELF_Relocation) -> u32;
fn is_rela(self: &ELF_Relocation) -> bool;
fn is_rel(self: &ELF_Relocation) -> bool;
fn info(self: &ELF_Relocation) -> u32;
fn architecture(self: &ELF_Relocation) -> u32;
fn purpose(self: &ELF_Relocation) -> u32;
fn encoding(self: &ELF_Relocation) -> u32;
fn symbol(self: &ELF_Relocation) -> UniquePtr<ELF_Symbol>;
fn section(self: &ELF_Relocation) -> UniquePtr<ELF_Section>;
fn symbol_table(self: &ELF_Relocation) -> UniquePtr<ELF_Section>;
fn resolve(self: &ELF_Relocation, base_address: u64, err: Pin<&mut u32>) -> u64;
}
impl UniquePtr<ELF_Relocation> {}
}