]> git.proxmox.com Git - rustc.git/blame - vendor/backtrace-sys/src/lib.rs
New upstream version 1.38.0+dfsg1
[rustc.git] / vendor / backtrace-sys / src / lib.rs
CommitLineData
7cac9316 1#![allow(bad_style)]
0731742a 2#![no_std]
7cac9316
XL
3
4extern crate libc;
5
0731742a
XL
6#[cfg(not(empty))]
7pub use self::bindings::*;
8#[cfg(not(empty))]
9mod 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}