/* Microsoft Reference Implementation for TPM 2.0
 *
 *  The copyright in this software is being made available under the BSD License,
 *  included below. This software may be subject to other third party and
 *  contributor rights, including patent rights, and no such rights are granted
 *  under this license.
 *
 *  Copyright (c) Microsoft Corporation
 *
 *  All rights reserved.
 *
 *  BSD License
 *
 *  Redistribution and use in source and binary forms, with or without modification,
 *  are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice, this list
 *  of conditions and the following disclaimer.
 *
 *  Redistributions in binary form must reproduce the above copyright notice, this
 *  list of conditions and the following disclaimer in the documentation and/or
 *  other materials provided with the distribution.
 *
 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS""
 *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
 *  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/*(Auto-generated)
 *  Created by TpmStructures; Version 4.4 Mar 26, 2019
 *  Date: Mar  4, 2020  Time: 02:36:43PM
 */

#ifndef _TPM_PROFILE_H_
#define _TPM_PROFILE_H_

// Table 2:4 - Defines for Logic Values
#undef TRUE
#define TRUE 1
#undef FALSE
#define FALSE 0
#undef YES
#define YES 1
#undef NO
#define NO 0
#undef SET
#define SET 1
#undef CLEAR
#define CLEAR 0

// Table 0:1 - Defines for Processor Values
#ifndef BIG_ENDIAN_TPM
#  define BIG_ENDIAN_TPM NO
#endif
#ifndef LITTLE_ENDIAN_TPM
#  define LITTLE_ENDIAN_TPM !BIG_ENDIAN_TPM
#endif
#ifndef MOST_SIGNIFICANT_BIT_0
#  define MOST_SIGNIFICANT_BIT_0 NO
#endif
#ifndef LEAST_SIGNIFICANT_BIT_0
#  define LEAST_SIGNIFICANT_BIT_0 !MOST_SIGNIFICANT_BIT_0
#endif
#ifndef AUTO_ALIGN
#  define AUTO_ALIGN NO
#endif

// Table 0:4 - Defines for Implemented Curves
#ifndef ECC_NIST_P192
#  define ECC_NIST_P192 NO
#endif
#ifndef ECC_NIST_P224
#  define ECC_NIST_P224 NO
#endif
#ifndef ECC_NIST_P256
#  define ECC_NIST_P256 YES
#endif
#ifndef ECC_NIST_P384
#  define ECC_NIST_P384 YES
#endif
#ifndef ECC_NIST_P521
#  define ECC_NIST_P521 NO
#endif
#ifndef ECC_BN_P256
#  define ECC_BN_P256 YES
#endif
#ifndef ECC_BN_P638
#  define ECC_BN_P638 NO
#endif
#ifndef ECC_SM2_P256
#  define ECC_SM2_P256 YES
#endif

// Table 0:6 - Defines for Implemented ACT
#ifndef RH_ACT_0
#  define RH_ACT_0 YES
#endif
#ifndef RH_ACT_1
#  define RH_ACT_1 NO
#endif
#ifndef RH_ACT_A
#  define RH_ACT_A YES
#endif

