aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os/linux/mips64.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2024-08-16 11:23:02 +0200
committerAlex Rønne Petersen <alex@alexrp.com>2024-08-18 07:27:23 +0200
commitea38009f3d0476867d945c3f14f5053206ec87f9 (patch)
tree48d7dd0b195ed78e20b020a40c3819c698fa011e /lib/std/os/linux/mips64.zig
parented9a502dffa8db45ef2f73edcbd20c52e26c548f (diff)
downloadzig-ea38009f3d0476867d945c3f14f5053206ec87f9.tar.gz
zig-ea38009f3d0476867d945c3f14f5053206ec87f9.zip
std.os.linux: Fix Stat struct for mips/mips64.
Diffstat (limited to 'lib/std/os/linux/mips64.zig')
-rw-r--r--lib/std/os/linux/mips64.zig35
1 files changed, 23 insertions, 12 deletions
diff --git a/lib/std/os/linux/mips64.zig b/lib/std/os/linux/mips64.zig
index d3cf7b143b..5e6661eae5 100644
--- a/lib/std/os/linux/mips64.zig
+++ b/lib/std/os/linux/mips64.zig
@@ -301,7 +301,7 @@ pub const msghdr_const = extern struct {
flags: i32,
};
-pub const blksize_t = i32;
+pub const blksize_t = u32;
pub const nlink_t = u32;
pub const time_t = i32;
pub const mode_t = u32;
@@ -312,34 +312,45 @@ pub const blkcnt_t = i64;
// The `stat` definition used by the Linux kernel.
pub const Stat = extern struct {
- dev: u32,
- __pad0: [3]u32, // Reserved for st_dev expansion
+ dev: dev_t,
+ __pad0: [2]u32, // -1 because our dev_t is u64 (kernel dev_t is really u32).
ino: ino_t,
mode: mode_t,
nlink: nlink_t,
uid: uid_t,
gid: gid_t,
- rdev: u32,
- __pad1: [3]u32,
+ rdev: dev_t,
+ __pad1: [2]u32, // -1 because our dev_t is u64 (kernel dev_t is really u32).
size: off_t,
- atim: timespec,
- mtim: timespec,
- ctim: timespec,
+ atim: u32,
+ atim_nsec: u32,
+ mtim: u32,
+ mtim_nsec: u32,
+ ctim: u32,
+ ctim_nsec: u32,
blksize: blksize_t,
__pad3: u32,
blocks: blkcnt_t,
- __pad4: [14]usize,
pub fn atime(self: @This()) timespec {
- return self.atim;
+ return .{
+ .sec = self.atim,
+ .nsec = self.atim_nsec,
+ };
}
pub fn mtime(self: @This()) timespec {
- return self.mtim;
+ return .{
+ .sec = self.mtim,
+ .nsec = self.mtim_nsec,
+ };
}
pub fn ctime(self: @This()) timespec {
- return self.ctim;
+ return .{
+ .sec = self.ctim,
+ .nsec = self.ctim_nsec,
+ };
}
};