/** @file\r
Header file for Md5.\r
\r
-Copyright (c) 2004 - 2008, Intel Corporation.<BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2004 - 2008, 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
#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
Initialize four 32-bits chaining variables and use them to do the Md5 transform.\r
\r
- @param[in] Md5Ctx The data structure of Md5.\r
+ @param[out] Md5Ctx The data structure of Md5.\r
\r
@retval EFI_SUCCESS Initialization is ok.\r
**/\r
EFI_STATUS\r
MD5Init (\r
- IN MD5_CTX *Md5Ctx\r
+ OUT MD5_CTX *Md5Ctx\r
);\r
\r
/**\r
the external interface of Md5 algorithm\r
\r
- @param[in] 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
+ @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 Some unexpected errors happened.\r
+ @retval Others Other errors as indicated.\r
**/\r
EFI_STATUS\r
MD5Update (\r
- IN MD5_CTX *Md5Ctx,\r
- IN VOID *Data,\r
- IN UINTN DataLen\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] 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
+ @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 Some unexpected errors happened.\r
+ @retval Others Other errors as indicated.\r
**/\r
EFI_STATUS\r
MD5Final (\r
- IN MD5_CTX *Md5Ctx,\r
- OUT UINT8 *HashVal\r
+ IN OUT MD5_CTX *Md5Ctx,\r
+ OUT UINT8 *HashVal\r
);\r
\r
#endif \r