#[cxx::bridge]
pub mod ffi {
unsafe extern "C++" {
include!("LIEF/rust/PE/OptionalHeader.hpp");
type PE_OptionalHeader;
fn magic(self: &PE_OptionalHeader) -> u16;
fn major_linker_version(self: &PE_OptionalHeader) -> u8;
fn minor_linker_version(self: &PE_OptionalHeader) -> u8;
fn sizeof_code(self: &PE_OptionalHeader) -> u32;
fn sizeof_initialized_data(self: &PE_OptionalHeader) -> u32;
fn sizeof_uninitialized_data(self: &PE_OptionalHeader) -> u32;
fn addressof_entrypoint(self: &PE_OptionalHeader) -> u32;
fn baseof_code(self: &PE_OptionalHeader) -> u32;
fn baseof_data(self: &PE_OptionalHeader) -> u32;
fn imagebase(self: &PE_OptionalHeader) -> u64;
fn section_alignment(self: &PE_OptionalHeader) -> u32;
fn file_alignment(self: &PE_OptionalHeader) -> u32;
fn major_operating_system_version(self: &PE_OptionalHeader) -> u16;
fn minor_operating_system_version(self: &PE_OptionalHeader) -> u16;
fn major_image_version(self: &PE_OptionalHeader) -> u16;
fn minor_image_version(self: &PE_OptionalHeader) -> u16;
fn major_subsystem_version(self: &PE_OptionalHeader) -> u16;
fn minor_subsystem_version(self: &PE_OptionalHeader) -> u16;
fn win32_version_value(self: &PE_OptionalHeader) -> u32;
fn sizeof_image(self: &PE_OptionalHeader) -> u32;
fn sizeof_headers(self: &PE_OptionalHeader) -> u32;
fn checksum(self: &PE_OptionalHeader) -> u32;
fn subsystem(self: &PE_OptionalHeader) -> u64;
fn dll_characteristics(self: &PE_OptionalHeader) -> u32;
fn sizeof_stack_reserve(self: &PE_OptionalHeader) -> u64;
fn sizeof_stack_commit(self: &PE_OptionalHeader) -> u64;
fn sizeof_heap_reserve(self: &PE_OptionalHeader) -> u64;
fn sizeof_heap_commit(self: &PE_OptionalHeader) -> u64;
fn loader_flags(self: &PE_OptionalHeader) -> u32;
fn numberof_rva_and_size(self: &PE_OptionalHeader) -> u32;
fn set_addressof_entrypoint(self: Pin<&mut PE_OptionalHeader>, value: u32);
fn set_imagebase(self: Pin<&mut PE_OptionalHeader>, value: u64);
fn add_dll_characteristic(self: Pin<&mut PE_OptionalHeader>, value: u32);
fn remove_dll_characteristic(self: Pin<&mut PE_OptionalHeader>, value: u32);
}
impl UniquePtr<PE_OptionalHeader> {}
}