]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Library/Tpm2CommandLib/Tpm2Help.c
SecurityPkg/TPM2: Move GetDigestListSize() to Tpm2CommandLib
[mirror_edk2.git] / SecurityPkg / Library / Tpm2CommandLib / Tpm2Help.c
index 2df18dfe070ac6dd33baf19b5e676c15a3ca4026..96753b79d5e5615f660bab81824252e521467469 100644 (file)
@@ -165,6 +165,32 @@ CopyAuthSessionResponse (
   return (UINT32)(UINTN)(Buffer - (UINT8 *)AuthSessionIn);\r
 }\r
 \r
+/**\r
+  Get TPML_DIGEST_VALUES data size.\r
+\r
+  @param[in]     DigestList    TPML_DIGEST_VALUES data.\r
+\r
+  @return TPML_DIGEST_VALUES data size.\r
+**/\r
+UINT32\r
+EFIAPI\r
+GetDigestListSize (\r
+  IN TPML_DIGEST_VALUES             *DigestList\r
+  )\r
+{\r
+  UINTN  Index;\r
+  UINT16 DigestSize;\r
+  UINT32 TotalSize;\r
+\r
+  TotalSize = sizeof(DigestList->count);\r
+  for (Index = 0; Index < DigestList->count; Index++) {\r
+    DigestSize = GetHashSizeFromAlgo (DigestList->digests[Index].hashAlg);\r
+    TotalSize += sizeof(DigestList->digests[Index].hashAlg) + DigestSize;\r
+  }\r
+\r
+  return TotalSize;\r
+}\r
+\r
 /**\r
   This function get digest from digest list.\r
 \r