Skip to content

Commit cb4bb18

Browse files
authored
Merge pull request #4276 from snogge/mips-stat
Split out the stat struct for gnu/b32/mips
2 parents 6e0ee6f + a092eed commit cb4bb18

File tree

2 files changed

+53
-47
lines changed

2 files changed

+53
-47
lines changed

src/unix/linux_like/linux/gnu/b32/mips/mod.rs

+24
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,30 @@ use crate::{off64_t, off_t};
44
pub type wchar_t = i32;
55

66
s! {
7+
pub struct stat {
8+
pub st_dev: c_ulong,
9+
10+
st_pad1: [c_long; 3],
11+
pub st_ino: crate::ino_t,
12+
pub st_mode: crate::mode_t,
13+
pub st_nlink: crate::nlink_t,
14+
pub st_uid: crate::uid_t,
15+
pub st_gid: crate::gid_t,
16+
pub st_rdev: c_ulong,
17+
st_pad2: [c_long; 2],
18+
pub st_size: off_t,
19+
st_pad3: c_long,
20+
pub st_atime: crate::time_t,
21+
pub st_atime_nsec: c_long,
22+
pub st_mtime: crate::time_t,
23+
pub st_mtime_nsec: c_long,
24+
pub st_ctime: crate::time_t,
25+
pub st_ctime_nsec: c_long,
26+
pub st_blksize: crate::blksize_t,
27+
pub st_blocks: crate::blkcnt_t,
28+
st_pad5: [c_long; 14],
29+
}
30+
731
pub struct stat64 {
832
pub st_dev: c_ulong,
933
st_pad1: [c_long; 3],

src/unix/linux_like/linux/gnu/b32/mod.rs

+29-47
Original file line numberDiff line numberDiff line change
@@ -40,55 +40,37 @@ cfg_if! {
4040
}
4141
}
4242

43-
s! {
44-
pub struct stat {
45-
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
46-
pub st_dev: crate::dev_t,
47-
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
48-
pub st_dev: c_ulong,
49-
50-
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
51-
__pad1: c_short,
52-
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
53-
st_pad1: [c_long; 3],
54-
pub st_ino: crate::ino_t,
55-
pub st_mode: crate::mode_t,
56-
pub st_nlink: crate::nlink_t,
57-
pub st_uid: crate::uid_t,
58-
pub st_gid: crate::gid_t,
59-
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
60-
pub st_rdev: crate::dev_t,
61-
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
62-
pub st_rdev: c_ulong,
63-
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
64-
__pad2: c_short,
65-
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
66-
st_pad2: [c_long; 2],
67-
pub st_size: off_t,
68-
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
69-
st_pad3: c_long,
70-
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
71-
pub st_blksize: crate::blksize_t,
72-
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
73-
pub st_blocks: crate::blkcnt_t,
74-
pub st_atime: crate::time_t,
75-
pub st_atime_nsec: c_long,
76-
pub st_mtime: crate::time_t,
77-
pub st_mtime_nsec: c_long,
78-
pub st_ctime: crate::time_t,
79-
pub st_ctime_nsec: c_long,
80-
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
81-
__unused4: c_long,
82-
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
83-
__unused5: c_long,
84-
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
85-
pub st_blksize: crate::blksize_t,
86-
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
87-
pub st_blocks: crate::blkcnt_t,
88-
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
89-
st_pad5: [c_long; 14],
43+
cfg_if! {
44+
if #[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))] {
45+
s! {
46+
pub struct stat {
47+
pub st_dev: crate::dev_t,
48+
49+
__pad1: c_short,
50+
pub st_ino: crate::ino_t,
51+
pub st_mode: crate::mode_t,
52+
pub st_nlink: crate::nlink_t,
53+
pub st_uid: crate::uid_t,
54+
pub st_gid: crate::gid_t,
55+
pub st_rdev: crate::dev_t,
56+
__pad2: c_short,
57+
pub st_size: off_t,
58+
pub st_blksize: crate::blksize_t,
59+
pub st_blocks: crate::blkcnt_t,
60+
pub st_atime: crate::time_t,
61+
pub st_atime_nsec: c_long,
62+
pub st_mtime: crate::time_t,
63+
pub st_mtime_nsec: c_long,
64+
pub st_ctime: crate::time_t,
65+
pub st_ctime_nsec: c_long,
66+
__unused4: c_long,
67+
__unused5: c_long,
68+
}
69+
}
9070
}
71+
}
9172

73+
s! {
9274
pub struct statvfs {
9375
pub f_bsize: c_ulong,
9476
pub f_frsize: c_ulong,

0 commit comments

Comments
 (0)