1
2
3
4
5
6
7
8
9
10
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#![allow(clippy::unreadable_literal)]
use crate::Guid;
use bitflags::bitflags;
use core::ffi::c_void;
#[derive(Debug)]
#[repr(C)]
pub struct ConfigTableEntry {
pub guid: Guid,
pub address: *const c_void,
}
pub const ACPI_GUID: Guid = Guid::from_values(
0xeb9d2d30,
0x2d88,
0x11d3,
0x9a16,
[0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d],
);
pub const ACPI2_GUID: Guid = Guid::from_values(
0x8868e871,
0xe4f1,
0x11d3,
0xbc22,
[0x00, 0x80, 0xc7, 0x3c, 0x88, 0x81],
);
pub const SMBIOS_GUID: Guid = Guid::from_values(
0xeb9d2d31,
0x2d88,
0x11d3,
0x9a16,
[0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d],
);
pub const SMBIOS3_GUID: Guid = Guid::from_values(
0xf2fd1544,
0x9794,
0x4a2c,
0x992e,
[0xe5, 0xbb, 0xcf, 0x20, 0xe3, 0x94],
);
pub const PROPERTIES_TABLE_GUID: Guid = Guid::from_values(
0x880aaca3,
0x4adc,
0x4a04,
0x9079,
[0xb7, 0x47, 0x34, 0x08, 0x25, 0xe5],
);
#[repr(C)]
pub struct PropertiesTable {
pub version: u32,
pub length: u32,
pub memory_protection: MemoryProtectionAttribute,
}
bitflags! {
pub struct MemoryProtectionAttribute: usize {
const NON_EXECUTABLE_DATA = 1;
}
}
pub const HAND_OFF_BLOCK_LIST_GUID: Guid = Guid::from_values(
0x7739f24c,
0x93d7,
0x11d4,
0x9a3a,
[0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d],
);
pub const MEMORY_TYPE_INFORMATION_GUID: Guid = Guid::from_values(
0x4c19049f,
0x4137,
0x4dd3,
0x9c10,
[0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa],
);
pub const MEMORY_STATUS_CODE_RECORD_GUID: Guid = Guid::from_values(
0x60cc026,
0x4c0d,
0x4dda,
0x8f41,
[0x59, 0x5f, 0xef, 0x00, 0xa5, 0x02],
);
pub const DXE_SERVICES_GUID: Guid = Guid::from_values(
0x5ad34ba,
0x6f02,
0x4214,
0x952e,
[0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9],
);
pub const LZMA_COMPRESS_GUID: Guid = Guid::from_values(
0xee4e5898,
0x3914,
0x4259,
0x9d6e,
[0xdc, 0x7b, 0xd7, 0x94, 0x03, 0xcf],
);
pub const TIANO_COMPRESS_GUID: Guid = Guid::from_values(
0xa31280ad,
0x481e,
0x41b6,
0x95e8,
[0x12, 0x7f, 0x4c, 0x98, 0x47, 0x79],
);
pub const DEBUG_IMAGE_INFO_GUID: Guid = Guid::from_values(
0x49152e77,
0x1ada,
0x4764,
0xb7a2,
[0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b],
);