--- /dev/null
+/** @file\r
+ MD4 Digest Wrapper Implementation which does not provide real capabilities.\r
+\r
+Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include "InternalCryptLib.h"\r
+\r
+/**\r
+ Retrieves the size, in bytes, of the context buffer required for MD4 hash\r
+ operations.\r
+\r
+ Return zero to indicate this interface is not supported.\r
+\r
+ @retval 0 This interface is not supported.\r
+\r
+**/\r
+UINTN\r
+EFIAPI\r
+Md4GetContextSize (\r
+ VOID\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return 0;\r
+}\r
+\r
+/**\r
+ Initializes user-supplied memory pointed by Md4Context as MD4 hash context for\r
+ subsequent use.\r
+\r
+ Return FALSE to indicate this interface is not supported.\r
+\r
+ @param[out] Md4Context Pointer to MD4 context being initialized.\r
+\r
+ @retval FALSE This interface is not supported.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+Md4Init (\r
+ OUT VOID *Md4Context\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return FALSE;\r
+}\r
+\r
+/**\r
+ Makes a copy of an existing MD4 context.\r
+\r
+ Return FALSE to indicate this interface is not supported.\r
+\r
+ @param[in] Md4Context Pointer to MD4 context being copied.\r
+ @param[out] NewMd4Context Pointer to new MD4 context.\r
+\r
+ @retval FALSE This interface is not supported.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+Md4Duplicate (\r
+ IN CONST VOID *Md4Context,\r
+ OUT VOID *NewMd4Context\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return FALSE;\r
+}\r
+\r
+/**\r
+ Digests the input data and updates MD4 context.\r
+\r
+ Return FALSE to indicate this interface is not supported.\r
+\r
+ @param[in, out] Md4Context Pointer to the MD4 context.\r
+ @param[in] Data Pointer to the buffer containing the data to be hashed.\r
+ @param[in] DataSize Size of Data buffer in bytes.\r
+\r
+ @retval FALSE This interface is not supported.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+Md4Update (\r
+ IN OUT VOID *Md4Context,\r
+ IN CONST VOID *Data,\r
+ IN UINTN DataSize\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return FALSE;\r
+}\r
+\r
+/**\r
+ Completes computation of the MD4 digest value.\r
+\r
+ Return FALSE to indicate this interface is not supported.\r
+\r
+ @param[in, out] Md4Context Pointer to the MD4 context.\r
+ @param[out] HashValue Pointer to a buffer that receives the MD4 digest\r
+ value (16 bytes).\r
+\r
+ @retval FALSE This interface is not supported.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+Md4Final (\r
+ IN OUT VOID *Md4Context,\r
+ OUT UINT8 *HashValue\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return FALSE;\r
+}\r
+\r
+/**\r
+ Computes the MD4 message digest of a input data buffer.\r
+\r
+ Return FALSE to indicate this interface is not supported.\r
+\r
+ @param[in] Data Pointer to the buffer containing the data to be hashed.\r
+ @param[in] DataSize Size of Data buffer in bytes.\r
+ @param[out] HashValue Pointer to a buffer that receives the MD4 digest\r
+ value (16 bytes).\r
+\r
+ @retval FALSE This interface is not supported.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+Md4HashAll (\r
+ IN CONST VOID *Data,\r
+ IN UINTN DataSize,\r
+ OUT UINT8 *HashValue\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return FALSE;\r
+}\r