+//\r
+// Crypto Agile Log Entry Format\r
+//\r
+typedef struct tdTCG_PCR_EVENT2 {\r
+ TCG_PCRINDEX PCRIndex;\r
+ TCG_EVENTTYPE EventType;\r
+ TPML_DIGEST_VALUES Digest;\r
+ UINT32 EventSize;\r
+ UINT8 Event[1];\r
+} TCG_PCR_EVENT2;\r
+\r
+//\r
+// Log Header Entry Data\r
+//\r
+typedef struct {\r
+ //\r
+ // TCG defined hashing algorithm ID.\r
+ //\r
+ UINT16 algorithmId;\r
+ //\r
+ // The size of the digest for the respective hashing algorithm.\r
+ //\r
+ UINT16 digestSize;\r
+} TCG_EfiSpecIdEventAlgorithmSize;\r
+\r
+#define TCG_EfiSpecIDEventStruct_SIGNATURE_02 "Spec ID Event02"\r
+#define TCG_EfiSpecIDEventStruct_SIGNATURE_03 "Spec ID Event03"\r
+\r
+#define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MAJOR_TPM12 1\r
+#define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MINOR_TPM12 2\r
+#define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM12 2\r
+\r
+#define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MAJOR_TPM2 2\r
+#define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MINOR_TPM2 0\r
+#define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2 0\r
+\r
+typedef struct {\r
+ UINT8 signature[16];\r
+ //\r
+ // The value for the Platform Class.\r
+ // The enumeration is defined in the TCG ACPI Specification Client Common Header.\r
+ //\r
+ UINT32 platformClass;\r
+ //\r
+ // The TCG EFI Platform Specification minor version number this BIOS supports.\r
+ // Any BIOS supporting version (1.22) MUST set this value to 02h.\r
+ // Any BIOS supporting version (2.0) SHALL set this value to 0x00.\r
+ //\r
+ UINT8 specVersionMinor;\r
+ //\r
+ // The TCG EFI Platform Specification major version number this BIOS supports.\r
+ // Any BIOS supporting version (1.22) MUST set this value to 01h.\r
+ // Any BIOS supporting version (2.0) SHALL set this value to 0x02.\r
+ //\r
+ UINT8 specVersionMajor;\r
+ //\r
+ // The TCG EFI Platform Specification errata for this specification this BIOS supports.\r
+ // Any BIOS supporting version and errata (1.22) MUST set this value to 02h.\r
+ // Any BIOS supporting version and errata (2.0) SHALL set this value to 0x00.\r
+ //\r
+ UINT8 specErrata;\r
+ //\r
+ // Specifies the size of the UINTN fields used in various data structures used in this specification.\r
+ // 0x01 indicates UINT32 and 0x02 indicates UINT64.\r
+ //\r
+ UINT8 uintnSize;\r
+ //\r
+ // This field is added in "Spec ID Event03".\r
+ // The number of hashing algorithms used in this event log (except the first event).\r
+ // All events in this event log use all hashing algorithms defined here.\r
+ //\r
+//UINT32 numberOfAlgorithms;\r
+ //\r
+ // This field is added in "Spec ID Event03".\r
+ // An array of size numberOfAlgorithms of value pairs.\r
+ //\r
+//TCG_EfiSpecIdEventAlgorithmSize digestSize[numberOfAlgorithms];\r
+ //\r
+ // Size in bytes of the VendorInfo field.\r
+ // Maximum value SHALL be FFh bytes.\r
+ //\r
+//UINT8 vendorInfoSize;\r
+ //\r
+ // Provided for use by the BIOS implementer.\r
+ // The value might be used, for example, to provide more detailed information about the specific BIOS such as BIOS revision numbers, etc.\r
+ // The values within this field are not standardized and are implementer-specific.\r
+ // Platform-specific or -unique information SHALL NOT be provided in this field.\r
+ //\r
+//UINT8 vendorInfo[vendorInfoSize];\r
+} TCG_EfiSpecIDEventStruct;\r
+\r