| 1 | |
| 2 |
|
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 |
|
| 11 | #![no_std]
|
| 12 |
|
| 13 | macro_rules! alias {
|
| 14 | ($($name:ident = $ty:ty;)*) => {$(
|
| 15 | #[allow(non_camel_case_types, missing_docs)]
|
| 16 | pub type $name = $ty;
|
| 17 |
|
| 18 | |
| 19 | const _: () = assert!(
|
| 20 | ::core::mem::size_of::<$name>() == ::core::mem::size_of::<::core::ffi::$name>()
|
| 21 | );
|
| 22 | )*}
|
| 23 | }
|
| 24 |
|
| 25 | alias! {
|
| 26 | |
| 27 | |
| 28 | c_char = u8;
|
| 29 |
|
| 30 | c_schar = i8;
|
| 31 | c_uchar = u8;
|
| 32 |
|
| 33 | c_short = i16;
|
| 34 | c_ushort = u16;
|
| 35 |
|
| 36 | c_int = i32;
|
| 37 | c_uint = u32;
|
| 38 |
|
| 39 | |
| 40 | |
| 41 | c_long = isize;
|
| 42 | c_ulong = usize;
|
| 43 |
|
| 44 | c_longlong = i64;
|
| 45 | c_ulonglong = u64;
|
| 46 | }
|
| 47 |
|
| 48 | pub use core::ffi::c_void;
|
| 49 |
|
| 50 | pub use core::ffi::CStr;
|