xref: /drstd/src/std/os/emscripten/raw.rs (revision 86982c5e9b2eaa583327251616ee822c36288824)
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