// Table 0:7 - Defines for Implementation Values
#ifndef FIELD_UPGRADE_IMPLEMENTED
#  define FIELD_UPGRADE_IMPLEMENTED NO
#endif
#ifndef HASH_LIB
#  define HASH_LIB Ossl
#endif
#ifndef SYM_LIB
#  define SYM_LIB Ossl
#endif
#ifndef MATH_LIB
#  define MATH_LIB Ossl
#endif
#ifndef IMPLEMENTATION_PCR
#  define IMPLEMENTATION_PCR 24
#endif
#ifndef PLATFORM_PCR
#  define PLATFORM_PCR 24
#endif
#ifndef DRTM_PCR
#  define DRTM_PCR 17
#endif
#ifndef HCRTM_PCR
#  define HCRTM_PCR 0
#endif
#ifndef NUM_LOCALITIES
#  define NUM_LOCALITIES 5
#endif
#ifndef MAX_HANDLE_NUM
#  define MAX_HANDLE_NUM 3
#endif
#ifndef MAX_ACTIVE_SESSIONS
#  define MAX_ACTIVE_SESSIONS 64
#endif
#ifndef CONTEXT_SLOT
#  define CONTEXT_SLOT UINT16
#endif
#ifndef MAX_LOADED_SESSIONS
#  define MAX_LOADED_SESSIONS 3
#endif
#ifndef MAX_SESSION_NUM
#  define MAX_SESSION_NUM 3
#endif
#ifndef MAX_LOADED_OBJECTS
#  define MAX_LOADED_OBJECTS 3
#endif
#ifndef MIN_EVICT_OBJECTS
#  define MIN_EVICT_OBJECTS 2
#endif
#ifndef NUM_POLICY_PCR_GROUP
#  define NUM_POLICY_PCR_GROUP 1
#endif
#ifndef NUM_AUTHVALUE_PCR_GROUP
#  define NUM_AUTHVALUE_PCR_GROUP 1
#endif
#ifndef MAX_CONTEXT_SIZE
#  define MAX_CONTEXT_SIZE 1344
#endif
#ifndef MAX_DIGEST_BUFFER
#  define MAX_DIGEST_BUFFER 1024
#endif
#ifndef MAX_NV_INDEX_SIZE
#  define MAX_NV_INDEX_SIZE 2048
#endif
#ifndef MAX_NV_BUFFER_SIZE
#  define MAX_NV_BUFFER_SIZE 1024
#endif
#ifndef MAX_CAP_BUFFER
#  define MAX_CAP_BUFFER 1024
#endif
#ifndef NV_MEMORY_SIZE
#  define NV_MEMORY_SIZE 16384
#endif
#ifndef MIN_COUNTER_INDICES
#  define MIN_COUNTER_INDICES 8
#endif
#ifndef NUM_STATIC_PCR
#  define NUM_STATIC_PCR 16
#endif
#ifndef MAX_ALG_LIST_SIZE
#  define MAX_ALG_LIST_SIZE 64
#endif
#ifndef PRIMARY_SEED_SIZE
#  define PRIMARY_SEED_SIZE 32
#endif
#ifndef CONTEXT_ENCRYPT_ALGORITHM
#  define CONTEXT_ENCRYPT_ALGORITHM AES
#endif
#ifndef NV_CLOCK_UPDATE_INTERVAL
#  define NV_CLOCK_UPDATE_INTERVAL 12
#endif
#ifndef NUM_POLICY_PCR
#  define NUM_POLICY_PCR 1
#endif
#ifndef MAX_COMMAND_SIZE
#  define MAX_COMMAND_SIZE 4096
#endif
#ifndef MAX_RESPONSE_SIZE
#  define MAX_RESPONSE_SIZE 4096
#endif
#ifndef ORDERLY_BITS
#  define ORDERLY_BITS 8
#endif
#ifndef MAX_SYM_DATA
#  define MAX_SYM_DATA 128
#endif
#ifndef MAX_RNG_ENTROPY_SIZE
#  define MAX_RNG_ENTROPY_SIZE 64
#endif
#ifndef RAM_INDEX_SPACE
#  define RAM_INDEX_SPACE 512
#endif
#ifndef RSA_DEFAULT_PUBLIC_EXPONENT
#  define RSA_DEFAULT_PUBLIC_EXPONENT 0x00010001
#endif
#ifndef ENABLE_PCR_NO_INCREMENT
#  define ENABLE_PCR_NO_INCREMENT YES
#endif
#ifndef CRT_FORMAT_RSA
#  define CRT_FORMAT_RSA YES
#endif
#ifndef VENDOR_COMMAND_COUNT
#  define VENDOR_COMMAND_COUNT 0
#endif
#ifndef MAX_VENDOR_BUFFER_SIZE
#  define MAX_VENDOR_BUFFER_SIZE 1024
#endif
#ifndef SIZE_OF_X509_SERIAL_NUMBER
#  define SIZE_OF_X509_SERIAL_NUMBER 20
#endif
#ifndef PRIVATE_VENDOR_SPECIFIC_BYTES
#  define PRIVATE_VENDOR_SPECIFIC_BYTES RSA_PRIVATE_SIZE
#endif

