]> git.proxmox.com Git - cargo.git/blobdiff - vendor/backtrace-sys/src/lib.rs
New upstream version 0.33.0
[cargo.git] / vendor / backtrace-sys / src / lib.rs
index 0edc2674cca42d50cbec92b3a3fed8d59e4d7dc8..a3e74f3e7da1434916192eb91964b5e8ec868160 100644 (file)
@@ -1,44 +1,52 @@
 #![allow(bad_style)]
+#![no_std]
 
 extern crate libc;
 
-use libc::uintptr_t;
-use std::os::raw::{c_void, c_char, c_int};
+#[cfg(not(empty))]
+pub use self::bindings::*;
+#[cfg(not(empty))]
+mod bindings {
+    use libc::{c_void, c_char, c_int, uintptr_t};
 
-pub type backtrace_syminfo_callback =
-    extern fn(data: *mut c_void,
-              pc: uintptr_t,
-              symname: *const c_char,
-              symval: uintptr_t,
-              symsize: uintptr_t);
-pub type backtrace_full_callback =
-    extern fn(data: *mut c_void,
-              pc: uintptr_t,
-              filename: *const c_char,
-              lineno: c_int,
-              function: *const c_char) -> c_int;
-pub type backtrace_error_callback =
-    extern fn(data: *mut c_void,
-              msg: *const c_char,
-              errnum: c_int);
-pub enum backtrace_state {}
+    pub type backtrace_syminfo_callback =
+        extern fn(data: *mut c_void,
+                  pc: uintptr_t,
+                  symname: *const c_char,
+                  symval: uintptr_t,
+                  symsize: uintptr_t);
+    pub type backtrace_full_callback =
+        extern fn(data: *mut c_void,
+                  pc: uintptr_t,
+                  filename: *const c_char,
+                  lineno: c_int,
+                  function: *const c_char) -> c_int;
+    pub type backtrace_error_callback =
+        extern fn(data: *mut c_void,
+                  msg: *const c_char,
+                  errnum: c_int);
+    pub enum backtrace_state {}
 
-extern {
-    #[link_name = "__rbt_backtrace_create_state"]
-    pub fn backtrace_create_state(filename: *const c_char,
-                                  threaded: c_int,
-                                  error: backtrace_error_callback,
-                                  data: *mut c_void) -> *mut backtrace_state;
-    #[link_name = "__rbt_backtrace_syminfo"]
-    pub fn backtrace_syminfo(state: *mut backtrace_state,
-                             addr: uintptr_t,
-                             cb: backtrace_syminfo_callback,
-                             error: backtrace_error_callback,
-                             data: *mut c_void) -> c_int;
-    #[link_name = "__rbt_backtrace_pcinfo"]
-    pub fn backtrace_pcinfo(state: *mut backtrace_state,
-                            addr: uintptr_t,
-                            cb: backtrace_full_callback,
-                            error: backtrace_error_callback,
-                            data: *mut c_void) -> c_int;
+    extern "C" {
+        #[cfg_attr(rdos, link_name = "__rdos_backtrace_create_state")]
+        #[cfg_attr(rbt, link_name = "__rbt_backtrace_create_state")]
+        pub fn backtrace_create_state(filename: *const c_char,
+                                      threaded: c_int,
+                                      error: backtrace_error_callback,
+                                      data: *mut c_void) -> *mut backtrace_state;
+        #[cfg_attr(rdos, link_name = "__rdos_backtrace_syminfo")]
+        #[cfg_attr(rbt, link_name = "__rbt_backtrace_syminfo")]
+        pub fn backtrace_syminfo(state: *mut backtrace_state,
+                                 addr: uintptr_t,
+                                 cb: backtrace_syminfo_callback,
+                                 error: backtrace_error_callback,
+                                 data: *mut c_void) -> c_int;
+        #[cfg_attr(rdos, link_name = "__rdos_backtrace_pcinfo")]
+        #[cfg_attr(rbt, link_name = "__rbt_backtrace_pcinfo")]
+        pub fn backtrace_pcinfo(state: *mut backtrace_state,
+                                addr: uintptr_t,
+                                cb: backtrace_full_callback,
+                                error: backtrace_error_callback,
+                                data: *mut c_void) -> c_int;
+    }
 }