authorgravatar for ybham6@gmail.comfifty-six <ybham6@gmail.com> 2022-01-11 01:16:47-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-01-11 10:49:40-07:00
log608fceffc4975e5aabbb5060b81fa933c6bdf46c
tree44b6b9902267c195af8d8ba01b07d64912dc274a
parentb6e1613e58bd490310bf03c1ae5d625ccf819371

std/os/uefi: Add FileSystemInfo


2 files changed, 23 insertions(+), 0 deletions(-)

lib/std/os/uefi/protocols.zig+1
......@@ -14,6 +14,7 @@ pub const MessagingDevicePath = @import("protocols/device_path_protocol.zig").Me
1414pub const SimpleFileSystemProtocol = @import("protocols/simple_file_system_protocol.zig").SimpleFileSystemProtocol;
1515pub const FileProtocol = @import("protocols/file_protocol.zig").FileProtocol;
1616pub const FileInfo = @import("protocols/file_protocol.zig").FileInfo;
17pub const FileSystemInfo = @import("protocols/file_protocol.zig").FileSystemInfo;
1718
1819pub const InputKey = @import("protocols/simple_text_input_ex_protocol.zig").InputKey;
1920pub const KeyData = @import("protocols/simple_text_input_ex_protocol.zig").KeyData;
lib/std/os/uefi/protocols/file_protocol.zig+22
......@@ -172,3 +172,25 @@ pub const FileInfo = extern struct {
172172 .node = [_]u8{ 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b },
173173 };
174174};
175
176pub const FileSystemInfo = extern struct {
177 size: u64,
178 read_only: bool,
179 volume_size: u64,
180 free_space: u64,
181 block_size: u32,
182 _volume_label: u16,
183
184 pub fn getVolumeLabel(self: *const FileSystemInfo) [*:0]const u16 {
185 return @ptrCast([*:0]const u16, &self._volume_label);
186 }
187
188 pub const guid align(8) = Guid{
189 .time_low = 0x09576e93,
190 .time_mid = 0x6d3f,
191 .time_high_and_version = 0x11d2,
192 .clock_seq_high_and_reserved = 0x8e,
193 .clock_seq_low = 0x39,
194 .node = [_]u8{ 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b },
195 };
196};