// Table 0:2 - Defines for Implemented Algorithms
#ifndef ALG_AES
#  define ALG_AES ALG_YES
#endif
#ifndef ALG_CAMELLIA
#  define ALG_CAMELLIA ALG_YES
#endif
#ifndef ALG_CBC
#  define ALG_CBC ALG_YES
#endif
#ifndef ALG_CFB
#  define ALG_CFB ALG_YES
#endif
#ifndef ALG_CMAC
#  define ALG_CMAC ALG_YES
#endif
#ifndef ALG_CTR
#  define ALG_CTR ALG_YES
#endif
#ifndef ALG_ECB
#  define ALG_ECB ALG_YES
#endif
#ifndef ALG_ECC
#  define ALG_ECC ALG_YES
#endif
#ifndef ALG_ECDAA
#  define ALG_ECDAA (ALG_YES && ALG_ECC)
#endif
#ifndef ALG_ECDH
#  define ALG_ECDH (ALG_YES && ALG_ECC)
#endif
#ifndef ALG_ECDSA
#  define ALG_ECDSA (ALG_YES && ALG_ECC)
#endif
#ifndef ALG_ECMQV
#  define ALG_ECMQV (ALG_NO && ALG_ECC)
#endif
#ifndef ALG_ECSCHNORR
#  define ALG_ECSCHNORR (ALG_YES && ALG_ECC)
#endif
#ifndef ALG_HMAC
#  define ALG_HMAC ALG_YES
#endif
#ifndef ALG_KDF1_SP800_108
#  define ALG_KDF1_SP800_108 ALG_YES
#endif
#ifndef ALG_KDF1_SP800_56A
#  define ALG_KDF1_SP800_56A (ALG_YES && ALG_ECC)
#endif
#ifndef ALG_KDF2
#  define ALG_KDF2 ALG_YES
#endif
#ifndef ALG_KEYEDHASH
#  define ALG_KEYEDHASH ALG_YES
#endif
#ifndef ALG_MGF1
#  define ALG_MGF1 ALG_YES
#endif
#ifndef ALG_OAEP
#  define ALG_OAEP (ALG_YES && ALG_RSA)
#endif
#ifndef ALG_OFB
#  define ALG_OFB ALG_YES
#endif
#ifndef ALG_RSA
#  define ALG_RSA ALG_YES
#endif
#ifndef ALG_RSAES
#  define ALG_RSAES (ALG_YES && ALG_RSA)
#endif
#ifndef ALG_RSAPSS
#  define ALG_RSAPSS (ALG_YES && ALG_RSA)
#endif
#ifndef ALG_RSASSA
#  define ALG_RSASSA (ALG_YES && ALG_RSA)
#endif
#ifndef ALG_SHA
#  define ALG_SHA ALG_NO /* Not specified by vendor */
#endif
#ifndef ALG_SHA1
#  define ALG_SHA1 ALG_YES
#endif
#ifndef ALG_SHA256
#  define ALG_SHA256 ALG_YES
#endif
#ifndef ALG_SHA384
#  define ALG_SHA384 ALG_YES
#endif
#ifndef ALG_SHA3_256
#  define ALG_SHA3_256 ALG_NO /* Not specified by vendor */
#endif
#ifndef ALG_SHA3_384
#  define ALG_SHA3_384 ALG_NO /* Not specified by vendor */
#endif
#ifndef ALG_SHA3_512
#  define ALG_SHA3_512 ALG_NO /* Not specified by vendor */
#endif
#ifndef ALG_SHA512
#  define ALG_SHA512 ALG_NO
#endif
#ifndef ALG_SM2
#  define ALG_SM2 (ALG_NO && ALG_ECC)
#endif
#ifndef ALG_SM3_256
#  define ALG_SM3_256 ALG_NO
#endif
#ifndef ALG_SM4
#  define ALG_SM4 ALG_NO
#endif
#ifndef ALG_SYMCIPHER
#  define ALG_SYMCIPHER ALG_YES
#endif
#ifndef ALG_TDES
#  define ALG_TDES ALG_NO
#endif
#ifndef ALG_XOR
#  define ALG_XOR ALG_YES
#endif

// Table 1:3 - Defines for RSA Asymmetric Cipher Algorithm Constants
#ifndef RSA_1024
#  define RSA_1024 (ALG_RSA && YES)
#endif
#ifndef RSA_2048
#  define RSA_2048 (ALG_RSA && YES)
#endif
#ifndef RSA_3072
#  define RSA_3072 (ALG_RSA && NO)
#endif
#ifndef RSA_4096
#  define RSA_4096 (ALG_RSA && NO)
#endif
#ifndef RSA_16384
#  define RSA_16384 (ALG_RSA && NO)
#endif

// Table 1:21 - Defines for AES Symmetric Cipher Algorithm Constants
#ifndef AES_128
#  define AES_128 (ALG_AES && YES)
#endif
#ifndef AES_192
#  define AES_192 (ALG_AES && NO)
#endif
#ifndef AES_256
#  define AES_256 (ALG_AES && YES)
#endif

// Table 1:22 - Defines for SM4 Symmetric Cipher Algorithm Constants
#ifndef SM4_128
#  define SM4_128 (ALG_SM4 && YES)
#endif

