]> git.proxmox.com Git - mirror_edk2.git/blame - SecurityPkg/Include/Library/TcgEventLogRecordLib.h
SecurityPkg: Apply uncrustify changes
[mirror_edk2.git] / SecurityPkg / Include / Library / TcgEventLogRecordLib.h
CommitLineData
a13947b2
QZ
1/** @file\r
2 This library is used by other modules to measure Firmware to TPM.\r
3\r
4Copyright (c) 2020, Intel Corporation. All rights reserved. <BR>\r
5SPDX-License-Identifier: BSD-2-Clause-Patent\r
6\r
7**/\r
8\r
9#ifndef _TCG_EVENTLOGRECORD_LIB_H_\r
10#define _TCG_EVENTLOGRECORD_LIB_H_\r
11\r
12#include <Uefi.h>\r
13\r
14#pragma pack (1)\r
15\r
c411b485 16#define PLATFORM_FIRMWARE_BLOB_DESC "Fv(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)"\r
a13947b2 17typedef struct {\r
c411b485
MK
18 UINT8 BlobDescriptionSize;\r
19 UINT8 BlobDescription[sizeof (PLATFORM_FIRMWARE_BLOB_DESC)];\r
20 EFI_PHYSICAL_ADDRESS BlobBase;\r
21 UINT64 BlobLength;\r
a13947b2
QZ
22} PLATFORM_FIRMWARE_BLOB2_STRUCT;\r
23\r
24#define HANDOFF_TABLE_POINTER_DESC "1234567890ABCDEF"\r
25typedef struct {\r
c411b485
MK
26 UINT8 TableDescriptionSize;\r
27 UINT8 TableDescription[sizeof (HANDOFF_TABLE_POINTER_DESC)];\r
28 UINT64 NumberOfTables;\r
29 EFI_CONFIGURATION_TABLE TableEntry[1];\r
a13947b2
QZ
30} HANDOFF_TABLE_POINTERS2_STRUCT;\r
31\r
32#pragma pack ()\r
33\r
34/**\r
35 Get the FvName from the FV header.\r
36\r
37 Causion: The FV is untrusted input.\r
38\r
39 @param[in] FvBase Base address of FV image.\r
40 @param[in] FvLength Length of FV image.\r
41\r
42 @return FvName pointer\r
43 @retval NULL FvName is NOT found\r
44**/\r
45VOID *\r
46TpmMeasurementGetFvName (\r
c411b485
MK
47 IN EFI_PHYSICAL_ADDRESS FvBase,\r
48 IN UINT64 FvLength\r
a13947b2
QZ
49 );\r
50\r
51/**\r
52 Measure a FirmwareBlob.\r
53\r
54 @param[in] PcrIndex PCR Index.\r
55 @param[in] Description Description for this FirmwareBlob.\r
56 @param[in] FirmwareBlobBase Base address of this FirmwareBlob.\r
57 @param[in] FirmwareBlobLength Size in bytes of this FirmwareBlob.\r
58\r
59 @retval EFI_SUCCESS Operation completed successfully.\r
60 @retval EFI_UNSUPPORTED TPM device not available.\r
61 @retval EFI_OUT_OF_RESOURCES Out of memory.\r
62 @retval EFI_DEVICE_ERROR The operation was unsuccessful.\r
63*/\r
64EFI_STATUS\r
65EFIAPI\r
66MeasureFirmwareBlob (\r
c411b485
MK
67 IN UINT32 PcrIndex,\r
68 IN CHAR8 *Description OPTIONAL,\r
69 IN EFI_PHYSICAL_ADDRESS FirmwareBlobBase,\r
70 IN UINT64 FirmwareBlobLength\r
a13947b2
QZ
71 );\r
72\r
73/**\r
74 Measure a HandoffTable.\r
75\r
76 @param[in] PcrIndex PcrIndex of the measurement.\r
77 @param[in] Description Description for this HandoffTable.\r
78 @param[in] TableGuid GUID of this HandoffTable.\r
79 @param[in] TableAddress Base address of this HandoffTable.\r
80 @param[in] TableLength Size in bytes of this HandoffTable.\r
81\r
82 @retval EFI_SUCCESS Operation completed successfully.\r
83 @retval EFI_UNSUPPORTED TPM device not available.\r
84 @retval EFI_OUT_OF_RESOURCES Out of memory.\r
85 @retval EFI_DEVICE_ERROR The operation was unsuccessful.\r
86*/\r
87EFI_STATUS\r
88EFIAPI\r
89MeasureHandoffTable (\r
c411b485
MK
90 IN UINT32 PcrIndex,\r
91 IN CHAR8 *Description OPTIONAL,\r
92 IN EFI_GUID *TableGuid,\r
93 IN VOID *TableAddress,\r
94 IN UINTN TableLength\r
a13947b2
QZ
95 );\r
96\r
97#endif\r