iPXE
efi_guid.c
Go to the documentation of this file.
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 FILE_SECBOOT ( PERMITTED );
26 
27 #include <string.h>
28 #include <ipxe/uuid.h>
29 #include <ipxe/efi/efi.h>
34 #include <ipxe/efi/Protocol/Arp.h>
46 #include <ipxe/efi/Protocol/Dns4.h>
47 #include <ipxe/efi/Protocol/Dns6.h>
53 #include <ipxe/efi/Protocol/Http.h>
54 #include <ipxe/efi/Protocol/Ip4.h>
57 #include <ipxe/efi/Protocol/Ip6.h>
69 #include <ipxe/efi/Protocol/Rng.h>
82 #include <ipxe/efi/Protocol/Tcp4.h>
83 #include <ipxe/efi/Protocol/Tcp6.h>
84 #include <ipxe/efi/Protocol/Udp4.h>
85 #include <ipxe/efi/Protocol/Udp6.h>
93 #include <ipxe/efi/Guid/Acpi.h>
94 #include <ipxe/efi/Guid/Fdt.h>
95 #include <ipxe/efi/Guid/FileInfo.h>
100 #include <ipxe/efi/Guid/SmBios.h>
102 
103 /** @file
104  *
105  * EFI GUIDs
106  *
107  */
108 
109 /* TrEE protocol GUID definition in EDK2 headers is broken (missing braces) */
110 #define EFI_TREE_PROTOCOL_GUID \
111  { 0x607f766c, 0x7455, 0x42be, \
112  { 0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x72, 0x0f } }
113 
114 /* Unicode collation protocol GUID was deleted from EDK2 headers */
115 #define EFI_UNICODE_COLLATION_PROTOCOL_GUID \
116  { 0x1d85cd7f, 0xf43d, 0x11d2, \
117  { 0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
118 
119 /** Absolute pointer protocol GUID */
122 
123 /** ACPI table protocol GUID */
126 
127 /** Adapter information protocol GUID */
130 
131 /** Apple NetBoot protocol GUID */
134 
135 /** ARP protocol GUID */
138 
139 /** ARP service binding protocol GUID */
142 
143 /** Block I/O protocol GUID */
146 
147 /** Block I/O version 2 protocol GUID */
150 
151 /** Bus specific driver override protocol GUID */
154 
155 /** Component name protocol GUID */
158 
159 /** Component name 2 protocol GUID */
162 
163 /** Console control protocol GUID */
166 
167 /** Device path protocol GUID */
170 
171 /** DHCPv4 protocol GUID */
174 
175 /** DHCPv4 service binding protocol GUID */
178 
179 /** DHCPv6 protocol GUID */
182 
183 /** DHCPv6 service binding protocol GUID */
186 
187 /** Disk I/O protocol GUID */
190 
191 /** DNSv4 protocol GUID */
194 
195 /** DNSv4 service binding protocol GUID */
198 
199 /** DNSv6 protocol GUID */
202 
203 /** DNSv6 service binding protocol GUID */
206 
207 /** Driver binding protocol GUID */
210 
211 /** EAP configuration protocol GUID */
214 
215 /** Graphics output protocol GUID */
218 
219 /** HII configuration access protocol GUID */
222 
223 /** HII font protocol GUID */
226 
227 /** HTTP protocol GUID */
230 
231 /** HTTP service binding protocol GUID */
234 
235 /** IPv4 protocol GUID */
238 
239 /** IPv4 configuration protocol GUID */
242 
243 /** IPv4 configuration 2 protocol GUID */
246 
247 /** IPv4 service binding protocol GUID */
250 
251 /** IPv6 protocol GUID */
254 
255 /** IPv6 configuration protocol GUID */
258 
259 /** IPv6 service binding protocol GUID */
262 
263 /** Load file protocol GUID */
266 
267 /** Load file 2 protocol GUID */
270 
271 /** Loaded image protocol GUID */
274 
275 /** Loaded image device path protocol GUID */
278 
279 /** Managed network protocol GUID */
282 
283 /** Managed network service binding protocol GUID */
286 
287 /** MTFTPv4 protocol GUID */
290 
291 /** MTFTPv4 service binding protocol GUID */
294 
295 /** MTFTPv6 protocol GUID */
298 
299 /** MTFTPv6 service binding protocol GUID */
302 
303 /** Network interface identifier protocol GUID (old version) */
306 
307 /** Network interface identifier protocol GUID (new version) */
310 
311 /** PCI I/O protocol GUID */
314 
315 /** PCI root bridge I/O protocol GUID */
318 
319 /** PXE base code protocol GUID */
322 
323 /** Random number generator protocol GUID */
326 
327 /** Serial I/O protocol GUID */
330 
331 /** Shim lock protocol GUID */
334 
335 /** Simple file system protocol GUID */
338 
339 /** Simple network protocol GUID */
342 
343 /** Simple pointer protocol GUID */
346 
347 /** Simple text input protocol GUID */
350 
351 /** Simple text input extension protocol GUID */
354 
355 /** Simple text output protocol GUID */
358 
359 /** Storage security protocol GUID */
362 
363 /** Supplicant protocol GUID */
366 
367 /** TCG protocol GUID */
370 
371 /** TCG2 protocol GUID */
374 
375 /** TCPv4 protocol GUID */
378 
379 /** TCPv4 service binding protocol GUID */
382 
383 /** TCPv6 protocol GUID */
386 
387 /** TCPv6 service binding protocol GUID */
390 
391 /** TrEE protocol GUID */
394 
395 /** UDPv4 protocol GUID */
398 
399 /** UDPv4 service binding protocol GUID */
402 
403 /** UDPv6 protocol GUID */
406 
407 /** UDPv6 service binding protocol GUID */
410 
411 /** UGA draw protocol GUID */
414 
415 /** Unicode collation protocol GUID */
418 
419 /** USB host controller protocol GUID */
422 
423 /** USB2 host controller protocol GUID */
426 
427 /** USB I/O protocol GUID */
430 
431 /** VLAN configuration protocol GUID */
434 
435 /** WiFi 2 protocol GUID */
438 
439 /** ACPI 1.0 table GUID */
442 
443 /** ACPI 2.0 table GUID */
446 
447 /** FDT table GUID */
450 
451 /** SMBIOS table GUID */
454 
455 /** SMBIOS3 table GUID */
458 
459 /** X.509 certificate GUID */
461 
462 /** File information GUID */
464 
465 /** File system information GUID */
467 
468 /** Global variable GUID */
470 
471 /** Image security database GUID */
473 
474 /** Microsoft vendor GUID */
476 
477 /** TLS CA certificate variable GUID */
479 
480 /** HttpBootDxe module GUID */
482  0xecebcb00, 0xd9c8, 0x11e4,
483  { 0xaf, 0x3d, 0x8c, 0xdc, 0xd4, 0x26, 0xc9, 0x73 }
484 };
485 
486 /** IScsiDxe module GUID */
488  0x86cddf93, 0x4872, 0x4597,
489  { 0x8a, 0xf9, 0xa3, 0x5a, 0xe4, 0xd3, 0x72, 0x5f }
490 };
491 
492 /** Old IScsi4Dxe module GUID */
494  0x4579b72d, 0x7ec4, 0x4dd4,
495  { 0x84, 0x86, 0x08, 0x3c, 0x86, 0xb1, 0x82, 0xa7 }
496 };
497 
498 /** UefiPxeBcDxe module GUID */
500  0xb95e9fda, 0x26de, 0x48d2,
501  { 0x88, 0x07, 0x1f, 0x91, 0x07, 0xac, 0x5e, 0x3a }
502 };
503 
504 /** VlanConfigDxe module GUID */
506  0xe4f61863, 0xfe2c, 0x4b56,
507  { 0xa8, 0xf4, 0x08, 0x51, 0x9b, 0xc4, 0x39, 0xdf }
508 };
509 
510 /** WiFiConnectionMgrDxe module GUID */
512  0x99b7c019, 0x4789, 0x4829,
513  { 0xa7, 0xbd, 0x0d, 0x4b, 0xaa, 0x62, 0x28, 0x72 }
514 };
515 
516 /** A well-known GUID */
518  /** GUID */
520  /** Name */
521  const char *name;
522 };
523 
524 /** Well-known GUIDs */
527  "AbsolutePointer" },
529  "Acpi10" },
531  "Acpi20" },
533  "AcpiTable" },
535  "AdapterInfo" },
537  "AppleNetBoot" },
539  "Arp" },
541  "ArpSb" },
543  "BlockIo" },
545  "BlockIo2" },
547  "BusSpecificDriverOverride" },
549  "CertX509" },
551  "ComponentName" },
553  "ComponentName2" },
555  "ConsoleControl" },
557  "DevicePath" },
559  "DriverBinding" },
561  "Dhcp4" },
563  "Dhcp4Sb" },
565  "Dhcp6" },
567  "Dhcp6Sb" },
569  "DiskIo" },
571  "Dns4" },
573  "Dns4Sb" },
575  "Dns6" },
577  "Dns6Sb" },
579  "EapConfig" },
581  "Fdt" },
583  "GlobalVar" },
585  "GraphicsOutput" },
587  "HiiConfigAccess" },
589  "HiiFont" },
591  "HttpBootDxe" },
593  "Http" },
595  "HttpSb" },
597  "ImageSecDb" },
599  "Ip4" },
601  "Ip4Config" },
603  "Ip4Config2" },
605  "Ip4Sb" },
607  "Ip6" },
609  "Ip6Config" },
611  "Ip6Sb" },
613  "IScsiDxe" },
615  "IScsi4Dxe" },
617  "LoadFile" },
619  "LoadFile2" },
621  "LoadedImage" },
623  "LoadedImageDevicePath"},
625  "ManagedNetwork" },
627  "ManagedNetworkSb" },
629  "Microsoft" },
631  "Mtftp4" },
633  "Mtftp4Sb" },
635  "Mtftp6" },
637  "Mtftp6Sb" },
639  "Nii" },
641  "Nii31" },
643  "PciIo" },
645  "PciRootBridgeIo" },
647  "PxeBaseCode" },
649  "Rng" },
651  "SerialIo" },
653  "ShimLock" },
655  "SimpleFileSystem" },
657  "SimpleNetwork" },
659  "SimplePointer" },
661  "SimpleTextInput" },
663  "SimpleTextInputEx" },
665  "SimpleTextOutput" },
667  "Smbios" },
669  "Smbios3" },
671  "StorageSecurityCommand" },
673  "Supplicant" },
675  "Tcg" },
677  "Tcg2" },
679  "Tcp4" },
681  "Tcp4Sb" },
683  "Tcp6" },
685  "Tcp6Sb" },
687  "TlsCaCert" },
689  "TrEE" },
691  "Udp4" },
693  "Udp4Sb" },
695  "Udp6" },
697  "Udp6Sb" },
699  "UefiPxeBcDxe" },
701  "UgaDraw" },
703  "UnicodeCollation" },
705  "UsbHc" },
707  "Usb2Hc" },
709  "UsbIo" },
711  "VlanConfig" },
713  "VlanConfigDxe" },
715  "Wifi2" },
717  "WiFiConnectionMgrDxe" },
718 };
719 
720 /**
721  * Convert GUID to a printable string
722  *
723  * @v guid GUID
724  * @ret string Printable string
725  */
726 const __attribute__ (( pure )) char * efi_guid_ntoa ( CONST EFI_GUID *guid ) {
727  union {
728  union uuid uuid;
729  EFI_GUID guid;
730  } u;
731  unsigned int i;
732 
733  /* Sanity check */
734  if ( ! guid )
735  return NULL;
736 
737  /* Check for a match against well-known GUIDs */
738  for ( i = 0 ; i < ( sizeof ( efi_well_known_guids ) /
739  sizeof ( efi_well_known_guids[0] ) ) ; i++ ) {
741  sizeof ( *guid ) ) == 0 ) {
742  return efi_well_known_guids[i].name;
743  }
744  }
745 
746  /* Convert GUID to standard endianness */
747  memcpy ( &u.guid, guid, sizeof ( u.guid ) );
748  uuid_mangle ( &u.uuid );
749  return uuid_ntoa ( &u.uuid );
750 }
EFI_GUID efi_nii31_protocol_guid
Network interface identifier protocol GUID (new version)
Definition: efi_guid.c:309
UEFI DriverBinding Protocol is defined in UEFI specification.
#define EFI_DHCP4_PROTOCOL_GUID
Definition: Dhcp4.h:21
EFI_GUID efi_mtftp6_service_binding_protocol_guid
MTFTPv6 service binding protocol GUID.
Definition: efi_guid.c:301
#define EFI_IP6_SERVICE_BINDING_PROTOCOL_GUID
Definition: Ip6.h:29
#define __attribute__(x)
Definition: compiler.h:10
#define EFI_UGA_DRAW_PROTOCOL_GUID
Definition: UgaDraw.h:20
#define EFI_UDP4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Udp4.h:25
static struct efi_well_known_guid efi_well_known_guids[]
Well-known GUIDs.
Definition: efi_guid.c:525
#define EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID
#define EFI_USB_IO_PROTOCOL_GUID
Definition: UsbIo.h:24
EFI_GUID efi_ip4_config_protocol_guid
IPv4 configuration protocol GUID.
Definition: efi_guid.c:241
EFI_GUID efi_adapter_information_protocol_guid
Adapter information protocol GUID.
Definition: efi_guid.c:129
#define EFI_SERIAL_IO_PROTOCOL_GUID
Definition: SerialIo.h:18
EFI_GUID efi_dns4_service_binding_protocol_guid
DNSv4 service binding protocol GUID.
Definition: efi_guid.c:197
EFI_GUID efi_dhcp4_service_binding_protocol_guid
DHCPv4 service binding protocol GUID.
Definition: efi_guid.c:177
Apple Net Boot Protocol.
EFI_GUID efi_hii_font_protocol_guid
HII font protocol GUID.
Definition: efi_guid.c:225
EFI_GUID efi_tcg_protocol_guid
TCG protocol GUID.
Definition: efi_guid.c:369
EFI_GUID efi_block_io2_protocol_guid
Block I/O version 2 protocol GUID.
Definition: efi_guid.c:149
The device path protocol as defined in UEFI 2.0.
#define EFI_ADAPTER_INFORMATION_PROTOCOL_GUID
EFI_GUID efi_ip6_protocol_guid
IPv6 protocol GUID.
Definition: efi_guid.c:253
EFI_GUID efi_udp6_service_binding_protocol_guid
UDPv6 service binding protocol GUID.
Definition: efi_guid.c:409
const char * name
Name.
Definition: efi_guid.c:521
#define EFI_TCP4_PROTOCOL_GUID
Definition: Tcp4.h:28
#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
EFI_GUID efi_file_system_info_id
File system information GUID.
Definition: efi_guid.c:466
#define EFI_DHCP6_PROTOCOL_GUID
Definition: Dhcp6.h:19
128 bit buffer containing a unique identifier value.
Definition: Base.h:216
#define EFI_HTTP_SERVICE_BINDING_PROTOCOL_GUID
Definition: Http.h:22
Copyright (c) 2013-2014, ARM Limited.
A universally unique ID.
Definition: uuid.h:16
static EFI_GUID efi_uefi_pxe_bc_dxe_guid
UefiPxeBcDxe module GUID.
Definition: efi_guid.c:499
EFI_GUID efi_dhcp6_service_binding_protocol_guid
DHCPv6 service binding protocol GUID.
Definition: efi_guid.c:185
This file provides a definition of the EFI IPv6 Configuration Protocol.
FILE_SECBOOT(PERMITTED)
EFI_GUID efi_pci_io_protocol_guid
PCI I/O protocol GUID.
Definition: efi_guid.c:313
TPM2 Protocol as defined in TCG PC Client Platform EFI Protocol Specification Family "2....
EFI_GUID efi_arp_service_binding_protocol_guid
ARP service binding protocol GUID.
Definition: efi_guid.c:141
EFI_GUID efi_usb_hc_protocol_guid
USB host controller protocol GUID.
Definition: efi_guid.c:421
UDP4 Service Binding Protocol as defined in UEFI specification.
EFI_GUID efi_usb2_hc_protocol_guid
USB2 host controller protocol GUID.
Definition: efi_guid.c:425
EFI_GUID efi_graphics_output_protocol_guid
Graphics output protocol GUID.
Definition: efi_guid.c:217
Disk IO protocol as defined in the UEFI 2.0 specification.
Load File protocol as defined in the UEFI 2.0 specification.
#define EFI_PCI_IO_PROTOCOL_GUID
Global ID for the PCI I/O Protocol.
Definition: PciIo.h:19
#define EFI_IP4_CONFIG_PROTOCOL_GUID
Definition: Ip4Config.h:24
EFI_GUID efi_fdt_table_guid
FDT table GUID.
Definition: efi_guid.c:449
#define EFI_IP6_CONFIG_PROTOCOL_GUID
Definition: Ip6Config.h:18
This file provides a definition of the EFI IPv4 Configuration Protocol.
EFI_GUID efi_simple_pointer_protocol_guid
Simple pointer protocol GUID.
Definition: efi_guid.c:345
EFI_GUID efi_loaded_image_device_path_protocol_guid
Loaded image device path protocol GUID.
Definition: efi_guid.c:277
EFI_GUID efi_image_security_database_guid
Image security database GUID.
Definition: efi_guid.c:472
EFI_GUID efi_dhcp4_protocol_guid
DHCPv4 protocol GUID.
Definition: efi_guid.c:173
GUIDs used for ACPI entries in the EFI system table.
Block IO2 protocol as defined in the UEFI 2.3.1 specification.
EFI_GUID efi_simple_network_protocol_guid
Simple network protocol GUID.
Definition: efi_guid.c:341
EFI_GUID efi_loaded_image_protocol_guid
Loaded image protocol GUID.
Definition: efi_guid.c:273
Unicode Collation protocol that follows the UEFI 2.0 specification.
This file provides a definition of the EFI IPv4 Configuration II Protocol.
EFI_GUID efi_tcp4_protocol_guid
TCPv4 protocol GUID.
Definition: efi_guid.c:377
Universally unique IDs.
#define EFI_TCP4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Tcp4.h:23
EFI Network Interface Identifier Protocol.
#define EFI_DNS4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Dns4.h:21
#define EFI_ARP_PROTOCOL_GUID
Definition: Arp.h:29
Declare the GUID that is expected:
EFI_GUID efi_pxe_base_code_protocol_guid
PXE base code protocol GUID.
Definition: efi_guid.c:321
EFI_GUID efi_ip4_config2_protocol_guid
IPv4 configuration 2 protocol GUID.
Definition: efi_guid.c:245
#define EFI_MTFTP6_PROTOCOL_GUID
Definition: Mtftp6.h:27
EFI Storage Security Command Protocol as defined in UEFI 2.3.1 specification.
union @18 u
EFI PXE Base Code Protocol definitions, which is used to access PXE-compatible devices for network ac...
EFI_GUID efi_managed_network_service_binding_protocol_guid
Managed network service binding protocol GUID.
Definition: efi_guid.c:285
EFI_GUID efi_smbios_table_guid
SMBIOS table GUID.
Definition: efi_guid.c:453
EFI_GUID efi_rng_protocol_guid
Random number generator protocol GUID.
Definition: efi_guid.c:325
EFI_GUID efi_ip6_service_binding_protocol_guid
IPv6 service binding protocol GUID.
Definition: efi_guid.c:261
#define SMBIOS_TABLE_GUID
Definition: SmBios.h:22
#define EFI_SIMPLE_NETWORK_PROTOCOL_GUID
Definition: SimpleNetwork.h:26
EFI_GUID efi_microsoft_vendor_guid
Microsoft vendor GUID.
Definition: efi_guid.c:475
EFI Adapter Information Protocol definition.
EFI Component Name Protocol as defined in the EFI 1.1 specification.
#define EFI_TLS_CA_CERTIFICATE_GUID
Bus Specific Driver Override protocol as defined in the UEFI 2.0 specification.
#define EFI_DRIVER_BINDING_PROTOCOL_GUID
The global ID for the ControllerHandle Driver Protocol.
Definition: DriverBinding.h:21
#define EFI_IP4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Ip4.h:29
#define EFI_TCG_PROTOCOL_GUID
Definition: TcgService.h:18
#define EFI_FILE_SYSTEM_INFO_ID
The EFI UDPv6 (User Datagram Protocol version 6) Protocol Definition, which is built upon the EFI IPv...
#define SMBIOS3_TABLE_GUID
Definition: SmBios.h:27
EFI_GUID efi_disk_io_protocol_guid
Disk I/O protocol GUID.
Definition: efi_guid.c:189
EFI_GUID efi_hii_config_access_protocol_guid
HII configuration access protocol GUID.
Definition: efi_guid.c:221
#define EFI_DNS4_PROTOCOL_GUID
Definition: Dns4.h:26
EFI_GUID efi_console_control_protocol_guid
Console control protocol GUID.
Definition: efi_guid.c:165
EFI_GUID efi_simple_text_output_protocol_guid
Simple text output protocol GUID.
Definition: efi_guid.c:357
EFI_GUID efi_mtftp4_service_binding_protocol_guid
MTFTPv4 service binding protocol GUID.
Definition: efi_guid.c:293
#define EFI_IP6_PROTOCOL_GUID
Definition: Ip6.h:34
#define EFI_ARP_SERVICE_BINDING_PROTOCOL_GUID
Definition: Arp.h:24
UEFI 2.0 Loaded image protocol definition.
EFI_GUID * guid
GUID.
Definition: efi_guid.c:519
static void uuid_mangle(union uuid *uuid)
Change UUID endianness.
Definition: uuid.h:44
static EFI_GUID efi_vlan_config_dxe_guid
VlanConfigDxe module GUID.
Definition: efi_guid.c:505
#define EFI_ACPI_TABLE_PROTOCOL_GUID
Definition: AcpiTable.h:19
#define EFI_LOAD_FILE2_PROTOCOL_GUID
Definition: LoadFile2.h:21
#define EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Dhcp4.h:26
EFI_GUID efi_uga_draw_protocol_guid
UGA draw protocol GUID.
Definition: efi_guid.c:413
void * memcpy(void *dest, const void *src, size_t len) __nonnull
This file defines the EFI Supplicant Protocol.
EFI_GUID efi_tcp6_protocol_guid
TCPv6 protocol GUID.
Definition: efi_guid.c:385
#define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Mtftp4.h:18
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
#define EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID
EFI_DEVICE_PATH_TO_TEXT_PROTOCOL as defined in UEFI 2.0.
EFI_GUID efi_tcp4_service_binding_protocol_guid
TCPv4 service binding protocol GUID.
Definition: efi_guid.c:381
#define FDT_TABLE_GUID
Definition: Fdt.h:15
#define EFI_PXE_BASE_CODE_PROTOCOL_GUID
PXE Base Code protocol.
Definition: PxeBaseCode.h:25
EFI_GUID efi_tree_protocol_guid
TrEE protocol GUID.
Definition: efi_guid.c:393
#define EFI_UDP4_PROTOCOL_GUID
Definition: Udp4.h:30
SimpleFileSystem protocol as defined in the UEFI 2.0 specification.
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID
This file defines the EFI IPv4 (Internet Protocol version 4) Protocol interface.
#define EFI_USB_HC_PROTOCOL_GUID
#define EFI_COMPONENT_NAME_PROTOCOL_GUID
The global ID for the Component Name Protocol.
Definition: ComponentName.h:20
#define EFI_GLOBAL_VARIABLE
EFI_GUID efi_dhcp6_protocol_guid
DHCPv6 protocol GUID.
Definition: efi_guid.c:181
EFI_GUID efi_simple_file_system_protocol_guid
Simple file system protocol GUID.
Definition: efi_guid.c:337
EFI_RNG_PROTOCOL as defined in UEFI 2.4.
static EFI_GUID efi_iscsi_dxe_guid
IScsiDxe module GUID.
Definition: efi_guid.c:487
EFI_GUID efi_ip4_service_binding_protocol_guid
IPv4 service binding protocol GUID.
Definition: efi_guid.c:249
EFI_GUID efi_acpi_table_protocol_guid
ACPI table protocol GUID.
Definition: efi_guid.c:125
UEFI Component Name 2 Protocol as defined in the UEFI 2.1 specification.
EFI ARP Protocol Definition.
The EFI_SIMPLE_NETWORK_PROTOCOL provides services to initialize a network interface,...
#define EFI_DNS6_SERVICE_BINDING_PROTOCOL_GUID
Definition: Dns6.h:21
#define EFI_IMAGE_SECURITY_DATABASE_GUID
EFI_GUID efi_global_variable
Global variable GUID.
Definition: efi_guid.c:469
#define EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID
#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID_31
EFI TCPv4(Transmission Control Protocol version 4) Protocol Definition The EFI TCPv4 Service Binding ...
EFI_GUID efi_vlan_config_protocol_guid
VLAN configuration protocol GUID.
Definition: efi_guid.c:433
EFI_GUID efi_ip6_config_protocol_guid
IPv6 configuration protocol GUID.
Definition: efi_guid.c:257
#define EFI_USB2_HC_PROTOCOL_GUID
This file defines the EFI HTTP Protocol interface.
#define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID
Definition: SimpleTextIn.h:18
#define EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID
Definition: LoadedImage.h:23
EFI_DHCP4_PROTOCOL as defined in UEFI 2.0.
EFI_GUID efi_smbios3_table_guid
SMBIOS3 table GUID.
Definition: efi_guid.c:457
#define EFI_DNS6_PROTOCOL_GUID
Definition: Dns6.h:26
EFI_GUID efi_usb_io_protocol_guid
USB I/O protocol GUID.
Definition: efi_guid.c:429
EFI_GUID efi_load_file2_protocol_guid
Load file 2 protocol GUID.
Definition: efi_guid.c:269
#define EFI_TREE_PROTOCOL_GUID
Definition: efi_guid.c:110
Simple Text Input Ex protocol from the UEFI 2.0 specification.
#define EFI_MTFTP4_PROTOCOL_GUID
Definition: Mtftp4.h:23
A well-known GUID.
Definition: efi_guid.c:517
#define EFI_ACPI_20_TABLE_GUID
Definition: Acpi.h:37
EFI_GUID efi_serial_io_protocol_guid
Serial I/O protocol GUID.
Definition: efi_guid.c:329
static EFI_GUID efi_http_boot_dxe_guid
HttpBootDxe module GUID.
Definition: efi_guid.c:481
This file defines the EFI IPv6 (Internet Protocol version 6) Protocol interface.
UGA Draw protocol from the EFI 1.10 specification.
#define EFI_STORAGE_SECURITY_COMMAND_PROTOCOL_GUID
#define EFI_TCP6_PROTOCOL_GUID
Definition: Tcp6.h:29
#define EFI_APPLE_NET_BOOT_PROTOCOL_GUID
Definition: AppleNetBoot.h:13
#define EFI_MTFTP6_SERVICE_BINDING_PROTOCOL_GUID
Definition: Mtftp6.h:22
#define MICROSOFT_VENDOR_GUID
The file provides services that allow information about an absolute pointer device to be retrieved.
Simple Text Out protocol from the UEFI 2.0 specification.
#define EFI_CONSOLE_CONTROL_PROTOCOL_GUID
EFI_USB2_HC_PROTOCOL as defined in UEFI 2.0.
#define EFI_WIRELESS_MAC_CONNECTION_II_PROTOCOL_GUID
Definition: WiFi2.h:18
EFI VLAN Config protocol is to provide manageability interface for VLAN configuration.
EFI TCPv6(Transmission Control Protocol version 6) Protocol Definition The EFI TCPv6 Service Binding ...
This file defines TlsCaCertificate variable.
EFI_GUID efi_udp6_protocol_guid
UDPv6 protocol GUID.
Definition: efi_guid.c:405
EFI_GUID efi_device_path_protocol_guid
Device path protocol GUID.
Definition: efi_guid.c:169
const char * efi_guid_ntoa(CONST EFI_GUID *guid)
Convert GUID to a printable string.
Definition: efi_guid.c:726
#define EFI_RNG_PROTOCOL_GUID
Global ID for the Random Number Generator Protocol.
Definition: Rng.h:22
EFI_GUID efi_component_name2_protocol_guid
Component name 2 protocol GUID.
Definition: efi_guid.c:161
Serial IO protocol as defined in the UEFI 2.0 specification.
EFI_GUID efi_simple_text_input_ex_protocol_guid
Simple text input extension protocol GUID.
Definition: efi_guid.c:353
#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID
const char * uuid_ntoa(const union uuid *uuid)
Convert UUID to printable string.
Definition: uuid.c:46
#define EFI_DISK_IO_PROTOCOL_GUID
Definition: DiskIo.h:19
TCG Service Protocol as defined in TCG_EFI_Protocol_1_22_Final See http://trustedcomputinggroup....
Provides a GUID and a data structure that can be used with EFI_FILE_PROTOCOL.SetInfo() and EFI_FILE_P...
EFI_GUID efi_simple_text_input_protocol_guid
Simple text input protocol GUID.
Definition: efi_guid.c:349
#define EFI_BLOCK_IO_PROTOCOL_GUID
Definition: BlockIo.h:18
EFI_GUID efi_bus_specific_driver_override_protocol_guid
Bus specific driver override protocol GUID.
Definition: efi_guid.c:153
EFI_GUID efi_mtftp4_protocol_guid
MTFTPv4 protocol GUID.
Definition: efi_guid.c:289
UEFI Dynamic Host Configuration Protocol 6 Definition, which is used to get IPv6 addresses and other ...
EFI API.
EFI Usb I/O Protocol as defined in UEFI specification.
#define EFI_UDP6_SERVICE_BINDING_PROTOCOL_GUID
Definition: Udp6.h:22
uint64_t guid
GUID.
Definition: edd.h:31
#define EFI_LOADED_IMAGE_PROTOCOL_GUID
Definition: LoadedImage.h:18
EFI_GUID efi_tcp6_service_binding_protocol_guid
TCPv6 service binding protocol GUID.
Definition: efi_guid.c:389
static EFI_GUID efi_iscsi4_dxe_guid
Old IScsi4Dxe module GUID.
Definition: efi_guid.c:493
EFI_GUID efi_nii_protocol_guid
Network interface identifier protocol GUID (old version)
Definition: efi_guid.c:305
This file defines the EFI Wireless MAC Connection II Protocol.
This file defines the EFI Domain Name Service Binding Protocol interface.
#define EFI_SUPPLICANT_PROTOCOL_GUID
The EFI Supplicant protocol provides services to process authentication and data encryption/decryptio...
Definition: Supplicant.h:34
EFI_GUID efi_dns4_protocol_guid
DNSv4 protocol GUID.
Definition: efi_guid.c:193
EFI "shim lock" protocol.
EFI_GUID efi_absolute_pointer_protocol_guid
Absolute pointer protocol GUID.
Definition: efi_guid.c:121
Simple Text Input protocol from the UEFI 2.0 specification.
EFI_GUID efi_arp_protocol_guid
ARP protocol GUID.
Definition: efi_guid.c:137
Graphics Output Protocol from the UEFI 2.0 specification.
EFI_GUID efi_cert_x509_guid
X.509 certificate GUID.
Definition: efi_guid.c:460
#define EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_GUID
Global ID for the Bus Specific Driver Override Protocol.
EFI_GUID efi_wifi2_protocol_guid
WiFi 2 protocol GUID.
Definition: efi_guid.c:437
GUID for EFI (NVRAM) Variables.
GUIDs used to locate the SMBIOS tables in the UEFI 2.5 system table.
#define EFI_LOAD_FILE_PROTOCOL_GUID
Definition: LoadFile.h:21
EFI_GUID efi_apple_net_boot_protocol_guid
Apple NetBoot protocol GUID.
Definition: efi_guid.c:133
#define EFI_EAP_CONFIGURATION_PROTOCOL_GUID
EFI EAP Configuration protocol provides a way to set and get EAP configuration.
The EFI HII results processing protocol invokes this type of protocol when it needs to forward result...
UEFI Multicast Trivial File Transfer Protocol v6 Definition, which is built upon the EFI UDPv6 Protoc...
#define EFI_CERT_X509_GUID
This identifies a signature based on an X.509 certificate.
EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL as defined in UEFI 2.0.
EFI_GUID efi_block_io_protocol_guid
Block I/O protocol GUID.
Definition: efi_guid.c:145
#define CONST
Datum is read-only.
Definition: Base.h:262
EFI_GUID efi_supplicant_protocol_guid
Supplicant protocol GUID.
Definition: efi_guid.c:365
EFI_GUID efi_eap_configuration_protocol_guid
EAP configuration protocol GUID.
Definition: efi_guid.c:213
Simple Pointer protocol from the UEFI 2.0 specification.
EFI_GUID efi_file_info_id
File information GUID.
Definition: efi_guid.c:463
#define EFI_FILE_INFO_ID
Definition: FileInfo.h:17
#define EFI_IP4_PROTOCOL_GUID
Definition: Ip4.h:34
#define EFI_HII_FONT_PROTOCOL_GUID
Definition: HiiFont.h:21
Image signature database are defined for the signed image validation.
PCI Root Bridge I/O protocol as defined in the UEFI 2.0 specification.
EFI_GUID efi_tls_ca_certificate_guid
TLS CA certificate variable GUID.
Definition: efi_guid.c:478
EFI_GUID efi_storage_security_command_protocol_guid
Storage security protocol GUID.
Definition: efi_guid.c:361
EFI Multicast Trivial File Transfer Protocol Definition.
EFI_GUID efi_pci_root_bridge_io_protocol_guid
PCI root bridge I/O protocol GUID.
Definition: efi_guid.c:317
#define EFI_BLOCK_IO2_PROTOCOL_GUID
Definition: BlockIo2.h:21
Block IO protocol as defined in the UEFI 2.0 specification.
This file defines the EFI EAP Configuration protocol.
#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID
#define EFI_TCP6_SERVICE_BINDING_PROTOCOL_GUID
Definition: Tcp6.h:24
#define EFI_SIMPLE_POINTER_PROTOCOL_GUID
Definition: SimplePointer.h:17
EFI_USB_HC_PROTOCOL as defined in EFI 1.10.
EFI_GUID efi_http_protocol_guid
HTTP protocol GUID.
Definition: efi_guid.c:229
EFI_GUID efi_ip4_protocol_guid
IPv4 protocol GUID.
Definition: efi_guid.c:237
EFI_GUID efi_shim_lock_protocol_guid
Shim lock protocol GUID.
Definition: efi_guid.c:333
This file defines the EFI DNSv6 (Domain Name Service version 6) Protocol.
EFI_GUID efi_http_service_binding_protocol_guid
HTTP service binding protocol GUID.
Definition: efi_guid.c:233
EFI_GUID efi_dns6_service_binding_protocol_guid
DNSv6 service binding protocol GUID.
Definition: efi_guid.c:205
#define EFI_IP4_CONFIG2_PROTOCOL_GUID
Definition: Ip4Config2.h:21
#define EFI_COMPONENT_NAME2_PROTOCOL_GUID
Global ID for the Component Name Protocol.
EFI_GUID efi_component_name_protocol_guid
Component name protocol GUID.
Definition: efi_guid.c:157
EFI_GUID efi_dns6_protocol_guid
DNSv6 protocol GUID.
Definition: efi_guid.c:201
#define EFI_HTTP_PROTOCOL_GUID
Definition: Http.h:27
#define EFI_UNICODE_COLLATION_PROTOCOL_GUID
Definition: efi_guid.c:115
#define EFI_DHCP6_SERVICE_BINDING_PROTOCOL_GUID
Definition: Dhcp6.h:24
EFI_GUID efi_unicode_collation_protocol_guid
Unicode collation protocol GUID.
Definition: efi_guid.c:417
The file provides the protocol to install or remove an ACPI table from a platform.
EFI_GUID efi_acpi_20_table_guid
ACPI 2.0 table GUID.
Definition: efi_guid.c:445
EFI_GUID efi_mtftp6_protocol_guid
MTFTPv6 protocol GUID.
Definition: efi_guid.c:297
static EFI_GUID efi_wifi_connection_mgr_dxe_guid
WiFiConnectionMgrDxe module GUID.
Definition: efi_guid.c:511
#define ACPI_10_TABLE_GUID
Definition: Acpi.h:32
#define EFI_VLAN_CONFIG_PROTOCOL_GUID
Definition: VlanConfig.h:18
EFI_GUID efi_tcg2_protocol_guid
TCG2 protocol GUID.
Definition: efi_guid.c:373
EFI_GUID efi_load_file_protocol_guid
Load file protocol GUID.
Definition: efi_guid.c:265
EFI_GUID efi_udp4_protocol_guid
UDPv4 protocol GUID.
Definition: efi_guid.c:397
EFI_GUID efi_udp4_service_binding_protocol_guid
UDPv4 service binding protocol GUID.
Definition: efi_guid.c:401
EFI PCI I/O Protocol provides the basic Memory, I/O, PCI configuration, and DMA interfaces that a dri...
EFI_GUID efi_acpi_10_table_guid
ACPI 1.0 table GUID.
Definition: efi_guid.c:441
The file provides services to retrieve font information.
#define EFI_ABSOLUTE_POINTER_PROTOCOL_GUID
#define EFI_UDP6_PROTOCOL_GUID
Definition: Udp6.h:27
#define EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID
Definition: SimpleTextOut.h:20
Load File protocol as defined in the UEFI 2.0 specification.
#define EFI_TCG2_PROTOCOL_GUID
Definition: Tcg2Protocol.h:19
int memcmp(const void *first, const void *second, size_t len)
Compare memory regions.
Definition: string.c:115
EFI_GUID efi_driver_binding_protocol_guid
Driver binding protocol GUID.
Definition: efi_guid.c:209
#define NULL
NULL pointer (VOID *)
Definition: Base.h:322
#define EFI_SHIM_LOCK_PROTOCOL_GUID
Definition: ShimLock.h:13
#define EFI_MANAGED_NETWORK_PROTOCOL_GUID
String functions.
Provides a GUID and a data structure that can be used with EFI_FILE_PROTOCOL.GetInfo() or EFI_FILE_PR...
#define EFI_DEVICE_PATH_PROTOCOL_GUID
Device Path protocol.
Definition: DevicePath.h:26
EFI_GUID efi_managed_network_protocol_guid
Managed network protocol GUID.
Definition: efi_guid.c:281