1#[allow(unused_imports)]
2use self::super::root;
3pub mod detail;
4
5#[repr(C)]
6#[derive(Debug, Copy, Clone)]
7pub struct LogMetaData {
8 _unused: [u8; 0],
9}
10#[repr(C)]
11pub struct ModuleInfo {
12 pub mPath: *mut u8,
13 pub mBaseAddr: u64,
14 pub mSize: u64,
15}
16
17extern "C" {
18 #[link_name = "\u{1}_ZN2nn4diag12GetBacktraceEPmi"]
19 pub fn GetBacktrace(out_array: *mut *const u8, array_len: i32) -> usize;
20}
21extern "C" {
22 #[link_name = "\u{1}_ZN2nn4diag12GetBacktraceEPmimmm"]
23 pub fn GetBacktrace1(
24 out_array: *mut *const u8,
25 array_len: i32,
26 fp: *const u64,
27 sp: *const u64,
28 pc: *const u64,
29 ) -> usize;
30}
31extern "C" {
32 #[link_name = "\u{1}_ZN2nn4diag13GetSymbolNameEPcmm"]
33 pub fn GetSymbolName(name: *mut u8, nameSize: u64, addr: u64)
34 -> *mut u32;
35}
36extern "C" {
37 #[link_name = "\u{1}_ZN2nn4diag40GetRequiredBufferSizeForGetAllModuleInfoEv"]
38 pub fn GetRequiredBufferSizeForGetAllModuleInfo() -> u64;
39}
40extern "C" {
41 #[link_name = "\u{1}_ZN2nn4diag16GetAllModuleInfoEPPNS0_10ModuleInfoEPvm"]
42 pub fn GetAllModuleInfo(
43 out: *mut *mut root::nn::diag::ModuleInfo,
44 buffer: *mut u8,
45 bufferSize: u64,
46 ) -> root::s32;
47}
48extern "C" {
49 #[link_name = "\u{1}_ZN2nn4diag13GetSymbolSizeEm"]
50 pub fn GetSymbolSize(addr: u64) -> u64;
51}