// Table 1:23 - Defines for CAMELLIA Symmetric Cipher Algorithm Constants
#ifndef CAMELLIA_128
#  define CAMELLIA_128 (ALG_CAMELLIA && YES)
#endif
#ifndef CAMELLIA_192
#  define CAMELLIA_192 (ALG_CAMELLIA && NO)
#endif
#ifndef CAMELLIA_256
#  define CAMELLIA_256 (ALG_CAMELLIA && YES)
#endif

// Table 1:24 - Defines for TDES Symmetric Cipher Algorithm Constants
#ifndef TDES_128
#  define TDES_128 (ALG_TDES && YES)
#endif
#ifndef TDES_192
#  define TDES_192 (ALG_TDES && YES)
#endif

// Table 0:5 - Defines for Implemented Commands
#ifndef CC_ACT_SetTimeout
#  define CC_ACT_SetTimeout CC_YES
#endif
#ifndef CC_AC_GetCapability
#  define CC_AC_GetCapability CC_YES
#endif
#ifndef CC_AC_Send
#  define CC_AC_Send CC_YES
#endif
#ifndef CC_ActivateCredential
#  define CC_ActivateCredential CC_YES
#endif
#ifndef CC_Certify
#  define CC_Certify CC_YES
#endif
#ifndef CC_CertifyCreation
#  define CC_CertifyCreation CC_YES
#endif
#ifndef CC_CertifyX509
#  define CC_CertifyX509 CC_YES
#endif
#ifndef CC_ChangeEPS
#  define CC_ChangeEPS CC_YES
#endif
#ifndef CC_ChangePPS
#  define CC_ChangePPS CC_YES
#endif
#ifndef CC_Clear
#  define CC_Clear CC_YES
#endif
#ifndef CC_ClearControl
#  define CC_ClearControl CC_YES
#endif
#ifndef CC_ClockRateAdjust
#  define CC_ClockRateAdjust CC_YES
#endif
#ifndef CC_ClockSet
#  define CC_ClockSet CC_YES
#endif
#ifndef CC_Commit
#  define CC_Commit (CC_YES && ALG_ECC)
#endif
#ifndef CC_ContextLoad
#  define CC_ContextLoad CC_YES
#endif
#ifndef CC_ContextSave
#  define CC_ContextSave CC_YES
#endif
#ifndef CC_Create
#  define CC_Create CC_YES
#endif
#ifndef CC_CreateLoaded
#  define CC_CreateLoaded CC_YES
#endif
#ifndef CC_CreatePrimary
#  define CC_CreatePrimary CC_YES
#endif
#ifndef CC_DictionaryAttackLockReset
#  define CC_DictionaryAttackLockReset CC_YES
#endif
#ifndef CC_DictionaryAttackParameters
#  define CC_DictionaryAttackParameters CC_YES
#endif
#ifndef CC_Duplicate
#  define CC_Duplicate CC_YES
#endif
#ifndef CC_ECC_Decrypt
#  define CC_ECC_Decrypt (CC_YES && ALG_ECC)
#endif
#ifndef CC_ECC_Encrypt
#  define CC_ECC_Encrypt (CC_YES && ALG_ECC)
#endif
#ifndef CC_ECC_Parameters
#  define CC_ECC_Parameters (CC_YES && ALG_ECC)
#endif
#ifndef CC_ECDH_KeyGen
#  define CC_ECDH_KeyGen (CC_YES && ALG_ECC)
#endif
#ifndef CC_ECDH_ZGen
#  define CC_ECDH_ZGen (CC_YES && ALG_ECC)
#endif
#ifndef CC_EC_Ephemeral
#  define CC_EC_Ephemeral (CC_YES && ALG_ECC)
#endif
#ifndef CC_EncryptDecrypt
#  define CC_EncryptDecrypt CC_YES
#endif
#ifndef CC_EncryptDecrypt2
#  define CC_EncryptDecrypt2 CC_YES
#endif
#ifndef CC_EventSequenceComplete
#  define CC_EventSequenceComplete CC_YES
#endif
#ifndef CC_EvictControl
#  define CC_EvictControl CC_YES
#endif
#ifndef CC_FieldUpgradeData
#  define CC_FieldUpgradeData CC_NO
#endif
#ifndef CC_FieldUpgradeStart
#  define CC_FieldUpgradeStart CC_NO
#endif
#ifndef CC_FirmwareRead
#  define CC_FirmwareRead CC_NO
#endif
#ifndef CC_FlushContext
#  define CC_FlushContext CC_YES
#endif
#ifndef CC_GetCapability
#  define CC_GetCapability CC_YES
#endif
#ifndef CC_GetCommandAuditDigest
#  define CC_GetCommandAuditDigest CC_YES
#endif
#ifndef CC_GetRandom
#  define CC_GetRandom CC_YES
#endif
#ifndef CC_GetSessionAuditDigest
#  define CC_GetSessionAuditDigest CC_YES
#endif
#ifndef CC_GetTestResult
#  define CC_GetTestResult CC_YES
#endif
#ifndef CC_GetTime
#  define CC_GetTime CC_YES
#endif
#ifndef CC_HMAC
#  define CC_HMAC (CC_YES && !ALG_CMAC)
#endif
#ifndef CC_HMAC_Start
#  define CC_HMAC_Start (CC_YES && !ALG_CMAC)
#endif
#ifndef CC_Hash
#  define CC_Hash CC_YES
#endif
#ifndef CC_HashSequenceStart
#  define CC_HashSequenceStart CC_YES
#endif
#ifndef CC_HierarchyChangeAuth
#  define CC_HierarchyChangeAuth CC_YES
#endif
#ifndef CC_HierarchyControl
#  define CC_HierarchyControl CC_YES
#endif
#ifndef CC_Import
#  define CC_Import CC_YES
#endif
#ifndef CC_IncrementalSelfTest
#  define CC_IncrementalSelfTest CC_YES
#endif
#ifndef CC_Load
#  define CC_Load CC_YES
#endif
#ifndef CC_LoadExternal
#  define CC_LoadExternal CC_YES
#endif
#ifndef CC_MAC
#  define CC_MAC (CC_YES && ALG_CMAC)
#endif
#ifndef CC_MAC_Start
#  define CC_MAC_Start (CC_YES && ALG_CMAC)
#endif
#ifndef CC_MakeCredential
#  define CC_MakeCredential CC_YES
#endif
#ifndef CC_NV_Certify
#  define CC_NV_Certify CC_YES
#endif
#ifndef CC_NV_ChangeAuth
#  define CC_NV_ChangeAuth CC_YES
#endif
#ifndef CC_NV_DefineSpace
#  define CC_NV_DefineSpace CC_YES
#endif
#ifndef CC_NV_Extend
#  define CC_NV_Extend CC_YES
#endif
#ifndef CC_NV_GlobalWriteLock
#  define CC_NV_GlobalWriteLock CC_YES
#endif
#ifndef CC_NV_Increment
#  define CC_NV_Increment CC_YES
#endif
#ifndef CC_NV_Read
#  define CC_NV_Read CC_YES
#endif
#ifndef CC_NV_ReadLock
#  define CC_NV_ReadLock CC_YES
#endif
#ifndef CC_NV_ReadPublic
#  define CC_NV_ReadPublic CC_YES
#endif
#ifndef CC_NV_SetBits
#  define CC_NV_SetBits CC_YES
#endif
#ifndef CC_NV_UndefineSpace
#  define CC_NV_UndefineSpace CC_YES
#endif
#ifndef CC_NV_UndefineSpaceSpecial
#  define CC_NV_UndefineSpaceSpecial CC_YES
#endif
#ifndef CC_NV_Write
#  define CC_NV_Write CC_YES
#endif
#ifndef CC_NV_WriteLock
#  define CC_NV_WriteLock CC_YES
#endif
#ifndef CC_ObjectChangeAuth
#  define CC_ObjectChangeAuth CC_YES
#endif
#ifndef CC_PCR_Allocate
#  define CC_PCR_Allocate CC_YES
#endif
#ifndef CC_PCR_Event
#  define CC_PCR_Event CC_YES
#endif
#ifndef CC_PCR_Extend
#  define CC_PCR_Extend CC_YES
#endif
#ifndef CC_PCR_Read
#  define CC_PCR_Read CC_YES
#endif
#ifndef CC_PCR_Reset
#  define CC_PCR_Reset CC_YES
#endif
#ifndef CC_PCR_SetAuthPolicy
#  define CC_PCR_SetAuthPolicy CC_YES
#endif
#ifndef CC_PCR_SetAuthValue
#  define CC_PCR_SetAuthValue CC_YES
#endif
#ifndef CC_PP_Commands
#  define CC_PP_Commands CC_YES
#endif
#ifndef CC_PolicyAuthValue
#  define CC_PolicyAuthValue CC_YES
#endif
#ifndef CC_PolicyAuthorize
#  define CC_PolicyAuthorize CC_YES
#endif
#ifndef CC_PolicyAuthorizeNV
#  define CC_PolicyAuthorizeNV CC_YES
#endif
#ifndef CC_PolicyCommandCode
#  define CC_PolicyCommandCode CC_YES
#endif
#ifndef CC_PolicyCounterTimer
#  define CC_PolicyCounterTimer CC_YES
#endif
#ifndef CC_PolicyCpHash
#  define CC_PolicyCpHash CC_YES
#endif
#ifndef CC_PolicyDuplicationSelect
#  define CC_PolicyDuplicationSelect CC_YES
#endif
#ifndef CC_PolicyGetDigest
#  define CC_PolicyGetDigest CC_YES
#endif
#ifndef CC_PolicyLocality
#  define CC_PolicyLocality CC_YES
#endif
#ifndef CC_PolicyNV
#  define CC_PolicyNV CC_YES
#endif
#ifndef CC_PolicyNameHash
#  define CC_PolicyNameHash CC_YES
#endif
#ifndef CC_PolicyNvWritten
#  define CC_PolicyNvWritten CC_YES
#endif
#ifndef CC_PolicyOR
#  define CC_PolicyOR CC_YES
#endif
#ifndef CC_PolicyPCR
#  define CC_PolicyPCR CC_YES
#endif
#ifndef CC_PolicyPassword
#  define CC_PolicyPassword CC_YES
#endif
#ifndef CC_PolicyPhysicalPresence
#  define CC_PolicyPhysicalPresence CC_YES
#endif
#ifndef CC_PolicyRestart
#  define CC_PolicyRestart CC_YES
#endif
#ifndef CC_PolicySecret
#  define CC_PolicySecret CC_YES
#endif
#ifndef CC_PolicySigned
#  define CC_PolicySigned CC_YES
#endif
#ifndef CC_PolicyTemplate
#  define CC_PolicyTemplate CC_YES
#endif
#ifndef CC_PolicyTicket
#  define CC_PolicyTicket CC_YES
#endif
#ifndef CC_Policy_AC_SendSelect
#  define CC_Policy_AC_SendSelect CC_YES
#endif
#ifndef CC_Quote
#  define CC_Quote CC_YES
#endif
#ifndef CC_RSA_Decrypt
#  define CC_RSA_Decrypt (CC_YES && ALG_RSA)
#endif
#ifndef CC_RSA_Encrypt
#  define CC_RSA_Encrypt (CC_YES && ALG_RSA)
#endif
#ifndef CC_ReadClock
#  define CC_ReadClock CC_YES
#endif
#ifndef CC_ReadPublic
#  define CC_ReadPublic CC_YES
#endif
#ifndef CC_Rewrap
#  define CC_Rewrap CC_YES
#endif
#ifndef CC_SelfTest
#  define CC_SelfTest CC_YES
#endif
#ifndef CC_SequenceComplete
#  define CC_SequenceComplete CC_YES
#endif
#ifndef CC_SequenceUpdate
#  define CC_SequenceUpdate CC_YES
#endif
#ifndef CC_SetAlgorithmSet
#  define CC_SetAlgorithmSet CC_YES
#endif
#ifndef CC_SetCommandCodeAuditStatus
#  define CC_SetCommandCodeAuditStatus CC_YES
#endif
#ifndef CC_SetPrimaryPolicy
#  define CC_SetPrimaryPolicy CC_YES
#endif
#ifndef CC_Shutdown
#  define CC_Shutdown CC_YES
#endif
#ifndef CC_Sign
#  define CC_Sign CC_YES
#endif
#ifndef CC_StartAuthSession
#  define CC_StartAuthSession CC_YES
#endif
#ifndef CC_Startup
#  define CC_Startup CC_YES
#endif
#ifndef CC_StirRandom
#  define CC_StirRandom CC_YES
#endif
#ifndef CC_TestParms
#  define CC_TestParms CC_YES
#endif
#ifndef CC_Unseal
#  define CC_Unseal CC_YES
#endif
#ifndef CC_Vendor_TCG_Test
#  define CC_Vendor_TCG_Test CC_YES
#endif
#ifndef CC_VerifySignature
#  define CC_VerifySignature CC_YES
#endif
#ifndef CC_ZGen_2Phase
#  define CC_ZGen_2Phase (CC_YES && ALG_ECC)
#endif

#endif  // _TPM_PROFILE_H_
