#[cxx::bridge]
pub mod ffi {
unsafe extern "C++" {
include!("LIEF/rust/DyldSharedCache/DyldSharedCache.hpp");
type asm_Instruction = crate::asm::instruction::ffi::asm_Instruction;
type dsc_Dylib = crate::dsc::dylib::ffi::dsc_Dylib;
type dsc_MappingInfo = crate::dsc::mapping_info::ffi::dsc_MappingInfo;
type dsc_SubCache = crate::dsc::sub_cache::ffi::dsc_SubCache;
type dsc_DyldSharedCache;
#[Self = "dsc_DyldSharedCache"]
fn from_path(file: &CxxString, arch: &CxxString) -> UniquePtr<dsc_DyldSharedCache>;
#[Self = "dsc_DyldSharedCache"]
unsafe fn from_files(ptr: *const c_char, size: usize) -> UniquePtr<dsc_DyldSharedCache>;
fn libraries(self: &dsc_DyldSharedCache) -> UniquePtr<dsc_DyldSharedCache_it_libraries>;
fn mapping_info(
self: &dsc_DyldSharedCache,
) -> UniquePtr<dsc_DyldSharedCache_it_mapping_info>;
fn subcaches(self: &dsc_DyldSharedCache) -> UniquePtr<dsc_DyldSharedCache_it_subcaches>;
fn filename(self: &dsc_DyldSharedCache) -> UniquePtr<CxxString>;
fn version(self: &dsc_DyldSharedCache) -> u32;
fn filepath(self: &dsc_DyldSharedCache) -> UniquePtr<CxxString>;
fn load_address(self: &dsc_DyldSharedCache) -> u64;
fn arch_name(self: &dsc_DyldSharedCache) -> UniquePtr<CxxString>;
fn platform(self: &dsc_DyldSharedCache) -> u32;
fn arch(self: &dsc_DyldSharedCache) -> u32;
fn has_subcaches(self: &dsc_DyldSharedCache) -> bool;
fn find_lib_from_va(self: &dsc_DyldSharedCache, va: u64) -> UniquePtr<dsc_Dylib>;
fn find_lib_from_path(self: &dsc_DyldSharedCache, path: &CxxString)
-> UniquePtr<dsc_Dylib>;
fn find_lib_from_name(self: &dsc_DyldSharedCache, name: &CxxString)
-> UniquePtr<dsc_Dylib>;
fn enable_caching(self: &dsc_DyldSharedCache, dir: &CxxString);
fn flush_cache(self: &dsc_DyldSharedCache);
fn disassemble(
self: &dsc_DyldSharedCache,
addr: u64,
) -> UniquePtr<dsc_DyldSharedCache_it_instructions>;
fn cache_for_address(
self: &dsc_DyldSharedCache,
addr: u64,
) -> UniquePtr<dsc_DyldSharedCache>;
fn main_cache(self: &dsc_DyldSharedCache) -> UniquePtr<dsc_DyldSharedCache>;
fn find_subcache(
self: &dsc_DyldSharedCache,
filename: &CxxString,
) -> UniquePtr<dsc_DyldSharedCache>;
fn va_to_offset(self: &dsc_DyldSharedCache, va: u64, err: Pin<&mut u32>) -> u64;
fn get_content_from_va(
self: &dsc_DyldSharedCache,
va: u64,
size: u64,
) -> UniquePtr<CxxVector<u8>>;
type dsc_DyldSharedCache_it_instructions;
fn next(self: Pin<&mut dsc_DyldSharedCache_it_instructions>) -> UniquePtr<asm_Instruction>;
type dsc_DyldSharedCache_it_libraries;
fn next(self: Pin<&mut dsc_DyldSharedCache_it_libraries>) -> UniquePtr<dsc_Dylib>;
fn size(self: &dsc_DyldSharedCache_it_libraries) -> u64;
type dsc_DyldSharedCache_it_mapping_info;
fn next(self: Pin<&mut dsc_DyldSharedCache_it_mapping_info>) -> UniquePtr<dsc_MappingInfo>;
fn size(self: &dsc_DyldSharedCache_it_mapping_info) -> u64;
type dsc_DyldSharedCache_it_subcaches;
fn next(self: Pin<&mut dsc_DyldSharedCache_it_subcaches>) -> UniquePtr<dsc_SubCache>;
fn size(self: &dsc_DyldSharedCache_it_subcaches) -> u64;
}
impl UniquePtr<dsc_DyldSharedCache> {}
impl UniquePtr<dsc_DyldSharedCache_it_instructions> {}
impl UniquePtr<dsc_DyldSharedCache_it_libraries> {}
impl UniquePtr<dsc_DyldSharedCache_it_mapping_info> {}
impl UniquePtr<dsc_DyldSharedCache_it_subcaches> {}
}