diff options
Diffstat (limited to 'system/libraries/os/disk.zig')
| -rw-r--r-- | system/libraries/os/disk.zig | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/system/libraries/os/disk.zig b/system/libraries/os/disk.zig new file mode 100644 index 0000000..9a43c26 --- /dev/null +++ b/system/libraries/os/disk.zig @@ -0,0 +1,25 @@ +//! Disk information + +const sys = @import("sys"); +const types = @import("types.zig"); + +const ERROR_RESULT: u64 = @bitCast(@as(i64, -1)); + +pub fn info() ?types.DiskInfo { + var total: u64 = 0; + var used: u64 = 0; + + const result = sys.syscall(.diskinfo, .{ + @intFromPtr(&total), + @intFromPtr(&used), + }); + + if (result == ERROR_RESULT) { + return null; + } + + return types.DiskInfo{ + .total = total, + .used = used, + }; +} |
