+++ /dev/null
-/** @file\r
- Header file for Md5.\r
-\r
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef _MD5_H_\r
-#define _MD5_H_\r
-\r
-#include <Uefi.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/NetLib.h>\r
-\r
-#define MD5_HASHSIZE 16\r
-\r
-typedef struct _MD5_CTX {\r
- EFI_STATUS Status;\r
- UINT64 Length;\r
- UINT32 States[MD5_HASHSIZE / sizeof (UINT32)];\r
- UINT8 M[64];\r
- UINTN Count;\r
-} MD5_CTX;\r
-\r
-/**\r
- Initialize four 32-bits chaining variables and use them to do the Md5 transform.\r
-\r
- @param[out] Md5Ctx The data structure of Md5.\r
-\r
- @retval EFI_SUCCESS Initialization is ok.\r
-**/\r
-EFI_STATUS\r
-MD5Init (\r
- OUT MD5_CTX *Md5Ctx\r
- );\r
-\r
-/**\r
- the external interface of Md5 algorithm\r
-\r
- @param[in, out] Md5Ctx The data structure of storing the original data\r
- segment and the final result.\r
- @param[in] Data The data wanted to be transformed.\r
- @param[in] DataLen The length of data.\r
-\r
- @retval EFI_SUCCESS The transform is ok.\r
- @retval Others Other errors as indicated.\r
-**/\r
-EFI_STATUS\r
-MD5Update (\r
- IN OUT MD5_CTX *Md5Ctx,\r
- IN VOID *Data,\r
- IN UINTN DataLen\r
- );\r
-\r
-/**\r
- Accumulate the MD5 value of every data segment and generate the finial\r
- result according to MD5 algorithm.\r
-\r
- @param[in, out] Md5Ctx The data structure of storing the original data\r
- segment and the final result.\r
- @param[out] HashVal The final 128-bits output.\r
-\r
- @retval EFI_SUCCESS The transform is ok.\r
- @retval Others Other errors as indicated.\r
-**/\r
-EFI_STATUS\r
-MD5Final (\r
- IN OUT MD5_CTX *Md5Ctx,\r
- OUT UINT8 *HashVal\r
- );\r
-\r
-#endif\r