]>
git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Network/IScsiDxe/Md5.h
4 Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 #include <Library/BaseLib.h>
20 #include <Library/BaseMemoryLib.h>
21 #include <Library/NetLib.h>
23 #define MD5_HASHSIZE 16
25 typedef struct _MD5_CTX
{
28 UINT32 States
[MD5_HASHSIZE
/ sizeof (UINT32
)];
34 Initialize four 32-bits chaining variables and use them to do the Md5 transform.
36 @param[out] Md5Ctx The data structure of Md5.
38 @retval EFI_SUCCESS Initialization is ok.
46 the external interface of Md5 algorithm
48 @param[in, out] Md5Ctx The data structure of storing the original data
49 segment and the final result.
50 @param[in] Data The data wanted to be transformed.
51 @param[in] DataLen The length of data.
53 @retval EFI_SUCCESS The transform is ok.
54 @retval Others Other errors as indicated.
58 IN OUT MD5_CTX
*Md5Ctx
,
64 Accumulate the MD5 value of every data segment and generate the finial
65 result according to MD5 algorithm.
67 @param[in, out] Md5Ctx The data structure of storing the original data
68 segment and the final result.
69 @param[out] HashVal The final 128-bits output.
71 @retval EFI_SUCCESS The transform is ok.
72 @retval Others Other errors as indicated.
76 IN OUT MD5_CTX
*Md5Ctx
,