Function getInfo [src]
If buffer is too small to contain all of the info, this function returns
Error.BufferTooSmall. You should call getInfoSize first to determine
how big the buffer should be to safely call this function.
Prototype
pub fn getInfo( self: *const File, comptime info: std.meta.Tag(Info), buffer: []align(@alignOf(@FieldType(Info, @tagName(info)))) u8, ) GetInfoError!*@FieldType(Info, @tagName(info)) Parameters
self: *const Fileinfo: std.meta.Tag(Info)buffer: []align(@alignOf(@FieldType(Info, @tagName(info)))) u8 Possible Errors
Source
pub fn getInfo(
self: *const File,
comptime info: std.meta.Tag(Info),
buffer: []align(@alignOf(@FieldType(Info, @tagName(info)))) u8,
) GetInfoError!*@FieldType(Info, @tagName(info)) {
const InfoType = @FieldType(Info, @tagName(info));
var len = buffer.len;
switch (self._get_info(
self,
&InfoType.guid,
&len,
buffer.ptr,
)) {
.success => return @as(*InfoType, @ptrCast(buffer.ptr)),
.buffer_too_small => return Error.BufferTooSmall,
.unsupported => return Error.Unsupported,
.no_media => return Error.NoMedia,
.device_error => return Error.DeviceError,
.volume_corrupted => return Error.VolumeCorrupted,
else => |status| return uefi.unexpectedStatus(status),
}
}