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>
94#include <ipxe/efi/Guid/Acpi.h>
95#include <ipxe/efi/Guid/Fdt.h>
101#include <ipxe/efi/Guid/SmBios.h>
103
104/** @file
105 *
106 * EFI GUIDs
107 *
108 */
109
110/* TrEE protocol GUID definition in EDK2 headers is broken (missing braces) */
111#define EFI_TREE_PROTOCOL_GUID \
112 { 0x607f766c, 0x7455, 0x42be, \
113 { 0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x72, 0x0f } }
114
115/* Unicode collation protocol GUID was deleted from EDK2 headers */
116#define EFI_UNICODE_COLLATION_PROTOCOL_GUID \
117 { 0x1d85cd7f, 0xf43d, 0x11d2, \
118 { 0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
119
120/** Absolute pointer protocol GUID */
123
124/** ACPI table protocol GUID */
127
128/** Adapter information protocol GUID */
131
132/** Apple NetBoot protocol GUID */
135
136/** ARP protocol GUID */
139
140/** ARP service binding protocol GUID */
143
144/** Block I/O protocol GUID */
147
148/** Block I/O version 2 protocol GUID */
151
152/** Bus specific driver override protocol GUID */
155
156/** Component name protocol GUID */
159
160/** Component name 2 protocol GUID */
163
164/** Console control protocol GUID */
167
168/** Device path protocol GUID */
171
172/** DHCPv4 protocol GUID */
175
176/** DHCPv4 service binding protocol GUID */
179
180/** DHCPv6 protocol GUID */
183
184/** DHCPv6 service binding protocol GUID */
187
188/** Disk I/O protocol GUID */
191
192/** DNSv4 protocol GUID */
195
196/** DNSv4 service binding protocol GUID */
199
200/** DNSv6 protocol GUID */
203
204/** DNSv6 service binding protocol GUID */
207
208/** Driver binding protocol GUID */
211
212/** EAP configuration protocol GUID */
215
216/** Graphics output protocol GUID */
219
220/** HII configuration access protocol GUID */
223
224/** HII font protocol GUID */
227
228/** HTTP protocol GUID */
231
232/** HTTP service binding protocol GUID */
235
236/** IPv4 protocol GUID */
239
240/** IPv4 configuration protocol GUID */
243
244/** IPv4 configuration 2 protocol GUID */
247
248/** IPv4 service binding protocol GUID */
251
252/** IPv6 protocol GUID */
255
256/** IPv6 configuration protocol GUID */
259
260/** IPv6 service binding protocol GUID */
263
264/** Load file protocol GUID */
267
268/** Load file 2 protocol GUID */
271
272/** Loaded image protocol GUID */
275
276/** Loaded image device path protocol GUID */
279
280/** Managed network protocol GUID */
283
284/** Managed network service binding protocol GUID */
287
288/** MTFTPv4 protocol GUID */
291
292/** MTFTPv4 service binding protocol GUID */
295
296/** MTFTPv6 protocol GUID */
299
300/** MTFTPv6 service binding protocol GUID */
303
304/** Network interface identifier protocol GUID (old version) */
307
308/** Network interface identifier protocol GUID (new version) */
311
312/** Partition information protocol GUID */
315
316/** PCI I/O protocol GUID */
319
320/** PCI root bridge I/O protocol GUID */
323
324/** PXE base code protocol GUID */
327
328/** Random number generator protocol GUID */
331
332/** Serial I/O protocol GUID */
335
336/** Shim lock protocol GUID */
339
340/** Simple file system protocol GUID */
343
344/** Simple network protocol GUID */
347
348/** Simple pointer protocol GUID */
351
352/** Simple text input protocol GUID */
355
356/** Simple text input extension protocol GUID */
359
360/** Simple text output protocol GUID */
363
364/** Storage security protocol GUID */
367
368/** Supplicant protocol GUID */
371
372/** TCG protocol GUID */
375
376/** TCG2 protocol GUID */
379
380/** TCPv4 protocol GUID */
383
384/** TCPv4 service binding protocol GUID */
387
388/** TCPv6 protocol GUID */
391
392/** TCPv6 service binding protocol GUID */
395
396/** TrEE protocol GUID */
399
400/** UDPv4 protocol GUID */
403
404/** UDPv4 service binding protocol GUID */
407
408/** UDPv6 protocol GUID */
411
412/** UDPv6 service binding protocol GUID */
415
416/** UGA draw protocol GUID */
419
420/** Unicode collation protocol GUID */
423
424/** USB host controller protocol GUID */
427
428/** USB2 host controller protocol GUID */
431
432/** USB I/O protocol GUID */
435
436/** VLAN configuration protocol GUID */
439
440/** WiFi 2 protocol GUID */
443
444/** ACPI 1.0 table GUID */
447
448/** ACPI 2.0 table GUID */
451
452/** FDT table GUID */
455
456/** SMBIOS table GUID */
459
460/** SMBIOS3 table GUID */
463
464/** X.509 certificate GUID */
466
467/** File information GUID */
469
470/** File system information GUID */
472
473/** Global variable GUID */
475
476/** Image security database GUID */
478
479/** Microsoft vendor GUID */
481
482/** TLS CA certificate variable GUID */
484
485/** HttpBootDxe module GUID */
487 0xecebcb00, 0xd9c8, 0x11e4,
488 { 0xaf, 0x3d, 0x8c, 0xdc, 0xd4, 0x26, 0xc9, 0x73 }
489};
490
491/** IScsiDxe module GUID */
493 0x86cddf93, 0x4872, 0x4597,
494 { 0x8a, 0xf9, 0xa3, 0x5a, 0xe4, 0xd3, 0x72, 0x5f }
495};
496
497/** Old IScsi4Dxe module GUID */
499 0x4579b72d, 0x7ec4, 0x4dd4,
500 { 0x84, 0x86, 0x08, 0x3c, 0x86, 0xb1, 0x82, 0xa7 }
501};
502
503/** UefiPxeBcDxe module GUID */
505 0xb95e9fda, 0x26de, 0x48d2,
506 { 0x88, 0x07, 0x1f, 0x91, 0x07, 0xac, 0x5e, 0x3a }
507};
508
509/** VlanConfigDxe module GUID */
511 0xe4f61863, 0xfe2c, 0x4b56,
512 { 0xa8, 0xf4, 0x08, 0x51, 0x9b, 0xc4, 0x39, 0xdf }
513};
514
515/** WiFiConnectionMgrDxe module GUID */
517 0x99b7c019, 0x4789, 0x4829,
518 { 0xa7, 0xbd, 0x0d, 0x4b, 0xaa, 0x62, 0x28, 0x72 }
519};
520
521/** A well-known GUID */
523 /** GUID */
525 /** Name */
526 const char *name;
527};
528
529/** Well-known GUIDs */
532 "AbsolutePointer" },
534 "Acpi10" },
536 "Acpi20" },
538 "AcpiTable" },
540 "AdapterInfo" },
542 "AppleNetBoot" },
544 "Arp" },
546 "ArpSb" },
548 "BlockIo" },
550 "BlockIo2" },
552 "BusSpecificDriverOverride" },
554 "CertX509" },
556 "ComponentName" },
558 "ComponentName2" },
560 "ConsoleControl" },
562 "DevicePath" },
564 "DriverBinding" },
566 "Dhcp4" },
568 "Dhcp4Sb" },
570 "Dhcp6" },
572 "Dhcp6Sb" },
574 "DiskIo" },
576 "Dns4" },
578 "Dns4Sb" },
580 "Dns6" },
582 "Dns6Sb" },
584 "EapConfig" },
586 "Fdt" },
588 "GlobalVar" },
590 "GraphicsOutput" },
592 "HiiConfigAccess" },
594 "HiiFont" },
596 "HttpBootDxe" },
598 "Http" },
600 "HttpSb" },
602 "ImageSecDb" },
604 "Ip4" },
606 "Ip4Config" },
608 "Ip4Config2" },
610 "Ip4Sb" },
612 "Ip6" },
614 "Ip6Config" },
616 "Ip6Sb" },
618 "IScsiDxe" },
620 "IScsi4Dxe" },
622 "LoadFile" },
624 "LoadFile2" },
626 "LoadedImage" },
628 "LoadedImageDevicePath"},
630 "ManagedNetwork" },
632 "ManagedNetworkSb" },
634 "Microsoft" },
636 "Mtftp4" },
638 "Mtftp4Sb" },
640 "Mtftp6" },
642 "Mtftp6Sb" },
644 "Nii" },
646 "Nii31" },
648 "PartitionInfo" },
650 "PciIo" },
652 "PciRootBridgeIo" },
654 "PxeBaseCode" },
656 "Rng" },
658 "SerialIo" },
660 "ShimLock" },
662 "SimpleFileSystem" },
664 "SimpleNetwork" },
666 "SimplePointer" },
668 "SimpleTextInput" },
670 "SimpleTextInputEx" },
672 "SimpleTextOutput" },
674 "Smbios" },
676 "Smbios3" },
678 "StorageSecurityCommand" },
680 "Supplicant" },
682 "Tcg" },
684 "Tcg2" },
686 "Tcp4" },
688 "Tcp4Sb" },
690 "Tcp6" },
692 "Tcp6Sb" },
694 "TlsCaCert" },
696 "TrEE" },
698 "Udp4" },
700 "Udp4Sb" },
702 "Udp6" },
704 "Udp6Sb" },
706 "UefiPxeBcDxe" },
708 "UgaDraw" },
710 "UnicodeCollation" },
712 "UsbHc" },
714 "Usb2Hc" },
716 "UsbIo" },
718 "VlanConfig" },
720 "VlanConfigDxe" },
722 "Wifi2" },
724 "WiFiConnectionMgrDxe" },
725};
726
727/**
728 * Convert GUID to a printable string
729 *
730 * @v guid GUID
731 * @ret string Printable string
732 */
733const __attribute__ (( pure )) char * efi_guid_ntoa ( CONST EFI_GUID *guid ) {
734 union {
735 union uuid uuid;
737 } u;
738 unsigned int i;
739
740 /* Sanity check */
741 if ( ! guid )
742 return NULL;
743
744 /* Check for a match against well-known GUIDs */
745 for ( i = 0 ; i < ( sizeof ( efi_well_known_guids ) /
746 sizeof ( efi_well_known_guids[0] ) ) ; i++ ) {
748 sizeof ( *guid ) ) == 0 ) {
749 return efi_well_known_guids[i].name;
750 }
751 }
752
753 /* Convert GUID to standard endianness */
754 memcpy ( &u.guid, guid, sizeof ( u.guid ) );
755 uuid_mangle ( &u.uuid );
756 return uuid_ntoa ( &u.uuid );
757}
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:18
GUIDs used for ACPI entries in the EFI system table.
#define EFI_ACPI_20_TABLE_GUID
Definition Acpi.h:36
#define ACPI_10_TABLE_GUID
Definition Acpi.h:31
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:23
#define EFI_ARP_PROTOCOL_GUID
Definition Arp.h:28
#define NULL
NULL pointer (VOID *)
Definition Base.h:321
#define CONST
Datum is read-only.
Definition Base.h:261
Block IO2 protocol as defined in the UEFI 2.3.1 specification.
#define EFI_BLOCK_IO2_PROTOCOL_GUID
Definition BlockIo2.h:20
Block IO protocol as defined in the UEFI 2.0 specification.
#define EFI_BLOCK_IO_PROTOCOL_GUID
Definition BlockIo.h:17
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:25
EFI_DHCP4_PROTOCOL as defined in UEFI 2.0.
#define EFI_DHCP4_PROTOCOL_GUID
Definition Dhcp4.h:20
#define EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID
Definition Dhcp4.h:25
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:23
#define EFI_DHCP6_PROTOCOL_GUID
Definition Dhcp6.h:18
Disk IO protocol as defined in the UEFI 2.0 specification.
#define EFI_DISK_IO_PROTOCOL_GUID
Definition DiskIo.h:18
This file defines the EFI Domain Name Service Binding Protocol interface.
#define EFI_DNS4_PROTOCOL_GUID
Definition Dns4.h:25
#define EFI_DNS4_SERVICE_BINDING_PROTOCOL_GUID
Definition Dns4.h:20
This file defines the EFI DNSv6 (Domain Name Service version 6) Protocol.
#define EFI_DNS6_PROTOCOL_GUID
Definition Dns6.h:25
#define EFI_DNS6_SERVICE_BINDING_PROTOCOL_GUID
Definition Dns6.h:20
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:14
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:16
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:20
This file defines the EFI HTTP Protocol interface.
#define EFI_HTTP_SERVICE_BINDING_PROTOCOL_GUID
Definition Http.h:21
#define EFI_HTTP_PROTOCOL_GUID
Definition Http.h:26
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:20
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:28
#define EFI_IP4_PROTOCOL_GUID
Definition Ip4.h:33
This file provides a definition of the EFI IPv6 Configuration Protocol.
#define EFI_IP6_CONFIG_PROTOCOL_GUID
Definition Ip6Config.h:17
This file defines the EFI IPv6 (Internet Protocol version 6) Protocol interface.
#define EFI_IP6_SERVICE_BINDING_PROTOCOL_GUID
Definition Ip6.h:28
#define EFI_IP6_PROTOCOL_GUID
Definition Ip6.h:33
Load File protocol as defined in the UEFI 2.0 specification.
#define EFI_LOAD_FILE2_PROTOCOL_GUID
Definition LoadFile2.h:20
Load File protocol as defined in the UEFI 2.0 specification.
#define EFI_LOAD_FILE_PROTOCOL_GUID
Definition LoadFile.h:20
UEFI 2.0 Loaded image protocol definition.
#define EFI_LOADED_IMAGE_PROTOCOL_GUID
Definition LoadedImage.h:17
#define EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID
Definition LoadedImage.h:22
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:22
#define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID
Definition Mtftp4.h:17
UEFI Multicast Trivial File Transfer Protocol v6 Definition, which is built upon the EFI UDPv6 Protoc...
#define EFI_MTFTP6_PROTOCOL_GUID
Definition Mtftp6.h:26
#define EFI_MTFTP6_SERVICE_BINDING_PROTOCOL_GUID
Definition Mtftp6.h:21
EFI Network Interface Identifier Protocol.
#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID
#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID_31
This file defines the EFI Partition Information Protocol.
#define EFI_PARTITION_INFO_PROTOCOL_GUID
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:18
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:21
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:24
Serial IO protocol as defined in the UEFI 2.0 specification.
#define EFI_SERIAL_IO_PROTOCOL_GUID
Definition SerialIo.h:17
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:21
#define SMBIOS3_TABLE_GUID
Definition SmBios.h:26
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:33
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:17
EFI TCPv4(Transmission Control Protocol version 4) Protocol Definition The EFI TCPv4 Service Binding ...
#define EFI_TCP4_SERVICE_BINDING_PROTOCOL_GUID
Definition Tcp4.h:22
#define EFI_TCP4_PROTOCOL_GUID
Definition Tcp4.h:27
EFI TCPv6(Transmission Control Protocol version 6) Protocol Definition The EFI TCPv6 Service Binding ...
#define EFI_TCP6_SERVICE_BINDING_PROTOCOL_GUID
Definition Tcp6.h:23
#define EFI_TCP6_PROTOCOL_GUID
Definition Tcp6.h:28
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:24
#define EFI_UDP4_PROTOCOL_GUID
Definition Udp4.h:29
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:21
#define EFI_UDP6_PROTOCOL_GUID
Definition Udp6.h:26
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:23
EFI VLAN Config protocol is to provide manageability interface for VLAN configuration.
#define EFI_VLAN_CONFIG_PROTOCOL_GUID
Definition VlanConfig.h:17
This file defines the EFI Wireless MAC Connection II Protocol.
#define EFI_WIRELESS_MAC_CONNECTION_II_PROTOCOL_GUID
Definition WiFi2.h:17
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:414
EFI_GUID efi_serial_io_protocol_guid
Serial I/O protocol GUID.
Definition efi_guid.c:334
EFI_GUID efi_loaded_image_protocol_guid
Loaded image protocol GUID.
Definition efi_guid.c:274
EFI_GUID efi_udp4_service_binding_protocol_guid
UDPv4 service binding protocol GUID.
Definition efi_guid.c:406
EFI_GUID efi_dhcp6_protocol_guid
DHCPv6 protocol GUID.
Definition efi_guid.c:182
EFI_GUID efi_component_name2_protocol_guid
Component name 2 protocol GUID.
Definition efi_guid.c:162
EFI_GUID efi_supplicant_protocol_guid
Supplicant protocol GUID.
Definition efi_guid.c:370
EFI_GUID efi_acpi_20_table_guid
ACPI 2.0 table GUID.
Definition efi_guid.c:450
EFI_GUID efi_ip4_protocol_guid
IPv4 protocol GUID.
Definition efi_guid.c:238
EFI_GUID efi_load_file2_protocol_guid
Load file 2 protocol GUID.
Definition efi_guid.c:270
EFI_GUID efi_acpi_10_table_guid
ACPI 1.0 table GUID.
Definition efi_guid.c:446
EFI_GUID efi_mtftp6_protocol_guid
MTFTPv6 protocol GUID.
Definition efi_guid.c:298
EFI_GUID efi_tcg2_protocol_guid
TCG2 protocol GUID.
Definition efi_guid.c:378
EFI_GUID efi_graphics_output_protocol_guid
Graphics output protocol GUID.
Definition efi_guid.c:218
EFI_GUID efi_simple_network_protocol_guid
Simple network protocol GUID.
Definition efi_guid.c:346
EFI_GUID efi_shim_lock_protocol_guid
Shim lock protocol GUID.
Definition efi_guid.c:338
const char * efi_guid_ntoa(CONST EFI_GUID *guid)
Convert GUID to a printable string.
Definition efi_guid.c:733
EFI_GUID efi_block_io_protocol_guid
Block I/O protocol GUID.
Definition efi_guid.c:146
EFI_GUID efi_dhcp6_service_binding_protocol_guid
DHCPv6 service binding protocol GUID.
Definition efi_guid.c:186
EFI_GUID efi_loaded_image_device_path_protocol_guid
Loaded image device path protocol GUID.
Definition efi_guid.c:278
EFI_GUID efi_file_system_info_id
File system information GUID.
Definition efi_guid.c:471
EFI_GUID efi_device_path_protocol_guid
Device path protocol GUID.
Definition efi_guid.c:170
EFI_GUID efi_tcp6_service_binding_protocol_guid
TCPv6 service binding protocol GUID.
Definition efi_guid.c:394
EFI_GUID efi_console_control_protocol_guid
Console control protocol GUID.
Definition efi_guid.c:166
EFI_GUID efi_adapter_information_protocol_guid
Adapter information protocol GUID.
Definition efi_guid.c:130
EFI_GUID efi_vlan_config_protocol_guid
VLAN configuration protocol GUID.
Definition efi_guid.c:438
EFI_GUID efi_dns4_service_binding_protocol_guid
DNSv4 service binding protocol GUID.
Definition efi_guid.c:198
EFI_GUID efi_ip4_config_protocol_guid
IPv4 configuration protocol GUID.
Definition efi_guid.c:242
EFI_GUID efi_load_file_protocol_guid
Load file protocol GUID.
Definition efi_guid.c:266
EFI_GUID efi_hii_font_protocol_guid
HII font protocol GUID.
Definition efi_guid.c:226
EFI_GUID efi_absolute_pointer_protocol_guid
Absolute pointer protocol GUID.
Definition efi_guid.c:122
static EFI_GUID efi_http_boot_dxe_guid
HttpBootDxe module GUID.
Definition efi_guid.c:486
EFI_GUID efi_udp4_protocol_guid
UDPv4 protocol GUID.
Definition efi_guid.c:402
EFI_GUID efi_http_protocol_guid
HTTP protocol GUID.
Definition efi_guid.c:230
EFI_GUID efi_simple_text_output_protocol_guid
Simple text output protocol GUID.
Definition efi_guid.c:362
EFI_GUID efi_nii_protocol_guid
Network interface identifier protocol GUID (old version)
Definition efi_guid.c:306
EFI_GUID efi_partition_info_protocol_guid
Partition information protocol GUID.
Definition efi_guid.c:314
EFI_GUID efi_pci_root_bridge_io_protocol_guid
PCI root bridge I/O protocol GUID.
Definition efi_guid.c:322
EFI_GUID efi_mtftp6_service_binding_protocol_guid
MTFTPv6 service binding protocol GUID.
Definition efi_guid.c:302
EFI_GUID efi_tcp6_protocol_guid
TCPv6 protocol GUID.
Definition efi_guid.c:390
static EFI_GUID efi_iscsi_dxe_guid
IScsiDxe module GUID.
Definition efi_guid.c:492
EFI_GUID efi_udp6_protocol_guid
UDPv6 protocol GUID.
Definition efi_guid.c:410
EFI_GUID efi_dns6_service_binding_protocol_guid
DNSv6 service binding protocol GUID.
Definition efi_guid.c:206
EFI_GUID efi_disk_io_protocol_guid
Disk I/O protocol GUID.
Definition efi_guid.c:190
EFI_GUID efi_simple_file_system_protocol_guid
Simple file system protocol GUID.
Definition efi_guid.c:342
EFI_GUID efi_dhcp4_protocol_guid
DHCPv4 protocol GUID.
Definition efi_guid.c:174
EFI_GUID efi_tls_ca_certificate_guid
TLS CA certificate variable GUID.
Definition efi_guid.c:483
EFI_GUID efi_tcp4_service_binding_protocol_guid
TCPv4 service binding protocol GUID.
Definition efi_guid.c:386
EFI_GUID efi_hii_config_access_protocol_guid
HII configuration access protocol GUID.
Definition efi_guid.c:222
EFI_GUID efi_usb_hc_protocol_guid
USB host controller protocol GUID.
Definition efi_guid.c:426
EFI_GUID efi_smbios3_table_guid
SMBIOS3 table GUID.
Definition efi_guid.c:462
EFI_GUID efi_arp_protocol_guid
ARP protocol GUID.
Definition efi_guid.c:138
static EFI_GUID efi_vlan_config_dxe_guid
VlanConfigDxe module GUID.
Definition efi_guid.c:510
EFI_GUID efi_file_info_id
File information GUID.
Definition efi_guid.c:468
EFI_GUID efi_ip4_config2_protocol_guid
IPv4 configuration 2 protocol GUID.
Definition efi_guid.c:246
EFI_GUID efi_acpi_table_protocol_guid
ACPI table protocol GUID.
Definition efi_guid.c:126
EFI_GUID efi_wifi2_protocol_guid
WiFi 2 protocol GUID.
Definition efi_guid.c:442
EFI_GUID efi_storage_security_command_protocol_guid
Storage security protocol GUID.
Definition efi_guid.c:366
EFI_GUID efi_pxe_base_code_protocol_guid
PXE base code protocol GUID.
Definition efi_guid.c:326
EFI_GUID efi_global_variable
Global variable GUID.
Definition efi_guid.c:474
EFI_GUID efi_arp_service_binding_protocol_guid
ARP service binding protocol GUID.
Definition efi_guid.c:142
EFI_GUID efi_cert_x509_guid
X.509 certificate GUID.
Definition efi_guid.c:465
EFI_GUID efi_ip6_config_protocol_guid
IPv6 configuration protocol GUID.
Definition efi_guid.c:258
static EFI_GUID efi_wifi_connection_mgr_dxe_guid
WiFiConnectionMgrDxe module GUID.
Definition efi_guid.c:516
static struct efi_well_known_guid efi_well_known_guids[]
Well-known GUIDs.
Definition efi_guid.c:530
EFI_GUID efi_tcg_protocol_guid
TCG protocol GUID.
Definition efi_guid.c:374
#define EFI_UNICODE_COLLATION_PROTOCOL_GUID
Definition efi_guid.c:116
EFI_GUID efi_rng_protocol_guid
Random number generator protocol GUID.
Definition efi_guid.c:330
EFI_GUID efi_ip6_protocol_guid
IPv6 protocol GUID.
Definition efi_guid.c:254
EFI_GUID efi_dns6_protocol_guid
DNSv6 protocol GUID.
Definition efi_guid.c:202
EFI_GUID efi_nii31_protocol_guid
Network interface identifier protocol GUID (new version)
Definition efi_guid.c:310
EFI_GUID efi_driver_binding_protocol_guid
Driver binding protocol GUID.
Definition efi_guid.c:210
EFI_GUID efi_microsoft_vendor_guid
Microsoft vendor GUID.
Definition efi_guid.c:480
EFI_GUID efi_image_security_database_guid
Image security database GUID.
Definition efi_guid.c:477
EFI_GUID efi_mtftp4_service_binding_protocol_guid
MTFTPv4 service binding protocol GUID.
Definition efi_guid.c:294
EFI_GUID efi_simple_text_input_protocol_guid
Simple text input protocol GUID.
Definition efi_guid.c:354
EFI_GUID efi_ip6_service_binding_protocol_guid
IPv6 service binding protocol GUID.
Definition efi_guid.c:262
EFI_GUID efi_eap_configuration_protocol_guid
EAP configuration protocol GUID.
Definition efi_guid.c:214
EFI_GUID efi_ip4_service_binding_protocol_guid
IPv4 service binding protocol GUID.
Definition efi_guid.c:250
EFI_GUID efi_usb_io_protocol_guid
USB I/O protocol GUID.
Definition efi_guid.c:434
EFI_GUID efi_fdt_table_guid
FDT table GUID.
Definition efi_guid.c:454
EFI_GUID efi_pci_io_protocol_guid
PCI I/O protocol GUID.
Definition efi_guid.c:318
EFI_GUID efi_managed_network_service_binding_protocol_guid
Managed network service binding protocol GUID.
Definition efi_guid.c:286
EFI_GUID efi_dhcp4_service_binding_protocol_guid
DHCPv4 service binding protocol GUID.
Definition efi_guid.c:178
EFI_GUID efi_simple_text_input_ex_protocol_guid
Simple text input extension protocol GUID.
Definition efi_guid.c:358
EFI_GUID efi_mtftp4_protocol_guid
MTFTPv4 protocol GUID.
Definition efi_guid.c:290
static EFI_GUID efi_uefi_pxe_bc_dxe_guid
UefiPxeBcDxe module GUID.
Definition efi_guid.c:504
EFI_GUID efi_dns4_protocol_guid
DNSv4 protocol GUID.
Definition efi_guid.c:194
EFI_GUID efi_smbios_table_guid
SMBIOS table GUID.
Definition efi_guid.c:458
EFI_GUID efi_bus_specific_driver_override_protocol_guid
Bus specific driver override protocol GUID.
Definition efi_guid.c:154
EFI_GUID efi_usb2_hc_protocol_guid
USB2 host controller protocol GUID.
Definition efi_guid.c:430
EFI_GUID efi_unicode_collation_protocol_guid
Unicode collation protocol GUID.
Definition efi_guid.c:422
#define EFI_TREE_PROTOCOL_GUID
Definition efi_guid.c:111
static EFI_GUID efi_iscsi4_dxe_guid
Old IScsi4Dxe module GUID.
Definition efi_guid.c:498
EFI_GUID efi_apple_net_boot_protocol_guid
Apple NetBoot protocol GUID.
Definition efi_guid.c:134
EFI_GUID efi_managed_network_protocol_guid
Managed network protocol GUID.
Definition efi_guid.c:282
EFI_GUID efi_tcp4_protocol_guid
TCPv4 protocol GUID.
Definition efi_guid.c:382
EFI_GUID efi_block_io2_protocol_guid
Block I/O version 2 protocol GUID.
Definition efi_guid.c:150
EFI_GUID efi_simple_pointer_protocol_guid
Simple pointer protocol GUID.
Definition efi_guid.c:350
EFI_GUID efi_tree_protocol_guid
TrEE protocol GUID.
Definition efi_guid.c:398
EFI_GUID efi_component_name_protocol_guid
Component name protocol GUID.
Definition efi_guid.c:158
EFI_GUID efi_uga_draw_protocol_guid
UGA draw protocol GUID.
Definition efi_guid.c:418
EFI_GUID efi_http_service_binding_protocol_guid
HTTP service binding protocol GUID.
Definition efi_guid.c:234
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:921
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Definition compiler.h:951
#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:522
EFI_GUID * guid
GUID.
Definition efi_guid.c:524
const char * name
Name.
Definition efi_guid.c:526
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