/** @file MockBaseCryptLib.cpp
  Google Test mocks for BaseCryptLib

  Copyright (c) Microsoft Corporation.
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#include <GoogleTest/Library/MockBaseCryptLib.h>

MOCK_INTERFACE_DEFINITION (MockBaseCryptLib);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Md5GetContextSize, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Md5Init, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Md5Duplicate, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Md5Update, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Md5Final, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Md5HashAll, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha1GetContextSize, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha1Init, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha1Duplicate, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha1Update, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha1Final, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha1HashAll, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha256GetContextSize, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha256Init, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha256Duplicate, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha256Update, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha256Final, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha256HashAll, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha384GetContextSize, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha384Init, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha384Duplicate, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha384Update, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha384Final, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha384HashAll, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha512GetContextSize, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha512Init, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha512Duplicate, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha512Update, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha512Final, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sha512HashAll, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sm3GetContextSize, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sm3Init, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sm3Duplicate, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sm3Update, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sm3Final, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Sm3HashAll, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha256New, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha256Free, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha256SetKey, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha256Duplicate, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha256Update, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha256Final, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha256All, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha384New, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha384Free, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha384SetKey, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha384Duplicate, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha384Update, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha384Final, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HmacSha384All, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, AesGetContextSize, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, AesInit, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, AesCbcEncrypt, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, AesCbcDecrypt, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, AeadAesGcmEncrypt, 12, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, AeadAesGcmDecrypt, 12, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaNew, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaFree, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaSetKey, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaGetKey, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaGenerateKey, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaCheckKey, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaPkcs1Sign, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaPkcs1Verify, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaPssSign, 7, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaPssVerify, 7, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaGetPrivateKeyFromPem, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaGetPublicKeyFromX509, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetSubjectName, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetCommonName, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetOrganizationName, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509VerifyCert, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509ConstructCertificate, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509Free, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509StackFree, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetTBSCert, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Pkcs5HashPassword, 8, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Pkcs1v2Encrypt, 8, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaOaepEncrypt, 8, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Pkcs1v2Decrypt, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RsaOaepDecrypt, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Pkcs7GetSigners, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Pkcs7FreeSigners, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Pkcs7GetCertificatesList, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Pkcs7Sign, 9, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Pkcs7Verify, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Pkcs7Encrypt, 7, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, VerifyEKUsInPkcs7Signature, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Pkcs7GetAttachedContent, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, AuthenticodeVerify, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, ImageTimestampVerify, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetVersion, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetSerialNumber, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetIssuerName, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetSignatureAlgorithm, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetExtensionData, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetValidity, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509FormatDateTime, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509CompareDateTime, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetKeyUsage, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetExtendedKeyUsage, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509VerifyCertChain, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetCertFromCertChain, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, Asn1GetTag, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, X509GetExtendedBasicConstraints, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, DhNew, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, DhFree, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, DhGenerateParameter, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, DhSetParameter, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, DhGenerateKey, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, DhComputeKey, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RandomSeed, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, RandomBytes, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HkdfSha256ExtractAndExpand, 8, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HkdfSha256Extract, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HkdfSha256Expand, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HkdfSha384ExtractAndExpand, 8, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HkdfSha384Extract, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, HkdfSha384Expand, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumInit, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumFromBin, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumToBin, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumFree, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumAdd, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumSub, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumMod, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumExpMod, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumInverseMod, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumDiv, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumMulMod, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumCmp, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumBits, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumBytes, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumIsWord, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumIsOdd, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumCopy, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumValueOne, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumRShift, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumConstTime, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumSqrMod, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumNewContext, 0, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumContextFree, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumSetUint, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, BigNumAddMod, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcGroupInit, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcGroupGetCurve, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcGroupGetOrder, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcGroupFree, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointInit, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointDeInit, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointGetAffineCoordinates, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointSetAffineCoordinates, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointAdd, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointMul, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointInvert, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointIsOnCurve, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointIsAtInfinity, 2, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointEqual, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcPointSetCompressedCoordinates, 5, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcNewByNid, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcFree, 1, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcGenerateKey, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcGetPubKey, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcDhComputeKey, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcGetPrivateKeyFromPem, 4, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcGetPublicKeyFromX509, 3, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcDsaSign, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, EcDsaVerify, 6, EFIAPI);
MOCK_FUNCTION_DEFINITION (MockBaseCryptLib, GetCryptoProviderVersionString, 2, EFIAPI);
