1 /** @file
2   The protocol provides information about the version of the EFI
3   specification that a driver is following. This protocol is
4   required for EFI drivers that are on PCI and other plug-in
5   cards.
6 
7   Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
8   SPDX-License-Identifier: BSD-2-Clause-Patent
9 
10 **/
11 
12 #ifndef __DRIVER_SUPPORTED_EFI_VERSION_H__
13 #define __DRIVER_SUPPORTED_EFI_VERSION_H__
14 
15 #define EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL_GUID  \
16   { 0x5c198761, 0x16a8, 0x4e69, { 0x97, 0x2c, 0x89, 0xd6, 0x79, 0x54, 0xf8, 0x1d } }
17 
18 ///
19 /// The EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL provides a
20 /// mechanism for an EFI driver to publish the version of the EFI
21 /// specification it conforms to. This protocol must be placed on
22 /// the driver's image handle when the driver's entry point is
23 /// called.
24 ///
25 typedef struct _EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL {
26   ///
27   /// The size, in bytes, of the entire structure. Future versions of this
28   /// specification may grow the size of the structure.
29   ///
30   UINT32    Length;
31   ///
32   /// The latest version of the UEFI specification that this driver conforms to.
33   ///
34   UINT32    FirmwareVersion;
35 } EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL;
36 
37 extern EFI_GUID  gEfiDriverSupportedEfiVersionProtocolGuid;
38 
39 #endif
40