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 
26 #include <string.h>
27 #include <ipxe/uuid.h>
28 #include <ipxe/efi/efi.h>
33 #include <ipxe/efi/Protocol/Arp.h>
45 #include <ipxe/efi/Protocol/Dns4.h>
46 #include <ipxe/efi/Protocol/Dns6.h>
52 #include <ipxe/efi/Protocol/Http.h>
53 #include <ipxe/efi/Protocol/Ip4.h>
56 #include <ipxe/efi/Protocol/Ip6.h>
68 #include <ipxe/efi/Protocol/Rng.h>
81 #include <ipxe/efi/Protocol/Tcp4.h>
82 #include <ipxe/efi/Protocol/Tcp6.h>
83 #include <ipxe/efi/Protocol/Udp4.h>
84 #include <ipxe/efi/Protocol/Udp6.h>
92 #include <ipxe/efi/Guid/Acpi.h>
93 #include <ipxe/efi/Guid/Fdt.h>
94 #include <ipxe/efi/Guid/FileInfo.h>
99 #include <ipxe/efi/Guid/SmBios.h>
101 
102 /** @file
103  *
104  * EFI GUIDs
105  *
106  */
107 
108 /* TrEE protocol GUID definition in EDK2 headers is broken (missing braces) */
109 #define EFI_TREE_PROTOCOL_GUID \
110  { 0x607f766c, 0x7455, 0x42be, \
111  { 0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x72, 0x0f } }
112 
113 /* Unicode collation protocol GUID was deleted from EDK2 headers */
114 #define EFI_UNICODE_COLLATION_PROTOCOL_GUID \
115  { 0x1d85cd7f, 0xf43d, 0x11d2, \
116  { 0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
117 
118 /** Absolute pointer protocol GUID */
121 
122 /** ACPI table protocol GUID */
125 
126 /** Adapter information protocol GUID */
129 
130 /** Apple NetBoot protocol GUID */
133 
134 /** ARP protocol GUID */
137 
138 /** ARP service binding protocol GUID */
141 
142 /** Block I/O protocol GUID */
145 
146 /** Block I/O version 2 protocol GUID */
149 
150 /** Bus specific driver override protocol GUID */
153 
154 /** Component name protocol GUID */
157 
158 /** Component name 2 protocol GUID */
161 
162 /** Console control protocol GUID */
165 
166 /** Device path protocol GUID */
169 
170 /** DHCPv4 protocol GUID */
173 
174 /** DHCPv4 service binding protocol GUID */
177 
178 /** DHCPv6 protocol GUID */
181 
182 /** DHCPv6 service binding protocol GUID */
185 
186 /** Disk I/O protocol GUID */
189 
190 /** DNSv4 protocol GUID */
193 
194 /** DNSv4 service binding protocol GUID */
197 
198 /** DNSv6 protocol GUID */
201 
202 /** DNSv6 service binding protocol GUID */
205 
206 /** Driver binding protocol GUID */
209 
210 /** EAP configuration protocol GUID */
213 
214 /** Graphics output protocol GUID */
217 
218 /** HII configuration access protocol GUID */
221 
222 /** HII font protocol GUID */
225 
226 /** HTTP protocol GUID */
229 
230 /** HTTP service binding protocol GUID */
233 
234 /** IPv4 protocol GUID */
237 
238 /** IPv4 configuration protocol GUID */
241 
242 /** IPv4 configuration 2 protocol GUID */
245 
246 /** IPv4 service binding protocol GUID */
249 
250 /** IPv6 protocol GUID */
253 
254 /** IPv6 configuration protocol GUID */
257 
258 /** IPv6 service binding protocol GUID */
261 
262 /** Load file protocol GUID */
265 
266 /** Load file 2 protocol GUID */
269 
270 /** Loaded image protocol GUID */
273 
274 /** Loaded image device path protocol GUID */
277 
278 /** Managed network protocol GUID */
281 
282 /** Managed network service binding protocol GUID */
285 
286 /** MTFTPv4 protocol GUID */
289 
290 /** MTFTPv4 service binding protocol GUID */
293 
294 /** MTFTPv6 protocol GUID */
297 
298 /** MTFTPv6 service binding protocol GUID */
301 
302 /** Network interface identifier protocol GUID (old version) */
305 
306 /** Network interface identifier protocol GUID (new version) */
309 
310 /** PCI I/O protocol GUID */
313 
314 /** PCI root bridge I/O protocol GUID */
317 
318 /** PXE base code protocol GUID */
321 
322 /** Random number generator protocol GUID */
325 
326 /** Serial I/O protocol GUID */
329 
330 /** Shim lock protocol GUID */
333 
334 /** Simple file system protocol GUID */
337 
338 /** Simple network protocol GUID */
341 
342 /** Simple pointer protocol GUID */
345 
346 /** Simple text input protocol GUID */
349 
350 /** Simple text input extension protocol GUID */
353 
354 /** Simple text output protocol GUID */
357 
358 /** Storage security protocol GUID */
361 
362 /** Supplicant protocol GUID */
365 
366 /** TCG protocol GUID */
369 
370 /** TCG2 protocol GUID */
373 
374 /** TCPv4 protocol GUID */
377 
378 /** TCPv4 service binding protocol GUID */
381 
382 /** TCPv6 protocol GUID */
385 
386 /** TCPv6 service binding protocol GUID */
389 
390 /** TrEE protocol GUID */
393 
394 /** UDPv4 protocol GUID */
397 
398 /** UDPv4 service binding protocol GUID */
401 
402 /** UDPv6 protocol GUID */
405 
406 /** UDPv6 service binding protocol GUID */
409 
410 /** UGA draw protocol GUID */
413 
414 /** Unicode collation protocol GUID */
417 
418 /** USB host controller protocol GUID */
421 
422 /** USB2 host controller protocol GUID */
425 
426 /** USB I/O protocol GUID */
429 
430 /** VLAN configuration protocol GUID */
433 
434 /** WiFi 2 protocol GUID */
437 
438 /** ACPI 1.0 table GUID */
441 
442 /** ACPI 2.0 table GUID */
445 
446 /** FDT table GUID */
449 
450 /** SMBIOS table GUID */
453 
454 /** SMBIOS3 table GUID */
457 
458 /** X.509 certificate GUID */
460 
461 /** File information GUID */
463 
464 /** File system information GUID */
466 
467 /** Global variable GUID */
469 
470 /** Image security database GUID */
472 
473 /** Microsoft vendor GUID */
475 
476 /** TLS CA certificate variable GUID */
478 
479 /** HttpBootDxe module GUID */
481  0xecebcb00, 0xd9c8, 0x11e4,
482  { 0xaf, 0x3d, 0x8c, 0xdc, 0xd4, 0x26, 0xc9, 0x73 }
483 };
484 
485 /** IScsiDxe module GUID */
487  0x86cddf93, 0x4872, 0x4597,
488  { 0x8a, 0xf9, 0xa3, 0x5a, 0xe4, 0xd3, 0x72, 0x5f }
489 };
490 
491 /** Old IScsi4Dxe module GUID */
493  0x4579b72d, 0x7ec4, 0x4dd4,
494  { 0x84, 0x86, 0x08, 0x3c, 0x86, 0xb1, 0x82, 0xa7 }
495 };
496 
497 /** UefiPxeBcDxe module GUID */
499  0xb95e9fda, 0x26de, 0x48d2,
500  { 0x88, 0x07, 0x1f, 0x91, 0x07, 0xac, 0x5e, 0x3a }
501 };
502 
503 /** VlanConfigDxe module GUID */
505  0xe4f61863, 0xfe2c, 0x4b56,
506  { 0xa8, 0xf4, 0x08, 0x51, 0x9b, 0xc4, 0x39, 0xdf }
507 };
508 
509 /** WiFiConnectionMgrDxe module GUID */
511  0x99b7c019, 0x4789, 0x4829,
512  { 0xa7, 0xbd, 0x0d, 0x4b, 0xaa, 0x62, 0x28, 0x72 }
513 };
514 
515 /** A well-known GUID */
517  /** GUID */
519  /** Name */
520  const char *name;
521 };
522 
523 /** Well-known GUIDs */
526  "AbsolutePointer" },
528  "Acpi10" },
530  "Acpi20" },
532  "AcpiTable" },
534  "AdapterInfo" },
536  "AppleNetBoot" },
538  "Arp" },
540  "ArpSb" },
542  "BlockIo" },
544  "BlockIo2" },
546  "BusSpecificDriverOverride" },
548  "CertX509" },
550  "ComponentName" },
552  "ComponentName2" },
554  "ConsoleControl" },
556  "DevicePath" },
558  "DriverBinding" },
560  "Dhcp4" },
562  "Dhcp4Sb" },
564  "Dhcp6" },
566  "Dhcp6Sb" },
568  "DiskIo" },
570  "Dns4" },
572  "Dns4Sb" },
574  "Dns6" },
576  "Dns6Sb" },
578  "EapConfig" },
580  "Fdt" },
582  "GlobalVar" },
584  "GraphicsOutput" },
586  "HiiConfigAccess" },
588  "HiiFont" },
590  "HttpBootDxe" },
592  "Http" },
594  "HttpSb" },
596  "ImageSecDb" },
598  "Ip4" },
600  "Ip4Config" },
602  "Ip4Config2" },
604  "Ip4Sb" },
606  "Ip6" },
608  "Ip6Config" },
610  "Ip6Sb" },
612  "IScsiDxe" },
614  "IScsi4Dxe" },
616  "LoadFile" },
618  "LoadFile2" },
620  "LoadedImage" },
622  "LoadedImageDevicePath"},
624  "ManagedNetwork" },
626  "ManagedNetworkSb" },
628  "Microsoft" },
630  "Mtftp4" },
632  "Mtftp4Sb" },
634  "Mtftp6" },
636  "Mtftp6Sb" },
638  "Nii" },
640  "Nii31" },
642  "PciIo" },
644  "PciRootBridgeIo" },
646  "PxeBaseCode" },
648  "Rng" },
650  "SerialIo" },
652  "ShimLock" },
654  "SimpleFileSystem" },
656  "SimpleNetwork" },
658  "SimplePointer" },
660  "SimpleTextInput" },
662  "SimpleTextInputEx" },
664  "SimpleTextOutput" },
666  "Smbios" },
668  "Smbios3" },
670  "StorageSecurityCommand" },
672  "Supplicant" },
674  "Tcg" },
676  "Tcg2" },
678  "Tcp4" },
680  "Tcp4Sb" },
682  "Tcp6" },
684  "Tcp6Sb" },
686  "TlsCaCert" },
688  "TrEE" },
690  "Udp4" },
692  "Udp4Sb" },
694  "Udp6" },
696  "Udp6Sb" },
698  "UefiPxeBcDxe" },
700  "UgaDraw" },
702  "UnicodeCollation" },
704  "UsbHc" },
706  "Usb2Hc" },
708  "UsbIo" },
710  "VlanConfig" },
712  "VlanConfigDxe" },
714  "Wifi2" },
716  "WiFiConnectionMgrDxe" },
717 };
718 
719 /**
720  * Convert GUID to a printable string
721  *
722  * @v guid GUID
723  * @ret string Printable string
724  */
725 const __attribute__ (( pure )) char * efi_guid_ntoa ( CONST EFI_GUID *guid ) {
726  union {
727  union uuid uuid;
728  EFI_GUID guid;
729  } u;
730  unsigned int i;
731 
732  /* Sanity check */
733  if ( ! guid )
734  return NULL;
735 
736  /* Check for a match against well-known GUIDs */
737  for ( i = 0 ; i < ( sizeof ( efi_well_known_guids ) /
738  sizeof ( efi_well_known_guids[0] ) ) ; i++ ) {
740  sizeof ( *guid ) ) == 0 ) {
741  return efi_well_known_guids[i].name;
742  }
743  }
744 
745  /* Convert GUID to standard endianness */
746  memcpy ( &u.guid, guid, sizeof ( u.guid ) );
747  uuid_mangle ( &u.uuid );
748  return uuid_ntoa ( &u.uuid );
749 }
EFI_GUID efi_nii31_protocol_guid
Network interface identifier protocol GUID (new version)
Definition: efi_guid.c:308
UEFI DriverBinding Protocol is defined in UEFI specification.
#define EFI_DHCP4_PROTOCOL_GUID
Definition: Dhcp4.h:20
EFI_GUID efi_mtftp6_service_binding_protocol_guid
MTFTPv6 service binding protocol GUID.
Definition: efi_guid.c:300
#define EFI_IP6_SERVICE_BINDING_PROTOCOL_GUID
Definition: Ip6.h:28
#define __attribute__(x)
Definition: compiler.h:10
#define EFI_UGA_DRAW_PROTOCOL_GUID
Definition: UgaDraw.h:19
#define EFI_UDP4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Udp4.h:24
static struct efi_well_known_guid efi_well_known_guids[]
Well-known GUIDs.
Definition: efi_guid.c:524
#define EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID
#define EFI_USB_IO_PROTOCOL_GUID
Definition: UsbIo.h:23
EFI_GUID efi_ip4_config_protocol_guid
IPv4 configuration protocol GUID.
Definition: efi_guid.c:240
EFI_GUID efi_adapter_information_protocol_guid
Adapter information protocol GUID.
Definition: efi_guid.c:128
#define EFI_SERIAL_IO_PROTOCOL_GUID
Definition: SerialIo.h:17
EFI_GUID efi_dns4_service_binding_protocol_guid
DNSv4 service binding protocol GUID.
Definition: efi_guid.c:196
EFI_GUID efi_dhcp4_service_binding_protocol_guid
DHCPv4 service binding protocol GUID.
Definition: efi_guid.c:176
Apple Net Boot Protocol.
EFI_GUID efi_hii_font_protocol_guid
HII font protocol GUID.
Definition: efi_guid.c:224
EFI_GUID efi_tcg_protocol_guid
TCG protocol GUID.
Definition: efi_guid.c:368
EFI_GUID efi_block_io2_protocol_guid
Block I/O version 2 protocol GUID.
Definition: efi_guid.c:148
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:252
EFI_GUID efi_udp6_service_binding_protocol_guid
UDPv6 service binding protocol GUID.
Definition: efi_guid.c:408
const char * name
Name.
Definition: efi_guid.c:520
#define EFI_TCP4_PROTOCOL_GUID
Definition: Tcp4.h:27
#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
EFI_GUID efi_file_system_info_id
File system information GUID.
Definition: efi_guid.c:465
#define EFI_DHCP6_PROTOCOL_GUID
Definition: Dhcp6.h:18
128 bit buffer containing a unique identifier value.
Definition: Base.h:215
#define EFI_HTTP_SERVICE_BINDING_PROTOCOL_GUID
Definition: Http.h:21
Copyright (c) 2013-2014, ARM Limited.
A universally unique ID.
Definition: uuid.h:15
static EFI_GUID efi_uefi_pxe_bc_dxe_guid
UefiPxeBcDxe module GUID.
Definition: efi_guid.c:498
EFI_GUID efi_dhcp6_service_binding_protocol_guid
DHCPv6 service binding protocol GUID.
Definition: efi_guid.c:184
This file provides a definition of the EFI IPv6 Configuration Protocol.
EFI_GUID efi_pci_io_protocol_guid
PCI I/O protocol GUID.
Definition: efi_guid.c:312
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:140
EFI_GUID efi_usb_hc_protocol_guid
USB host controller protocol GUID.
Definition: efi_guid.c:420
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:424
EFI_GUID efi_graphics_output_protocol_guid
Graphics output protocol GUID.
Definition: efi_guid.c:216
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:18
#define EFI_IP4_CONFIG_PROTOCOL_GUID
Definition: Ip4Config.h:23
EFI_GUID efi_fdt_table_guid
FDT table GUID.
Definition: efi_guid.c:448
#define EFI_IP6_CONFIG_PROTOCOL_GUID
Definition: Ip6Config.h:17
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:344
EFI_GUID efi_loaded_image_device_path_protocol_guid
Loaded image device path protocol GUID.
Definition: efi_guid.c:276
EFI_GUID efi_image_security_database_guid
Image security database GUID.
Definition: efi_guid.c:471
EFI_GUID efi_dhcp4_protocol_guid
DHCPv4 protocol GUID.
Definition: efi_guid.c:172
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:340
EFI_GUID efi_loaded_image_protocol_guid
Loaded image protocol GUID.
Definition: efi_guid.c:272
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:376
Universally unique IDs.
#define EFI_TCP4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Tcp4.h:22
EFI Network Interface Identifier Protocol.
#define EFI_DNS4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Dns4.h:20
#define EFI_ARP_PROTOCOL_GUID
Definition: Arp.h:28
Declare the GUID that is expected:
EFI_GUID efi_pxe_base_code_protocol_guid
PXE base code protocol GUID.
Definition: efi_guid.c:320
EFI_GUID efi_ip4_config2_protocol_guid
IPv4 configuration 2 protocol GUID.
Definition: efi_guid.c:244
#define EFI_MTFTP6_PROTOCOL_GUID
Definition: Mtftp6.h:26
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:284
EFI_GUID efi_smbios_table_guid
SMBIOS table GUID.
Definition: efi_guid.c:452
EFI_GUID efi_rng_protocol_guid
Random number generator protocol GUID.
Definition: efi_guid.c:324
EFI_GUID efi_ip6_service_binding_protocol_guid
IPv6 service binding protocol GUID.
Definition: efi_guid.c:260
#define SMBIOS_TABLE_GUID
Definition: SmBios.h:21
#define EFI_SIMPLE_NETWORK_PROTOCOL_GUID
Definition: SimpleNetwork.h:25
EFI_GUID efi_microsoft_vendor_guid
Microsoft vendor GUID.
Definition: efi_guid.c:474
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:20
#define EFI_IP4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Ip4.h:28
#define EFI_TCG_PROTOCOL_GUID
Definition: TcgService.h:17
#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:26
EFI_GUID efi_disk_io_protocol_guid
Disk I/O protocol GUID.
Definition: efi_guid.c:188
EFI_GUID efi_hii_config_access_protocol_guid
HII configuration access protocol GUID.
Definition: efi_guid.c:220
#define EFI_DNS4_PROTOCOL_GUID
Definition: Dns4.h:25
EFI_GUID efi_console_control_protocol_guid
Console control protocol GUID.
Definition: efi_guid.c:164
EFI_GUID efi_simple_text_output_protocol_guid
Simple text output protocol GUID.
Definition: efi_guid.c:356
EFI_GUID efi_mtftp4_service_binding_protocol_guid
MTFTPv4 service binding protocol GUID.
Definition: efi_guid.c:292
#define EFI_IP6_PROTOCOL_GUID
Definition: Ip6.h:33
#define EFI_ARP_SERVICE_BINDING_PROTOCOL_GUID
Definition: Arp.h:23
UEFI 2.0 Loaded image protocol definition.
EFI_GUID * guid
GUID.
Definition: efi_guid.c:518
static void uuid_mangle(union uuid *uuid)
Change UUID endianness.
Definition: uuid.h:43
static EFI_GUID efi_vlan_config_dxe_guid
VlanConfigDxe module GUID.
Definition: efi_guid.c:504
#define EFI_ACPI_TABLE_PROTOCOL_GUID
Definition: AcpiTable.h:18
#define EFI_LOAD_FILE2_PROTOCOL_GUID
Definition: LoadFile2.h:20
#define EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Dhcp4.h:25
EFI_GUID efi_uga_draw_protocol_guid
UGA draw protocol GUID.
Definition: efi_guid.c:412
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:384
#define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID
Definition: Mtftp4.h:17
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:380
#define FDT_TABLE_GUID
Definition: Fdt.h:14
#define EFI_PXE_BASE_CODE_PROTOCOL_GUID
PXE Base Code protocol.
Definition: PxeBaseCode.h:24
EFI_GUID efi_tree_protocol_guid
TrEE protocol GUID.
Definition: efi_guid.c:392
#define EFI_UDP4_PROTOCOL_GUID
Definition: Udp4.h:29
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:19
#define EFI_GLOBAL_VARIABLE
EFI_GUID efi_dhcp6_protocol_guid
DHCPv6 protocol GUID.
Definition: efi_guid.c:180
EFI_GUID efi_simple_file_system_protocol_guid
Simple file system protocol GUID.
Definition: efi_guid.c:336
EFI_RNG_PROTOCOL as defined in UEFI 2.4.
static EFI_GUID efi_iscsi_dxe_guid
IScsiDxe module GUID.
Definition: efi_guid.c:486
EFI_GUID efi_ip4_service_binding_protocol_guid
IPv4 service binding protocol GUID.
Definition: efi_guid.c:248
EFI_GUID efi_acpi_table_protocol_guid
ACPI table protocol GUID.
Definition: efi_guid.c:124
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:20
#define EFI_IMAGE_SECURITY_DATABASE_GUID
EFI_GUID efi_global_variable
Global variable GUID.
Definition: efi_guid.c:468
#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:432
EFI_GUID efi_ip6_config_protocol_guid
IPv6 configuration protocol GUID.
Definition: efi_guid.c:256
#define EFI_USB2_HC_PROTOCOL_GUID
This file defines the EFI HTTP Protocol interface.
#define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID
Definition: SimpleTextIn.h:17
#define EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID
Definition: LoadedImage.h:22
EFI_DHCP4_PROTOCOL as defined in UEFI 2.0.
EFI_GUID efi_smbios3_table_guid
SMBIOS3 table GUID.
Definition: efi_guid.c:456
#define EFI_DNS6_PROTOCOL_GUID
Definition: Dns6.h:25
EFI_GUID efi_usb_io_protocol_guid
USB I/O protocol GUID.
Definition: efi_guid.c:428
EFI_GUID efi_load_file2_protocol_guid
Load file 2 protocol GUID.
Definition: efi_guid.c:268
#define EFI_TREE_PROTOCOL_GUID
Definition: efi_guid.c:109
Simple Text Input Ex protocol from the UEFI 2.0 specification.
#define EFI_MTFTP4_PROTOCOL_GUID
Definition: Mtftp4.h:22
A well-known GUID.
Definition: efi_guid.c:516
#define EFI_ACPI_20_TABLE_GUID
Definition: Acpi.h:36
EFI_GUID efi_serial_io_protocol_guid
Serial I/O protocol GUID.
Definition: efi_guid.c:328
static EFI_GUID efi_http_boot_dxe_guid
HttpBootDxe module GUID.
Definition: efi_guid.c:480
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:28
#define EFI_APPLE_NET_BOOT_PROTOCOL_GUID
Definition: AppleNetBoot.h:12
#define EFI_MTFTP6_SERVICE_BINDING_PROTOCOL_GUID
Definition: Mtftp6.h:21
#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:17
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:404
EFI_GUID efi_device_path_protocol_guid
Device path protocol GUID.
Definition: efi_guid.c:168
const char * efi_guid_ntoa(CONST EFI_GUID *guid)
Convert GUID to a printable string.
Definition: efi_guid.c:725
#define EFI_RNG_PROTOCOL_GUID
Global ID for the Random Number Generator Protocol.
Definition: Rng.h:21
EFI_GUID efi_component_name2_protocol_guid
Component name 2 protocol GUID.
Definition: efi_guid.c:160
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:352
#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID
const char * uuid_ntoa(const union uuid *uuid)
Convert UUID to printable string.
Definition: uuid.c:45
#define EFI_DISK_IO_PROTOCOL_GUID
Definition: DiskIo.h:18
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:348
#define EFI_BLOCK_IO_PROTOCOL_GUID
Definition: BlockIo.h:17
EFI_GUID efi_bus_specific_driver_override_protocol_guid
Bus specific driver override protocol GUID.
Definition: efi_guid.c:152
EFI_GUID efi_mtftp4_protocol_guid
MTFTPv4 protocol GUID.
Definition: efi_guid.c:288
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:21
uint64_t guid
GUID.
Definition: edd.h:30
#define EFI_LOADED_IMAGE_PROTOCOL_GUID
Definition: LoadedImage.h:17
EFI_GUID efi_tcp6_service_binding_protocol_guid
TCPv6 service binding protocol GUID.
Definition: efi_guid.c:388
static EFI_GUID efi_iscsi4_dxe_guid
Old IScsi4Dxe module GUID.
Definition: efi_guid.c:492
EFI_GUID efi_nii_protocol_guid
Network interface identifier protocol GUID (old version)
Definition: efi_guid.c:304
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:33
EFI_GUID efi_dns4_protocol_guid
DNSv4 protocol GUID.
Definition: efi_guid.c:192
EFI "shim lock" protocol.
EFI_GUID efi_absolute_pointer_protocol_guid
Absolute pointer protocol GUID.
Definition: efi_guid.c:120
Simple Text Input protocol from the UEFI 2.0 specification.
EFI_GUID efi_arp_protocol_guid
ARP protocol GUID.
Definition: efi_guid.c:136
Graphics Output Protocol from the UEFI 2.0 specification.
EFI_GUID efi_cert_x509_guid
X.509 certificate GUID.
Definition: efi_guid.c:459
#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:436
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:20
EFI_GUID efi_apple_net_boot_protocol_guid
Apple NetBoot protocol GUID.
Definition: efi_guid.c:132
#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:144
#define CONST
Datum is read-only.
Definition: Base.h:261
EFI_GUID efi_supplicant_protocol_guid
Supplicant protocol GUID.
Definition: efi_guid.c:364
EFI_GUID efi_eap_configuration_protocol_guid
EAP configuration protocol GUID.
Definition: efi_guid.c:212
Simple Pointer protocol from the UEFI 2.0 specification.
EFI_GUID efi_file_info_id
File information GUID.
Definition: efi_guid.c:462
#define EFI_FILE_INFO_ID
Definition: FileInfo.h:16
#define EFI_IP4_PROTOCOL_GUID
Definition: Ip4.h:33
#define EFI_HII_FONT_PROTOCOL_GUID
Definition: HiiFont.h:20
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:477
EFI_GUID efi_storage_security_command_protocol_guid
Storage security protocol GUID.
Definition: efi_guid.c:360
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:316
#define EFI_BLOCK_IO2_PROTOCOL_GUID
Definition: BlockIo2.h:20
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:23
#define EFI_SIMPLE_POINTER_PROTOCOL_GUID
Definition: SimplePointer.h:16
EFI_USB_HC_PROTOCOL as defined in EFI 1.10.
EFI_GUID efi_http_protocol_guid
HTTP protocol GUID.
Definition: efi_guid.c:228
EFI_GUID efi_ip4_protocol_guid
IPv4 protocol GUID.
Definition: efi_guid.c:236
EFI_GUID efi_shim_lock_protocol_guid
Shim lock protocol GUID.
Definition: efi_guid.c:332
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:232
EFI_GUID efi_dns6_service_binding_protocol_guid
DNSv6 service binding protocol GUID.
Definition: efi_guid.c:204
#define EFI_IP4_CONFIG2_PROTOCOL_GUID
Definition: Ip4Config2.h:20
#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:156
EFI_GUID efi_dns6_protocol_guid
DNSv6 protocol GUID.
Definition: efi_guid.c:200
#define EFI_HTTP_PROTOCOL_GUID
Definition: Http.h:26
#define EFI_UNICODE_COLLATION_PROTOCOL_GUID
Definition: efi_guid.c:114
#define EFI_DHCP6_SERVICE_BINDING_PROTOCOL_GUID
Definition: Dhcp6.h:23
EFI_GUID efi_unicode_collation_protocol_guid
Unicode collation protocol GUID.
Definition: efi_guid.c:416
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:444
EFI_GUID efi_mtftp6_protocol_guid
MTFTPv6 protocol GUID.
Definition: efi_guid.c:296
static EFI_GUID efi_wifi_connection_mgr_dxe_guid
WiFiConnectionMgrDxe module GUID.
Definition: efi_guid.c:510
#define ACPI_10_TABLE_GUID
Definition: Acpi.h:31
#define EFI_VLAN_CONFIG_PROTOCOL_GUID
Definition: VlanConfig.h:17
EFI_GUID efi_tcg2_protocol_guid
TCG2 protocol GUID.
Definition: efi_guid.c:372
EFI_GUID efi_load_file_protocol_guid
Load file protocol GUID.
Definition: efi_guid.c:264
EFI_GUID efi_udp4_protocol_guid
UDPv4 protocol GUID.
Definition: efi_guid.c:396
EFI_GUID efi_udp4_service_binding_protocol_guid
UDPv4 service binding protocol GUID.
Definition: efi_guid.c:400
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:440
The file provides services to retrieve font information.
#define EFI_ABSOLUTE_POINTER_PROTOCOL_GUID
#define EFI_UDP6_PROTOCOL_GUID
Definition: Udp6.h:26
#define EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID
Definition: SimpleTextOut.h:19
Load File protocol as defined in the UEFI 2.0 specification.
#define EFI_TCG2_PROTOCOL_GUID
Definition: Tcg2Protocol.h:18
int memcmp(const void *first, const void *second, size_t len)
Compare memory regions.
Definition: string.c:114
EFI_GUID efi_driver_binding_protocol_guid
Driver binding protocol GUID.
Definition: efi_guid.c:208
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321
#define EFI_SHIM_LOCK_PROTOCOL_GUID
Definition: ShimLock.h:12
#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:25
EFI_GUID efi_managed_network_protocol_guid
Managed network protocol GUID.
Definition: efi_guid.c:280