smartalloc_sys/
lib.rs

1#![no_std]
2
3pub use core::ffi::{c_char, c_int, c_void};
4
5#[repr(C)]
6pub enum Boolean {
7    False = 0,
8    True = 1,
9}
10
11impl From<bool> for Boolean {
12    fn from(b: bool) -> Self {
13        match b {
14            false => Boolean::False,
15            true => Boolean::True,
16        }
17    }
18}
19
20#[link(name = "smartall", kind = "static")]
21extern "C" {
22    pub fn sm_malloc(fname: *mut c_char, lineno: c_int, nbytes: usize) -> *mut c_void;
23    pub fn sm_calloc(fname: *mut c_char, lineno: c_int, nelem: usize, elsize: usize)
24        -> *mut c_void;
25    pub fn sm_realloc(
26        fname: *mut c_char,
27        lineno: c_int,
28        ptr: *mut c_void,
29        size: usize,
30    ) -> *mut c_void;
31    pub fn sm_free(ptr: *mut c_void);
32    pub fn sm_dump(datadump: Boolean);
33    pub fn sm_static(mode: isize);
34}