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
24FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
25FILE_SECBOOT ( PERMITTED );
26
27#include <string.h>
28#include <ipxe/uuid.h>
29#include <ipxe/efi/efi.h>
93#include <ipxe/efi/Guid/Acpi.h>
94#include <ipxe/efi/Guid/Fdt.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 */
726const __attribute__ (( pure )) char * efi_guid_ntoa ( CONST EFI_GUID *guid ) {
727 union {
728 union uuid uuid;
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}
The file provides services that allow information about an absolute pointer device to be retrieved.
#define EFI_ABSOLUTE_POINTER_PROTOCOL_GUID
The file provides the protocol to install or remove an ACPI table from a platform.
#define EFI_ACPI_TABLE_PROTOCOL_GUID
Definition AcpiTable.h:19
GUIDs used for ACPI entries in the EFI system table.
#define EFI_ACPI_20_TABLE_GUID
Definition Acpi.h:37
#define ACPI_10_TABLE_GUID
Definition Acpi.h:32
EFI Adapter Information Protocol definition.
#define EFI_ADAPTER_INFORMATION_PROTOCOL_GUID
Apple Net Boot Protocol.
#define EFI_APPLE_NET_BOOT_PROTOCOL_GUID
EFI ARP Protocol Definition.
#define EFI_ARP_SERVICE_BINDING_PROTOCOL_GUID
Definition Arp.h:24
#define EFI_ARP_PROTOCOL_GUID
Definition Arp.h:29
#define NULL
NULL pointer (VOID *)
Definition Base.h:322
#define CONST
Datum is read-only.
Definition Base.h:262
Block IO2 protocol as defined in the UEFI 2.3.1 specification.
#define EFI_BLOCK_IO2_PROTOCOL_GUID
Definition BlockIo2.h:21
Block IO protocol as defined in the UEFI 2.0 specification.
#define EFI_BLOCK_IO_PROTOCOL_GUID
Definition BlockIo.h:18
Bus Specific Driver Override protocol as defined in the UEFI 2.0 specification.
#define EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_GUID
Global ID for the Bus Specific Driver Override Protocol.
UEFI Component Name 2 Protocol as defined in the UEFI 2.1 specification.
#define EFI_COMPONENT_NAME2_PROTOCOL_GUID
Global ID for the Component Name Protocol.
EFI Component Name Protocol as defined in the EFI 1.1 specification.
#define EFI_COMPONENT_NAME_PROTOCOL_GUID
The global ID for the Component Name Protocol.
#define EFI_CONSOLE_CONTROL_PROTOCOL_GUID
EFI_DEVICE_PATH_TO_TEXT_PROTOCOL as defined in UEFI 2.0.
The device path protocol as defined in UEFI 2.0.
#define EFI_DEVICE_PATH_PROTOCOL_GUID
Device Path protocol.
Definition DevicePath.h:26
EFI_DHCP4_PROTOCOL as defined in UEFI 2.0.
#define EFI_DHCP4_PROTOCOL_GUID
Definition Dhcp4.h:21
#define EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID
Definition Dhcp4.h:26
UEFI Dynamic Host Configuration Protocol 6 Definition, which is used to get IPv6 addresses and other ...
#define EFI_DHCP6_SERVICE_BINDING_PROTOCOL_GUID
Definition Dhcp6.h:24
#define EFI_DHCP6_PROTOCOL_GUID
Definition Dhcp6.h:19
Disk IO protocol as defined in the UEFI 2.0 specification.
#define EFI_DISK_IO_PROTOCOL_GUID
Definition DiskIo.h:19
This file defines the EFI Domain Name Service Binding Protocol interface.
#define EFI_DNS4_PROTOCOL_GUID
Definition Dns4.h:26
#define EFI_DNS4_SERVICE_BINDING_PROTOCOL_GUID
Definition Dns4.h:21
This file defines the EFI DNSv6 (Domain Name Service version 6) Protocol.
#define EFI_DNS6_PROTOCOL_GUID
Definition Dns6.h:26
#define EFI_DNS6_SERVICE_BINDING_PROTOCOL_GUID
Definition Dns6.h:21
UEFI DriverBinding Protocol is defined in UEFI specification.
#define EFI_DRIVER_BINDING_PROTOCOL_GUID
The global ID for the ControllerHandle Driver Protocol.
This file defines the EFI EAP Configuration protocol.
#define EFI_EAP_CONFIGURATION_PROTOCOL_GUID
EFI EAP Configuration protocol provides a way to set and get EAP configuration.
Copyright (c) 2013-2014, ARM Limited.
#define FDT_TABLE_GUID
Definition Fdt.h:15
Provides a GUID and a data structure that can be used with EFI_FILE_PROTOCOL.SetInfo() and EFI_FILE_P...
#define EFI_FILE_INFO_ID
Definition FileInfo.h:17
Provides a GUID and a data structure that can be used with EFI_FILE_PROTOCOL.GetInfo() or EFI_FILE_PR...
#define EFI_FILE_SYSTEM_INFO_ID
GUID for EFI (NVRAM) Variables.
#define EFI_GLOBAL_VARIABLE
Graphics Output Protocol from the UEFI 2.0 specification.
#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID
The EFI HII results processing protocol invokes this type of protocol when it needs to forward result...
#define EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID
The file provides services to retrieve font information.
#define EFI_HII_FONT_PROTOCOL_GUID
Definition HiiFont.h:21
This file defines the EFI HTTP Protocol interface.
#define EFI_HTTP_SERVICE_BINDING_PROTOCOL_GUID
Definition Http.h:22
#define EFI_HTTP_PROTOCOL_GUID
Definition Http.h:27
Image signature database are defined for the signed image validation.
#define EFI_IMAGE_SECURITY_DATABASE_GUID
#define EFI_CERT_X509_GUID
This identifies a signature based on an X.509 certificate.
This file provides a definition of the EFI IPv4 Configuration II Protocol.
#define EFI_IP4_CONFIG2_PROTOCOL_GUID
Definition Ip4Config2.h:21
This file provides a definition of the EFI IPv4 Configuration Protocol.
#define EFI_IP4_CONFIG_PROTOCOL_GUID
Definition Ip4Config.h:24
This file defines the EFI IPv4 (Internet Protocol version 4) Protocol interface.
#define EFI_IP4_SERVICE_BINDING_PROTOCOL_GUID
Definition Ip4.h:29
#define EFI_IP4_PROTOCOL_GUID
Definition Ip4.h:34
This file provides a definition of the EFI IPv6 Configuration Protocol.
#define EFI_IP6_CONFIG_PROTOCOL_GUID
Definition Ip6Config.h:18
This file defines the EFI IPv6 (Internet Protocol version 6) Protocol interface.
#define EFI_IP6_SERVICE_BINDING_PROTOCOL_GUID
Definition Ip6.h:29
#define EFI_IP6_PROTOCOL_GUID
Definition Ip6.h:34
Load File protocol as defined in the UEFI 2.0 specification.
#define EFI_LOAD_FILE2_PROTOCOL_GUID
Definition LoadFile2.h:21
Load File protocol as defined in the UEFI 2.0 specification.
#define EFI_LOAD_FILE_PROTOCOL_GUID
Definition LoadFile.h:21
UEFI 2.0 Loaded image protocol definition.
#define EFI_LOADED_IMAGE_PROTOCOL_GUID
Definition LoadedImage.h:18
#define EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID
Definition LoadedImage.h:23
EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL as defined in UEFI 2.0.
#define EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID
#define EFI_MANAGED_NETWORK_PROTOCOL_GUID
Declare the GUID that is expected:
#define MICROSOFT_VENDOR_GUID
EFI Multicast Trivial File Transfer Protocol Definition.
#define EFI_MTFTP4_PROTOCOL_GUID
Definition Mtftp4.h:23
#define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID
Definition Mtftp4.h:18
UEFI Multicast Trivial File Transfer Protocol v6 Definition, which is built upon the EFI UDPv6 Protoc...
#define EFI_MTFTP6_PROTOCOL_GUID
Definition Mtftp6.h:27
#define EFI_MTFTP6_SERVICE_BINDING_PROTOCOL_GUID
Definition Mtftp6.h:22
EFI Network Interface Identifier Protocol.
#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID
#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID_31
EFI PCI I/O Protocol provides the basic Memory, I/O, PCI configuration, and DMA interfaces that a dri...
#define EFI_PCI_IO_PROTOCOL_GUID
Global ID for the PCI I/O Protocol.
Definition PciIo.h:19
PCI Root Bridge I/O protocol as defined in the UEFI 2.0 specification.
#define EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID
EFI_RNG_PROTOCOL as defined in UEFI 2.4.
#define EFI_RNG_PROTOCOL_GUID
Global ID for the Random Number Generator Protocol.
Definition Rng.h:22
EFI PXE Base Code Protocol definitions, which is used to access PXE-compatible devices for network ac...
#define EFI_PXE_BASE_CODE_PROTOCOL_GUID
PXE Base Code protocol.
Definition PxeBaseCode.h:25
Serial IO protocol as defined in the UEFI 2.0 specification.
#define EFI_SERIAL_IO_PROTOCOL_GUID
Definition SerialIo.h:18
EFI "shim lock" protocol.
#define EFI_SHIM_LOCK_PROTOCOL_GUID
Definition ShimLock.h:13
SimpleFileSystem protocol as defined in the UEFI 2.0 specification.
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID
The EFI_SIMPLE_NETWORK_PROTOCOL provides services to initialize a network interface,...
#define EFI_SIMPLE_NETWORK_PROTOCOL_GUID
Simple Pointer protocol from the UEFI 2.0 specification.
#define EFI_SIMPLE_POINTER_PROTOCOL_GUID
Simple Text Input Ex protocol from the UEFI 2.0 specification.
#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
Simple Text Input protocol from the UEFI 2.0 specification.
#define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID
Simple Text Out protocol from the UEFI 2.0 specification.
#define EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID
GUIDs used to locate the SMBIOS tables in the UEFI 2.5 system table.
#define SMBIOS_TABLE_GUID
Definition SmBios.h:22
#define SMBIOS3_TABLE_GUID
Definition SmBios.h:27
EFI Storage Security Command Protocol as defined in UEFI 2.3.1 specification.
#define EFI_STORAGE_SECURITY_COMMAND_PROTOCOL_GUID
This file defines the EFI Supplicant Protocol.
#define EFI_SUPPLICANT_PROTOCOL_GUID
The EFI Supplicant protocol provides services to process authentication and data encryption/decryptio...
Definition Supplicant.h:34
TPM2 Protocol as defined in TCG PC Client Platform EFI Protocol Specification Family "2....
#define EFI_TCG2_PROTOCOL_GUID
TCG Service Protocol as defined in TCG_EFI_Protocol_1_22_Final See http://trustedcomputinggroup....
#define EFI_TCG_PROTOCOL_GUID
Definition TcgService.h:18
EFI TCPv4(Transmission Control Protocol version 4) Protocol Definition The EFI TCPv4 Service Binding ...
#define EFI_TCP4_SERVICE_BINDING_PROTOCOL_GUID
Definition Tcp4.h:23
#define EFI_TCP4_PROTOCOL_GUID
Definition Tcp4.h:28
EFI TCPv6(Transmission Control Protocol version 6) Protocol Definition The EFI TCPv6 Service Binding ...
#define EFI_TCP6_SERVICE_BINDING_PROTOCOL_GUID
Definition Tcp6.h:24
#define EFI_TCP6_PROTOCOL_GUID
Definition Tcp6.h:29
This file defines TlsCaCertificate variable.
#define EFI_TLS_CA_CERTIFICATE_GUID
UDP4 Service Binding Protocol as defined in UEFI specification.
#define EFI_UDP4_SERVICE_BINDING_PROTOCOL_GUID
Definition Udp4.h:25
#define EFI_UDP4_PROTOCOL_GUID
Definition Udp4.h:30
The EFI UDPv6 (User Datagram Protocol version 6) Protocol Definition, which is built upon the EFI IPv...
#define EFI_UDP6_SERVICE_BINDING_PROTOCOL_GUID
Definition Udp6.h:22
#define EFI_UDP6_PROTOCOL_GUID
Definition Udp6.h:27
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
UGA Draw protocol from the EFI 1.10 specification.
#define EFI_UGA_DRAW_PROTOCOL_GUID
Definition UgaDraw.h:20
Unicode Collation protocol that follows the UEFI 2.0 specification.
EFI_USB2_HC_PROTOCOL as defined in UEFI 2.0.
#define EFI_USB2_HC_PROTOCOL_GUID
EFI_USB_HC_PROTOCOL as defined in EFI 1.10.
#define EFI_USB_HC_PROTOCOL_GUID
EFI Usb I/O Protocol as defined in UEFI specification.
#define EFI_USB_IO_PROTOCOL_GUID
Definition UsbIo.h:24
EFI VLAN Config protocol is to provide manageability interface for VLAN configuration.
#define EFI_VLAN_CONFIG_PROTOCOL_GUID
Definition VlanConfig.h:18
This file defines the EFI Wireless MAC Connection II Protocol.
#define EFI_WIRELESS_MAC_CONNECTION_II_PROTOCOL_GUID
Definition WiFi2.h:18
union @104331263140136355135267063077374276003064103115 u
uint64_t guid
GUID.
Definition edd.h:1
EFI_GUID efi_udp6_service_binding_protocol_guid
UDPv6 service binding protocol GUID.
Definition efi_guid.c:409
EFI_GUID efi_serial_io_protocol_guid
Serial I/O protocol GUID.
Definition efi_guid.c:329
EFI_GUID efi_loaded_image_protocol_guid
Loaded image protocol GUID.
Definition efi_guid.c:273
EFI_GUID efi_udp4_service_binding_protocol_guid
UDPv4 service binding protocol GUID.
Definition efi_guid.c:401
EFI_GUID efi_dhcp6_protocol_guid
DHCPv6 protocol GUID.
Definition efi_guid.c:181
EFI_GUID efi_component_name2_protocol_guid
Component name 2 protocol GUID.
Definition efi_guid.c:161
EFI_GUID efi_supplicant_protocol_guid
Supplicant protocol GUID.
Definition efi_guid.c:365
EFI_GUID efi_acpi_20_table_guid
ACPI 2.0 table GUID.
Definition efi_guid.c:445
EFI_GUID efi_ip4_protocol_guid
IPv4 protocol GUID.
Definition efi_guid.c:237
EFI_GUID efi_load_file2_protocol_guid
Load file 2 protocol GUID.
Definition efi_guid.c:269
EFI_GUID efi_acpi_10_table_guid
ACPI 1.0 table GUID.
Definition efi_guid.c:441
EFI_GUID efi_mtftp6_protocol_guid
MTFTPv6 protocol GUID.
Definition efi_guid.c:297
EFI_GUID efi_tcg2_protocol_guid
TCG2 protocol GUID.
Definition efi_guid.c:373
EFI_GUID efi_graphics_output_protocol_guid
Graphics output protocol GUID.
Definition efi_guid.c:217
EFI_GUID efi_simple_network_protocol_guid
Simple network protocol GUID.
Definition efi_guid.c:341
EFI_GUID efi_shim_lock_protocol_guid
Shim lock protocol GUID.
Definition efi_guid.c:333
const char * efi_guid_ntoa(CONST EFI_GUID *guid)
Convert GUID to a printable string.
Definition efi_guid.c:726
EFI_GUID efi_block_io_protocol_guid
Block I/O protocol GUID.
Definition efi_guid.c:145
EFI_GUID efi_dhcp6_service_binding_protocol_guid
DHCPv6 service binding protocol GUID.
Definition efi_guid.c:185
EFI_GUID efi_loaded_image_device_path_protocol_guid
Loaded image device path protocol GUID.
Definition efi_guid.c:277
EFI_GUID efi_file_system_info_id
File system information GUID.
Definition efi_guid.c:466
EFI_GUID efi_device_path_protocol_guid
Device path protocol GUID.
Definition efi_guid.c:169
EFI_GUID efi_tcp6_service_binding_protocol_guid
TCPv6 service binding protocol GUID.
Definition efi_guid.c:389
EFI_GUID efi_console_control_protocol_guid
Console control protocol GUID.
Definition efi_guid.c:165
EFI_GUID efi_adapter_information_protocol_guid
Adapter information protocol GUID.
Definition efi_guid.c:129
EFI_GUID efi_vlan_config_protocol_guid
VLAN configuration protocol GUID.
Definition efi_guid.c:433
EFI_GUID efi_dns4_service_binding_protocol_guid
DNSv4 service binding protocol GUID.
Definition efi_guid.c:197
EFI_GUID efi_ip4_config_protocol_guid
IPv4 configuration protocol GUID.
Definition efi_guid.c:241
EFI_GUID efi_load_file_protocol_guid
Load file protocol GUID.
Definition efi_guid.c:265
EFI_GUID efi_hii_font_protocol_guid
HII font protocol GUID.
Definition efi_guid.c:225
EFI_GUID efi_absolute_pointer_protocol_guid
Absolute pointer protocol GUID.
Definition efi_guid.c:121
static EFI_GUID efi_http_boot_dxe_guid
HttpBootDxe module GUID.
Definition efi_guid.c:481
EFI_GUID efi_udp4_protocol_guid
UDPv4 protocol GUID.
Definition efi_guid.c:397
EFI_GUID efi_http_protocol_guid
HTTP protocol GUID.
Definition efi_guid.c:229
EFI_GUID efi_simple_text_output_protocol_guid
Simple text output protocol GUID.
Definition efi_guid.c:357
EFI_GUID efi_nii_protocol_guid
Network interface identifier protocol GUID (old version)
Definition efi_guid.c:305
EFI_GUID efi_pci_root_bridge_io_protocol_guid
PCI root bridge I/O protocol GUID.
Definition efi_guid.c:317
EFI_GUID efi_mtftp6_service_binding_protocol_guid
MTFTPv6 service binding protocol GUID.
Definition efi_guid.c:301
EFI_GUID efi_tcp6_protocol_guid
TCPv6 protocol GUID.
Definition efi_guid.c:385
static EFI_GUID efi_iscsi_dxe_guid
IScsiDxe module GUID.
Definition efi_guid.c:487
EFI_GUID efi_udp6_protocol_guid
UDPv6 protocol GUID.
Definition efi_guid.c:405
EFI_GUID efi_dns6_service_binding_protocol_guid
DNSv6 service binding protocol GUID.
Definition efi_guid.c:205
EFI_GUID efi_disk_io_protocol_guid
Disk I/O protocol GUID.
Definition efi_guid.c:189
EFI_GUID efi_simple_file_system_protocol_guid
Simple file system protocol GUID.
Definition efi_guid.c:337
EFI_GUID efi_dhcp4_protocol_guid
DHCPv4 protocol GUID.
Definition efi_guid.c:173
EFI_GUID efi_tls_ca_certificate_guid
TLS CA certificate variable GUID.
Definition efi_guid.c:478
EFI_GUID efi_tcp4_service_binding_protocol_guid
TCPv4 service binding protocol GUID.
Definition efi_guid.c:381
EFI_GUID efi_hii_config_access_protocol_guid
HII configuration access protocol GUID.
Definition efi_guid.c:221
EFI_GUID efi_usb_hc_protocol_guid
USB host controller protocol GUID.
Definition efi_guid.c:421
EFI_GUID efi_smbios3_table_guid
SMBIOS3 table GUID.
Definition efi_guid.c:457
EFI_GUID efi_arp_protocol_guid
ARP protocol GUID.
Definition efi_guid.c:137
static EFI_GUID efi_vlan_config_dxe_guid
VlanConfigDxe module GUID.
Definition efi_guid.c:505
EFI_GUID efi_file_info_id
File information GUID.
Definition efi_guid.c:463
EFI_GUID efi_ip4_config2_protocol_guid
IPv4 configuration 2 protocol GUID.
Definition efi_guid.c:245
EFI_GUID efi_acpi_table_protocol_guid
ACPI table protocol GUID.
Definition efi_guid.c:125
EFI_GUID efi_wifi2_protocol_guid
WiFi 2 protocol GUID.
Definition efi_guid.c:437
EFI_GUID efi_storage_security_command_protocol_guid
Storage security protocol GUID.
Definition efi_guid.c:361
EFI_GUID efi_pxe_base_code_protocol_guid
PXE base code protocol GUID.
Definition efi_guid.c:321
EFI_GUID efi_global_variable
Global variable GUID.
Definition efi_guid.c:469
EFI_GUID efi_arp_service_binding_protocol_guid
ARP service binding protocol GUID.
Definition efi_guid.c:141
EFI_GUID efi_cert_x509_guid
X.509 certificate GUID.
Definition efi_guid.c:460
EFI_GUID efi_ip6_config_protocol_guid
IPv6 configuration protocol GUID.
Definition efi_guid.c:257
static EFI_GUID efi_wifi_connection_mgr_dxe_guid
WiFiConnectionMgrDxe module GUID.
Definition efi_guid.c:511
static struct efi_well_known_guid efi_well_known_guids[]
Well-known GUIDs.
Definition efi_guid.c:525
EFI_GUID efi_tcg_protocol_guid
TCG protocol GUID.
Definition efi_guid.c:369
#define EFI_UNICODE_COLLATION_PROTOCOL_GUID
Definition efi_guid.c:115
EFI_GUID efi_rng_protocol_guid
Random number generator protocol GUID.
Definition efi_guid.c:325
EFI_GUID efi_ip6_protocol_guid
IPv6 protocol GUID.
Definition efi_guid.c:253
EFI_GUID efi_dns6_protocol_guid
DNSv6 protocol GUID.
Definition efi_guid.c:201
EFI_GUID efi_nii31_protocol_guid
Network interface identifier protocol GUID (new version)
Definition efi_guid.c:309
EFI_GUID efi_driver_binding_protocol_guid
Driver binding protocol GUID.
Definition efi_guid.c:209
EFI_GUID efi_microsoft_vendor_guid
Microsoft vendor GUID.
Definition efi_guid.c:475
EFI_GUID efi_image_security_database_guid
Image security database GUID.
Definition efi_guid.c:472
EFI_GUID efi_mtftp4_service_binding_protocol_guid
MTFTPv4 service binding protocol GUID.
Definition efi_guid.c:293
EFI_GUID efi_simple_text_input_protocol_guid
Simple text input protocol GUID.
Definition efi_guid.c:349
EFI_GUID efi_ip6_service_binding_protocol_guid
IPv6 service binding protocol GUID.
Definition efi_guid.c:261
EFI_GUID efi_eap_configuration_protocol_guid
EAP configuration protocol GUID.
Definition efi_guid.c:213
EFI_GUID efi_ip4_service_binding_protocol_guid
IPv4 service binding protocol GUID.
Definition efi_guid.c:249
EFI_GUID efi_usb_io_protocol_guid
USB I/O protocol GUID.
Definition efi_guid.c:429
EFI_GUID efi_fdt_table_guid
FDT table GUID.
Definition efi_guid.c:449
EFI_GUID efi_pci_io_protocol_guid
PCI I/O protocol GUID.
Definition efi_guid.c:313
EFI_GUID efi_managed_network_service_binding_protocol_guid
Managed network service binding protocol GUID.
Definition efi_guid.c:285
EFI_GUID efi_dhcp4_service_binding_protocol_guid
DHCPv4 service binding protocol GUID.
Definition efi_guid.c:177
EFI_GUID efi_simple_text_input_ex_protocol_guid
Simple text input extension protocol GUID.
Definition efi_guid.c:353
EFI_GUID efi_mtftp4_protocol_guid
MTFTPv4 protocol GUID.
Definition efi_guid.c:289
static EFI_GUID efi_uefi_pxe_bc_dxe_guid
UefiPxeBcDxe module GUID.
Definition efi_guid.c:499
EFI_GUID efi_dns4_protocol_guid
DNSv4 protocol GUID.
Definition efi_guid.c:193
EFI_GUID efi_smbios_table_guid
SMBIOS table GUID.
Definition efi_guid.c:453
EFI_GUID efi_bus_specific_driver_override_protocol_guid
Bus specific driver override protocol GUID.
Definition efi_guid.c:153
EFI_GUID efi_usb2_hc_protocol_guid
USB2 host controller protocol GUID.
Definition efi_guid.c:425
EFI_GUID efi_unicode_collation_protocol_guid
Unicode collation protocol GUID.
Definition efi_guid.c:417
#define EFI_TREE_PROTOCOL_GUID
Definition efi_guid.c:110
static EFI_GUID efi_iscsi4_dxe_guid
Old IScsi4Dxe module GUID.
Definition efi_guid.c:493
EFI_GUID efi_apple_net_boot_protocol_guid
Apple NetBoot protocol GUID.
Definition efi_guid.c:133
EFI_GUID efi_managed_network_protocol_guid
Managed network protocol GUID.
Definition efi_guid.c:281
EFI_GUID efi_tcp4_protocol_guid
TCPv4 protocol GUID.
Definition efi_guid.c:377
EFI_GUID efi_block_io2_protocol_guid
Block I/O version 2 protocol GUID.
Definition efi_guid.c:149
EFI_GUID efi_simple_pointer_protocol_guid
Simple pointer protocol GUID.
Definition efi_guid.c:345
EFI_GUID efi_tree_protocol_guid
TrEE protocol GUID.
Definition efi_guid.c:393
EFI_GUID efi_component_name_protocol_guid
Component name protocol GUID.
Definition efi_guid.c:157
EFI_GUID efi_uga_draw_protocol_guid
UGA draw protocol GUID.
Definition efi_guid.c:413
EFI_GUID efi_http_service_binding_protocol_guid
HTTP service binding protocol GUID.
Definition efi_guid.c:233
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Definition compiler.h:926
#define __attribute__(x)
Definition compiler.h:10
EFI API.
String functions.
void * memcpy(void *dest, const void *src, size_t len) __nonnull
int memcmp(const void *first, const void *second, size_t len)
Compare memory regions.
Definition string.c:115
A well-known GUID.
Definition efi_guid.c:517
EFI_GUID * guid
GUID.
Definition efi_guid.c:519
const char * name
Name.
Definition efi_guid.c:521
A universally unique ID.
Definition uuid.h:16
const char * uuid_ntoa(const union uuid *uuid)
Convert UUID to printable string.
Definition uuid.c:46
Universally unique IDs.
static void uuid_mangle(union uuid *uuid)
Change UUID endianness.
Definition uuid.h:44