rlibcex/
lib.rs

1#![no_std]
2#![allow(non_camel_case_types)]
3#![cfg_attr(test, feature(test))]
4
5#[cfg(test)]
6extern crate test;
7
8/*
9#[repr(u8)]
10enum c_void {
11    #[doc(hidden)]
12    __variant1,
13    #[doc(hidden)]
14    __variant2,
15}
16*/
17
18#[cfg(any(target_arch = "x86",
19          target_arch = "arm",
20          target_arch = "mips",
21          target_arch = "mipsel",
22          target_arch = "powerpc",
23          target_arch = "le32"))]
24mod libc {
25    pub type c_char = i8;
26    pub type c_int = i32;
27    pub type size_t = u32;
28    pub type wchar_t = i32;
29}
30
31#[cfg(any(target_arch = "x86_64",
32          target_arch = "aarch64"))]
33mod libc {
34    #[cfg(not(target_arch = "aarch64"))]
35    pub type c_char = i8;
36    #[cfg(target_arch = "aarch64")]
37    pub type c_char = u8;
38    pub type c_int = i32;
39    pub type size_t = u64;
40    #[cfg(not(target_arch = "aarch64"))]
41    pub type wchar_t = i32;
42    #[cfg(target_arch = "aarch64")]
43    pub type wchar_t = u32;
44}
45
46pub mod ctype;
47pub mod string;