1 /* 2 * Copyright 2015 The Chromium OS Authors. All rights reserved. 3 * Use of this source code is governed by a BSD-style license that can be 4 * found in the LICENSE file. 5 * 6 * The origin of this file is 7 * https://github.com/tianocore/edk2.git:MdePkg/Include/IndustryStandard/Tpm20.h 8 * published under BSD license. It can not be copied as is, as it collides 9 * with some of the definitions of this package. 10 */ 11 12 #ifndef __TPM2_TPM_TYPES_H 13 #define __TPM2_TPM_TYPES_H 14 15 #include "Capabilities.h" 16 #include "Implementation.h" 17 typedef UINT32 TPM_SPEC; 18 19 #include "tpm_types.h" 20 21 /* 22 * The below enum is just a pile of all return codes defined in functions in 23 * part 4 of the spec. 24 * 25 * TODO: map these properly into Format-One error reporting. 26 */ 27 enum { 28 RC_ActivateCredential_credentialBlob = 0, 29 RC_ActivateCredential_keyHandle = 0, 30 RC_ActivateCredential_secret = 0, 31 RC_CertifyCreation_creationTicket = 0, 32 RC_CertifyCreation_inScheme = 0, 33 RC_CertifyCreation_signHandle = 0, 34 RC_Certify_inScheme = 0, 35 RC_Certify_signHandle = 0, 36 RC_ClockSet_newTime = 0, 37 RC_Commit_P1 = 0, 38 RC_Commit_s2 = 0, 39 RC_Commit_signHandle = 0, 40 RC_Commit_y2 = 0, 41 RC_ContextLoad_context = 0, 42 RC_CreatePrimary_inPublic = 0, 43 RC_CreatePrimary_inSensitive = 0, 44 RC_Create_inPublic = 0, 45 RC_Create_inSensitive = 0, 46 RC_Create_parentHandle = 0, 47 RC_Duplicate_encryptionKeyIn = 0, 48 RC_Duplicate_newParentHandle = 0, 49 RC_Duplicate_objectHandle = 0, 50 RC_Duplicate_symmetricAlg = 0, 51 RC_ECC_Parameters_curveID = 0, 52 RC_ECDH_KeyGen_keyHandle = 0, 53 RC_ECDH_ZGen_keyHandle = 0, 54 RC_ECDH_ZGen_inPoint = 0, 55 RC_EncryptDecrypt_inData = 0, 56 RC_EncryptDecrypt_ivIn = 0, 57 RC_EncryptDecrypt_keyHandle = 0, 58 RC_EncryptDecrypt_mode = 0, 59 RC_EventSequenceComplete_sequenceHandle = 0, 60 RC_EvictControl_objectHandle = 0, 61 RC_EvictControl_persistentHandle = 0, 62 RC_GetCapability_property = 0, 63 RC_GetCommandAuditDigest_signHandle = 0, 64 RC_GetCommandAuditDigest_inScheme = 0, 65 RC_GetSessionAuditDigest_inScheme = 0, 66 RC_GetSessionAuditDigest_sessionHandle = 0, 67 RC_GetSessionAuditDigest_signHandle = 0, 68 RC_GetTime_inScheme = 0, 69 RC_GetTime_signHandle = 0, 70 RC_HMAC_handle = 0, 71 RC_HMAC_hashAlg = 0, 72 RC_HMAC_Start_handle = 0, 73 RC_HMAC_Start_hashAlg = 0, 74 RC_HierarchyChangeAuth_newAuth = 0, 75 RC_Import_duplicate = 0, 76 RC_Import_encryptionKey = 0, 77 RC_Import_inSymSeed = 0, 78 RC_Import_objectPublic = 0, 79 RC_Import_parentHandle = 0, 80 RC_IncrementalSelfTest_toTest = 0, 81 RC_Load_inPrivate = 0, 82 RC_Load_inPublic = 0, 83 RC_Load_parentHandle = 0, 84 RC_LoadExternal_hierarchy = 0, 85 RC_LoadExternal_inPublic = 0, 86 RC_MakeCredential_credential = 0, 87 RC_MakeCredential_handle = 0, 88 RC_NV_Certify_signHandle = 0, 89 RC_NV_Certify_inScheme = 0, 90 RC_NV_ChangeAuth_newAuth = 0, 91 RC_NV_DefineSpace_auth = 0, 92 RC_NV_DefineSpace_authHandle = 0, 93 RC_NV_DefineSpace_publicInfo = 0, 94 RC_NV_Extend_nvIndex = 0, 95 RC_NV_Increment_nvIndex = 0, 96 RC_NV_ReadLock_nvIndex = 0, 97 RC_NV_SetBits_nvIndex = 0, 98 RC_NV_UndefineSpace_nvIndex = 0, 99 RC_NV_UndefineSpaceSpecial_nvIndex = 0, 100 RC_NV_WriteLock_nvIndex = 0, 101 RC_ObjectChangeAuth_newAuth = 0, 102 RC_ObjectChangeAuth_objectHandle = 0, 103 RC_ObjectChangeAuth_parentHandle = 0, 104 RC_PCR_SetAuthPolicy_authPolicy = 0, 105 RC_PCR_SetAuthPolicy_pcrNum = 0, 106 RC_PolicyAuthorize_approvedPolicy = 0, 107 RC_PolicyAuthorize_checkTicket = 0, 108 RC_PolicyAuthorize_keySign = 0, 109 RC_PolicyCommandCode_code = 0, 110 RC_PolicyCpHash_cpHashA = 0, 111 RC_PolicyLocality_locality = 0, 112 RC_PolicyNV_operandB = 0, 113 RC_PolicyNameHash_nameHash = 0, 114 RC_PolicyNvWritten_writtenSet = 0, 115 RC_PolicyOR_pHashList = 0, 116 RC_PolicyPCR_pcrDigest = 0, 117 RC_PolicySecret_cpHashA = 0, 118 RC_PolicySecret_expiration = 0, 119 RC_PolicySecret_nonceTPM = 0, 120 RC_PolicySigned_auth = 0, 121 RC_PolicySigned_cpHashA = 0, 122 RC_PolicySigned_expiration = 0, 123 RC_PolicySigned_nonceTPM = 0, 124 RC_PolicyTicket_cpHashA = 0, 125 RC_PolicyTicket_policySession = 0, 126 RC_PolicyTicket_ticket = 0, 127 RC_PolicyTicket_timeout = 0, 128 RC_Quote_inScheme = 0, 129 RC_Quote_signHandle = 0, 130 RC_RSA_Decrypt_inScheme = 0, 131 RC_RSA_Decrypt_keyHandle = 0, 132 RC_RSA_Decrypt_label = 0, 133 RC_RSA_Encrypt_inScheme = 0, 134 RC_RSA_Encrypt_keyHandle = 0, 135 RC_RSA_Encrypt_label = 0, 136 RC_Rewrap_inDuplicate = 0, 137 RC_Rewrap_inSymSeed = 0, 138 RC_Rewrap_newParent = 0, 139 RC_Rewrap_oldParent = 0, 140 RC_SequenceComplete_sequenceHandle = 0, 141 RC_SequenceUpdate_sequenceHandle = 0, 142 RC_SetCommandCodeAuditStatus_auditAlg = 0, 143 RC_SetPrimaryPolicy_authPolicy = 0, 144 RC_Shutdown_shutdownType = 0, 145 RC_Sign_digest = 0, 146 RC_Sign_inScheme = 0, 147 RC_Sign_keyHandle = 0, 148 RC_Sign_validation = 0, 149 RC_StartAuthSession_bind = 0, 150 RC_StartAuthSession_encryptedSalt = 0, 151 RC_StartAuthSession_nonceCaller = 0, 152 RC_StartAuthSession_symmetric = 0, 153 RC_StartAuthSession_tpmKey = 0, 154 RC_Startup_startupType = 0, 155 RC_Unseal_itemHandle = 0, 156 RC_VerifySignature_keyHandle = 0, 157 RC_VerifySignature_signature = 0, 158 RC_ZGen_2Phase_counter = 0, 159 RC_ZGen_2Phase_inQeB = 0, 160 RC_ZGen_2Phase_inQsB = 0, 161 RC_ZGen_2Phase_inScheme = 0, 162 RC_ZGen_2Phase_keyA = 0, 163 }; 164 165 #endif // __TPM2_TPM_TYPES_H 166