1 use crate::off_t; 2 use crate::prelude::*; 3 4 // From psABI Calling Convention for RV64 5 pub type __u64 = c_ulonglong; 6 pub type wchar_t = i32; 7 8 pub type nlink_t = c_ulong; 9 pub type blksize_t = c_long; 10 11 pub type stat64 = stat; 12 s! { 13 pub struct stat { 14 pub st_dev: crate::dev_t, 15 pub st_ino: crate::ino_t, 16 pub st_nlink: crate::nlink_t, 17 pub st_mode: crate::mode_t, 18 pub st_uid: crate::uid_t, 19 pub st_gid: crate::gid_t, 20 __pad0: c_int, 21 pub st_rdev: crate::dev_t, 22 pub st_size: off_t, 23 pub st_blksize: crate::blksize_t, 24 pub st_blocks: crate::blkcnt_t, 25 pub st_atime: crate::time_t, 26 pub st_atime_nsec: c_long, 27 pub st_mtime: crate::time_t, 28 pub st_mtime_nsec: c_long, 29 pub st_ctime: crate::time_t, 30 pub st_ctime_nsec: c_long, 31 __unused: [c_long; 3], 32 } 33 34 // Not actually used, IPC calls just return ENOSYS 35 pub struct ipc_perm { 36 pub __ipc_perm_key: crate::key_t, 37 pub uid: crate::uid_t, 38 pub gid: crate::gid_t, 39 pub cuid: crate::uid_t, 40 pub cgid: crate::gid_t, 41 pub mode: crate::mode_t, 42 pub __seq: c_ushort, 43 __unused1: c_ulong, 44 __unused2: c_ulong, 45 } 46 } 47