Source
pub fn getMemoryMap(
self: *const BootServices,
buffer: []align(@alignOf(MemoryDescriptor)) u8,
) GetMemoryMapError!MemoryMapSlice {
var info: MemoryMapInfo = undefined;
info.len = buffer.len;
switch (self._getMemoryMap(
&info.len,
buffer.ptr,
&info.key,
&info.descriptor_size,
&info.descriptor_version,
)) {
.success => {
info.len = @divExact(info.len, info.descriptor_size);
return .{ .info = info, .ptr = buffer.ptr };
},
.buffer_too_small => return error.BufferTooSmall,
.invalid_parameter => return error.InvalidParameter,
else => |status| return uefi.unexpectedStatus(status),
}
}