| pub type c_char = i8; |
| pub type c_long = i32; |
| pub type c_ulong = u32; |
| pub type wchar_t = i32; |
| pub type time_t = i32; |
| pub type suseconds_t = i32; |
| pub type register_t = i32; |
| |
| s! { |
| pub struct stat { |
| pub st_dev: ::dev_t, |
| pub st_ino: ::ino_t, |
| pub st_mode: ::mode_t, |
| pub st_nlink: ::nlink_t, |
| pub st_uid: ::uid_t, |
| pub st_gid: ::gid_t, |
| pub st_rdev: ::dev_t, |
| pub st_atime: ::time_t, |
| pub st_atime_nsec: ::c_long, |
| pub st_mtime: ::time_t, |
| pub st_mtime_nsec: ::c_long, |
| pub st_ctime: ::time_t, |
| pub st_ctime_nsec: ::c_long, |
| pub st_size: ::off_t, |
| pub st_blocks: ::blkcnt_t, |
| pub st_blksize: ::blksize_t, |
| pub st_flags: ::fflags_t, |
| pub st_gen: u32, |
| pub st_lspare: i32, |
| pub st_birthtime: ::time_t, |
| pub st_birthtime_nsec: ::c_long, |
| __unused: [u8; 8], |
| } |
| } |
| |
| // should be pub(crate), but that requires Rust 1.18.0 |
| cfg_if! { |
| if #[cfg(libc_const_size_of)] { |
| #[doc(hidden)] |
| pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1; |
| } else { |
| #[doc(hidden)] |
| pub const _ALIGNBYTES: usize = 4 - 1; |
| } |
| } |
| pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4 |