1 //! Emscripten-specific raw type definitions 2 //! This is basically exactly the same as the linux definitions, 3 //! except using the musl-specific stat64 structure in liblibc. 4 5 #![deprecated( 6 since = "1.8.0", 7 note = "these type aliases are no longer supported by \ 8 the standard library, the `libc` crate on \ 9 crates.io should be used instead for the correct \ 10 definitions" 11 )] 12 #![allow(deprecated)] 13 14 use crate::std::os::raw::{c_long, c_short, c_uint, c_ulong}; 15 16 pub type dev_t = u64; 17 pub type mode_t = u32; 18 19 pub type pthread_t = c_ulong; 20 21 pub type blkcnt_t = u64; 22 pub type blksize_t = u64; 23 pub type ino_t = u64; 24 pub type nlink_t = u64; 25 pub type off_t = u64; 26 pub type time_t = c_long; 27 28 #[repr(C)] 29 #[derive(Clone)] 30 pub struct stat { 31 pub st_dev: u64, 32 pub __pad1: c_short, 33 pub __st_ino: u32, 34 pub st_mode: u32, 35 pub st_nlink: u32, 36 pub st_uid: u32, 37 pub st_gid: u32, 38 pub st_rdev: u64, 39 pub __pad2: c_uint, 40 pub st_size: i64, 41 pub st_blksize: i32, 42 pub st_blocks: i64, 43 pub st_atime: time_t, 44 pub st_atime_nsec: c_long, 45 pub st_mtime: time_t, 46 pub st_mtime_nsec: c_long, 47 pub st_ctime: time_t, 48 pub st_ctime_nsec: c_long, 49 pub st_ino: u64, 50 } 51