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}