]>
Commit | Line | Data |
---|---|---|
7cac9316 | 1 | #![allow(bad_style)] |
0731742a | 2 | #![no_std] |
7cac9316 XL |
3 | |
4 | extern crate libc; | |
5 | ||
0731742a XL |
6 | #[cfg(not(empty))] |
7 | pub use self::bindings::*; | |
8 | #[cfg(not(empty))] | |
9 | mod bindings { | |
416331ca | 10 | use libc::{c_char, c_int, c_void, uintptr_t}; |
7cac9316 | 11 | |
416331ca XL |
12 | pub type backtrace_syminfo_callback = extern "C" fn( |
13 | data: *mut c_void, | |
14 | pc: uintptr_t, | |
15 | symname: *const c_char, | |
16 | symval: uintptr_t, | |
17 | symsize: uintptr_t, | |
18 | ); | |
19 | pub type backtrace_full_callback = extern "C" fn( | |
20 | data: *mut c_void, | |
21 | pc: uintptr_t, | |
22 | filename: *const c_char, | |
23 | lineno: c_int, | |
24 | function: *const c_char, | |
25 | ) -> c_int; | |
0731742a | 26 | pub type backtrace_error_callback = |
416331ca | 27 | extern "C" fn(data: *mut c_void, msg: *const c_char, errnum: c_int); |
0731742a | 28 | pub enum backtrace_state {} |
7cac9316 | 29 | |
0731742a XL |
30 | extern "C" { |
31 | #[cfg_attr(rdos, link_name = "__rdos_backtrace_create_state")] | |
32 | #[cfg_attr(rbt, link_name = "__rbt_backtrace_create_state")] | |
416331ca XL |
33 | pub fn backtrace_create_state( |
34 | filename: *const c_char, | |
35 | threaded: c_int, | |
36 | error: backtrace_error_callback, | |
37 | data: *mut c_void, | |
38 | ) -> *mut backtrace_state; | |
0731742a XL |
39 | #[cfg_attr(rdos, link_name = "__rdos_backtrace_syminfo")] |
40 | #[cfg_attr(rbt, link_name = "__rbt_backtrace_syminfo")] | |
416331ca XL |
41 | pub fn backtrace_syminfo( |
42 | state: *mut backtrace_state, | |
43 | addr: uintptr_t, | |
44 | cb: backtrace_syminfo_callback, | |
45 | error: backtrace_error_callback, | |
46 | data: *mut c_void, | |
47 | ) -> c_int; | |
0731742a XL |
48 | #[cfg_attr(rdos, link_name = "__rdos_backtrace_pcinfo")] |
49 | #[cfg_attr(rbt, link_name = "__rbt_backtrace_pcinfo")] | |
416331ca XL |
50 | pub fn backtrace_pcinfo( |
51 | state: *mut backtrace_state, | |
52 | addr: uintptr_t, | |
53 | cb: backtrace_full_callback, | |
54 | error: backtrace_error_callback, | |
55 | data: *mut c_void, | |
56 | ) -> c_int; | |
0731742a | 57 | } |
7cac9316 | 58 | } |