1 pub type c_long = i64; 2 pub type c_ulong = u64; 3 pub type c_char = u8; 4 pub type ucontext_t = sigcontext; 5 6 s! { 7 pub struct sigcontext { 8 __sc_unused: ::c_int, 9 pub sc_mask: ::c_int, 10 pub sc_sp: ::c_ulong, 11 pub sc_lr: ::c_ulong, 12 pub sc_elr: ::c_ulong, 13 pub sc_spsr: ::c_ulong, 14 pub sc_x: [::c_ulong; 30], 15 pub sc_cookie: ::c_long, 16 } 17 } 18 19 // should be pub(crate), but that requires Rust 1.18.0 20 cfg_if! { 21 if #[cfg(libc_const_size_of)] { 22 #[doc(hidden)] 23 pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1; 24 } else { 25 #[doc(hidden)] 26 pub const _ALIGNBYTES: usize = 8 - 1; 27 } 28 } 29 30 pub const _MAX_PAGE_SHIFT: u32 = 12; 31