| //! SGX C types definition | |
| pub type c_schar = i8; | |
| pub type c_uchar = u8; | |
| pub type c_short = i16; | |
| pub type c_ushort = u16; | |
| pub type c_int = i32; | |
| pub type c_uint = u32; | |
| pub type c_float = f32; | |
| pub type c_double = f64; | |
| pub type c_longlong = i64; | |
| pub type c_ulonglong = u64; | |
| pub type intmax_t = i64; | |
| pub type uintmax_t = u64; | |
| pub type size_t = usize; | |
| pub type ptrdiff_t = isize; | |
| pub type intptr_t = isize; | |
| pub type uintptr_t = usize; | |
| pub type ssize_t = isize; | |
| pub type c_char = i8; | |
| pub type c_long = i64; | |
| pub type c_ulong = u64; | |
| pub const INT_MIN: c_int = -2147483648; | |
| pub const INT_MAX: c_int = 2147483647; | |
| cfg_if! { | |
| if #[cfg(libc_core_cvoid)] { | |
| pub use ::ffi::c_void; | |
| } else { | |
| // Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help | |
| // enable more optimization opportunities around it recognizing things | |
| // like malloc/free. | |
| #[repr(u8)] | |
| #[allow(missing_copy_implementations)] | |
| #[allow(missing_debug_implementations)] | |
| pub enum c_void { | |
| // Two dummy variants so the #[repr] attribute can be used. | |
| #[doc(hidden)] | |
| __variant1, | |
| #[doc(hidden)] | |
| __variant2, | |
| } | |
| } | |
| } |