text: // Go's CGO build system is very primitive (to put it politely). It can include
  // headers from any location, but can only compile sources in the same directory
  // as the Go code. Thus to allow us to use the Mircosoft code as a submodule, we
  // have to textually include all of the sources into this file.
  
  #define _CRYPT_HASH_C_
  #define _X509_SPT_
  
  // Google sources
  #include "Clock.not_c"
  #include "Entropy.not_c"
  #include "NVMem.not_c"
  #include "Run.not_c"
  
  // Most of the sources can be included in any order. However, this file has to
  // be included first as it instantiates all of the libraries global variables.
  #include "support/Global.not_c"
  
  #include "X509/TpmASN1.not_c"
  #include "X509/X509_ECC.not_c"
  #include "X509/X509_RSA.not_c"
  #include "X509/X509_spt.not_c"
  #include "command/Asymmetric/ECC_Parameters.not_c"
  #include "command/Asymmetric/ECDH_KeyGen.not_c"
  #include "command/Asymmetric/ECDH_ZGen.not_c"
  #include "command/Asymmetric/EC_Ephemeral.not_c"
  #include "command/Asymmetric/RSA_Decrypt.not_c"
  #include "command/Asymmetric/RSA_Encrypt.not_c"
  #include "command/Asymmetric/ZGen_2Phase.not_c"
  #include "command/AttachedComponent/AC_GetCapability.not_c"
  #include "command/AttachedComponent/AC_Send.not_c"
  #include "command/AttachedComponent/AC_spt.not_c"
  #include "command/AttachedComponent/Policy_AC_SendSelect.not_c"
  #include "command/Attestation/Attest_spt.not_c"
  #include "command/Attestation/Certify.not_c"
  #include "command/Attestation/CertifyCreation.not_c"
  #include "command/Attestation/CertifyX509.not_c"
  #include "command/Attestation/GetCommandAuditDigest.not_c"
  #include "command/Attestation/GetSessionAuditDigest.not_c"
  #include "command/Attestation/GetTime.not_c"
  #include "command/Attestation/Quote.not_c"
  #include "command/Capability/GetCapability.not_c"
  #include "command/Capability/TestParms.not_c"
  #include "command/ClockTimer/ClockRateAdjust.not_c"
  #include "command/ClockTimer/ClockSet.not_c"
  #include "command/ClockTimer/ReadClock.not_c"
  #include "command/CommandAudit/SetCommandCodeAuditStatus.not_c"
  #include "command/Context/ContextLoad.not_c"
  #include "command/Context/ContextSave.not_c"
  #include "command/Context/Context_spt.not_c"
  #include "command/Context/EvictControl.not_c"
  #include "command/Context/FlushContext.not_c"
  #include "command/DA/DictionaryAttackLockReset.not_c"
  #include "command/DA/DictionaryAttackParameters.not_c"
  #include "command/Duplication/Duplicate.not_c"
  #include "command/Duplication/Import.not_c"
  #include "command/Duplication/Rewrap.not_c"
  #include "command/EA/PolicyAuthValue.not_c"
  #include "command/EA/PolicyAuthorize.not_c"
  #include "command/EA/PolicyAuthorizeNV.not_c"
  #include "command/EA/PolicyCommandCode.not_c"
  #include "command/EA/PolicyCounterTimer.not_c"
  #include "command/EA/PolicyCpHash.not_c"
  #include "command/EA/PolicyDuplicationSelect.not_c"
  #include "command/EA/PolicyGetDigest.not_c"
  #include "command/EA/PolicyLocality.not_c"
  #include "command/EA/PolicyNV.not_c"
  #include "command/EA/PolicyNameHash.not_c"
  #include "command/EA/PolicyNvWritten.not_c"
  #include "command/EA/PolicyOR.not_c"
  #include "command/EA/PolicyPCR.not_c"
  #include "command/EA/PolicyPassword.not_c"
  #include "command/EA/PolicyPhysicalPresence.not_c"
  #include "command/EA/PolicySecret.not_c"
  #include "command/EA/PolicySigned.not_c"
  #include "command/EA/PolicyTemplate.not_c"
  #include "command/EA/PolicyTicket.not_c"
  #include "command/EA/Policy_spt.not_c"
  #include "command/Ecdaa/Commit.not_c"
  #include "command/FieldUpgrade/FieldUpgradeData.not_c"
  #include "command/FieldUpgrade/FieldUpgradeStart.not_c"
  #include "command/FieldUpgrade/FirmwareRead.not_c"
  #include "command/HashHMAC/EventSequenceComplete.not_c"
  #include "command/HashHMAC/HMAC_Start.not_c"
  #include "command/HashHMAC/HashSequenceStart.not_c"
  #include "command/HashHMAC/MAC_Start.not_c"
  #include "command/HashHMAC/SequenceComplete.not_c"
  #include "command/HashHMAC/SequenceUpdate.not_c"
  #include "command/Hierarchy/ChangeEPS.not_c"
  #include "command/Hierarchy/ChangePPS.not_c"
  #include "command/Hierarchy/Clear.not_c"
  #include "command/Hierarchy/ClearControl.not_c"
  #include "command/Hierarchy/CreatePrimary.not_c"
  #include "command/Hierarchy/HierarchyChangeAuth.not_c"
  #include "command/Hierarchy/HierarchyControl.not_c"
  #include "command/Hierarchy/SetPrimaryPolicy.not_c"
  #include "command/Misc/PP_Commands.not_c"
  #include "command/Misc/SetAlgorithmSet.not_c"
  #include "command/NVStorage/NV_Certify.not_c"
  #include "command/NVStorage/NV_ChangeAuth.not_c"
  #include "command/NVStorage/NV_DefineSpace.not_c"
  #include "command/NVStorage/NV_Extend.not_c"
  #include "command/NVStorage/NV_GlobalWriteLock.not_c"
  #include "command/NVStorage/NV_Increment.not_c"
  #include "command/NVStorage/NV_Read.not_c"
  #include "command/NVStorage/NV_ReadLock.not_c"
  #include "command/NVStorage/NV_ReadPublic.not_c"
  #include "command/NVStorage/NV_SetBits.not_c"
  #include "command/NVStorage/NV_UndefineSpace.not_c"
  #include "command/NVStorage/NV_UndefineSpaceSpecial.not_c"
  #include "command/NVStorage/NV_Write.not_c"
  #include "command/NVStorage/NV_WriteLock.not_c"
  #include "command/NVStorage/NV_spt.not_c"
  #include "command/Object/ActivateCredential.not_c"
  #include "command/Object/Create.not_c"
  #include "command/Object/CreateLoaded.not_c"
  #include "command/Object/Load.not_c"
  #include "command/Object/LoadExternal.not_c"
  #include "command/Object/MakeCredential.not_c"
  #include "command/Object/ObjectChangeAuth.not_c"
  #include "command/Object/Object_spt.not_c"
  #include "command/Object/ReadPublic.not_c"
  #include "command/Object/Unseal.not_c"
  #include "command/PCR/PCR_Allocate.not_c"
  #include "command/PCR/PCR_Event.not_c"
  #include "command/PCR/PCR_Extend.not_c"
  #include "command/PCR/PCR_Read.not_c"
  #include "command/PCR/PCR_Reset.not_c"
  #include "command/PCR/PCR_SetAuthPolicy.not_c"
  #include "command/PCR/PCR_SetAuthValue.not_c"
  #include "command/Random/GetRandom.not_c"
  #include "command/Random/StirRandom.not_c"
  #include "command/Session/PolicyRestart.not_c"
  #include "command/Session/StartAuthSession.not_c"
  #include "command/Signature/Sign.not_c"
  #include "command/Signature/VerifySignature.not_c"
  #include "command/Startup/Shutdown.not_c"
  #include "command/Startup/Startup.not_c"
  #include "command/Symmetric/EncryptDecrypt.not_c"
  #include "command/Symmetric/EncryptDecrypt2.not_c"
  #include "command/Symmetric/EncryptDecrypt_spt.not_c"
  #include "command/Symmetric/HMAC.not_c"
  #include "command/Symmetric/Hash.not_c"
  #include "command/Symmetric/MAC.not_c"
  #include "command/Testing/GetTestResult.not_c"
  #include "command/Testing/IncrementalSelfTest.not_c"
  #include "command/Testing/SelfTest.not_c"
  #include "command/Vendor/Vendor_TCG_Test.not_c"
  #include "crypt/AlgorithmTests.not_c"
  #include "crypt/BnConvert.not_c"
  #include "crypt/BnMath.not_c"
  #include "crypt/BnMemory.not_c"
  #include "crypt/CryptCmac.not_c"
  #include "crypt/CryptDes.not_c"
  #include "crypt/CryptEccData.not_c"
  #include "crypt/CryptEccKeyExchange.not_c"
  #include "crypt/CryptEccMain.not_c"
  #include "crypt/CryptEccSignature.not_c"
  #include "crypt/CryptHash.not_c"
  #include "crypt/CryptPrime.not_c"
  #include "crypt/CryptPrimeSieve.not_c"
  #include "crypt/CryptRand.not_c"
  #include "crypt/CryptRsa.not_c"
  #include "crypt/CryptSelfTest.not_c"
  #include "crypt/CryptSmac.not_c"
  #include "crypt/CryptSym.not_c"
  #include "crypt/CryptUtil.not_c"
  #include "crypt/PrimeData.not_c"
  #include "crypt/RsaKeyCache.not_c"
  #include "crypt/Ticket.not_c"
  #include "crypt/ossl/TpmToOsslDesSupport.not_c"
  #include "crypt/ossl/TpmToOsslMath.not_c"
  #include "crypt/ossl/TpmToOsslSupport.not_c"
  #include "events/_TPM_Hash_Data.not_c"
  #include "events/_TPM_Hash_End.not_c"
  #include "events/_TPM_Hash_Start.not_c"
  #include "events/_TPM_Init.not_c"
  #include "not_main/CommandDispatcher.not_c"
  #include "not_main/ExecCommand.not_c"
  #include "not_main/SessionProcess.not_c"
  #include "subsystem/CommandAudit.not_c"
  #include "subsystem/DA.not_c"
  #include "subsystem/Hierarchy.not_c"
  #include "subsystem/NvDynamic.not_c"
  #include "subsystem/NvReserved.not_c"
  #include "subsystem/Object.not_c"
  #include "subsystem/PCR.not_c"
  #include "subsystem/PP.not_c"
  #include "subsystem/Session.not_c"
  #include "subsystem/Time.not_c"
  #include "support/AlgorithmCap.not_c"
  #include "support/Bits.not_c"
  #include "support/CommandCodeAttributes.not_c"
  #include "support/Entity.not_c"
  #include "support/Handle.not_c"
  #include "support/IoBuffers.not_c"
  #include "support/Locality.not_c"
  #include "support/Manufacture.not_c"
  #include "support/Marshal.not_c"
  #include "support/MathOnByteBuffers.not_c"
  #include "support/Memory.not_c"
  #include "support/Power.not_c"
  #include "support/PropertyCap.not_c"
  #include "support/Response.not_c"
  #include "support/ResponseCodeProcessing.not_c"
  #include "support/TpmFail.not_c"
  #include "support/TpmSizeChecks.not_c"
  