1 use crate::off_t; 2 use crate::prelude::*; 3 4 pub type __u64 = c_ulonglong; 5 pub type wchar_t = u32; 6 pub type nlink_t = c_ulong; 7 pub type blksize_t = c_long; 8 9 s! { 10 pub struct stat { 11 pub st_dev: crate::dev_t, 12 pub st_ino: crate::ino_t, 13 pub st_mode: crate::mode_t, 14 pub st_nlink: crate::nlink_t, 15 pub st_uid: crate::uid_t, 16 pub st_gid: crate::gid_t, 17 pub st_rdev: crate::dev_t, 18 __pad0: c_ulong, 19 pub st_size: off_t, 20 pub st_blksize: crate::blksize_t, 21 __pad1: c_int, 22 pub st_blocks: crate::blkcnt_t, 23 pub st_atime: crate::time_t, 24 pub st_atime_nsec: c_long, 25 pub st_mtime: crate::time_t, 26 pub st_mtime_nsec: c_long, 27 pub st_ctime: crate::time_t, 28 pub st_ctime_nsec: c_long, 29 __unused: [c_uint; 2], 30 } 31 32 pub struct stat64 { 33 pub st_dev: crate::dev_t, 34 pub st_ino: crate::ino_t, 35 pub st_mode: crate::mode_t, 36 pub st_nlink: crate::nlink_t, 37 pub st_uid: crate::uid_t, 38 pub st_gid: crate::gid_t, 39 pub st_rdev: crate::dev_t, 40 __pad0: c_ulong, 41 pub st_size: off_t, 42 pub st_blksize: crate::blksize_t, 43 __pad1: c_int, 44 pub st_blocks: crate::blkcnt_t, 45 pub st_atime: crate::time_t, 46 pub st_atime_nsec: c_long, 47 pub st_mtime: crate::time_t, 48 pub st_mtime_nsec: c_long, 49 pub st_ctime: crate::time_t, 50 pub st_ctime_nsec: c_long, 51 __unused: [c_uint; 2], 52 } 53 54 pub struct ipc_perm { 55 pub __ipc_perm_key: crate::key_t, 56 pub uid: crate::uid_t, 57 pub gid: crate::gid_t, 58 pub cuid: crate::uid_t, 59 pub cgid: crate::gid_t, 60 pub mode: crate::mode_t, 61 pub __seq: c_ushort, 62 __unused1: c_ulong, 63 __unused2: c_ulong, 64 } 65 } 66 67 // From https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/third_party/ulib/musl/include/bits/signal.h;l=20-21;drc=0827b18ab9540c46f8037f407d17ea15a79e9ba7 68 pub const MINSIGSTKSZ: size_t = 6144; 69 pub const SIGSTKSZ: size_t = 12288; 70