+++ /dev/null
-/*++\r
-\r
- Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
- \r\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
- \r\r
-\r
-Module Name:\r
-\r
- Speaker.h\r
-\r
-Abstract:\r
-\r
- EFI Speaker Interface Protocol\r
-\r
-\r
-\r
---*/\r
-\r
-#ifndef _PEI_SHA256_HASH_H\r
-#define _PEI_SHA256_HASH_H\r
-\r
-//\r
-// Global ID Speaker Interface\r
-//\r
-#define PEI_SHA256_HASH_PPI_GUID \\r
- { \\r
- 0x950e191b, 0x8524, 0x4f51, 0x80, 0xa1, 0x5c, 0x4f, 0x1b, 0x3, 0xf3, 0x5c \\r
- }\r
-\r
-typedef struct _PEI_SHA256_HASH_PPI PEI_SHA256_HASH_PPI;\r
-\r
-/**\r
- @return The size, in bytes, of the context buffer required for hash operations.\r
-\r
-**/\r
-typedef\r
-UINTN\r
-(EFIAPI *HASH_GET_CONTEXT_SIZE)(\r
- VOID\r
- );\r
-\r
-/**\r
- Initializes user-supplied memory pointed by HashContext as hash context for\r
- subsequent use.\r
-\r
- If HashContext is NULL, then ASSERT().\r
-\r
- @param[in, out] HashContext Pointer to Context being initialized.\r
-\r
- @retval TRUE HASH context initialization succeeded.\r
- @retval FALSE HASH context initialization failed.\r
-\r
-**/\r
-typedef\r
-BOOLEAN\r
-(EFIAPI *HASH_INIT)(\r
- IN OUT VOID *HashContext\r
- );\r
-\r
-/**\r
- Performs digest on a data buffer of the specified length. This function can\r
- be called multiple times to compute the digest of long or discontinuous data streams.\r
-\r
- If HashContext is NULL, then ASSERT().\r
-\r
- @param[in, out] HashContext Pointer to the MD5 context.\r
- @param[in] Data Pointer to the buffer containing the data to be hashed.\r
- @param[in] DataLength Length of Data buffer in bytes.\r
-\r
- @retval TRUE HASH data digest succeeded.\r
- @retval FALSE Invalid HASH context. After HashFinal function has been called, the\r
- HASH context cannot be reused.\r
-\r
-**/\r
-typedef\r
-BOOLEAN\r
-(EFIAPI *HASH_UPDATE)(\r
- IN OUT VOID *HashContext,\r
- IN CONST VOID *Data,\r
- IN UINTN DataLength\r
- );\r
-\r
-/**\r
- Completes hash computation and retrieves the digest value into the specified\r
- memory. After this function has been called, the context cannot be used again.\r
-\r
- If HashContext is NULL, then ASSERT().\r
- If HashValue is NULL, then ASSERT().\r
-\r
- @param[in, out] HashContext Pointer to the MD5 context\r
- @param[out] HashValue Pointer to a buffer that receives the HASH digest\r
- value.\r
-\r
- @retval TRUE HASH digest computation succeeded.\r
- @retval FALSE HASH digest computation failed.\r
-\r
-**/\r
-typedef\r
-BOOLEAN\r
-(EFIAPI *HASH_FINAL)(\r
- IN OUT VOID *HashContext,\r
- OUT UINT8 *HashValue\r
- );\r
-\r
-//\r
-// Ppi definition\r
-//\r
-typedef struct _PEI_SHA256_HASH_PPI {\r
- //\r
- // Pointer to Hash GetContentSize function\r
- //\r
- HASH_GET_CONTEXT_SIZE GetContextSize;\r
- //\r
- // Pointer to Hash Init function\r
- //\r
- HASH_INIT HashInit;\r
- //\r
- // Pointer to Hash Update function\r
- //\r
- HASH_UPDATE HashUpdate;\r
- //\r
- // Pointer to Hash Final function\r
- //\r
- HASH_FINAL HashFinal;\r
-\r
-} PEI_SHA256_HASH_PPI;\r
-\r
-extern EFI_GUID gPeiSha256HashPpiGuid;\r
-#endif\r