1 /* Microsoft Reference Implementation for TPM 2.0 2 * 3 * The copyright in this software is being made available under the BSD License, 4 * included below. This software may be subject to other third party and 5 * contributor rights, including patent rights, and no such rights are granted 6 * under this license. 7 * 8 * Copyright (c) Microsoft Corporation 9 * 10 * All rights reserved. 11 * 12 * BSD License 13 * 14 * Redistribution and use in source and binary forms, with or without modification, 15 * are permitted provided that the following conditions are met: 16 * 17 * Redistributions of source code must retain the above copyright notice, this list 18 * of conditions and the following disclaimer. 19 * 20 * Redistributions in binary form must reproduce the above copyright notice, this 21 * list of conditions and the following disclaimer in the documentation and/or 22 * other materials provided with the distribution. 23 * 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 28 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 29 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 30 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 31 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 32 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 */ 35 #ifndef INTERNAL_ROUTINES_H 36 #define INTERNAL_ROUTINES_H 37 38 #if !defined _LIB_SUPPORT_H_ && !defined _TPM_H_ 39 #error "Should not be called" 40 #endif 41 42 // DRTM functions 43 #include "_TPM_Hash_Start_fp.h" 44 #include "_TPM_Hash_Data_fp.h" 45 #include "_TPM_Hash_End_fp.h" 46 47 // Internal subsystem functions 48 #include "Object_fp.h" 49 #include "Context_spt_fp.h" 50 #include "Object_spt_fp.h" 51 #include "Entity_fp.h" 52 #include "Session_fp.h" 53 #include "Hierarchy_fp.h" 54 #include "NvReserved_fp.h" 55 #include "NvDynamic_fp.h" 56 #include "NV_spt_fp.h" 57 #include "ACT_spt_fp.h" 58 #include "PCR_fp.h" 59 #include "DA_fp.h" 60 #include "TpmFail_fp.h" 61 #include "SessionProcess_fp.h" 62 63 // Internal support functions 64 #include "CommandCodeAttributes_fp.h" 65 #include "Marshal.h" 66 #include "Time_fp.h" 67 #include "Locality_fp.h" 68 #include "PP_fp.h" 69 #include "CommandAudit_fp.h" 70 #include "Manufacture_fp.h" 71 #include "Handle_fp.h" 72 #include "Power_fp.h" 73 #include "Response_fp.h" 74 #include "CommandDispatcher_fp.h" 75 76 #ifdef CC_AC_Send 77 # include "AC_spt_fp.h" 78 #endif // CC_AC_Send 79 80 // Miscellaneous 81 #include "Bits_fp.h" 82 #include "AlgorithmCap_fp.h" 83 #include "PropertyCap_fp.h" 84 #include "IoBuffers_fp.h" 85 #include "Memory_fp.h" 86 #include "ResponseCodeProcessing_fp.h" 87 88 // Internal cryptographic functions 89 #include "BnConvert_fp.h" 90 #include "BnMath_fp.h" 91 #include "BnMemory_fp.h" 92 #include "Ticket_fp.h" 93 #include "CryptUtil_fp.h" 94 #include "CryptHash_fp.h" 95 #include "CryptSym_fp.h" 96 #include "CryptDes_fp.h" 97 #include "CryptPrime_fp.h" 98 #include "CryptRand_fp.h" 99 #include "CryptSelfTest_fp.h" 100 #include "MathOnByteBuffers_fp.h" 101 #include "CryptSym_fp.h" 102 #include "AlgorithmTests_fp.h" 103 104 #if ALG_RSA 105 #include "CryptRsa_fp.h" 106 #include "CryptPrimeSieve_fp.h" 107 #endif 108 109 #if ALG_ECC 110 #include "CryptEccMain_fp.h" 111 #include "CryptEccSignature_fp.h" 112 #include "CryptEccKeyExchange_fp.h" 113 #include "CryptEccCrypt_fp.h" 114 #endif 115 116 #if CC_MAC || CC_MAC_Start 117 # include "CryptSmac_fp.h" 118 # if ALG_CMAC 119 # include "CryptCmac_fp.h" 120 # endif 121 #endif 122 123 // Support library 124 #include "SupportLibraryFunctionPrototypes_fp.h" 125 126 // Linkage to platform functions 127 #include "Platform_fp.h" 128 129 #endif 130