zig/lib/std /
os/uefi/protocol/simple_file_system.zig
|
const std = @import("std");
const uefi = std.os.uefi;
const Guid = uefi.Guid;
const File = uefi.protocol.File;
const Status = uefi.Status;
const cc = uefi.cc;
const Error = Status.Error;
|
SimpleFileSystem
|
pub const SimpleFileSystem = extern struct {
revision: u64,
_open_volume: *const fn (*const SimpleFileSystem, **File) callconv(cc) Status,
|
OpenVolumeError
|
pub const OpenVolumeError = uefi.UnexpectedError || error{
Unsupported,
NoMedia,
DeviceError,
VolumeCorrupted,
AccessDenied,
OutOfResources,
MediaChanged,
};
|
openVolume()
|
pub fn openVolume(self: *const SimpleFileSystem) OpenVolumeError!*File {
var root: *File = undefined;
switch (self._open_volume(self, &root)) {
.success => return root,
.unsupported => return Error.Unsupported,
.no_media => return Error.NoMedia,
.device_error => return Error.DeviceError,
.volume_corrupted => return Error.VolumeCorrupted,
.access_denied => return Error.AccessDenied,
.out_of_resources => return Error.OutOfResources,
.media_changed => return Error.MediaChanged,
else => |status| return uefi.unexpectedStatus(status),
}
}
|
guid
|
pub const guid align(8) = Guid{
.time_low = 0x0964e5b22,
.time_mid = 0x6459,
.time_high_and_version = 0x11d2,
.clock_seq_high_and_reserved = 0x8e,
.clock_seq_low = 0x39,
.node = [_]u8{ 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b },
};
};
|
|