pub const LoadedImage = extern struct revision: u32parent_handle: Handlesystem_table: *SystemTabledevice_handle: ?Handlefile_path: *DevicePathreserved: *anyopaqueload_options_size: u32load_options: ?*anyopaqueimage_base: [*]u8image_size: u64image_code_type: MemoryTypeimage_data_type: MemoryType_unload: *const fn (*LoadedImage, Handle) callconv(cc) Statuspub fn unload(self: *LoadedImage, handle: Handle) UnloadError!voidUnloads an image from memory.
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54pub const LoadedImage = extern struct {
revision: u32,
parent_handle: Handle,
system_table: *SystemTable,
device_handle: ?Handle,
file_path: *DevicePath,
reserved: *anyopaque,
load_options_size: u32,
load_options: ?*anyopaque,
image_base: [*]u8,
image_size: u64,
image_code_type: MemoryType,
image_data_type: MemoryType,
_unload: *const fn (*LoadedImage, Handle) callconv(cc) Status,
pub const UnloadError = uefi.UnexpectedError || error{InvalidParameter};
/// Unloads an image from memory.
pub fn unload(self: *LoadedImage, handle: Handle) UnloadError!void {
switch (self._unload(self, handle)) {
.success => {},
.invalid_parameter => return error.InvalidParameter,
else => |status| return uefi.unexpectedStatus(status),
}
}
pub const guid align(8) = Guid{
.time_low = 0x5b1b31a1,
.time_mid = 0x9562,
.time_high_and_version = 0x11d2,
.clock_seq_high_and_reserved = 0x8e,
.clock_seq_low = 0x3f,
.node = [_]u8{ 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b },
};
pub const device_path_guid align(8) = Guid{
.time_low = 0xbc62157e,
.time_mid = 0x3e33,
.time_high_and_version = 0x4fec,
.clock_seq_high_and_reserved = 0x99,
.clock_seq_low = 0x20,
.node = [_]u8{ 0x2d, 0x3b, 0x36, 0xd7, 0x50, 0xdf },
};
}