nnsdk/nn/
diag.rs

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}