blob: 62c73dc1c16e6fc5e02fe2f2704d02cb64392556 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
//! DISKINFO invocation - Get disk usage information
const afs = @import("../../fs/afs/afs.zig");
const ahci = @import("../../drivers/ahci/ahci.zig");
const handler = @import("../handler.zig");
const result = @import("../../utils/types/result.zig");
var fs_instance: ?*afs.AFS(ahci.BlockDevice) = null;
pub fn set_afs_instance(fs: *afs.AFS(ahci.BlockDevice)) void {
fs_instance = fs;
}
pub fn invoke(ctx: *handler.InvocationContext) void {
const total_ptr: *u64 = @ptrFromInt(ctx.rdi);
const used_ptr: *u64 = @ptrFromInt(ctx.rsi);
if (fs_instance) |fs| {
const info = fs.get_disk_info();
total_ptr.* = info.total_bytes;
used_ptr.* = info.used_bytes;
result.set_ok(ctx);
} else {
result.set_error(ctx);
}
}
|