[readline] Extend maximum read line length to 1024 characters
[ipxe.git] / src / interface / efi / efi_guid.c
1 /*
2 * Copyright (C) 2014 Michael Brown <mbrown@fensystems.co.uk>.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2 of the
7 * License, or any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 * 02110-1301, USA.
18 *
19 * You can also choose to distribute this program under the terms of
20 * the Unmodified Binary Distribution Licence (as given in the file
21 * COPYING.UBDL), provided that you have satisfied its requirements.
22 */
23
24 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
25
26 #include <ipxe/efi/efi.h>
27 #include <ipxe/efi/Protocol/AbsolutePointer.h>
28 #include <ipxe/efi/Protocol/AcpiTable.h>
29 #include <ipxe/efi/Protocol/AppleNetBoot.h>
30 #include <ipxe/efi/Protocol/Arp.h>
31 #include <ipxe/efi/Protocol/BlockIo.h>
32 #include <ipxe/efi/Protocol/BlockIo2.h>
33 #include <ipxe/efi/Protocol/BusSpecificDriverOverride.h>
34 #include <ipxe/efi/Protocol/ComponentName.h>
35 #include <ipxe/efi/Protocol/ComponentName2.h>
36 #include <ipxe/efi/Protocol/ConsoleControl/ConsoleControl.h>
37 #include <ipxe/efi/Protocol/DevicePath.h>
38 #include <ipxe/efi/Protocol/DevicePathToText.h>
39 #include <ipxe/efi/Protocol/Dhcp4.h>
40 #include <ipxe/efi/Protocol/DiskIo.h>
41 #include <ipxe/efi/Protocol/DriverBinding.h>
42 #include <ipxe/efi/Protocol/GraphicsOutput.h>
43 #include <ipxe/efi/Protocol/HiiConfigAccess.h>
44 #include <ipxe/efi/Protocol/HiiFont.h>
45 #include <ipxe/efi/Protocol/Ip4.h>
46 #include <ipxe/efi/Protocol/Ip4Config.h>
47 #include <ipxe/efi/Protocol/LoadFile.h>
48 #include <ipxe/efi/Protocol/LoadFile2.h>
49 #include <ipxe/efi/Protocol/LoadedImage.h>
50 #include <ipxe/efi/Protocol/ManagedNetwork.h>
51 #include <ipxe/efi/Protocol/Mtftp4.h>
52 #include <ipxe/efi/Protocol/NetworkInterfaceIdentifier.h>
53 #include <ipxe/efi/Protocol/PciIo.h>
54 #include <ipxe/efi/Protocol/PciRootBridgeIo.h>
55 #include <ipxe/efi/Protocol/PxeBaseCode.h>
56 #include <ipxe/efi/Protocol/SerialIo.h>
57 #include <ipxe/efi/Protocol/SimpleFileSystem.h>
58 #include <ipxe/efi/Protocol/SimpleNetwork.h>
59 #include <ipxe/efi/Protocol/SimplePointer.h>
60 #include <ipxe/efi/Protocol/SimpleTextIn.h>
61 #include <ipxe/efi/Protocol/SimpleTextInEx.h>
62 #include <ipxe/efi/Protocol/SimpleTextOut.h>
63 #include <ipxe/efi/Protocol/TcgService.h>
64 #include <ipxe/efi/Protocol/Tcp4.h>
65 #include <ipxe/efi/Protocol/Udp4.h>
66 #include <ipxe/efi/Protocol/UgaDraw.h>
67 #include <ipxe/efi/Protocol/UnicodeCollation.h>
68 #include <ipxe/efi/Protocol/UsbHostController.h>
69 #include <ipxe/efi/Protocol/Usb2HostController.h>
70 #include <ipxe/efi/Protocol/UsbIo.h>
71 #include <ipxe/efi/Protocol/VlanConfig.h>
72 #include <ipxe/efi/Guid/FileInfo.h>
73 #include <ipxe/efi/Guid/FileSystemInfo.h>
74
75 /** @file
76 *
77 * EFI GUIDs
78 *
79 */
80
81 /* TrEE protocol GUID definition in EDK2 headers is broken (missing braces) */
82 #define EFI_TREE_PROTOCOL_GUID \
83 { 0x607f766c, 0x7455, 0x42be, \
84 { 0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x72, 0x0f } }
85
86 /** Absolute pointer protocol GUID */
87 EFI_GUID efi_absolute_pointer_protocol_guid
88 = EFI_ABSOLUTE_POINTER_PROTOCOL_GUID;
89
90 /** ACPI table protocol GUID */
91 EFI_GUID efi_acpi_table_protocol_guid
92 = EFI_ACPI_TABLE_PROTOCOL_GUID;
93
94 /** Apple NetBoot protocol GUID */
95 EFI_GUID efi_apple_net_boot_protocol_guid
96 = EFI_APPLE_NET_BOOT_PROTOCOL_GUID;
97
98 /** ARP protocol GUID */
99 EFI_GUID efi_arp_protocol_guid
100 = EFI_ARP_PROTOCOL_GUID;
101
102 /** ARP service binding protocol GUID */
103 EFI_GUID efi_arp_service_binding_protocol_guid
104 = EFI_ARP_SERVICE_BINDING_PROTOCOL_GUID;
105
106 /** Block I/O protocol GUID */
107 EFI_GUID efi_block_io_protocol_guid
108 = EFI_BLOCK_IO_PROTOCOL_GUID;
109
110 /** Block I/O version 2 protocol GUID */
111 EFI_GUID efi_block_io2_protocol_guid
112 = EFI_BLOCK_IO2_PROTOCOL_GUID;
113
114 /** Bus specific driver override protocol GUID */
115 EFI_GUID efi_bus_specific_driver_override_protocol_guid
116 = EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_GUID;
117
118 /** Component name protocol GUID */
119 EFI_GUID efi_component_name_protocol_guid
120 = EFI_COMPONENT_NAME_PROTOCOL_GUID;
121
122 /** Component name 2 protocol GUID */
123 EFI_GUID efi_component_name2_protocol_guid
124 = EFI_COMPONENT_NAME2_PROTOCOL_GUID;
125
126 /** Console control protocol GUID */
127 EFI_GUID efi_console_control_protocol_guid
128 = EFI_CONSOLE_CONTROL_PROTOCOL_GUID;
129
130 /** Device path protocol GUID */
131 EFI_GUID efi_device_path_protocol_guid
132 = EFI_DEVICE_PATH_PROTOCOL_GUID;
133
134 /** DHCPv4 protocol GUID */
135 EFI_GUID efi_dhcp4_protocol_guid
136 = EFI_DHCP4_PROTOCOL_GUID;
137
138 /** DHCPv4 service binding protocol GUID */
139 EFI_GUID efi_dhcp4_service_binding_protocol_guid
140 = EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID;
141
142 /** Disk I/O protocol GUID */
143 EFI_GUID efi_disk_io_protocol_guid
144 = EFI_DISK_IO_PROTOCOL_GUID;
145
146 /** Driver binding protocol GUID */
147 EFI_GUID efi_driver_binding_protocol_guid
148 = EFI_DRIVER_BINDING_PROTOCOL_GUID;
149
150 /** Graphics output protocol GUID */
151 EFI_GUID efi_graphics_output_protocol_guid
152 = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
153
154 /** HII configuration access protocol GUID */
155 EFI_GUID efi_hii_config_access_protocol_guid
156 = EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID;
157
158 /** HII font protocol GUID */
159 EFI_GUID efi_hii_font_protocol_guid
160 = EFI_HII_FONT_PROTOCOL_GUID;
161
162 /** IPv4 protocol GUID */
163 EFI_GUID efi_ip4_protocol_guid
164 = EFI_IP4_PROTOCOL_GUID;
165
166 /** IPv4 configuration protocol GUID */
167 EFI_GUID efi_ip4_config_protocol_guid
168 = EFI_IP4_CONFIG_PROTOCOL_GUID;
169
170 /** IPv4 service binding protocol GUID */
171 EFI_GUID efi_ip4_service_binding_protocol_guid
172 = EFI_IP4_SERVICE_BINDING_PROTOCOL_GUID;
173
174 /** Load file protocol GUID */
175 EFI_GUID efi_load_file_protocol_guid
176 = EFI_LOAD_FILE_PROTOCOL_GUID;
177
178 /** Load file 2 protocol GUID */
179 EFI_GUID efi_load_file2_protocol_guid
180 = EFI_LOAD_FILE2_PROTOCOL_GUID;
181
182 /** Loaded image protocol GUID */
183 EFI_GUID efi_loaded_image_protocol_guid
184 = EFI_LOADED_IMAGE_PROTOCOL_GUID;
185
186 /** Loaded image device path protocol GUID */
187 EFI_GUID efi_loaded_image_device_path_protocol_guid
188 = EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID;
189
190 /** Managed network protocol GUID */
191 EFI_GUID efi_managed_network_protocol_guid
192 = EFI_MANAGED_NETWORK_PROTOCOL_GUID;
193
194 /** Managed network service binding protocol GUID */
195 EFI_GUID efi_managed_network_service_binding_protocol_guid
196 = EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID;
197
198 /** MTFTPv4 protocol GUID */
199 EFI_GUID efi_mtftp4_protocol_guid
200 = EFI_MTFTP4_PROTOCOL_GUID;
201
202 /** MTFTPv4 service binding protocol GUID */
203 EFI_GUID efi_mtftp4_service_binding_protocol_guid
204 = EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID;
205
206 /** Network interface identifier protocol GUID (old version) */
207 EFI_GUID efi_nii_protocol_guid
208 = EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID;
209
210 /** Network interface identifier protocol GUID (new version) */
211 EFI_GUID efi_nii31_protocol_guid
212 = EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID_31;
213
214 /** PCI I/O protocol GUID */
215 EFI_GUID efi_pci_io_protocol_guid
216 = EFI_PCI_IO_PROTOCOL_GUID;
217
218 /** PCI root bridge I/O protocol GUID */
219 EFI_GUID efi_pci_root_bridge_io_protocol_guid
220 = EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID;
221
222 /** PXE base code protocol GUID */
223 EFI_GUID efi_pxe_base_code_protocol_guid
224 = EFI_PXE_BASE_CODE_PROTOCOL_GUID;
225
226 /** Serial I/O protocol GUID */
227 EFI_GUID efi_serial_io_protocol_guid
228 = EFI_SERIAL_IO_PROTOCOL_GUID;
229
230 /** Simple file system protocol GUID */
231 EFI_GUID efi_simple_file_system_protocol_guid
232 = EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID;
233
234 /** Simple network protocol GUID */
235 EFI_GUID efi_simple_network_protocol_guid
236 = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
237
238 /** Simple pointer protocol GUID */
239 EFI_GUID efi_simple_pointer_protocol_guid
240 = EFI_SIMPLE_POINTER_PROTOCOL_GUID;
241
242 /** Simple text input protocol GUID */
243 EFI_GUID efi_simple_text_input_protocol_guid
244 = EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID;
245
246 /** Simple text input extension protocol GUID */
247 EFI_GUID efi_simple_text_input_ex_protocol_guid
248 = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
249
250 /** Simple text output protocol GUID */
251 EFI_GUID efi_simple_text_output_protocol_guid
252 = EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID;
253
254 /** TCG protocol GUID */
255 EFI_GUID efi_tcg_protocol_guid
256 = EFI_TCG_PROTOCOL_GUID;
257
258 /** TCPv4 protocol GUID */
259 EFI_GUID efi_tcp4_protocol_guid
260 = EFI_TCP4_PROTOCOL_GUID;
261
262 /** TCPv4 service binding protocol GUID */
263 EFI_GUID efi_tcp4_service_binding_protocol_guid
264 = EFI_TCP4_SERVICE_BINDING_PROTOCOL_GUID;
265
266 /** TrEE protocol GUID */
267 EFI_GUID efi_tree_protocol_guid
268 = EFI_TREE_PROTOCOL_GUID;
269
270 /** UDPv4 protocol GUID */
271 EFI_GUID efi_udp4_protocol_guid
272 = EFI_UDP4_PROTOCOL_GUID;
273
274 /** UDPv4 service binding protocol GUID */
275 EFI_GUID efi_udp4_service_binding_protocol_guid
276 = EFI_UDP4_SERVICE_BINDING_PROTOCOL_GUID;
277
278 /** UGA draw protocol GUID */
279 EFI_GUID efi_uga_draw_protocol_guid
280 = EFI_UGA_DRAW_PROTOCOL_GUID;
281
282 /** Unicode collation protocol GUID */
283 EFI_GUID efi_unicode_collation_protocol_guid
284 = EFI_UNICODE_COLLATION_PROTOCOL_GUID;
285
286 /** USB host controller protocol GUID */
287 EFI_GUID efi_usb_hc_protocol_guid
288 = EFI_USB_HC_PROTOCOL_GUID;
289
290 /** USB2 host controller protocol GUID */
291 EFI_GUID efi_usb2_hc_protocol_guid
292 = EFI_USB2_HC_PROTOCOL_GUID;
293
294 /** USB I/O protocol GUID */
295 EFI_GUID efi_usb_io_protocol_guid
296 = EFI_USB_IO_PROTOCOL_GUID;
297
298 /** VLAN configuration protocol GUID */
299 EFI_GUID efi_vlan_config_protocol_guid
300 = EFI_VLAN_CONFIG_PROTOCOL_GUID;
301
302 /** File information GUID */
303 EFI_GUID efi_file_info_id = EFI_FILE_INFO_ID;
304
305 /** File system information GUID */
306 EFI_GUID efi_file_system_info_id = EFI_FILE_SYSTEM_INFO_ID;