Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
TPM20.h@4:77fecfe49437, 2015-04-11 (annotated)
- Committer:
- LordOfDorks
- Date:
- Sat Apr 11 04:20:33 2015 +0000
- Revision:
- 4:77fecfe49437
- Parent:
- 3:4b9ad18eae02
Added pullup for Interrupt
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| LordOfDorks | 1:fd0a59e55a85 | 1 | /* mbed TCG SPI TPM 2.0 TIS 1.3 driver, |
| LordOfDorks | 1:fd0a59e55a85 | 2 | * Copyright (c) 2015, Microsoft Coprporation Inc. |
| LordOfDorks | 1:fd0a59e55a85 | 3 | * by Stefan Thom (LordOfDorks) StefanTh@Microsoft.com, Stefan@ThomsR.Us |
| LordOfDorks | 1:fd0a59e55a85 | 4 | * |
| LordOfDorks | 1:fd0a59e55a85 | 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
| LordOfDorks | 1:fd0a59e55a85 | 6 | * of this software and associated documentation files (the "Software"), to deal |
| LordOfDorks | 1:fd0a59e55a85 | 7 | * in the Software without restriction, including without limitation the rights |
| LordOfDorks | 1:fd0a59e55a85 | 8 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
| LordOfDorks | 1:fd0a59e55a85 | 9 | * copies of the Software, and to permit persons to whom the Software is |
| LordOfDorks | 1:fd0a59e55a85 | 10 | * furnished to do so, subject to the following conditions: |
| LordOfDorks | 1:fd0a59e55a85 | 11 | * |
| LordOfDorks | 1:fd0a59e55a85 | 12 | * The above copyright notice and this permission notice shall be included in |
| LordOfDorks | 1:fd0a59e55a85 | 13 | * all copies or substantial portions of the Software. |
| LordOfDorks | 1:fd0a59e55a85 | 14 | * |
| LordOfDorks | 1:fd0a59e55a85 | 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| LordOfDorks | 1:fd0a59e55a85 | 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| LordOfDorks | 1:fd0a59e55a85 | 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| LordOfDorks | 1:fd0a59e55a85 | 18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| LordOfDorks | 1:fd0a59e55a85 | 19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| LordOfDorks | 1:fd0a59e55a85 | 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
| LordOfDorks | 1:fd0a59e55a85 | 21 | * THE SOFTWARE. |
| LordOfDorks | 1:fd0a59e55a85 | 22 | * |
| LordOfDorks | 1:fd0a59e55a85 | 23 | * The TPM 2.0 architecture, commands and structures are defined in the set of 4 |
| LordOfDorks | 1:fd0a59e55a85 | 24 | * Trusted Platform Module Library Specification, Family "2.0" specifications that |
| LordOfDorks | 1:fd0a59e55a85 | 25 | * that can be found at |
| LordOfDorks | 1:fd0a59e55a85 | 26 | * http://www.trustedcomputinggroup.org/resources/tpm_library_specification |
| LordOfDorks | 1:fd0a59e55a85 | 27 | * |
| LordOfDorks | 1:fd0a59e55a85 | 28 | */ |
| LordOfDorks | 1:fd0a59e55a85 | 29 | |
| LordOfDorks | 1:fd0a59e55a85 | 30 | typedef uint8_t UINT8; |
| LordOfDorks | 1:fd0a59e55a85 | 31 | typedef uint8_t BYTE; |
| LordOfDorks | 1:fd0a59e55a85 | 32 | typedef int8_t INT8; |
| LordOfDorks | 1:fd0a59e55a85 | 33 | typedef int BOOL; |
| LordOfDorks | 1:fd0a59e55a85 | 34 | typedef uint16_t UINT16; |
| LordOfDorks | 1:fd0a59e55a85 | 35 | typedef int16_t INT16; |
| LordOfDorks | 1:fd0a59e55a85 | 36 | typedef uint32_t UINT32; |
| LordOfDorks | 1:fd0a59e55a85 | 37 | typedef int32_t INT32; |
| LordOfDorks | 1:fd0a59e55a85 | 38 | typedef uint64_t UINT64; |
| LordOfDorks | 1:fd0a59e55a85 | 39 | typedef int64_t INT64; |
| LordOfDorks | 1:fd0a59e55a85 | 40 | |
| LordOfDorks | 1:fd0a59e55a85 | 41 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 42 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 43 | BYTE buffer[1]; |
| LordOfDorks | 1:fd0a59e55a85 | 44 | } TPM2B; |
| LordOfDorks | 1:fd0a59e55a85 | 45 | |
| LordOfDorks | 1:fd0a59e55a85 | 46 | #define MAX_CAP_DATA (MAX_CAP_BUFFER-sizeof(TPM_CAP)-sizeof(UINT32)) |
| LordOfDorks | 1:fd0a59e55a85 | 47 | #define MAX_CAP_ALGS (MAX_CAP_DATA/sizeof(TPMS_ALG_PROPERTY)) |
| LordOfDorks | 1:fd0a59e55a85 | 48 | #define MAX_CAP_HANDLES (MAX_CAP_DATA/sizeof(TPM_HANDLE)) |
| LordOfDorks | 1:fd0a59e55a85 | 49 | #define MAX_CAP_CC (MAX_CAP_DATA/sizeof(TPM_CC)) |
| LordOfDorks | 1:fd0a59e55a85 | 50 | #define MAX_TPM_PROPERTIES (MAX_CAP_DATA/sizeof(TPMS_TAGGED_PROPERTY)) |
| LordOfDorks | 1:fd0a59e55a85 | 51 | #define MAX_PCR_PROPERTIES (MAX_CAP_DATA/sizeof(TPMS_TAGGED_PCR_SELECT)) |
| LordOfDorks | 1:fd0a59e55a85 | 52 | #define MAX_ECC_CURVES (MAX_CAP_DATA/sizeof(TPM_ECC_CURVE)) |
| LordOfDorks | 1:fd0a59e55a85 | 53 | |
| LordOfDorks | 1:fd0a59e55a85 | 54 | // Table 205 -- SHA1 Hash Values |
| LordOfDorks | 1:fd0a59e55a85 | 55 | #define SHA1_DIGEST_SIZE 20 |
| LordOfDorks | 1:fd0a59e55a85 | 56 | #define SHA1_BLOCK_SIZE 64 |
| LordOfDorks | 1:fd0a59e55a85 | 57 | #define SHA1_DER_SIZE 15 |
| LordOfDorks | 1:fd0a59e55a85 | 58 | #define SHA1_DER {\ |
| LordOfDorks | 1:fd0a59e55a85 | 59 | 0x30,0x21,0x30,0x09,0x06,0x05,0x2B,0x0E,0x03,0x02,0x1A,0x05,0x00,0x04,0x14} |
| LordOfDorks | 1:fd0a59e55a85 | 60 | |
| LordOfDorks | 1:fd0a59e55a85 | 61 | // Table 206 -- SHA256 Hash Values |
| LordOfDorks | 1:fd0a59e55a85 | 62 | #define SHA256_DIGEST_SIZE 32 |
| LordOfDorks | 1:fd0a59e55a85 | 63 | #define SHA256_BLOCK_SIZE 64 |
| LordOfDorks | 1:fd0a59e55a85 | 64 | #define SHA256_DER_SIZE 19 |
| LordOfDorks | 1:fd0a59e55a85 | 65 | #define SHA256_DER {\ |
| LordOfDorks | 1:fd0a59e55a85 | 66 | 0x30,0x31,0x30,0x0d,0x06,0x09,0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x01,\ |
| LordOfDorks | 1:fd0a59e55a85 | 67 | 0x05,0x00,0x04,0x20} |
| LordOfDorks | 1:fd0a59e55a85 | 68 | |
| LordOfDorks | 1:fd0a59e55a85 | 69 | |
| LordOfDorks | 1:fd0a59e55a85 | 70 | // Table 207 -- SHA384 Hash Values |
| LordOfDorks | 1:fd0a59e55a85 | 71 | #define SHA384_DIGEST_SIZE 48 |
| LordOfDorks | 1:fd0a59e55a85 | 72 | #define SHA384_BLOCK_SIZE 128 |
| LordOfDorks | 1:fd0a59e55a85 | 73 | #define SHA384_DER_SIZE 19 |
| LordOfDorks | 1:fd0a59e55a85 | 74 | #define SHA384_DER {\ |
| LordOfDorks | 1:fd0a59e55a85 | 75 | 0x30,0x41,0x30,0x0d,0x06,0x09,0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x02,\ |
| LordOfDorks | 1:fd0a59e55a85 | 76 | 0x05,0x00,0x04,0x30} |
| LordOfDorks | 1:fd0a59e55a85 | 77 | |
| LordOfDorks | 1:fd0a59e55a85 | 78 | |
| LordOfDorks | 1:fd0a59e55a85 | 79 | // Table 208 -- SHA512 Hash Values |
| LordOfDorks | 1:fd0a59e55a85 | 80 | #define SHA512_DIGEST_SIZE 64 |
| LordOfDorks | 1:fd0a59e55a85 | 81 | #define SHA512_BLOCK_SIZE 128 |
| LordOfDorks | 1:fd0a59e55a85 | 82 | #define SHA512_DER_SIZE 19 |
| LordOfDorks | 1:fd0a59e55a85 | 83 | #define SHA512_DER {\ |
| LordOfDorks | 1:fd0a59e55a85 | 84 | 0x30,0x51,0x30,0x0d,0x06,0x09,0x60,0x86,0x48,0x01,0x65,0x03,0x04,0x02,0x03,\ |
| LordOfDorks | 1:fd0a59e55a85 | 85 | 0x05,0x00,0x04,0x40} |
| LordOfDorks | 1:fd0a59e55a85 | 86 | |
| LordOfDorks | 1:fd0a59e55a85 | 87 | |
| LordOfDorks | 1:fd0a59e55a85 | 88 | // Table 209 -- SM3_256 Hash Values |
| LordOfDorks | 1:fd0a59e55a85 | 89 | #define SM3_256_DIGEST_SIZE 32 |
| LordOfDorks | 1:fd0a59e55a85 | 90 | #define SM3_256_BLOCK_SIZE 64 |
| LordOfDorks | 1:fd0a59e55a85 | 91 | #define SM3_256_DER_SIZE 18 |
| LordOfDorks | 1:fd0a59e55a85 | 92 | #define SM3_256_DER {\ |
| LordOfDorks | 1:fd0a59e55a85 | 93 | 0x30,0x30,0x30,0x0c,0x06,0x08,0x2a,0x81,0x1c,0x81,0x45,0x01,0x83,0x11,0x05,\ |
| LordOfDorks | 1:fd0a59e55a85 | 94 | 0x00,0x04,0x20} |
| LordOfDorks | 1:fd0a59e55a85 | 95 | |
| LordOfDorks | 1:fd0a59e55a85 | 96 | |
| LordOfDorks | 1:fd0a59e55a85 | 97 | // Table 210 -- Architectural Limits Values |
| LordOfDorks | 1:fd0a59e55a85 | 98 | #define MAX_SESSION_NUMBER 3 |
| LordOfDorks | 1:fd0a59e55a85 | 99 | |
| LordOfDorks | 1:fd0a59e55a85 | 100 | |
| LordOfDorks | 1:fd0a59e55a85 | 101 | // Table 211 -- Logic Values |
| LordOfDorks | 1:fd0a59e55a85 | 102 | #define YES 1 |
| LordOfDorks | 1:fd0a59e55a85 | 103 | #define NO 0 |
| LordOfDorks | 1:fd0a59e55a85 | 104 | #define TRUE 1 |
| LordOfDorks | 1:fd0a59e55a85 | 105 | #define FALSE 0 |
| LordOfDorks | 1:fd0a59e55a85 | 106 | #define SET 1 |
| LordOfDorks | 1:fd0a59e55a85 | 107 | #define CLEAR 0 |
| LordOfDorks | 1:fd0a59e55a85 | 108 | |
| LordOfDorks | 1:fd0a59e55a85 | 109 | |
| LordOfDorks | 1:fd0a59e55a85 | 110 | // Table 212 -- Processor Values |
| LordOfDorks | 1:fd0a59e55a85 | 111 | #define BIG_ENDIAN_TPM NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 112 | #define LITTLE_ENDIAN_TPM YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 113 | #define NO_AUTO_ALIGN NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 114 | |
| LordOfDorks | 1:fd0a59e55a85 | 115 | |
| LordOfDorks | 1:fd0a59e55a85 | 116 | // Table 213 -- Implemented Algorithms |
| LordOfDorks | 1:fd0a59e55a85 | 117 | #define ALG_RSA YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 118 | #define ALG_SHA1 YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 119 | #define ALG_HMAC YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 120 | #define ALG_AES YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 121 | #define ALG_MGF1 YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 122 | #define ALG_XOR YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 123 | #define ALG_KEYEDHASH YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 124 | #define ALG_SHA256 YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 125 | #define ALG_SHA384 NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 126 | #define ALG_SHA512 NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 127 | #define ALG_SM3_256 NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 128 | #define ALG_SM4 NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 129 | #define ALG_RSASSA YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 130 | #define ALG_RSAES YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 131 | #define ALG_RSAPSS YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 132 | #define ALG_OAEP YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 133 | #define ALG_ECC YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 134 | #define ALG_ECDH YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 135 | #define ALG_ECDSA YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 136 | #define ALG_ECDAA YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 137 | #define ALG_SM2 NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 138 | #define ALG_ECSCHNORR NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 139 | #define ALG_ECMQV NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 140 | #define ALG_SYMCIPHER YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 141 | #define ALG_KDF1_SP800_56a YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 142 | #define ALG_KDF2 NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 143 | #define ALG_KDF1_SP800_108 YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 144 | #define ALG_CTR YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 145 | #define ALG_OFB YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 146 | #define ALG_CBC YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 147 | #define ALG_CFB YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 148 | #define ALG_ECB YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 149 | |
| LordOfDorks | 1:fd0a59e55a85 | 150 | |
| LordOfDorks | 1:fd0a59e55a85 | 151 | // Table 214 -- Implemented Commands |
| LordOfDorks | 1:fd0a59e55a85 | 152 | #define CC_ActivateCredential YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 153 | #define CC_Certify YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 154 | #define CC_CertifyCreation YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 155 | #define CC_ChangeEPS YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 156 | #define CC_ChangePPS YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 157 | #define CC_Clear YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 158 | #define CC_ClearControl YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 159 | #define CC_ClockRateAdjust YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 160 | #define CC_ClockSet YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 161 | #define CC_Commit ALG_ECC // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 162 | #define CC_ContextLoad YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 163 | #define CC_ContextSave YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 164 | #define CC_Create YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 165 | #define CC_CreatePrimary YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 166 | #define CC_DictionaryAttackLockReset YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 167 | #define CC_DictionaryAttackParameters YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 168 | #define CC_Duplicate YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 169 | #define CC_ECC_Parameters ALG_ECC // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 170 | #define CC_ECDH_KeyGen ALG_ECC // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 171 | #define CC_ECDH_ZGen ALG_ECC // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 172 | #define CC_EncryptDecrypt YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 173 | #define CC_EventSequenceComplete YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 174 | #define CC_EvictControl YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 175 | #define CC_FieldUpgradeData NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 176 | #define CC_FieldUpgradeStart NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 177 | #define CC_FirmwareRead NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 178 | #define CC_FlushContext YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 179 | #define CC_GetCapability YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 180 | #define CC_GetCommandAuditDigest YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 181 | #define CC_GetRandom YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 182 | #define CC_GetSessionAuditDigest YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 183 | #define CC_GetTestResult YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 184 | #define CC_GetTime YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 185 | #define CC_Hash YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 186 | #define CC_HashSequenceStart YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 187 | #define CC_HierarchyChangeAuth YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 188 | #define CC_HierarchyControl YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 189 | #define CC_HMAC YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 190 | #define CC_HMAC_Start YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 191 | #define CC_Import YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 192 | #define CC_IncrementalSelfTest YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 193 | #define CC_Load YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 194 | #define CC_LoadExternal YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 195 | #define CC_MakeCredential YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 196 | #define CC_NV_Certify YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 197 | #define CC_NV_ChangeAuth YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 198 | #define CC_NV_DefineSpace YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 199 | #define CC_NV_Extend YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 200 | #define CC_NV_GlobalWriteLock YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 201 | #define CC_NV_Increment YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 202 | #define CC_NV_Read YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 203 | #define CC_NV_ReadLock YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 204 | #define CC_NV_ReadPublic YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 205 | #define CC_NV_SetBits YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 206 | #define CC_NV_UndefineSpace YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 207 | #define CC_NV_UndefineSpaceSpecial YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 208 | #define CC_NV_Write YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 209 | #define CC_NV_WriteLock YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 210 | #define CC_ObjectChangeAuth YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 211 | #define CC_PCR_Allocate YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 212 | #define CC_PCR_Event YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 213 | #define CC_PCR_Extend YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 214 | #define CC_PCR_Read YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 215 | #define CC_PCR_Reset YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 216 | #define CC_PCR_SetAuthPolicy YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 217 | #define CC_PCR_SetAuthValue YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 218 | #define CC_PolicyAuthorize YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 219 | #define CC_PolicyAuthValue YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 220 | #define CC_PolicyCommandCode YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 221 | #define CC_PolicyCounterTimer YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 222 | #define CC_PolicyCpHash YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 223 | #define CC_PolicyDuplicationSelect YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 224 | #define CC_PolicyGetDigest YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 225 | #define CC_PolicyLocality YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 226 | #define CC_PolicyNameHash YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 227 | #define CC_PolicyNV YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 228 | #define CC_PolicyOR YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 229 | #define CC_PolicyPassword YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 230 | #define CC_PolicyPCR YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 231 | #define CC_PolicyPhysicalPresence YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 232 | #define CC_PolicyRestart YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 233 | #define CC_PolicySecret YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 234 | #define CC_PolicySigned YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 235 | #define CC_PolicyTicket YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 236 | #define CC_PP_Commands YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 237 | #define CC_Quote YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 238 | #define CC_ReadClock YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 239 | #define CC_ReadPublic YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 240 | #define CC_Rewrap YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 241 | #define CC_RSA_Decrypt ALG_RSA // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 242 | #define CC_RSA_Encrypt ALG_RSA // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 243 | #define CC_SelfTest YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 244 | #define CC_SequenceComplete YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 245 | #define CC_SequenceUpdate YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 246 | #define CC_SetAlgorithmSet YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 247 | #define CC_SetCommandCodeAuditStatus YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 248 | #define CC_SetPrimaryPolicy YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 249 | #define CC_Shutdown YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 250 | #define CC_Sign YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 251 | #define CC_StartAuthSession YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 252 | #define CC_Startup YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 253 | #define CC_StirRandom YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 254 | #define CC_TestParms YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 255 | #define CC_Unseal YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 256 | #define CC_VerifySignature YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 257 | #define CC_ZGen_2Phase YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 258 | #define CC_EC_Ephemeral YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 259 | |
| LordOfDorks | 1:fd0a59e55a85 | 260 | |
| LordOfDorks | 1:fd0a59e55a85 | 261 | // Table 215 -- RSA Algorithm Constants |
| LordOfDorks | 1:fd0a59e55a85 | 262 | #define RSA_KEY_SIZES_BITS {1024, 2048} // {1024,2048} |
| LordOfDorks | 1:fd0a59e55a85 | 263 | #define MAX_RSA_KEY_BITS 2048 |
| LordOfDorks | 1:fd0a59e55a85 | 264 | #define MAX_RSA_KEY_BYTES ((MAX_RSA_KEY_BITS + 7) / 8) // 256 |
| LordOfDorks | 1:fd0a59e55a85 | 265 | |
| LordOfDorks | 1:fd0a59e55a85 | 266 | |
| LordOfDorks | 1:fd0a59e55a85 | 267 | // Table 216 -- ECC Algorithm Constants |
| LordOfDorks | 1:fd0a59e55a85 | 268 | #define ECC_CURVES {\ |
| LordOfDorks | 1:fd0a59e55a85 | 269 | TPM_ECC_NIST_P256,TPM_ECC_BN_P256,TPM_ECC_SM2_P256}#define ECC_KEY_SIZES_BITS {256} |
| LordOfDorks | 1:fd0a59e55a85 | 270 | #define MAX_ECC_KEY_BITS 256 |
| LordOfDorks | 1:fd0a59e55a85 | 271 | #define MAX_ECC_KEY_BYTES ((MAX_ECC_KEY_BITS + 7) / 8) // 32 |
| LordOfDorks | 1:fd0a59e55a85 | 272 | |
| LordOfDorks | 1:fd0a59e55a85 | 273 | |
| LordOfDorks | 1:fd0a59e55a85 | 274 | // Table 217 -- AES Algorithm Constants |
| LordOfDorks | 1:fd0a59e55a85 | 275 | #define AES_KEY_SIZES_BITS {128} |
| LordOfDorks | 1:fd0a59e55a85 | 276 | #define MAX_AES_KEY_BITS 128 |
| LordOfDorks | 1:fd0a59e55a85 | 277 | #define MAX_AES_BLOCK_SIZE_BYTES 16 |
| LordOfDorks | 1:fd0a59e55a85 | 278 | #define MAX_AES_KEY_BYTES ((MAX_AES_KEY_BITS + 7) / 8) // 16 |
| LordOfDorks | 1:fd0a59e55a85 | 279 | |
| LordOfDorks | 1:fd0a59e55a85 | 280 | |
| LordOfDorks | 1:fd0a59e55a85 | 281 | // Table 218 -- SM4 Algorithm Constants |
| LordOfDorks | 1:fd0a59e55a85 | 282 | #define SM4_KEY_SIZES_BITS {128} |
| LordOfDorks | 1:fd0a59e55a85 | 283 | #define MAX_SM4_KEY_BITS 128 |
| LordOfDorks | 1:fd0a59e55a85 | 284 | #define MAX_SM4_BLOCK_SIZE_BYTES 16 |
| LordOfDorks | 1:fd0a59e55a85 | 285 | #define MAX_SM4_KEY_BYTES ((MAX_SM4_KEY_BITS + 7) / 8) // 16 |
| LordOfDorks | 1:fd0a59e55a85 | 286 | |
| LordOfDorks | 1:fd0a59e55a85 | 287 | |
| LordOfDorks | 1:fd0a59e55a85 | 288 | // Table 219 -- Symmetric Algorithm Constants |
| LordOfDorks | 1:fd0a59e55a85 | 289 | #define MAX_SYM_KEY_BITS MAX_AES_KEY_BITS // 128 |
| LordOfDorks | 1:fd0a59e55a85 | 290 | #define MAX_SYM_KEY_BYTES MAX_AES_KEY_BYTES // 16 |
| LordOfDorks | 1:fd0a59e55a85 | 291 | #define MAX_SYM_BLOCK_SIZE MAX_AES_BLOCK_SIZE_BYTES // 16 |
| LordOfDorks | 1:fd0a59e55a85 | 292 | |
| LordOfDorks | 1:fd0a59e55a85 | 293 | |
| LordOfDorks | 1:fd0a59e55a85 | 294 | // Table 220 -- Implementation Values |
| LordOfDorks | 1:fd0a59e55a85 | 295 | #define FIELD_UPGRADE_IMPLEMENTED NO // 0 |
| LordOfDorks | 1:fd0a59e55a85 | 296 | typedef UINT16 BSIZE; |
| LordOfDorks | 1:fd0a59e55a85 | 297 | #define BUFFER_ALIGNMENT 4 |
| LordOfDorks | 1:fd0a59e55a85 | 298 | #define IMPLEMENTATION_PCR 24 |
| LordOfDorks | 1:fd0a59e55a85 | 299 | #define PLATFORM_PCR 24 |
| LordOfDorks | 1:fd0a59e55a85 | 300 | #define DRTM_PCR 17 |
| LordOfDorks | 1:fd0a59e55a85 | 301 | #define NUM_LOCALITIES 5 |
| LordOfDorks | 1:fd0a59e55a85 | 302 | #define MAX_HANDLE_NUM 3 |
| LordOfDorks | 1:fd0a59e55a85 | 303 | #define MAX_ACTIVE_SESSIONS 0x01000000 |
| LordOfDorks | 1:fd0a59e55a85 | 304 | typedef UINT16 CONTEXT_SLOT; |
| LordOfDorks | 1:fd0a59e55a85 | 305 | typedef UINT64 CONTEXT_COUNTER; |
| LordOfDorks | 1:fd0a59e55a85 | 306 | #define MAX_LOADED_SESSIONS 3 |
| LordOfDorks | 1:fd0a59e55a85 | 307 | #define MAX_SESSION_NUM 3 |
| LordOfDorks | 1:fd0a59e55a85 | 308 | #define MAX_LOADED_OBJECTS 0x01000000 |
| LordOfDorks | 1:fd0a59e55a85 | 309 | #define MIN_EVICT_OBJECTS 2 |
| LordOfDorks | 1:fd0a59e55a85 | 310 | #define PCR_SELECT_MIN ((PLATFORM_PCR+7)/8) // 3 |
| LordOfDorks | 1:fd0a59e55a85 | 311 | #define PCR_SELECT_MAX ((IMPLEMENTATION_PCR+7)/8) // 3 |
| LordOfDorks | 1:fd0a59e55a85 | 312 | #define NUM_POLICY_PCR_GROUP 1 |
| LordOfDorks | 1:fd0a59e55a85 | 313 | #define NUM_AUTHVALUE_PCR_GROUP 1 |
| LordOfDorks | 1:fd0a59e55a85 | 314 | #define MAX_CONTEXT_SIZE 4000 |
| LordOfDorks | 1:fd0a59e55a85 | 315 | #define MAX_DIGEST_BUFFER 1024 |
| LordOfDorks | 1:fd0a59e55a85 | 316 | #define MAX_NV_INDEX_SIZE 1024 |
| LordOfDorks | 1:fd0a59e55a85 | 317 | #define MAX_CAP_BUFFER 1024 |
| LordOfDorks | 1:fd0a59e55a85 | 318 | #define NV_MEMORY_SIZE 16384 |
| LordOfDorks | 1:fd0a59e55a85 | 319 | #define NUM_STATIC_PCR 16 |
| LordOfDorks | 1:fd0a59e55a85 | 320 | #define MAX_ALG_LIST_SIZE 64 |
| LordOfDorks | 1:fd0a59e55a85 | 321 | #define TIMER_PRESCALE 100000 |
| LordOfDorks | 1:fd0a59e55a85 | 322 | #define PRIMARY_SEED_SIZE 32 |
| LordOfDorks | 1:fd0a59e55a85 | 323 | #define CONTEXT_ENCRYPT_ALG TPM_ALG_AES |
| LordOfDorks | 1:fd0a59e55a85 | 324 | #define CONTEXT_ENCRYPT_KEY_BITS MAX_SYM_KEY_BITS // 128 |
| LordOfDorks | 1:fd0a59e55a85 | 325 | #define CONTEXT_ENCRYPT_KEY_BYTES ((CONTEXT_ENCRYPT_KEY_BITS+7)/8) |
| LordOfDorks | 1:fd0a59e55a85 | 326 | #define CONTEXT_INTEGRITY_HASH_ALG TPM_ALG_SHA256 |
| LordOfDorks | 1:fd0a59e55a85 | 327 | #define CONTEXT_INTEGRITY_HASH_SIZE SHA256_DIGEST_SIZE // 32 |
| LordOfDorks | 1:fd0a59e55a85 | 328 | #define PROOF_SIZE CONTEXT_INTEGRITY_HASH_SIZE // 32 |
| LordOfDorks | 1:fd0a59e55a85 | 329 | #define NV_CLOCK_UPDATE_INTERVAL 12 |
| LordOfDorks | 1:fd0a59e55a85 | 330 | #define NUM_POLICY_PCR 1 |
| LordOfDorks | 1:fd0a59e55a85 | 331 | #define MAX_COMMAND_SIZE 4096 |
| LordOfDorks | 1:fd0a59e55a85 | 332 | #define MAX_RESPONSE_SIZE 4096 |
| LordOfDorks | 1:fd0a59e55a85 | 333 | #define ORDERLY_BITS 8 |
| LordOfDorks | 1:fd0a59e55a85 | 334 | #define MAX_ORDERLY_COUNT ((1 << ORDERLY_BITS) - 1) // 255 |
| LordOfDorks | 1:fd0a59e55a85 | 335 | #define ALG_ID_FIRST TPM_ALG_FIRST |
| LordOfDorks | 1:fd0a59e55a85 | 336 | #define ALG_ID_LAST TPM_ALG_LAST |
| LordOfDorks | 1:fd0a59e55a85 | 337 | #define MAX_SYM_DATA 128 |
| LordOfDorks | 1:fd0a59e55a85 | 338 | #define MAX_RNG_ENTROPY_SIZE 64 |
| LordOfDorks | 1:fd0a59e55a85 | 339 | #define RAM_INDEX_SPACE 512 |
| LordOfDorks | 1:fd0a59e55a85 | 340 | #define RSA_DEFAULT_PUBLIC_EXPONENT 0x00010001 |
| LordOfDorks | 1:fd0a59e55a85 | 341 | #define ENABLE_PCR_NO_INCREMENT YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 342 | #define CRT_FORMAT_RSA YES // 1 |
| LordOfDorks | 1:fd0a59e55a85 | 343 | #define PRIVATE_VENDOR_SPECIFIC_BYTES (\ |
| LordOfDorks | 1:fd0a59e55a85 | 344 | (MAX_RSA_KEY_BYTES/2)*(3+CRT_FORMAT_RSA*2)) |
| LordOfDorks | 1:fd0a59e55a85 | 345 | |
| LordOfDorks | 1:fd0a59e55a85 | 346 | #define MAX_HASH_BLOCK_SIZE 0 |
| LordOfDorks | 1:fd0a59e55a85 | 347 | #define MAX_DIGEST_SIZE 0 |
| LordOfDorks | 1:fd0a59e55a85 | 348 | |
| LordOfDorks | 1:fd0a59e55a85 | 349 | #if (SHA1_BLOCK_SIZE * ALG_SHA1) > MAX_HASH_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 350 | #undef MAX_HASH_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 351 | #define MAX_HASH_BLOCK_SIZE SHA1_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 352 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 353 | |
| LordOfDorks | 1:fd0a59e55a85 | 354 | #if (SHA1_DIGEST_SIZE * ALG_SHA1) > MAX_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 355 | #undef MAX_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 356 | #define MAX_DIGEST_SIZE SHA1_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 357 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 358 | |
| LordOfDorks | 1:fd0a59e55a85 | 359 | #if (SHA256_BLOCK_SIZE * ALG_SHA256) > MAX_HASH_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 360 | #undef MAX_HASH_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 361 | #define MAX_HASH_BLOCK_SIZE SHA256_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 362 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 363 | |
| LordOfDorks | 1:fd0a59e55a85 | 364 | #if (SHA256_DIGEST_SIZE * ALG_SHA256) > MAX_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 365 | #undef MAX_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 366 | #define MAX_DIGEST_SIZE SHA256_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 367 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 368 | |
| LordOfDorks | 1:fd0a59e55a85 | 369 | #if (SHA384_BLOCK_SIZE * ALG_SHA384) > MAX_HASH_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 370 | #undef MAX_HASH_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 371 | #define MAX_HASH_BLOCK_SIZE SHA384_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 372 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 373 | |
| LordOfDorks | 1:fd0a59e55a85 | 374 | #if (SHA384_DIGEST_SIZE * ALG_SHA384) > MAX_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 375 | #undef MAX_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 376 | #define MAX_DIGEST_SIZE SHA384_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 377 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 378 | |
| LordOfDorks | 1:fd0a59e55a85 | 379 | #if (SHA512_BLOCK_SIZE * ALG_SHA512) > MAX_HASH_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 380 | #undef MAX_HASH_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 381 | #define MAX_HASH_BLOCK_SIZE SHA512_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 382 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 383 | |
| LordOfDorks | 1:fd0a59e55a85 | 384 | #if (SHA512_DIGEST_SIZE * ALG_SHA512) > MAX_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 385 | #undef MAX_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 386 | #define MAX_DIGEST_SIZE SHA512_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 387 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 388 | |
| LordOfDorks | 1:fd0a59e55a85 | 389 | #if (SM3_256_BLOCK_SIZE * ALG_SM3_256) > MAX_HASH_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 390 | #undef MAX_HASH_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 391 | #define MAX_HASH_BLOCK_SIZE SM3_256_BLOCK_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 392 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 393 | |
| LordOfDorks | 1:fd0a59e55a85 | 394 | #if (SM3_256_DIGEST_SIZE * ALG_SM3_256) > MAX_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 395 | #undef MAX_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 396 | #define MAX_DIGEST_SIZE SM3_256_DIGEST_SIZE |
| LordOfDorks | 1:fd0a59e55a85 | 397 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 398 | |
| LordOfDorks | 1:fd0a59e55a85 | 399 | #define HASH_COUNT (ALG_SHA1+ALG_SHA256+ALG_SHA384+ALG_SHA512+ALG_SM3_256) |
| LordOfDorks | 1:fd0a59e55a85 | 400 | |
| LordOfDorks | 1:fd0a59e55a85 | 401 | // |
| LordOfDorks | 1:fd0a59e55a85 | 402 | // Part2Parser Generated (Jun 14, 2013 04:05:29 PM) |
| LordOfDorks | 1:fd0a59e55a85 | 403 | // |
| LordOfDorks | 1:fd0a59e55a85 | 404 | |
| LordOfDorks | 1:fd0a59e55a85 | 405 | // Table 7 -- TPM_ALG_ID Constants <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 406 | typedef UINT16 TPM_ALG_ID; |
| LordOfDorks | 1:fd0a59e55a85 | 407 | |
| LordOfDorks | 1:fd0a59e55a85 | 408 | #define TPM_ALG_ERROR (TPM_ALG_ID)(0x0000) // a: ; D: |
| LordOfDorks | 1:fd0a59e55a85 | 409 | #define TPM_ALG_FIRST (TPM_ALG_ID)(0x0001) // a: ; D: |
| LordOfDorks | 1:fd0a59e55a85 | 410 | #if ALG_RSA == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 411 | #define TPM_ALG_RSA (TPM_ALG_ID)(0x0001) // a: A O; D: |
| LordOfDorks | 1:fd0a59e55a85 | 412 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 413 | #if ALG_SHA1 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 414 | #define TPM_ALG_SHA (TPM_ALG_ID)(0x0004) // a: H; D: |
| LordOfDorks | 1:fd0a59e55a85 | 415 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 416 | #if ALG_SHA1 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 417 | #define TPM_ALG_SHA1 (TPM_ALG_ID)(0x0004) // a: H; D: |
| LordOfDorks | 1:fd0a59e55a85 | 418 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 419 | #if ALG_HMAC == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 420 | #define TPM_ALG_HMAC (TPM_ALG_ID)(0x0005) // a: H X; D: |
| LordOfDorks | 1:fd0a59e55a85 | 421 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 422 | #if ALG_AES == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 423 | #define TPM_ALG_AES (TPM_ALG_ID)(0x0006) // a: S; D: |
| LordOfDorks | 1:fd0a59e55a85 | 424 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 425 | #if ALG_MGF1 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 426 | #define TPM_ALG_MGF1 (TPM_ALG_ID)(0x0007) // a: H M; D: |
| LordOfDorks | 1:fd0a59e55a85 | 427 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 428 | #if ALG_KEYEDHASH == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 429 | #define TPM_ALG_KEYEDHASH (TPM_ALG_ID)(0x0008) // a: H E X O; D: |
| LordOfDorks | 1:fd0a59e55a85 | 430 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 431 | #if ALG_XOR == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 432 | #define TPM_ALG_XOR (TPM_ALG_ID)(0x000A) // a: H S; D: |
| LordOfDorks | 1:fd0a59e55a85 | 433 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 434 | #if ALG_SHA256 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 435 | #define TPM_ALG_SHA256 (TPM_ALG_ID)(0x000B) // a: H; D: |
| LordOfDorks | 1:fd0a59e55a85 | 436 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 437 | #if ALG_SHA384 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 438 | #define TPM_ALG_SHA384 (TPM_ALG_ID)(0x000C) // a: H; D: |
| LordOfDorks | 1:fd0a59e55a85 | 439 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 440 | #if ALG_SHA512 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 441 | #define TPM_ALG_SHA512 (TPM_ALG_ID)(0x000D) // a: H; D: |
| LordOfDorks | 1:fd0a59e55a85 | 442 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 443 | #define TPM_ALG_NULL (TPM_ALG_ID)(0x0010) // a: ; D: |
| LordOfDorks | 1:fd0a59e55a85 | 444 | #if ALG_SM3_256 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 445 | #define TPM_ALG_SM3_256 (TPM_ALG_ID)(0x0012) // a: H; D: |
| LordOfDorks | 1:fd0a59e55a85 | 446 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 447 | #if ALG_SM4 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 448 | #define TPM_ALG_SM4 (TPM_ALG_ID)(0x0013) // a: S; D: |
| LordOfDorks | 1:fd0a59e55a85 | 449 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 450 | #if ALG_RSASSA == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 451 | #define TPM_ALG_RSASSA (TPM_ALG_ID)(0x0014) // a: A X; D: RSA |
| LordOfDorks | 1:fd0a59e55a85 | 452 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 453 | #if ALG_RSAES == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 454 | #define TPM_ALG_RSAES (TPM_ALG_ID)(0x0015) // a: A E; D: RSA |
| LordOfDorks | 1:fd0a59e55a85 | 455 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 456 | #if ALG_RSAPSS == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 457 | #define TPM_ALG_RSAPSS (TPM_ALG_ID)(0x0016) // a: A X; D: RSA |
| LordOfDorks | 1:fd0a59e55a85 | 458 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 459 | #if ALG_OAEP == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 460 | #define TPM_ALG_OAEP (TPM_ALG_ID)(0x0017) // a: A E; D: RSA |
| LordOfDorks | 1:fd0a59e55a85 | 461 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 462 | #if ALG_ECDSA == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 463 | #define TPM_ALG_ECDSA (TPM_ALG_ID)(0x0018) // a: A X; D: ECC |
| LordOfDorks | 1:fd0a59e55a85 | 464 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 465 | #if ALG_ECDH == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 466 | #define TPM_ALG_ECDH (TPM_ALG_ID)(0x0019) // a: A M; D: ECC |
| LordOfDorks | 1:fd0a59e55a85 | 467 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 468 | #if ALG_ECDAA == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 469 | #define TPM_ALG_ECDAA (TPM_ALG_ID)(0x001A) // a: A X; D: ECC |
| LordOfDorks | 1:fd0a59e55a85 | 470 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 471 | #if ALG_SM2 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 472 | #define TPM_ALG_SM2 (TPM_ALG_ID)(0x001B) // a: A X E; D: ECC |
| LordOfDorks | 1:fd0a59e55a85 | 473 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 474 | #if ALG_ECSCHNORR == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 475 | #define TPM_ALG_ECSCHNORR (TPM_ALG_ID)(0x001C) // a: A X; D: ECC |
| LordOfDorks | 1:fd0a59e55a85 | 476 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 477 | #if ALG_ECMQV == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 478 | #define TPM_ALG_ECMQV (TPM_ALG_ID)(0x001D) // a: A E; D: ECC |
| LordOfDorks | 1:fd0a59e55a85 | 479 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 480 | #if ALG_KDF1_SP800_56a == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 481 | #define TPM_ALG_KDF1_SP800_56a (TPM_ALG_ID)(0x0020) // a: H M; D: ECC |
| LordOfDorks | 1:fd0a59e55a85 | 482 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 483 | #if ALG_KDF2 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 484 | #define TPM_ALG_KDF2 (TPM_ALG_ID)(0x0021) // a: H M; D: |
| LordOfDorks | 1:fd0a59e55a85 | 485 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 486 | #if ALG_KDF1_SP800_108 == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 487 | #define TPM_ALG_KDF1_SP800_108 (TPM_ALG_ID)(0x0022) // a: H M; D: |
| LordOfDorks | 1:fd0a59e55a85 | 488 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 489 | #if ALG_ECC == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 490 | #define TPM_ALG_ECC (TPM_ALG_ID)(0x0023) // a: A O; D: |
| LordOfDorks | 1:fd0a59e55a85 | 491 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 492 | #if ALG_SYMCIPHER == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 493 | #define TPM_ALG_SYMCIPHER (TPM_ALG_ID)(0x0025) // a: O; D: |
| LordOfDorks | 1:fd0a59e55a85 | 494 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 495 | #if ALG_CTR == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 496 | #define TPM_ALG_CTR (TPM_ALG_ID)(0x0040) // a: S E; D: |
| LordOfDorks | 1:fd0a59e55a85 | 497 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 498 | #if ALG_OFB == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 499 | #define TPM_ALG_OFB (TPM_ALG_ID)(0x0041) // a: S E; D: |
| LordOfDorks | 1:fd0a59e55a85 | 500 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 501 | #if ALG_CBC == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 502 | #define TPM_ALG_CBC (TPM_ALG_ID)(0x0042) // a: S E; D: |
| LordOfDorks | 1:fd0a59e55a85 | 503 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 504 | #if ALG_CFB == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 505 | #define TPM_ALG_CFB (TPM_ALG_ID)(0x0043) // a: S E; D: |
| LordOfDorks | 1:fd0a59e55a85 | 506 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 507 | #if ALG_ECB == YES || ALG_ALL == YES |
| LordOfDorks | 1:fd0a59e55a85 | 508 | #define TPM_ALG_ECB (TPM_ALG_ID)(0x0044) // a: S E; D: |
| LordOfDorks | 1:fd0a59e55a85 | 509 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 510 | #define TPM_ALG_LAST (TPM_ALG_ID)(0x0044) // a: ; D: |
| LordOfDorks | 1:fd0a59e55a85 | 511 | |
| LordOfDorks | 1:fd0a59e55a85 | 512 | |
| LordOfDorks | 1:fd0a59e55a85 | 513 | // Table 8 -- TPM_ECC_CURVE Constants <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 514 | typedef UINT16 TPM_ECC_CURVE; |
| LordOfDorks | 1:fd0a59e55a85 | 515 | |
| LordOfDorks | 1:fd0a59e55a85 | 516 | #define TPM_ECC_NONE (TPM_ECC_CURVE)(0x0000) |
| LordOfDorks | 1:fd0a59e55a85 | 517 | #define TPM_ECC_NIST_P192 (TPM_ECC_CURVE)(0x0001) |
| LordOfDorks | 1:fd0a59e55a85 | 518 | #define TPM_ECC_NIST_P224 (TPM_ECC_CURVE)(0x0002) |
| LordOfDorks | 1:fd0a59e55a85 | 519 | #define TPM_ECC_NIST_P256 (TPM_ECC_CURVE)(0x0003) |
| LordOfDorks | 1:fd0a59e55a85 | 520 | #define TPM_ECC_NIST_P384 (TPM_ECC_CURVE)(0x0004) |
| LordOfDorks | 1:fd0a59e55a85 | 521 | #define TPM_ECC_NIST_P521 (TPM_ECC_CURVE)(0x0005) |
| LordOfDorks | 1:fd0a59e55a85 | 522 | #define TPM_ECC_BN_P256 (TPM_ECC_CURVE)(0x0010) |
| LordOfDorks | 1:fd0a59e55a85 | 523 | #define TPM_ECC_BN_P638 (TPM_ECC_CURVE)(0x0011) |
| LordOfDorks | 1:fd0a59e55a85 | 524 | #define TPM_ECC_SM2_P256 (TPM_ECC_CURVE)(0x0020) |
| LordOfDorks | 1:fd0a59e55a85 | 525 | |
| LordOfDorks | 1:fd0a59e55a85 | 526 | |
| LordOfDorks | 1:fd0a59e55a85 | 527 | |
| LordOfDorks | 1:fd0a59e55a85 | 528 | // Table 15 -- TPM_RC Constants <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 529 | typedef UINT32 TPM_RCS; // The 'safe' error codes |
| LordOfDorks | 1:fd0a59e55a85 | 530 | typedef UINT32 TPM_RC; |
| LordOfDorks | 1:fd0a59e55a85 | 531 | |
| LordOfDorks | 1:fd0a59e55a85 | 532 | #define TPM_RC_SUCCESS (TPM_RC)(0x000) |
| LordOfDorks | 1:fd0a59e55a85 | 533 | #define TPM_RC_BAD_TAG (TPM_RC)(0x01E) |
| LordOfDorks | 1:fd0a59e55a85 | 534 | #define RC_VER1 (TPM_RC)(0x100) |
| LordOfDorks | 1:fd0a59e55a85 | 535 | #define TPM_RC_INITIALIZE (TPM_RC)(RC_VER1 + 0x000) |
| LordOfDorks | 1:fd0a59e55a85 | 536 | #define TPM_RC_FAILURE (TPM_RC)(RC_VER1 + 0x001) |
| LordOfDorks | 1:fd0a59e55a85 | 537 | #define TPM_RC_SEQUENCE (TPM_RC)(RC_VER1 + 0x003) |
| LordOfDorks | 1:fd0a59e55a85 | 538 | #define TPM_RC_PRIVATE (TPM_RC)(RC_VER1 + 0x00B) |
| LordOfDorks | 1:fd0a59e55a85 | 539 | #define TPM_RC_HMAC (TPM_RC)(RC_VER1 + 0x019) |
| LordOfDorks | 1:fd0a59e55a85 | 540 | #define TPM_RC_DISABLED (TPM_RC)(RC_VER1 + 0x020) |
| LordOfDorks | 1:fd0a59e55a85 | 541 | #define TPM_RC_EXCLUSIVE (TPM_RC)(RC_VER1 + 0x021) |
| LordOfDorks | 1:fd0a59e55a85 | 542 | #define TPM_RC_AUTH_TYPE (TPM_RC)(RC_VER1 + 0x024) |
| LordOfDorks | 1:fd0a59e55a85 | 543 | #define TPM_RC_AUTH_MISSING (TPM_RC)(RC_VER1 + 0x025) |
| LordOfDorks | 1:fd0a59e55a85 | 544 | #define TPM_RC_POLICY (TPM_RC)(RC_VER1 + 0x026) |
| LordOfDorks | 1:fd0a59e55a85 | 545 | #define TPM_RC_PCR (TPM_RC)(RC_VER1 + 0x027) |
| LordOfDorks | 1:fd0a59e55a85 | 546 | #define TPM_RC_PCR_CHANGED (TPM_RC)(RC_VER1 + 0x028) |
| LordOfDorks | 1:fd0a59e55a85 | 547 | #define TPM_RC_UPGRADE (TPM_RC)(RC_VER1 + 0x02D) |
| LordOfDorks | 1:fd0a59e55a85 | 548 | #define TPM_RC_TOO_MANY_CONTEXTS (TPM_RC)(RC_VER1 + 0x02E) |
| LordOfDorks | 1:fd0a59e55a85 | 549 | #define TPM_RC_AUTH_UNAVAILABLE (TPM_RC)(RC_VER1 + 0x02F) |
| LordOfDorks | 1:fd0a59e55a85 | 550 | #define TPM_RC_REBOOT (TPM_RC)(RC_VER1 + 0x030) |
| LordOfDorks | 1:fd0a59e55a85 | 551 | #define TPM_RC_UNBALANCED (TPM_RC)(RC_VER1 + 0x031) |
| LordOfDorks | 1:fd0a59e55a85 | 552 | #define TPM_RC_COMMAND_SIZE (TPM_RC)(RC_VER1 + 0x042) |
| LordOfDorks | 1:fd0a59e55a85 | 553 | #define TPM_RC_COMMAND_CODE (TPM_RC)(RC_VER1 + 0x043) |
| LordOfDorks | 1:fd0a59e55a85 | 554 | #define TPM_RC_AUTHSIZE (TPM_RC)(RC_VER1 + 0x044) |
| LordOfDorks | 1:fd0a59e55a85 | 555 | #define TPM_RC_AUTH_CONTEXT (TPM_RC)(RC_VER1 + 0x045) |
| LordOfDorks | 1:fd0a59e55a85 | 556 | #define TPM_RC_NV_RANGE (TPM_RC)(RC_VER1 + 0x046) |
| LordOfDorks | 1:fd0a59e55a85 | 557 | #define TPM_RC_NV_SIZE (TPM_RC)(RC_VER1 + 0x047) |
| LordOfDorks | 1:fd0a59e55a85 | 558 | #define TPM_RC_NV_LOCKED (TPM_RC)(RC_VER1 + 0x048) |
| LordOfDorks | 1:fd0a59e55a85 | 559 | #define TPM_RC_NV_AUTHORIZATION (TPM_RC)(RC_VER1 + 0x049) |
| LordOfDorks | 1:fd0a59e55a85 | 560 | #define TPM_RC_NV_UNINITIALIZED (TPM_RC)(RC_VER1 + 0x04A) |
| LordOfDorks | 1:fd0a59e55a85 | 561 | #define TPM_RC_NV_SPACE (TPM_RC)(RC_VER1 + 0x04B) |
| LordOfDorks | 1:fd0a59e55a85 | 562 | #define TPM_RC_NV_DEFINED (TPM_RC)(RC_VER1 + 0x04C) |
| LordOfDorks | 1:fd0a59e55a85 | 563 | #define TPM_RC_BAD_CONTEXT (TPM_RC)(RC_VER1 + 0x050) |
| LordOfDorks | 1:fd0a59e55a85 | 564 | #define TPM_RC_CPHASH (TPM_RC)(RC_VER1 + 0x051) |
| LordOfDorks | 1:fd0a59e55a85 | 565 | #define TPM_RC_PARENT (TPM_RC)(RC_VER1 + 0x052) |
| LordOfDorks | 1:fd0a59e55a85 | 566 | #define TPM_RC_NEEDS_TEST (TPM_RC)(RC_VER1 + 0x053) |
| LordOfDorks | 1:fd0a59e55a85 | 567 | #define TPM_RC_NO_RESULT (TPM_RC)(RC_VER1 + 0x054) |
| LordOfDorks | 1:fd0a59e55a85 | 568 | #define TPM_RC_SENSITIVE (TPM_RC)(RC_VER1 + 0x055) |
| LordOfDorks | 1:fd0a59e55a85 | 569 | #define RC_MAX_FM0 (TPM_RC)(RC_VER1 + 0x07F) |
| LordOfDorks | 1:fd0a59e55a85 | 570 | #define RC_FMT1 (TPM_RC)(0x080) |
| LordOfDorks | 1:fd0a59e55a85 | 571 | #define TPM_RC_ASYMMETRIC (TPM_RC)(RC_FMT1 + 0x001) |
| LordOfDorks | 1:fd0a59e55a85 | 572 | #define TPM_RCS_ASYMMETRIC (TPM_RCS)(RC_FMT1 + 0x001) |
| LordOfDorks | 1:fd0a59e55a85 | 573 | #define TPM_RC_ATTRIBUTES (TPM_RC)(RC_FMT1 + 0x002) |
| LordOfDorks | 1:fd0a59e55a85 | 574 | #define TPM_RCS_ATTRIBUTES (TPM_RCS)(RC_FMT1 + 0x002) |
| LordOfDorks | 1:fd0a59e55a85 | 575 | #define TPM_RC_HASH (TPM_RC)(RC_FMT1 + 0x003) |
| LordOfDorks | 1:fd0a59e55a85 | 576 | #define TPM_RCS_HASH (TPM_RCS)(RC_FMT1 + 0x003) |
| LordOfDorks | 1:fd0a59e55a85 | 577 | #define TPM_RC_VALUE (TPM_RC)(RC_FMT1 + 0x004) |
| LordOfDorks | 1:fd0a59e55a85 | 578 | #define TPM_RCS_VALUE (TPM_RCS)(RC_FMT1 + 0x004) |
| LordOfDorks | 1:fd0a59e55a85 | 579 | #define TPM_RC_HIERARCHY (TPM_RC)(RC_FMT1 + 0x005) |
| LordOfDorks | 1:fd0a59e55a85 | 580 | #define TPM_RCS_HIERARCHY (TPM_RCS)(RC_FMT1 + 0x005) |
| LordOfDorks | 1:fd0a59e55a85 | 581 | #define TPM_RC_KEY_SIZE (TPM_RC)(RC_FMT1 + 0x007) |
| LordOfDorks | 1:fd0a59e55a85 | 582 | #define TPM_RCS_KEY_SIZE (TPM_RCS)(RC_FMT1 + 0x007) |
| LordOfDorks | 1:fd0a59e55a85 | 583 | #define TPM_RC_MGF (TPM_RC)(RC_FMT1 + 0x008) |
| LordOfDorks | 1:fd0a59e55a85 | 584 | #define TPM_RCS_MGF (TPM_RCS)(RC_FMT1 + 0x008) |
| LordOfDorks | 1:fd0a59e55a85 | 585 | #define TPM_RC_MODE (TPM_RC)(RC_FMT1 + 0x009) |
| LordOfDorks | 1:fd0a59e55a85 | 586 | #define TPM_RCS_MODE (TPM_RCS)(RC_FMT1 + 0x009) |
| LordOfDorks | 1:fd0a59e55a85 | 587 | #define TPM_RC_TYPE (TPM_RC)(RC_FMT1 + 0x00A) |
| LordOfDorks | 1:fd0a59e55a85 | 588 | #define TPM_RCS_TYPE (TPM_RCS)(RC_FMT1 + 0x00A) |
| LordOfDorks | 1:fd0a59e55a85 | 589 | #define TPM_RC_HANDLE (TPM_RC)(RC_FMT1 + 0x00B) |
| LordOfDorks | 1:fd0a59e55a85 | 590 | #define TPM_RCS_HANDLE (TPM_RCS)(RC_FMT1 + 0x00B) |
| LordOfDorks | 1:fd0a59e55a85 | 591 | #define TPM_RC_KDF (TPM_RC)(RC_FMT1 + 0x00C) |
| LordOfDorks | 1:fd0a59e55a85 | 592 | #define TPM_RCS_KDF (TPM_RCS)(RC_FMT1 + 0x00C) |
| LordOfDorks | 1:fd0a59e55a85 | 593 | #define TPM_RC_RANGE (TPM_RC)(RC_FMT1 + 0x00D) |
| LordOfDorks | 1:fd0a59e55a85 | 594 | #define TPM_RCS_RANGE (TPM_RCS)(RC_FMT1 + 0x00D) |
| LordOfDorks | 1:fd0a59e55a85 | 595 | #define TPM_RC_AUTH_FAIL (TPM_RC)(RC_FMT1 + 0x00E) |
| LordOfDorks | 1:fd0a59e55a85 | 596 | #define TPM_RCS_AUTH_FAIL (TPM_RCS)(RC_FMT1 + 0x00E) |
| LordOfDorks | 1:fd0a59e55a85 | 597 | #define TPM_RC_NONCE (TPM_RC)(RC_FMT1 + 0x00F) |
| LordOfDorks | 1:fd0a59e55a85 | 598 | #define TPM_RCS_NONCE (TPM_RCS)(RC_FMT1 + 0x00F) |
| LordOfDorks | 1:fd0a59e55a85 | 599 | #define TPM_RC_PP (TPM_RC)(RC_FMT1 + 0x010) |
| LordOfDorks | 1:fd0a59e55a85 | 600 | #define TPM_RCS_PP (TPM_RCS)(RC_FMT1 + 0x010) |
| LordOfDorks | 1:fd0a59e55a85 | 601 | #define TPM_RC_SCHEME (TPM_RC)(RC_FMT1 + 0x012) |
| LordOfDorks | 1:fd0a59e55a85 | 602 | #define TPM_RCS_SCHEME (TPM_RCS)(RC_FMT1 + 0x012) |
| LordOfDorks | 1:fd0a59e55a85 | 603 | #define TPM_RC_SIZE (TPM_RC)(RC_FMT1 + 0x015) |
| LordOfDorks | 1:fd0a59e55a85 | 604 | #define TPM_RCS_SIZE (TPM_RCS)(RC_FMT1 + 0x015) |
| LordOfDorks | 1:fd0a59e55a85 | 605 | #define TPM_RC_SYMMETRIC (TPM_RC)(RC_FMT1 + 0x016) |
| LordOfDorks | 1:fd0a59e55a85 | 606 | #define TPM_RCS_SYMMETRIC (TPM_RCS)(RC_FMT1 + 0x016) |
| LordOfDorks | 1:fd0a59e55a85 | 607 | #define TPM_RC_TAG (TPM_RC)(RC_FMT1 + 0x017) |
| LordOfDorks | 1:fd0a59e55a85 | 608 | #define TPM_RCS_TAG (TPM_RCS)(RC_FMT1 + 0x017) |
| LordOfDorks | 1:fd0a59e55a85 | 609 | #define TPM_RC_SELECTOR (TPM_RC)(RC_FMT1 + 0x018) |
| LordOfDorks | 1:fd0a59e55a85 | 610 | #define TPM_RCS_SELECTOR (TPM_RCS)(RC_FMT1 + 0x018) |
| LordOfDorks | 1:fd0a59e55a85 | 611 | #define TPM_RC_INSUFFICIENT (TPM_RC)(RC_FMT1 + 0x01A) |
| LordOfDorks | 1:fd0a59e55a85 | 612 | #define TPM_RCS_INSUFFICIENT (TPM_RCS)(RC_FMT1 + 0x01A) |
| LordOfDorks | 1:fd0a59e55a85 | 613 | #define TPM_RC_SIGNATURE (TPM_RC)(RC_FMT1 + 0x01B) |
| LordOfDorks | 1:fd0a59e55a85 | 614 | #define TPM_RCS_SIGNATURE (TPM_RCS)(RC_FMT1 + 0x01B) |
| LordOfDorks | 1:fd0a59e55a85 | 615 | #define TPM_RC_KEY (TPM_RC)(RC_FMT1 + 0x01C) |
| LordOfDorks | 1:fd0a59e55a85 | 616 | #define TPM_RCS_KEY (TPM_RCS)(RC_FMT1 + 0x01C) |
| LordOfDorks | 1:fd0a59e55a85 | 617 | #define TPM_RC_POLICY_FAIL (TPM_RC)(RC_FMT1 + 0x01D) |
| LordOfDorks | 1:fd0a59e55a85 | 618 | #define TPM_RCS_POLICY_FAIL (TPM_RCS)(RC_FMT1 + 0x01D) |
| LordOfDorks | 1:fd0a59e55a85 | 619 | #define TPM_RC_INTEGRITY (TPM_RC)(RC_FMT1 + 0x01F) |
| LordOfDorks | 1:fd0a59e55a85 | 620 | #define TPM_RCS_INTEGRITY (TPM_RCS)(RC_FMT1 + 0x01F) |
| LordOfDorks | 1:fd0a59e55a85 | 621 | #define TPM_RC_TICKET (TPM_RC)(RC_FMT1 + 0x020) |
| LordOfDorks | 1:fd0a59e55a85 | 622 | #define TPM_RCS_TICKET (TPM_RCS)(RC_FMT1 + 0x020) |
| LordOfDorks | 1:fd0a59e55a85 | 623 | #define TPM_RC_RESERVED_BITS (TPM_RC)(RC_FMT1 + 0x021) |
| LordOfDorks | 1:fd0a59e55a85 | 624 | #define TPM_RCS_RESERVED_BITS (TPM_RCS)(RC_FMT1 + 0x021) |
| LordOfDorks | 1:fd0a59e55a85 | 625 | #define TPM_RC_BAD_AUTH (TPM_RC)(RC_FMT1 + 0x022) |
| LordOfDorks | 1:fd0a59e55a85 | 626 | #define TPM_RCS_BAD_AUTH (TPM_RCS)(RC_FMT1 + 0x022) |
| LordOfDorks | 1:fd0a59e55a85 | 627 | #define TPM_RC_EXPIRED (TPM_RC)(RC_FMT1 + 0x023) |
| LordOfDorks | 1:fd0a59e55a85 | 628 | #define TPM_RCS_EXPIRED (TPM_RCS)(RC_FMT1 + 0x023) |
| LordOfDorks | 1:fd0a59e55a85 | 629 | #define TPM_RC_POLICY_CC (TPM_RC)(RC_FMT1 + 0x024 ) |
| LordOfDorks | 1:fd0a59e55a85 | 630 | #define TPM_RCS_POLICY_CC (TPM_RCS)(RC_FMT1 + 0x024 ) |
| LordOfDorks | 1:fd0a59e55a85 | 631 | #define TPM_RC_BINDING (TPM_RC)(RC_FMT1 + 0x025) |
| LordOfDorks | 1:fd0a59e55a85 | 632 | #define TPM_RCS_BINDING (TPM_RCS)(RC_FMT1 + 0x025) |
| LordOfDorks | 1:fd0a59e55a85 | 633 | #define TPM_RC_CURVE (TPM_RC)(RC_FMT1 + 0x026) |
| LordOfDorks | 1:fd0a59e55a85 | 634 | #define TPM_RCS_CURVE (TPM_RCS)(RC_FMT1 + 0x026) |
| LordOfDorks | 1:fd0a59e55a85 | 635 | #define TPM_RC_ECC_POINT (TPM_RC)(RC_FMT1 + 0x027) |
| LordOfDorks | 1:fd0a59e55a85 | 636 | #define TPM_RCS_ECC_POINT (TPM_RCS)(RC_FMT1 + 0x027) |
| LordOfDorks | 1:fd0a59e55a85 | 637 | #define RC_WARN (TPM_RC)(0x900) |
| LordOfDorks | 1:fd0a59e55a85 | 638 | #define TPM_RC_CONTEXT_GAP (TPM_RC)(RC_WARN + 0x001) |
| LordOfDorks | 1:fd0a59e55a85 | 639 | #define TPM_RC_OBJECT_MEMORY (TPM_RC)(RC_WARN + 0x002) |
| LordOfDorks | 1:fd0a59e55a85 | 640 | #define TPM_RC_SESSION_MEMORY (TPM_RC)(RC_WARN + 0x003) |
| LordOfDorks | 1:fd0a59e55a85 | 641 | #define TPM_RC_MEMORY (TPM_RC)(RC_WARN + 0x004) |
| LordOfDorks | 1:fd0a59e55a85 | 642 | #define TPM_RC_SESSION_HANDLES (TPM_RC)(RC_WARN + 0x005) |
| LordOfDorks | 1:fd0a59e55a85 | 643 | #define TPM_RC_OBJECT_HANDLES (TPM_RC)(RC_WARN + 0x006) |
| LordOfDorks | 1:fd0a59e55a85 | 644 | #define TPM_RC_LOCALITY (TPM_RC)(RC_WARN + 0x007) |
| LordOfDorks | 1:fd0a59e55a85 | 645 | #define TPM_RC_YIELDED (TPM_RC)(RC_WARN + 0x008) |
| LordOfDorks | 1:fd0a59e55a85 | 646 | #define TPM_RC_CANCELED (TPM_RC)(RC_WARN + 0x009) |
| LordOfDorks | 1:fd0a59e55a85 | 647 | #define TPM_RC_TESTING (TPM_RC)(RC_WARN + 0x00A) |
| LordOfDorks | 1:fd0a59e55a85 | 648 | #define TPM_RC_REFERENCE_H0 (TPM_RC)(RC_WARN + 0x010) |
| LordOfDorks | 1:fd0a59e55a85 | 649 | #define TPM_RC_REFERENCE_H1 (TPM_RC)(RC_WARN + 0x011) |
| LordOfDorks | 1:fd0a59e55a85 | 650 | #define TPM_RC_REFERENCE_H2 (TPM_RC)(RC_WARN + 0x012) |
| LordOfDorks | 1:fd0a59e55a85 | 651 | #define TPM_RC_REFERENCE_H3 (TPM_RC)(RC_WARN + 0x013) |
| LordOfDorks | 1:fd0a59e55a85 | 652 | #define TPM_RC_REFERENCE_H4 (TPM_RC)(RC_WARN + 0x014) |
| LordOfDorks | 1:fd0a59e55a85 | 653 | #define TPM_RC_REFERENCE_H5 (TPM_RC)(RC_WARN + 0x015) |
| LordOfDorks | 1:fd0a59e55a85 | 654 | #define TPM_RC_REFERENCE_H6 (TPM_RC)(RC_WARN + 0x016) |
| LordOfDorks | 1:fd0a59e55a85 | 655 | #define TPM_RC_REFERENCE_S0 (TPM_RC)(RC_WARN + 0x018) |
| LordOfDorks | 1:fd0a59e55a85 | 656 | #define TPM_RC_REFERENCE_S1 (TPM_RC)(RC_WARN + 0x019) |
| LordOfDorks | 1:fd0a59e55a85 | 657 | #define TPM_RC_REFERENCE_S2 (TPM_RC)(RC_WARN + 0x01A) |
| LordOfDorks | 1:fd0a59e55a85 | 658 | #define TPM_RC_REFERENCE_S3 (TPM_RC)(RC_WARN + 0x01B) |
| LordOfDorks | 1:fd0a59e55a85 | 659 | #define TPM_RC_REFERENCE_S4 (TPM_RC)(RC_WARN + 0x01C) |
| LordOfDorks | 1:fd0a59e55a85 | 660 | #define TPM_RC_REFERENCE_S5 (TPM_RC)(RC_WARN + 0x01D) |
| LordOfDorks | 1:fd0a59e55a85 | 661 | #define TPM_RC_REFERENCE_S6 (TPM_RC)(RC_WARN + 0x01E) |
| LordOfDorks | 1:fd0a59e55a85 | 662 | #define TPM_RC_NV_RATE (TPM_RC)(RC_WARN + 0x020) |
| LordOfDorks | 1:fd0a59e55a85 | 663 | #define TPM_RC_LOCKOUT (TPM_RC)(RC_WARN + 0x021) |
| LordOfDorks | 1:fd0a59e55a85 | 664 | #define TPM_RC_RETRY (TPM_RC)(RC_WARN + 0x022) |
| LordOfDorks | 1:fd0a59e55a85 | 665 | #define TPM_RC_NV_UNAVAILABLE (TPM_RC)(RC_WARN + 0x023) |
| LordOfDorks | 1:fd0a59e55a85 | 666 | #define TPM_RC_NOT_USED (TPM_RC)(RC_WARN + 0x7F) |
| LordOfDorks | 1:fd0a59e55a85 | 667 | #define TPM_RC_H (TPM_RC)(0x000) |
| LordOfDorks | 1:fd0a59e55a85 | 668 | #define TPM_RC_P (TPM_RC)(0x040) |
| LordOfDorks | 1:fd0a59e55a85 | 669 | #define TPM_RC_S (TPM_RC)(0x800) |
| LordOfDorks | 1:fd0a59e55a85 | 670 | #define TPM_RC_1 (TPM_RC)(0x100) |
| LordOfDorks | 1:fd0a59e55a85 | 671 | #define TPM_RC_2 (TPM_RC)(0x200) |
| LordOfDorks | 1:fd0a59e55a85 | 672 | #define TPM_RC_3 (TPM_RC)(0x300) |
| LordOfDorks | 1:fd0a59e55a85 | 673 | #define TPM_RC_4 (TPM_RC)(0x400) |
| LordOfDorks | 1:fd0a59e55a85 | 674 | #define TPM_RC_5 (TPM_RC)(0x500) |
| LordOfDorks | 1:fd0a59e55a85 | 675 | #define TPM_RC_6 (TPM_RC)(0x600) |
| LordOfDorks | 1:fd0a59e55a85 | 676 | #define TPM_RC_7 (TPM_RC)(0x700) |
| LordOfDorks | 1:fd0a59e55a85 | 677 | #define TPM_RC_8 (TPM_RC)(0x800) |
| LordOfDorks | 1:fd0a59e55a85 | 678 | #define TPM_RC_9 (TPM_RC)(0x900) |
| LordOfDorks | 1:fd0a59e55a85 | 679 | #define TPM_RC_A (TPM_RC)(0xA00) |
| LordOfDorks | 1:fd0a59e55a85 | 680 | #define TPM_RC_B (TPM_RC)(0xB00) |
| LordOfDorks | 1:fd0a59e55a85 | 681 | #define TPM_RC_C (TPM_RC)(0xC00) |
| LordOfDorks | 1:fd0a59e55a85 | 682 | #define TPM_RC_D (TPM_RC)(0xD00) |
| LordOfDorks | 1:fd0a59e55a85 | 683 | #define TPM_RC_E (TPM_RC)(0xE00) |
| LordOfDorks | 1:fd0a59e55a85 | 684 | #define TPM_RC_F (TPM_RC)(0xF00) |
| LordOfDorks | 1:fd0a59e55a85 | 685 | #define TPM_RC_N_MASK (TPM_RC)(0xF00) |
| LordOfDorks | 1:fd0a59e55a85 | 686 | |
| LordOfDorks | 1:fd0a59e55a85 | 687 | // Table 18 -- TPM_ST Constants <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 688 | typedef UINT16 TPM_ST; |
| LordOfDorks | 1:fd0a59e55a85 | 689 | |
| LordOfDorks | 1:fd0a59e55a85 | 690 | #define TPM_ST_RSP_COMMAND (TPM_ST)(0x00C4) |
| LordOfDorks | 1:fd0a59e55a85 | 691 | #define TPM_ST_NULL (TPM_ST)(0X8000) |
| LordOfDorks | 1:fd0a59e55a85 | 692 | #define TPM_ST_NO_SESSIONS (TPM_ST)(0x8001) |
| LordOfDorks | 1:fd0a59e55a85 | 693 | #define TPM_ST_SESSIONS (TPM_ST)(0x8002) |
| LordOfDorks | 1:fd0a59e55a85 | 694 | #define TPM_ST_ATTEST_NV (TPM_ST)(0x8014) |
| LordOfDorks | 1:fd0a59e55a85 | 695 | #define TPM_ST_ATTEST_COMMAND_AUDIT (TPM_ST)(0x8015) |
| LordOfDorks | 1:fd0a59e55a85 | 696 | #define TPM_ST_ATTEST_SESSION_AUDIT (TPM_ST)(0x8016) |
| LordOfDorks | 1:fd0a59e55a85 | 697 | #define TPM_ST_ATTEST_CERTIFY (TPM_ST)(0x8017) |
| LordOfDorks | 1:fd0a59e55a85 | 698 | #define TPM_ST_ATTEST_QUOTE (TPM_ST)(0x8018) |
| LordOfDorks | 1:fd0a59e55a85 | 699 | #define TPM_ST_ATTEST_TIME (TPM_ST)(0x8019) |
| LordOfDorks | 1:fd0a59e55a85 | 700 | #define TPM_ST_ATTEST_CREATION (TPM_ST)(0x801A) |
| LordOfDorks | 1:fd0a59e55a85 | 701 | #define TPM_ST_CREATION (TPM_ST)(0x8021) |
| LordOfDorks | 1:fd0a59e55a85 | 702 | #define TPM_ST_VERIFIED (TPM_ST)(0x8022) |
| LordOfDorks | 1:fd0a59e55a85 | 703 | #define TPM_ST_AUTH_SECRET (TPM_ST)(0x8023) |
| LordOfDorks | 1:fd0a59e55a85 | 704 | #define TPM_ST_HASHCHECK (TPM_ST)(0x8024) |
| LordOfDorks | 1:fd0a59e55a85 | 705 | #define TPM_ST_AUTH_SIGNED (TPM_ST)(0x8025) |
| LordOfDorks | 1:fd0a59e55a85 | 706 | #define TPM_ST_FU_MANIFEST (TPM_ST)(0x8029) |
| LordOfDorks | 1:fd0a59e55a85 | 707 | |
| LordOfDorks | 1:fd0a59e55a85 | 708 | // Table 19 -- TPM_SU Constants <I> |
| LordOfDorks | 1:fd0a59e55a85 | 709 | typedef UINT16 TPM_SU; |
| LordOfDorks | 1:fd0a59e55a85 | 710 | |
| LordOfDorks | 1:fd0a59e55a85 | 711 | #define TPM_SU_CLEAR (TPM_SU)(0x0000) |
| LordOfDorks | 1:fd0a59e55a85 | 712 | #define TPM_SU_STATE (TPM_SU)(0x0001) |
| LordOfDorks | 1:fd0a59e55a85 | 713 | |
| LordOfDorks | 1:fd0a59e55a85 | 714 | // Table 3 -- BaseTypes BaseTypes <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 715 | |
| LordOfDorks | 1:fd0a59e55a85 | 716 | // Table 4 -- DocumentationClarity Types <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 717 | typedef UINT32 TPM_ALGORITHM_ID; |
| LordOfDorks | 1:fd0a59e55a85 | 718 | typedef UINT32 TPM_MODIFIER_INDICATOR; |
| LordOfDorks | 1:fd0a59e55a85 | 719 | typedef UINT32 TPM_AUTHORIZATION_SIZE; |
| LordOfDorks | 1:fd0a59e55a85 | 720 | typedef UINT32 TPM_PARAMETER_SIZE; |
| LordOfDorks | 1:fd0a59e55a85 | 721 | typedef UINT16 TPM_KEY_SIZE; |
| LordOfDorks | 1:fd0a59e55a85 | 722 | typedef UINT16 TPM_KEY_BITS; |
| LordOfDorks | 1:fd0a59e55a85 | 723 | typedef UINT32 TPM_SPEC; |
| LordOfDorks | 1:fd0a59e55a85 | 724 | |
| LordOfDorks | 1:fd0a59e55a85 | 725 | #define TPM_SPEC_FAMILY (TPM_SPEC)(0x322E3000) |
| LordOfDorks | 1:fd0a59e55a85 | 726 | #define TPM_SPEC_LEVEL (TPM_SPEC)(00) |
| LordOfDorks | 1:fd0a59e55a85 | 727 | #define TPM_SPEC_VERSION (TPM_SPEC)(98) |
| LordOfDorks | 1:fd0a59e55a85 | 728 | #define TPM_SPEC_YEAR (TPM_SPEC)(2013) |
| LordOfDorks | 1:fd0a59e55a85 | 729 | #define TPM_SPEC_DAY_OF_YEAR (TPM_SPEC)(74) |
| LordOfDorks | 1:fd0a59e55a85 | 730 | |
| LordOfDorks | 1:fd0a59e55a85 | 731 | |
| LordOfDorks | 1:fd0a59e55a85 | 732 | |
| LordOfDorks | 1:fd0a59e55a85 | 733 | |
| LordOfDorks | 1:fd0a59e55a85 | 734 | // Table 6 -- TPM_GENERATED Constants <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 735 | typedef UINT32 TPM_GENERATED; |
| LordOfDorks | 1:fd0a59e55a85 | 736 | |
| LordOfDorks | 1:fd0a59e55a85 | 737 | #define TPM_GENERATED_VALUE (TPM_GENERATED)(0xff544347) |
| LordOfDorks | 1:fd0a59e55a85 | 738 | |
| LordOfDorks | 1:fd0a59e55a85 | 739 | |
| LordOfDorks | 1:fd0a59e55a85 | 740 | |
| LordOfDorks | 1:fd0a59e55a85 | 741 | |
| LordOfDorks | 1:fd0a59e55a85 | 742 | // Table 11 -- TPM_CC Constants <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 743 | typedef UINT32 TPM_CC; |
| LordOfDorks | 1:fd0a59e55a85 | 744 | |
| LordOfDorks | 1:fd0a59e55a85 | 745 | #define TPM_CC_FIRST (TPM_CC)(0x0000011F) |
| LordOfDorks | 1:fd0a59e55a85 | 746 | #define TPM_CC_PP_FIRST (TPM_CC)(0x0000011F) |
| LordOfDorks | 1:fd0a59e55a85 | 747 | #define TPM_CC_NV_UndefineSpaceSpecial (TPM_CC)(0x0000011F) |
| LordOfDorks | 1:fd0a59e55a85 | 748 | #define TPM_CC_EvictControl (TPM_CC)(0x00000120) |
| LordOfDorks | 1:fd0a59e55a85 | 749 | #define TPM_CC_HierarchyControl (TPM_CC)(0x00000121) |
| LordOfDorks | 1:fd0a59e55a85 | 750 | #define TPM_CC_NV_UndefineSpace (TPM_CC)(0x00000122) |
| LordOfDorks | 1:fd0a59e55a85 | 751 | #define TPM_CC_ChangeEPS (TPM_CC)(0x00000124) |
| LordOfDorks | 1:fd0a59e55a85 | 752 | #define TPM_CC_ChangePPS (TPM_CC)(0x00000125) |
| LordOfDorks | 1:fd0a59e55a85 | 753 | #define TPM_CC_Clear (TPM_CC)(0x00000126) |
| LordOfDorks | 1:fd0a59e55a85 | 754 | #define TPM_CC_ClearControl (TPM_CC)(0x00000127) |
| LordOfDorks | 1:fd0a59e55a85 | 755 | #define TPM_CC_ClockSet (TPM_CC)(0x00000128) |
| LordOfDorks | 1:fd0a59e55a85 | 756 | #define TPM_CC_HierarchyChangeAuth (TPM_CC)(0x00000129) |
| LordOfDorks | 1:fd0a59e55a85 | 757 | #define TPM_CC_NV_DefineSpace (TPM_CC)(0x0000012A) |
| LordOfDorks | 1:fd0a59e55a85 | 758 | #define TPM_CC_PCR_Allocate (TPM_CC)(0x0000012B) |
| LordOfDorks | 1:fd0a59e55a85 | 759 | #define TPM_CC_PCR_SetAuthPolicy (TPM_CC)(0x0000012C) |
| LordOfDorks | 1:fd0a59e55a85 | 760 | #define TPM_CC_PP_Commands (TPM_CC)(0x0000012D) |
| LordOfDorks | 1:fd0a59e55a85 | 761 | #define TPM_CC_SetPrimaryPolicy (TPM_CC)(0x0000012E) |
| LordOfDorks | 1:fd0a59e55a85 | 762 | #define TPM_CC_FieldUpgradeStart (TPM_CC)(0x0000012F) |
| LordOfDorks | 1:fd0a59e55a85 | 763 | #define TPM_CC_ClockRateAdjust (TPM_CC)(0x00000130) |
| LordOfDorks | 1:fd0a59e55a85 | 764 | #define TPM_CC_CreatePrimary (TPM_CC)(0x00000131) |
| LordOfDorks | 1:fd0a59e55a85 | 765 | #define TPM_CC_NV_GlobalWriteLock (TPM_CC)(0x00000132) |
| LordOfDorks | 1:fd0a59e55a85 | 766 | #define TPM_CC_PP_LAST (TPM_CC)(0x00000132) |
| LordOfDorks | 1:fd0a59e55a85 | 767 | #define TPM_CC_GetCommandAuditDigest (TPM_CC)(0x00000133) |
| LordOfDorks | 1:fd0a59e55a85 | 768 | #define TPM_CC_NV_Increment (TPM_CC)(0x00000134) |
| LordOfDorks | 1:fd0a59e55a85 | 769 | #define TPM_CC_NV_SetBits (TPM_CC)(0x00000135) |
| LordOfDorks | 1:fd0a59e55a85 | 770 | #define TPM_CC_NV_Extend (TPM_CC)(0x00000136) |
| LordOfDorks | 1:fd0a59e55a85 | 771 | #define TPM_CC_NV_Write (TPM_CC)(0x00000137) |
| LordOfDorks | 1:fd0a59e55a85 | 772 | #define TPM_CC_NV_WriteLock (TPM_CC)(0x00000138) |
| LordOfDorks | 1:fd0a59e55a85 | 773 | #define TPM_CC_DictionaryAttackLockReset (TPM_CC)(0x00000139) |
| LordOfDorks | 1:fd0a59e55a85 | 774 | #define TPM_CC_DictionaryAttackParameters (TPM_CC)(0x0000013A) |
| LordOfDorks | 1:fd0a59e55a85 | 775 | #define TPM_CC_NV_ChangeAuth (TPM_CC)(0x0000013B) |
| LordOfDorks | 1:fd0a59e55a85 | 776 | #define TPM_CC_PCR_Event (TPM_CC)(0x0000013C) |
| LordOfDorks | 1:fd0a59e55a85 | 777 | #define TPM_CC_PCR_Reset (TPM_CC)(0x0000013D) |
| LordOfDorks | 1:fd0a59e55a85 | 778 | #define TPM_CC_SequenceComplete (TPM_CC)(0x0000013E) |
| LordOfDorks | 1:fd0a59e55a85 | 779 | #define TPM_CC_SetAlgorithmSet (TPM_CC)(0x0000013F) |
| LordOfDorks | 1:fd0a59e55a85 | 780 | #define TPM_CC_SetCommandCodeAuditStatus (TPM_CC)(0x00000140) |
| LordOfDorks | 1:fd0a59e55a85 | 781 | #define TPM_CC_FieldUpgradeData (TPM_CC)(0x00000141) |
| LordOfDorks | 1:fd0a59e55a85 | 782 | #define TPM_CC_IncrementalSelfTest (TPM_CC)(0x00000142) |
| LordOfDorks | 1:fd0a59e55a85 | 783 | #define TPM_CC_SelfTest (TPM_CC)(0x00000143) |
| LordOfDorks | 1:fd0a59e55a85 | 784 | #define TPM_CC_Startup (TPM_CC)(0x00000144) |
| LordOfDorks | 1:fd0a59e55a85 | 785 | #define TPM_CC_Shutdown (TPM_CC)(0x00000145) |
| LordOfDorks | 1:fd0a59e55a85 | 786 | #define TPM_CC_StirRandom (TPM_CC)(0x00000146) |
| LordOfDorks | 1:fd0a59e55a85 | 787 | #define TPM_CC_ActivateCredential (TPM_CC)(0x00000147) |
| LordOfDorks | 1:fd0a59e55a85 | 788 | #define TPM_CC_Certify (TPM_CC)(0x00000148) |
| LordOfDorks | 1:fd0a59e55a85 | 789 | #define TPM_CC_PolicyNV (TPM_CC)(0x00000149) |
| LordOfDorks | 1:fd0a59e55a85 | 790 | #define TPM_CC_CertifyCreation (TPM_CC)(0x0000014A) |
| LordOfDorks | 1:fd0a59e55a85 | 791 | #define TPM_CC_Duplicate (TPM_CC)(0x0000014B) |
| LordOfDorks | 1:fd0a59e55a85 | 792 | #define TPM_CC_GetTime (TPM_CC)(0x0000014C) |
| LordOfDorks | 1:fd0a59e55a85 | 793 | #define TPM_CC_GetSessionAuditDigest (TPM_CC)(0x0000014D) |
| LordOfDorks | 1:fd0a59e55a85 | 794 | #define TPM_CC_NV_Read (TPM_CC)(0x0000014E) |
| LordOfDorks | 1:fd0a59e55a85 | 795 | #define TPM_CC_NV_ReadLock (TPM_CC)(0x0000014F) |
| LordOfDorks | 1:fd0a59e55a85 | 796 | #define TPM_CC_ObjectChangeAuth (TPM_CC)(0x00000150) |
| LordOfDorks | 1:fd0a59e55a85 | 797 | #define TPM_CC_PolicySecret (TPM_CC)(0x00000151) |
| LordOfDorks | 1:fd0a59e55a85 | 798 | #define TPM_CC_Rewrap (TPM_CC)(0x00000152) |
| LordOfDorks | 1:fd0a59e55a85 | 799 | #define TPM_CC_Create (TPM_CC)(0x00000153) |
| LordOfDorks | 1:fd0a59e55a85 | 800 | #define TPM_CC_ECDH_ZGen (TPM_CC)(0x00000154) |
| LordOfDorks | 1:fd0a59e55a85 | 801 | #define TPM_CC_HMAC (TPM_CC)(0x00000155) |
| LordOfDorks | 1:fd0a59e55a85 | 802 | #define TPM_CC_Import (TPM_CC)(0x00000156) |
| LordOfDorks | 1:fd0a59e55a85 | 803 | #define TPM_CC_Load (TPM_CC)(0x00000157) |
| LordOfDorks | 1:fd0a59e55a85 | 804 | #define TPM_CC_Quote (TPM_CC)(0x00000158) |
| LordOfDorks | 1:fd0a59e55a85 | 805 | #define TPM_CC_RSA_Decrypt (TPM_CC)(0x00000159) |
| LordOfDorks | 1:fd0a59e55a85 | 806 | #define TPM_CC_HMAC_Start (TPM_CC)(0x0000015B) |
| LordOfDorks | 1:fd0a59e55a85 | 807 | #define TPM_CC_SequenceUpdate (TPM_CC)(0x0000015C) |
| LordOfDorks | 1:fd0a59e55a85 | 808 | #define TPM_CC_Sign (TPM_CC)(0x0000015D) |
| LordOfDorks | 1:fd0a59e55a85 | 809 | #define TPM_CC_Unseal (TPM_CC)(0x0000015E) |
| LordOfDorks | 1:fd0a59e55a85 | 810 | #define TPM_CC_PolicySigned (TPM_CC)(0x00000160) |
| LordOfDorks | 1:fd0a59e55a85 | 811 | #define TPM_CC_ContextLoad (TPM_CC)(0x00000161) |
| LordOfDorks | 1:fd0a59e55a85 | 812 | #define TPM_CC_ContextSave (TPM_CC)(0x00000162) |
| LordOfDorks | 1:fd0a59e55a85 | 813 | #define TPM_CC_ECDH_KeyGen (TPM_CC)(0x00000163) |
| LordOfDorks | 1:fd0a59e55a85 | 814 | #define TPM_CC_EncryptDecrypt (TPM_CC)(0x00000164) |
| LordOfDorks | 1:fd0a59e55a85 | 815 | #define TPM_CC_FlushContext (TPM_CC)(0x00000165) |
| LordOfDorks | 1:fd0a59e55a85 | 816 | #define TPM_CC_LoadExternal (TPM_CC)(0x00000167) |
| LordOfDorks | 1:fd0a59e55a85 | 817 | #define TPM_CC_MakeCredential (TPM_CC)(0x00000168) |
| LordOfDorks | 1:fd0a59e55a85 | 818 | #define TPM_CC_NV_ReadPublic (TPM_CC)(0x00000169) |
| LordOfDorks | 1:fd0a59e55a85 | 819 | #define TPM_CC_PolicyAuthorize (TPM_CC)(0x0000016A) |
| LordOfDorks | 1:fd0a59e55a85 | 820 | #define TPM_CC_PolicyAuthValue (TPM_CC)(0x0000016B) |
| LordOfDorks | 1:fd0a59e55a85 | 821 | #define TPM_CC_PolicyCommandCode (TPM_CC)(0x0000016C) |
| LordOfDorks | 1:fd0a59e55a85 | 822 | #define TPM_CC_PolicyCounterTimer (TPM_CC)(0x0000016D) |
| LordOfDorks | 1:fd0a59e55a85 | 823 | #define TPM_CC_PolicyCpHash (TPM_CC)(0x0000016E) |
| LordOfDorks | 1:fd0a59e55a85 | 824 | #define TPM_CC_PolicyLocality (TPM_CC)(0x0000016F) |
| LordOfDorks | 1:fd0a59e55a85 | 825 | #define TPM_CC_PolicyNameHash (TPM_CC)(0x00000170) |
| LordOfDorks | 1:fd0a59e55a85 | 826 | #define TPM_CC_PolicyOR (TPM_CC)(0x00000171) |
| LordOfDorks | 1:fd0a59e55a85 | 827 | #define TPM_CC_PolicyTicket (TPM_CC)(0x00000172) |
| LordOfDorks | 1:fd0a59e55a85 | 828 | #define TPM_CC_ReadPublic (TPM_CC)(0x00000173) |
| LordOfDorks | 1:fd0a59e55a85 | 829 | #define TPM_CC_RSA_Encrypt (TPM_CC)(0x00000174) |
| LordOfDorks | 1:fd0a59e55a85 | 830 | #define TPM_CC_StartAuthSession (TPM_CC)(0x00000176) |
| LordOfDorks | 1:fd0a59e55a85 | 831 | #define TPM_CC_VerifySignature (TPM_CC)(0x00000177) |
| LordOfDorks | 1:fd0a59e55a85 | 832 | #define TPM_CC_ECC_Parameters (TPM_CC)(0x00000178) |
| LordOfDorks | 1:fd0a59e55a85 | 833 | #define TPM_CC_FirmwareRead (TPM_CC)(0x00000179) |
| LordOfDorks | 1:fd0a59e55a85 | 834 | #define TPM_CC_GetCapability (TPM_CC)(0x0000017A) |
| LordOfDorks | 1:fd0a59e55a85 | 835 | #define TPM_CC_GetRandom (TPM_CC)(0x0000017B) |
| LordOfDorks | 1:fd0a59e55a85 | 836 | #define TPM_CC_GetTestResult (TPM_CC)(0x0000017C) |
| LordOfDorks | 1:fd0a59e55a85 | 837 | #define TPM_CC_Hash (TPM_CC)(0x0000017D) |
| LordOfDorks | 1:fd0a59e55a85 | 838 | #define TPM_CC_PCR_Read (TPM_CC)(0x0000017E) |
| LordOfDorks | 1:fd0a59e55a85 | 839 | #define TPM_CC_PolicyPCR (TPM_CC)(0x0000017F) |
| LordOfDorks | 1:fd0a59e55a85 | 840 | #define TPM_CC_PolicyRestart (TPM_CC)(0x00000180) |
| LordOfDorks | 1:fd0a59e55a85 | 841 | #define TPM_CC_ReadClock (TPM_CC)(0x00000181) |
| LordOfDorks | 1:fd0a59e55a85 | 842 | #define TPM_CC_PCR_Extend (TPM_CC)(0x00000182) |
| LordOfDorks | 1:fd0a59e55a85 | 843 | #define TPM_CC_PCR_SetAuthValue (TPM_CC)(0x00000183) |
| LordOfDorks | 1:fd0a59e55a85 | 844 | #define TPM_CC_NV_Certify (TPM_CC)(0x00000184) |
| LordOfDorks | 1:fd0a59e55a85 | 845 | #define TPM_CC_EventSequenceComplete (TPM_CC)(0x00000185) |
| LordOfDorks | 1:fd0a59e55a85 | 846 | #define TPM_CC_HashSequenceStart (TPM_CC)(0x00000186) |
| LordOfDorks | 1:fd0a59e55a85 | 847 | #define TPM_CC_PolicyPhysicalPresence (TPM_CC)(0x00000187) |
| LordOfDorks | 1:fd0a59e55a85 | 848 | #define TPM_CC_PolicyDuplicationSelect (TPM_CC)(0x00000188) |
| LordOfDorks | 1:fd0a59e55a85 | 849 | #define TPM_CC_PolicyGetDigest (TPM_CC)(0x00000189) |
| LordOfDorks | 1:fd0a59e55a85 | 850 | #define TPM_CC_TestParms (TPM_CC)(0x0000018A) |
| LordOfDorks | 1:fd0a59e55a85 | 851 | #define TPM_CC_Commit (TPM_CC)(0x0000018B) |
| LordOfDorks | 1:fd0a59e55a85 | 852 | #define TPM_CC_PolicyPassword (TPM_CC)(0x0000018C) |
| LordOfDorks | 1:fd0a59e55a85 | 853 | #define TPM_CC_ZGen_2Phase (TPM_CC)(0x0000018D) |
| LordOfDorks | 1:fd0a59e55a85 | 854 | #define TPM_CC_EC_Ephemeral (TPM_CC)(0x0000018E) |
| LordOfDorks | 1:fd0a59e55a85 | 855 | #define TPM_CC_LAST (TPM_CC)(0x0000018E) |
| LordOfDorks | 1:fd0a59e55a85 | 856 | |
| LordOfDorks | 1:fd0a59e55a85 | 857 | |
| LordOfDorks | 1:fd0a59e55a85 | 858 | // Table 15 -- TPM_RC Constants <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 859 | typedef UINT32 TPM_RCS; // The 'safe' error codes |
| LordOfDorks | 1:fd0a59e55a85 | 860 | typedef UINT32 TPM_RC; |
| LordOfDorks | 1:fd0a59e55a85 | 861 | |
| LordOfDorks | 1:fd0a59e55a85 | 862 | #define TPM_RC_SUCCESS (TPM_RC)(0x000) |
| LordOfDorks | 1:fd0a59e55a85 | 863 | #define TPM_RC_BAD_TAG (TPM_RC)(0x01E) |
| LordOfDorks | 1:fd0a59e55a85 | 864 | #define RC_VER1 (TPM_RC)(0x100) |
| LordOfDorks | 1:fd0a59e55a85 | 865 | #define TPM_RC_INITIALIZE (TPM_RC)(RC_VER1 + 0x000) |
| LordOfDorks | 1:fd0a59e55a85 | 866 | #define TPM_RC_FAILURE (TPM_RC)(RC_VER1 + 0x001) |
| LordOfDorks | 1:fd0a59e55a85 | 867 | #define TPM_RC_SEQUENCE (TPM_RC)(RC_VER1 + 0x003) |
| LordOfDorks | 1:fd0a59e55a85 | 868 | #define TPM_RC_PRIVATE (TPM_RC)(RC_VER1 + 0x00B) |
| LordOfDorks | 1:fd0a59e55a85 | 869 | #define TPM_RC_HMAC (TPM_RC)(RC_VER1 + 0x019) |
| LordOfDorks | 1:fd0a59e55a85 | 870 | #define TPM_RC_DISABLED (TPM_RC)(RC_VER1 + 0x020) |
| LordOfDorks | 1:fd0a59e55a85 | 871 | #define TPM_RC_EXCLUSIVE (TPM_RC)(RC_VER1 + 0x021) |
| LordOfDorks | 1:fd0a59e55a85 | 872 | #define TPM_RC_AUTH_TYPE (TPM_RC)(RC_VER1 + 0x024) |
| LordOfDorks | 1:fd0a59e55a85 | 873 | #define TPM_RC_AUTH_MISSING (TPM_RC)(RC_VER1 + 0x025) |
| LordOfDorks | 1:fd0a59e55a85 | 874 | #define TPM_RC_POLICY (TPM_RC)(RC_VER1 + 0x026) |
| LordOfDorks | 1:fd0a59e55a85 | 875 | #define TPM_RC_PCR (TPM_RC)(RC_VER1 + 0x027) |
| LordOfDorks | 1:fd0a59e55a85 | 876 | #define TPM_RC_PCR_CHANGED (TPM_RC)(RC_VER1 + 0x028) |
| LordOfDorks | 1:fd0a59e55a85 | 877 | #define TPM_RC_UPGRADE (TPM_RC)(RC_VER1 + 0x02D) |
| LordOfDorks | 1:fd0a59e55a85 | 878 | #define TPM_RC_TOO_MANY_CONTEXTS (TPM_RC)(RC_VER1 + 0x02E) |
| LordOfDorks | 1:fd0a59e55a85 | 879 | #define TPM_RC_AUTH_UNAVAILABLE (TPM_RC)(RC_VER1 + 0x02F) |
| LordOfDorks | 1:fd0a59e55a85 | 880 | #define TPM_RC_REBOOT (TPM_RC)(RC_VER1 + 0x030) |
| LordOfDorks | 1:fd0a59e55a85 | 881 | #define TPM_RC_UNBALANCED (TPM_RC)(RC_VER1 + 0x031) |
| LordOfDorks | 1:fd0a59e55a85 | 882 | #define TPM_RC_COMMAND_SIZE (TPM_RC)(RC_VER1 + 0x042) |
| LordOfDorks | 1:fd0a59e55a85 | 883 | #define TPM_RC_COMMAND_CODE (TPM_RC)(RC_VER1 + 0x043) |
| LordOfDorks | 1:fd0a59e55a85 | 884 | #define TPM_RC_AUTHSIZE (TPM_RC)(RC_VER1 + 0x044) |
| LordOfDorks | 1:fd0a59e55a85 | 885 | #define TPM_RC_AUTH_CONTEXT (TPM_RC)(RC_VER1 + 0x045) |
| LordOfDorks | 1:fd0a59e55a85 | 886 | #define TPM_RC_NV_RANGE (TPM_RC)(RC_VER1 + 0x046) |
| LordOfDorks | 1:fd0a59e55a85 | 887 | #define TPM_RC_NV_SIZE (TPM_RC)(RC_VER1 + 0x047) |
| LordOfDorks | 1:fd0a59e55a85 | 888 | #define TPM_RC_NV_LOCKED (TPM_RC)(RC_VER1 + 0x048) |
| LordOfDorks | 1:fd0a59e55a85 | 889 | #define TPM_RC_NV_AUTHORIZATION (TPM_RC)(RC_VER1 + 0x049) |
| LordOfDorks | 1:fd0a59e55a85 | 890 | #define TPM_RC_NV_UNINITIALIZED (TPM_RC)(RC_VER1 + 0x04A) |
| LordOfDorks | 1:fd0a59e55a85 | 891 | #define TPM_RC_NV_SPACE (TPM_RC)(RC_VER1 + 0x04B) |
| LordOfDorks | 1:fd0a59e55a85 | 892 | #define TPM_RC_NV_DEFINED (TPM_RC)(RC_VER1 + 0x04C) |
| LordOfDorks | 1:fd0a59e55a85 | 893 | #define TPM_RC_BAD_CONTEXT (TPM_RC)(RC_VER1 + 0x050) |
| LordOfDorks | 1:fd0a59e55a85 | 894 | #define TPM_RC_CPHASH (TPM_RC)(RC_VER1 + 0x051) |
| LordOfDorks | 1:fd0a59e55a85 | 895 | #define TPM_RC_PARENT (TPM_RC)(RC_VER1 + 0x052) |
| LordOfDorks | 1:fd0a59e55a85 | 896 | #define TPM_RC_NEEDS_TEST (TPM_RC)(RC_VER1 + 0x053) |
| LordOfDorks | 1:fd0a59e55a85 | 897 | #define TPM_RC_NO_RESULT (TPM_RC)(RC_VER1 + 0x054) |
| LordOfDorks | 1:fd0a59e55a85 | 898 | #define TPM_RC_SENSITIVE (TPM_RC)(RC_VER1 + 0x055) |
| LordOfDorks | 1:fd0a59e55a85 | 899 | #define RC_MAX_FM0 (TPM_RC)(RC_VER1 + 0x07F) |
| LordOfDorks | 1:fd0a59e55a85 | 900 | #define RC_FMT1 (TPM_RC)(0x080) |
| LordOfDorks | 1:fd0a59e55a85 | 901 | #define TPM_RC_ASYMMETRIC (TPM_RC)(RC_FMT1 + 0x001) |
| LordOfDorks | 1:fd0a59e55a85 | 902 | #define TPM_RCS_ASYMMETRIC (TPM_RCS)(RC_FMT1 + 0x001) |
| LordOfDorks | 1:fd0a59e55a85 | 903 | #define TPM_RC_ATTRIBUTES (TPM_RC)(RC_FMT1 + 0x002) |
| LordOfDorks | 1:fd0a59e55a85 | 904 | #define TPM_RCS_ATTRIBUTES (TPM_RCS)(RC_FMT1 + 0x002) |
| LordOfDorks | 1:fd0a59e55a85 | 905 | #define TPM_RC_HASH (TPM_RC)(RC_FMT1 + 0x003) |
| LordOfDorks | 1:fd0a59e55a85 | 906 | #define TPM_RCS_HASH (TPM_RCS)(RC_FMT1 + 0x003) |
| LordOfDorks | 1:fd0a59e55a85 | 907 | #define TPM_RC_VALUE (TPM_RC)(RC_FMT1 + 0x004) |
| LordOfDorks | 1:fd0a59e55a85 | 908 | #define TPM_RCS_VALUE (TPM_RCS)(RC_FMT1 + 0x004) |
| LordOfDorks | 1:fd0a59e55a85 | 909 | #define TPM_RC_HIERARCHY (TPM_RC)(RC_FMT1 + 0x005) |
| LordOfDorks | 1:fd0a59e55a85 | 910 | #define TPM_RCS_HIERARCHY (TPM_RCS)(RC_FMT1 + 0x005) |
| LordOfDorks | 1:fd0a59e55a85 | 911 | #define TPM_RC_KEY_SIZE (TPM_RC)(RC_FMT1 + 0x007) |
| LordOfDorks | 1:fd0a59e55a85 | 912 | #define TPM_RCS_KEY_SIZE (TPM_RCS)(RC_FMT1 + 0x007) |
| LordOfDorks | 1:fd0a59e55a85 | 913 | #define TPM_RC_MGF (TPM_RC)(RC_FMT1 + 0x008) |
| LordOfDorks | 1:fd0a59e55a85 | 914 | #define TPM_RCS_MGF (TPM_RCS)(RC_FMT1 + 0x008) |
| LordOfDorks | 1:fd0a59e55a85 | 915 | #define TPM_RC_MODE (TPM_RC)(RC_FMT1 + 0x009) |
| LordOfDorks | 1:fd0a59e55a85 | 916 | #define TPM_RCS_MODE (TPM_RCS)(RC_FMT1 + 0x009) |
| LordOfDorks | 1:fd0a59e55a85 | 917 | #define TPM_RC_TYPE (TPM_RC)(RC_FMT1 + 0x00A) |
| LordOfDorks | 1:fd0a59e55a85 | 918 | #define TPM_RCS_TYPE (TPM_RCS)(RC_FMT1 + 0x00A) |
| LordOfDorks | 1:fd0a59e55a85 | 919 | #define TPM_RC_HANDLE (TPM_RC)(RC_FMT1 + 0x00B) |
| LordOfDorks | 1:fd0a59e55a85 | 920 | #define TPM_RCS_HANDLE (TPM_RCS)(RC_FMT1 + 0x00B) |
| LordOfDorks | 1:fd0a59e55a85 | 921 | #define TPM_RC_KDF (TPM_RC)(RC_FMT1 + 0x00C) |
| LordOfDorks | 1:fd0a59e55a85 | 922 | #define TPM_RCS_KDF (TPM_RCS)(RC_FMT1 + 0x00C) |
| LordOfDorks | 1:fd0a59e55a85 | 923 | #define TPM_RC_RANGE (TPM_RC)(RC_FMT1 + 0x00D) |
| LordOfDorks | 1:fd0a59e55a85 | 924 | #define TPM_RCS_RANGE (TPM_RCS)(RC_FMT1 + 0x00D) |
| LordOfDorks | 1:fd0a59e55a85 | 925 | #define TPM_RC_AUTH_FAIL (TPM_RC)(RC_FMT1 + 0x00E) |
| LordOfDorks | 1:fd0a59e55a85 | 926 | #define TPM_RCS_AUTH_FAIL (TPM_RCS)(RC_FMT1 + 0x00E) |
| LordOfDorks | 1:fd0a59e55a85 | 927 | #define TPM_RC_NONCE (TPM_RC)(RC_FMT1 + 0x00F) |
| LordOfDorks | 1:fd0a59e55a85 | 928 | #define TPM_RCS_NONCE (TPM_RCS)(RC_FMT1 + 0x00F) |
| LordOfDorks | 1:fd0a59e55a85 | 929 | #define TPM_RC_PP (TPM_RC)(RC_FMT1 + 0x010) |
| LordOfDorks | 1:fd0a59e55a85 | 930 | #define TPM_RCS_PP (TPM_RCS)(RC_FMT1 + 0x010) |
| LordOfDorks | 1:fd0a59e55a85 | 931 | #define TPM_RC_SCHEME (TPM_RC)(RC_FMT1 + 0x012) |
| LordOfDorks | 1:fd0a59e55a85 | 932 | #define TPM_RCS_SCHEME (TPM_RCS)(RC_FMT1 + 0x012) |
| LordOfDorks | 1:fd0a59e55a85 | 933 | #define TPM_RC_SIZE (TPM_RC)(RC_FMT1 + 0x015) |
| LordOfDorks | 1:fd0a59e55a85 | 934 | #define TPM_RCS_SIZE (TPM_RCS)(RC_FMT1 + 0x015) |
| LordOfDorks | 1:fd0a59e55a85 | 935 | #define TPM_RC_SYMMETRIC (TPM_RC)(RC_FMT1 + 0x016) |
| LordOfDorks | 1:fd0a59e55a85 | 936 | #define TPM_RCS_SYMMETRIC (TPM_RCS)(RC_FMT1 + 0x016) |
| LordOfDorks | 1:fd0a59e55a85 | 937 | #define TPM_RC_TAG (TPM_RC)(RC_FMT1 + 0x017) |
| LordOfDorks | 1:fd0a59e55a85 | 938 | #define TPM_RCS_TAG (TPM_RCS)(RC_FMT1 + 0x017) |
| LordOfDorks | 1:fd0a59e55a85 | 939 | #define TPM_RC_SELECTOR (TPM_RC)(RC_FMT1 + 0x018) |
| LordOfDorks | 1:fd0a59e55a85 | 940 | #define TPM_RCS_SELECTOR (TPM_RCS)(RC_FMT1 + 0x018) |
| LordOfDorks | 1:fd0a59e55a85 | 941 | #define TPM_RC_INSUFFICIENT (TPM_RC)(RC_FMT1 + 0x01A) |
| LordOfDorks | 1:fd0a59e55a85 | 942 | #define TPM_RCS_INSUFFICIENT (TPM_RCS)(RC_FMT1 + 0x01A) |
| LordOfDorks | 1:fd0a59e55a85 | 943 | #define TPM_RC_SIGNATURE (TPM_RC)(RC_FMT1 + 0x01B) |
| LordOfDorks | 1:fd0a59e55a85 | 944 | #define TPM_RCS_SIGNATURE (TPM_RCS)(RC_FMT1 + 0x01B) |
| LordOfDorks | 1:fd0a59e55a85 | 945 | #define TPM_RC_KEY (TPM_RC)(RC_FMT1 + 0x01C) |
| LordOfDorks | 1:fd0a59e55a85 | 946 | #define TPM_RCS_KEY (TPM_RCS)(RC_FMT1 + 0x01C) |
| LordOfDorks | 1:fd0a59e55a85 | 947 | #define TPM_RC_POLICY_FAIL (TPM_RC)(RC_FMT1 + 0x01D) |
| LordOfDorks | 1:fd0a59e55a85 | 948 | #define TPM_RCS_POLICY_FAIL (TPM_RCS)(RC_FMT1 + 0x01D) |
| LordOfDorks | 1:fd0a59e55a85 | 949 | #define TPM_RC_INTEGRITY (TPM_RC)(RC_FMT1 + 0x01F) |
| LordOfDorks | 1:fd0a59e55a85 | 950 | #define TPM_RCS_INTEGRITY (TPM_RCS)(RC_FMT1 + 0x01F) |
| LordOfDorks | 1:fd0a59e55a85 | 951 | #define TPM_RC_TICKET (TPM_RC)(RC_FMT1 + 0x020) |
| LordOfDorks | 1:fd0a59e55a85 | 952 | #define TPM_RCS_TICKET (TPM_RCS)(RC_FMT1 + 0x020) |
| LordOfDorks | 1:fd0a59e55a85 | 953 | #define TPM_RC_RESERVED_BITS (TPM_RC)(RC_FMT1 + 0x021) |
| LordOfDorks | 1:fd0a59e55a85 | 954 | #define TPM_RCS_RESERVED_BITS (TPM_RCS)(RC_FMT1 + 0x021) |
| LordOfDorks | 1:fd0a59e55a85 | 955 | #define TPM_RC_BAD_AUTH (TPM_RC)(RC_FMT1 + 0x022) |
| LordOfDorks | 1:fd0a59e55a85 | 956 | #define TPM_RCS_BAD_AUTH (TPM_RCS)(RC_FMT1 + 0x022) |
| LordOfDorks | 1:fd0a59e55a85 | 957 | #define TPM_RC_EXPIRED (TPM_RC)(RC_FMT1 + 0x023) |
| LordOfDorks | 1:fd0a59e55a85 | 958 | #define TPM_RCS_EXPIRED (TPM_RCS)(RC_FMT1 + 0x023) |
| LordOfDorks | 1:fd0a59e55a85 | 959 | #define TPM_RC_POLICY_CC (TPM_RC)(RC_FMT1 + 0x024 ) |
| LordOfDorks | 1:fd0a59e55a85 | 960 | #define TPM_RCS_POLICY_CC (TPM_RCS)(RC_FMT1 + 0x024 ) |
| LordOfDorks | 1:fd0a59e55a85 | 961 | #define TPM_RC_BINDING (TPM_RC)(RC_FMT1 + 0x025) |
| LordOfDorks | 1:fd0a59e55a85 | 962 | #define TPM_RCS_BINDING (TPM_RCS)(RC_FMT1 + 0x025) |
| LordOfDorks | 1:fd0a59e55a85 | 963 | #define TPM_RC_CURVE (TPM_RC)(RC_FMT1 + 0x026) |
| LordOfDorks | 1:fd0a59e55a85 | 964 | #define TPM_RCS_CURVE (TPM_RCS)(RC_FMT1 + 0x026) |
| LordOfDorks | 1:fd0a59e55a85 | 965 | #define TPM_RC_ECC_POINT (TPM_RC)(RC_FMT1 + 0x027) |
| LordOfDorks | 1:fd0a59e55a85 | 966 | #define TPM_RCS_ECC_POINT (TPM_RCS)(RC_FMT1 + 0x027) |
| LordOfDorks | 1:fd0a59e55a85 | 967 | #define RC_WARN (TPM_RC)(0x900) |
| LordOfDorks | 1:fd0a59e55a85 | 968 | #define TPM_RC_CONTEXT_GAP (TPM_RC)(RC_WARN + 0x001) |
| LordOfDorks | 1:fd0a59e55a85 | 969 | #define TPM_RC_OBJECT_MEMORY (TPM_RC)(RC_WARN + 0x002) |
| LordOfDorks | 1:fd0a59e55a85 | 970 | #define TPM_RC_SESSION_MEMORY (TPM_RC)(RC_WARN + 0x003) |
| LordOfDorks | 1:fd0a59e55a85 | 971 | #define TPM_RC_MEMORY (TPM_RC)(RC_WARN + 0x004) |
| LordOfDorks | 1:fd0a59e55a85 | 972 | #define TPM_RC_SESSION_HANDLES (TPM_RC)(RC_WARN + 0x005) |
| LordOfDorks | 1:fd0a59e55a85 | 973 | #define TPM_RC_OBJECT_HANDLES (TPM_RC)(RC_WARN + 0x006) |
| LordOfDorks | 1:fd0a59e55a85 | 974 | #define TPM_RC_LOCALITY (TPM_RC)(RC_WARN + 0x007) |
| LordOfDorks | 1:fd0a59e55a85 | 975 | #define TPM_RC_YIELDED (TPM_RC)(RC_WARN + 0x008) |
| LordOfDorks | 1:fd0a59e55a85 | 976 | #define TPM_RC_CANCELED (TPM_RC)(RC_WARN + 0x009) |
| LordOfDorks | 1:fd0a59e55a85 | 977 | #define TPM_RC_TESTING (TPM_RC)(RC_WARN + 0x00A) |
| LordOfDorks | 1:fd0a59e55a85 | 978 | #define TPM_RC_REFERENCE_H0 (TPM_RC)(RC_WARN + 0x010) |
| LordOfDorks | 1:fd0a59e55a85 | 979 | #define TPM_RC_REFERENCE_H1 (TPM_RC)(RC_WARN + 0x011) |
| LordOfDorks | 1:fd0a59e55a85 | 980 | #define TPM_RC_REFERENCE_H2 (TPM_RC)(RC_WARN + 0x012) |
| LordOfDorks | 1:fd0a59e55a85 | 981 | #define TPM_RC_REFERENCE_H3 (TPM_RC)(RC_WARN + 0x013) |
| LordOfDorks | 1:fd0a59e55a85 | 982 | #define TPM_RC_REFERENCE_H4 (TPM_RC)(RC_WARN + 0x014) |
| LordOfDorks | 1:fd0a59e55a85 | 983 | #define TPM_RC_REFERENCE_H5 (TPM_RC)(RC_WARN + 0x015) |
| LordOfDorks | 1:fd0a59e55a85 | 984 | #define TPM_RC_REFERENCE_H6 (TPM_RC)(RC_WARN + 0x016) |
| LordOfDorks | 1:fd0a59e55a85 | 985 | #define TPM_RC_REFERENCE_S0 (TPM_RC)(RC_WARN + 0x018) |
| LordOfDorks | 1:fd0a59e55a85 | 986 | #define TPM_RC_REFERENCE_S1 (TPM_RC)(RC_WARN + 0x019) |
| LordOfDorks | 1:fd0a59e55a85 | 987 | #define TPM_RC_REFERENCE_S2 (TPM_RC)(RC_WARN + 0x01A) |
| LordOfDorks | 1:fd0a59e55a85 | 988 | #define TPM_RC_REFERENCE_S3 (TPM_RC)(RC_WARN + 0x01B) |
| LordOfDorks | 1:fd0a59e55a85 | 989 | #define TPM_RC_REFERENCE_S4 (TPM_RC)(RC_WARN + 0x01C) |
| LordOfDorks | 1:fd0a59e55a85 | 990 | #define TPM_RC_REFERENCE_S5 (TPM_RC)(RC_WARN + 0x01D) |
| LordOfDorks | 1:fd0a59e55a85 | 991 | #define TPM_RC_REFERENCE_S6 (TPM_RC)(RC_WARN + 0x01E) |
| LordOfDorks | 1:fd0a59e55a85 | 992 | #define TPM_RC_NV_RATE (TPM_RC)(RC_WARN + 0x020) |
| LordOfDorks | 1:fd0a59e55a85 | 993 | #define TPM_RC_LOCKOUT (TPM_RC)(RC_WARN + 0x021) |
| LordOfDorks | 1:fd0a59e55a85 | 994 | #define TPM_RC_RETRY (TPM_RC)(RC_WARN + 0x022) |
| LordOfDorks | 1:fd0a59e55a85 | 995 | #define TPM_RC_NV_UNAVAILABLE (TPM_RC)(RC_WARN + 0x023) |
| LordOfDorks | 1:fd0a59e55a85 | 996 | #define TPM_RC_NOT_USED (TPM_RC)(RC_WARN + 0x7F) |
| LordOfDorks | 1:fd0a59e55a85 | 997 | #define TPM_RC_H (TPM_RC)(0x000) |
| LordOfDorks | 1:fd0a59e55a85 | 998 | #define TPM_RC_P (TPM_RC)(0x040) |
| LordOfDorks | 1:fd0a59e55a85 | 999 | #define TPM_RC_S (TPM_RC)(0x800) |
| LordOfDorks | 1:fd0a59e55a85 | 1000 | #define TPM_RC_1 (TPM_RC)(0x100) |
| LordOfDorks | 1:fd0a59e55a85 | 1001 | #define TPM_RC_2 (TPM_RC)(0x200) |
| LordOfDorks | 1:fd0a59e55a85 | 1002 | #define TPM_RC_3 (TPM_RC)(0x300) |
| LordOfDorks | 1:fd0a59e55a85 | 1003 | #define TPM_RC_4 (TPM_RC)(0x400) |
| LordOfDorks | 1:fd0a59e55a85 | 1004 | #define TPM_RC_5 (TPM_RC)(0x500) |
| LordOfDorks | 1:fd0a59e55a85 | 1005 | #define TPM_RC_6 (TPM_RC)(0x600) |
| LordOfDorks | 1:fd0a59e55a85 | 1006 | #define TPM_RC_7 (TPM_RC)(0x700) |
| LordOfDorks | 1:fd0a59e55a85 | 1007 | #define TPM_RC_8 (TPM_RC)(0x800) |
| LordOfDorks | 1:fd0a59e55a85 | 1008 | #define TPM_RC_9 (TPM_RC)(0x900) |
| LordOfDorks | 1:fd0a59e55a85 | 1009 | #define TPM_RC_A (TPM_RC)(0xA00) |
| LordOfDorks | 1:fd0a59e55a85 | 1010 | #define TPM_RC_B (TPM_RC)(0xB00) |
| LordOfDorks | 1:fd0a59e55a85 | 1011 | #define TPM_RC_C (TPM_RC)(0xC00) |
| LordOfDorks | 1:fd0a59e55a85 | 1012 | #define TPM_RC_D (TPM_RC)(0xD00) |
| LordOfDorks | 1:fd0a59e55a85 | 1013 | #define TPM_RC_E (TPM_RC)(0xE00) |
| LordOfDorks | 1:fd0a59e55a85 | 1014 | #define TPM_RC_F (TPM_RC)(0xF00) |
| LordOfDorks | 1:fd0a59e55a85 | 1015 | #define TPM_RC_N_MASK (TPM_RC)(0xF00) |
| LordOfDorks | 1:fd0a59e55a85 | 1016 | |
| LordOfDorks | 1:fd0a59e55a85 | 1017 | |
| LordOfDorks | 1:fd0a59e55a85 | 1018 | |
| LordOfDorks | 1:fd0a59e55a85 | 1019 | |
| LordOfDorks | 1:fd0a59e55a85 | 1020 | // Table 16 -- TPM_CLOCK_ADJUST Constants <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1021 | typedef INT8 TPM_CLOCK_ADJUST; |
| LordOfDorks | 1:fd0a59e55a85 | 1022 | |
| LordOfDorks | 1:fd0a59e55a85 | 1023 | #define TPM_CLOCK_COARSE_SLOWER (TPM_CLOCK_ADJUST)(-3) |
| LordOfDorks | 1:fd0a59e55a85 | 1024 | #define TPM_CLOCK_MEDIUM_SLOWER (TPM_CLOCK_ADJUST)(-2) |
| LordOfDorks | 1:fd0a59e55a85 | 1025 | #define TPM_CLOCK_FINE_SLOWER (TPM_CLOCK_ADJUST)(-1) |
| LordOfDorks | 1:fd0a59e55a85 | 1026 | #define TPM_CLOCK_NO_CHANGE (TPM_CLOCK_ADJUST)(0) |
| LordOfDorks | 1:fd0a59e55a85 | 1027 | #define TPM_CLOCK_FINE_FASTER (TPM_CLOCK_ADJUST)(1) |
| LordOfDorks | 1:fd0a59e55a85 | 1028 | #define TPM_CLOCK_MEDIUM_FASTER (TPM_CLOCK_ADJUST)(2) |
| LordOfDorks | 1:fd0a59e55a85 | 1029 | #define TPM_CLOCK_COARSE_FASTER (TPM_CLOCK_ADJUST)(3) |
| LordOfDorks | 1:fd0a59e55a85 | 1030 | |
| LordOfDorks | 1:fd0a59e55a85 | 1031 | |
| LordOfDorks | 1:fd0a59e55a85 | 1032 | |
| LordOfDorks | 1:fd0a59e55a85 | 1033 | |
| LordOfDorks | 1:fd0a59e55a85 | 1034 | // Table 17 -- TPM_EO Constants <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1035 | typedef UINT16 TPM_EO; |
| LordOfDorks | 1:fd0a59e55a85 | 1036 | |
| LordOfDorks | 1:fd0a59e55a85 | 1037 | #define TPM_EO_EQ (TPM_EO)(0x0000) |
| LordOfDorks | 1:fd0a59e55a85 | 1038 | #define TPM_EO_NEQ (TPM_EO)(0x0001) |
| LordOfDorks | 1:fd0a59e55a85 | 1039 | #define TPM_EO_SIGNED_GT (TPM_EO)(0x0002) |
| LordOfDorks | 1:fd0a59e55a85 | 1040 | #define TPM_EO_UNSIGNED_GT (TPM_EO)(0x0003) |
| LordOfDorks | 1:fd0a59e55a85 | 1041 | #define TPM_EO_SIGNED_LT (TPM_EO)(0x0004) |
| LordOfDorks | 1:fd0a59e55a85 | 1042 | #define TPM_EO_UNSIGNED_LT (TPM_EO)(0x0005) |
| LordOfDorks | 1:fd0a59e55a85 | 1043 | #define TPM_EO_SIGNED_GE (TPM_EO)(0x0006) |
| LordOfDorks | 1:fd0a59e55a85 | 1044 | #define TPM_EO_UNSIGNED_GE (TPM_EO)(0x0007) |
| LordOfDorks | 1:fd0a59e55a85 | 1045 | #define TPM_EO_SIGNED_LE (TPM_EO)(0x0008) |
| LordOfDorks | 1:fd0a59e55a85 | 1046 | #define TPM_EO_UNSIGNED_LE (TPM_EO)(0x0009) |
| LordOfDorks | 1:fd0a59e55a85 | 1047 | #define TPM_EO_BITSET (TPM_EO)(0x000A) |
| LordOfDorks | 1:fd0a59e55a85 | 1048 | #define TPM_EO_BITCLEAR (TPM_EO)(0x000B) |
| LordOfDorks | 1:fd0a59e55a85 | 1049 | |
| LordOfDorks | 1:fd0a59e55a85 | 1050 | |
| LordOfDorks | 1:fd0a59e55a85 | 1051 | |
| LordOfDorks | 1:fd0a59e55a85 | 1052 | |
| LordOfDorks | 1:fd0a59e55a85 | 1053 | // Table 18 -- TPM_ST Constants <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1054 | typedef UINT16 TPM_ST; |
| LordOfDorks | 1:fd0a59e55a85 | 1055 | |
| LordOfDorks | 1:fd0a59e55a85 | 1056 | #define TPM_ST_RSP_COMMAND (TPM_ST)(0x00C4) |
| LordOfDorks | 1:fd0a59e55a85 | 1057 | #define TPM_ST_NULL (TPM_ST)(0X8000) |
| LordOfDorks | 1:fd0a59e55a85 | 1058 | #define TPM_ST_NO_SESSIONS (TPM_ST)(0x8001) |
| LordOfDorks | 1:fd0a59e55a85 | 1059 | #define TPM_ST_SESSIONS (TPM_ST)(0x8002) |
| LordOfDorks | 1:fd0a59e55a85 | 1060 | #define TPM_ST_ATTEST_NV (TPM_ST)(0x8014) |
| LordOfDorks | 1:fd0a59e55a85 | 1061 | #define TPM_ST_ATTEST_COMMAND_AUDIT (TPM_ST)(0x8015) |
| LordOfDorks | 1:fd0a59e55a85 | 1062 | #define TPM_ST_ATTEST_SESSION_AUDIT (TPM_ST)(0x8016) |
| LordOfDorks | 1:fd0a59e55a85 | 1063 | #define TPM_ST_ATTEST_CERTIFY (TPM_ST)(0x8017) |
| LordOfDorks | 1:fd0a59e55a85 | 1064 | #define TPM_ST_ATTEST_QUOTE (TPM_ST)(0x8018) |
| LordOfDorks | 1:fd0a59e55a85 | 1065 | #define TPM_ST_ATTEST_TIME (TPM_ST)(0x8019) |
| LordOfDorks | 1:fd0a59e55a85 | 1066 | #define TPM_ST_ATTEST_CREATION (TPM_ST)(0x801A) |
| LordOfDorks | 1:fd0a59e55a85 | 1067 | #define TPM_ST_CREATION (TPM_ST)(0x8021) |
| LordOfDorks | 1:fd0a59e55a85 | 1068 | #define TPM_ST_VERIFIED (TPM_ST)(0x8022) |
| LordOfDorks | 1:fd0a59e55a85 | 1069 | #define TPM_ST_AUTH_SECRET (TPM_ST)(0x8023) |
| LordOfDorks | 1:fd0a59e55a85 | 1070 | #define TPM_ST_HASHCHECK (TPM_ST)(0x8024) |
| LordOfDorks | 1:fd0a59e55a85 | 1071 | #define TPM_ST_AUTH_SIGNED (TPM_ST)(0x8025) |
| LordOfDorks | 1:fd0a59e55a85 | 1072 | #define TPM_ST_FU_MANIFEST (TPM_ST)(0x8029) |
| LordOfDorks | 1:fd0a59e55a85 | 1073 | |
| LordOfDorks | 1:fd0a59e55a85 | 1074 | |
| LordOfDorks | 1:fd0a59e55a85 | 1075 | // Table 19 -- TPM_SU Constants <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1076 | typedef UINT16 TPM_SU; |
| LordOfDorks | 1:fd0a59e55a85 | 1077 | |
| LordOfDorks | 1:fd0a59e55a85 | 1078 | #define TPM_SU_CLEAR (TPM_SU)(0x0000) |
| LordOfDorks | 1:fd0a59e55a85 | 1079 | #define TPM_SU_STATE (TPM_SU)(0x0001) |
| LordOfDorks | 1:fd0a59e55a85 | 1080 | |
| LordOfDorks | 1:fd0a59e55a85 | 1081 | |
| LordOfDorks | 1:fd0a59e55a85 | 1082 | |
| LordOfDorks | 1:fd0a59e55a85 | 1083 | |
| LordOfDorks | 1:fd0a59e55a85 | 1084 | // Table 20 -- TPM_SE Constants <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1085 | typedef UINT8 TPM_SE; |
| LordOfDorks | 1:fd0a59e55a85 | 1086 | |
| LordOfDorks | 1:fd0a59e55a85 | 1087 | #define TPM_SE_HMAC (TPM_SE)(0x00) |
| LordOfDorks | 1:fd0a59e55a85 | 1088 | #define TPM_SE_POLICY (TPM_SE)(0x01) |
| LordOfDorks | 1:fd0a59e55a85 | 1089 | #define TPM_SE_TRIAL (TPM_SE)(0x03) |
| LordOfDorks | 1:fd0a59e55a85 | 1090 | |
| LordOfDorks | 1:fd0a59e55a85 | 1091 | |
| LordOfDorks | 1:fd0a59e55a85 | 1092 | |
| LordOfDorks | 1:fd0a59e55a85 | 1093 | |
| LordOfDorks | 1:fd0a59e55a85 | 1094 | // Table 21 -- TPM_CAP Constants <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1095 | typedef UINT32 TPM_CAP; |
| LordOfDorks | 1:fd0a59e55a85 | 1096 | |
| LordOfDorks | 1:fd0a59e55a85 | 1097 | #define TPM_CAP_FIRST (TPM_CAP)(0x00000000) |
| LordOfDorks | 1:fd0a59e55a85 | 1098 | #define TPM_CAP_ALGS (TPM_CAP)(0x00000000) |
| LordOfDorks | 1:fd0a59e55a85 | 1099 | #define TPM_CAP_HANDLES (TPM_CAP)(0x00000001) |
| LordOfDorks | 1:fd0a59e55a85 | 1100 | #define TPM_CAP_COMMANDS (TPM_CAP)(0x00000002) |
| LordOfDorks | 1:fd0a59e55a85 | 1101 | #define TPM_CAP_PP_COMMANDS (TPM_CAP)(0x00000003) |
| LordOfDorks | 1:fd0a59e55a85 | 1102 | #define TPM_CAP_AUDIT_COMMANDS (TPM_CAP)(0x00000004) |
| LordOfDorks | 1:fd0a59e55a85 | 1103 | #define TPM_CAP_PCRS (TPM_CAP)(0x00000005) |
| LordOfDorks | 1:fd0a59e55a85 | 1104 | #define TPM_CAP_TPM_PROPERTIES (TPM_CAP)(0x00000006) |
| LordOfDorks | 1:fd0a59e55a85 | 1105 | #define TPM_CAP_PCR_PROPERTIES (TPM_CAP)(0x00000007) |
| LordOfDorks | 1:fd0a59e55a85 | 1106 | #define TPM_CAP_ECC_CURVES (TPM_CAP)(0x00000008) |
| LordOfDorks | 1:fd0a59e55a85 | 1107 | #define TPM_CAP_LAST (TPM_CAP)(0x00000008) |
| LordOfDorks | 1:fd0a59e55a85 | 1108 | #define TPM_CAP_VENDOR_PROPERTY (TPM_CAP)(0x00000100) |
| LordOfDorks | 1:fd0a59e55a85 | 1109 | |
| LordOfDorks | 1:fd0a59e55a85 | 1110 | |
| LordOfDorks | 1:fd0a59e55a85 | 1111 | |
| LordOfDorks | 1:fd0a59e55a85 | 1112 | |
| LordOfDorks | 1:fd0a59e55a85 | 1113 | // Table 22 -- TPM_PT Constants <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1114 | typedef UINT32 TPM_PT; |
| LordOfDorks | 1:fd0a59e55a85 | 1115 | |
| LordOfDorks | 1:fd0a59e55a85 | 1116 | #define TPM_PT_NONE (TPM_PT)(0x00000000) |
| LordOfDorks | 1:fd0a59e55a85 | 1117 | #define PT_GROUP (TPM_PT)(0x00000100) |
| LordOfDorks | 1:fd0a59e55a85 | 1118 | #define PT_FIXED (TPM_PT)(PT_GROUP * 1) |
| LordOfDorks | 1:fd0a59e55a85 | 1119 | #define TPM_PT_FAMILY_INDICATOR (TPM_PT)(PT_FIXED + 0) |
| LordOfDorks | 1:fd0a59e55a85 | 1120 | #define TPM_PT_LEVEL (TPM_PT)(PT_FIXED + 1) |
| LordOfDorks | 1:fd0a59e55a85 | 1121 | #define TPM_PT_REVISION (TPM_PT)(PT_FIXED + 2) |
| LordOfDorks | 1:fd0a59e55a85 | 1122 | #define TPM_PT_DAY_OF_YEAR (TPM_PT)(PT_FIXED + 3) |
| LordOfDorks | 1:fd0a59e55a85 | 1123 | #define TPM_PT_YEAR (TPM_PT)(PT_FIXED + 4) |
| LordOfDorks | 1:fd0a59e55a85 | 1124 | #define TPM_PT_MANUFACTURER (TPM_PT)(PT_FIXED + 5) |
| LordOfDorks | 1:fd0a59e55a85 | 1125 | #define TPM_PT_VENDOR_STRING_1 (TPM_PT)(PT_FIXED + 6) |
| LordOfDorks | 1:fd0a59e55a85 | 1126 | #define TPM_PT_VENDOR_STRING_2 (TPM_PT)(PT_FIXED + 7) |
| LordOfDorks | 1:fd0a59e55a85 | 1127 | #define TPM_PT_VENDOR_STRING_3 (TPM_PT)(PT_FIXED + 8) |
| LordOfDorks | 1:fd0a59e55a85 | 1128 | #define TPM_PT_VENDOR_STRING_4 (TPM_PT)(PT_FIXED + 9) |
| LordOfDorks | 1:fd0a59e55a85 | 1129 | #define TPM_PT_VENDOR_TPM_TYPE (TPM_PT)(PT_FIXED + 10) |
| LordOfDorks | 1:fd0a59e55a85 | 1130 | #define TPM_PT_FIRMWARE_VERSION_1 (TPM_PT)(PT_FIXED + 11) |
| LordOfDorks | 1:fd0a59e55a85 | 1131 | #define TPM_PT_FIRMWARE_VERSION_2 (TPM_PT)(PT_FIXED + 12) |
| LordOfDorks | 1:fd0a59e55a85 | 1132 | #define TPM_PT_INPUT_BUFFER (TPM_PT)(PT_FIXED + 13) |
| LordOfDorks | 1:fd0a59e55a85 | 1133 | #define TPM_PT_HR_TRANSIENT_MIN (TPM_PT)(PT_FIXED + 14) |
| LordOfDorks | 1:fd0a59e55a85 | 1134 | #define TPM_PT_HR_PERSISTENT_MIN (TPM_PT)(PT_FIXED + 15) |
| LordOfDorks | 1:fd0a59e55a85 | 1135 | #define TPM_PT_HR_LOADED_MIN (TPM_PT)(PT_FIXED + 16) |
| LordOfDorks | 1:fd0a59e55a85 | 1136 | #define TPM_PT_ACTIVE_SESSIONS_MAX (TPM_PT)(PT_FIXED + 17) |
| LordOfDorks | 1:fd0a59e55a85 | 1137 | #define TPM_PT_PCR_COUNT (TPM_PT)(PT_FIXED + 18) |
| LordOfDorks | 1:fd0a59e55a85 | 1138 | #define TPM_PT_PCR_SELECT_MIN (TPM_PT)(PT_FIXED + 19) |
| LordOfDorks | 1:fd0a59e55a85 | 1139 | #define TPM_PT_CONTEXT_GAP_MAX (TPM_PT)(PT_FIXED + 20) |
| LordOfDorks | 1:fd0a59e55a85 | 1140 | #define TPM_PT_NV_COUNTERS_MAX (TPM_PT)(PT_FIXED + 22) |
| LordOfDorks | 1:fd0a59e55a85 | 1141 | #define TPM_PT_NV_INDEX_MAX (TPM_PT)(PT_FIXED + 23) |
| LordOfDorks | 1:fd0a59e55a85 | 1142 | #define TPM_PT_MEMORY (TPM_PT)(PT_FIXED + 24) |
| LordOfDorks | 1:fd0a59e55a85 | 1143 | #define TPM_PT_CLOCK_UPDATE (TPM_PT)(PT_FIXED + 25) |
| LordOfDorks | 1:fd0a59e55a85 | 1144 | #define TPM_PT_CONTEXT_HASH (TPM_PT)(PT_FIXED + 26) |
| LordOfDorks | 1:fd0a59e55a85 | 1145 | #define TPM_PT_CONTEXT_SYM (TPM_PT)(PT_FIXED + 27) |
| LordOfDorks | 1:fd0a59e55a85 | 1146 | #define TPM_PT_CONTEXT_SYM_SIZE (TPM_PT)(PT_FIXED + 28) |
| LordOfDorks | 1:fd0a59e55a85 | 1147 | #define TPM_PT_ORDERLY_COUNT (TPM_PT)(PT_FIXED + 29) |
| LordOfDorks | 1:fd0a59e55a85 | 1148 | #define TPM_PT_MAX_COMMAND_SIZE (TPM_PT)(PT_FIXED + 30) |
| LordOfDorks | 1:fd0a59e55a85 | 1149 | #define TPM_PT_MAX_RESPONSE_SIZE (TPM_PT)(PT_FIXED + 31) |
| LordOfDorks | 1:fd0a59e55a85 | 1150 | #define TPM_PT_MAX_DIGEST (TPM_PT)(PT_FIXED + 32) |
| LordOfDorks | 1:fd0a59e55a85 | 1151 | #define TPM_PT_MAX_OBJECT_CONTEXT (TPM_PT)(PT_FIXED + 33) |
| LordOfDorks | 1:fd0a59e55a85 | 1152 | #define TPM_PT_MAX_SESSION_CONTEXT (TPM_PT)(PT_FIXED + 34) |
| LordOfDorks | 1:fd0a59e55a85 | 1153 | #define TPM_PT_PS_FAMILY_INDICATOR (TPM_PT)(PT_FIXED + 35) |
| LordOfDorks | 1:fd0a59e55a85 | 1154 | #define TPM_PT_PS_LEVEL (TPM_PT)(PT_FIXED + 36) |
| LordOfDorks | 1:fd0a59e55a85 | 1155 | #define TPM_PT_PS_REVISION (TPM_PT)(PT_FIXED + 37) |
| LordOfDorks | 1:fd0a59e55a85 | 1156 | #define TPM_PT_PS_DAY_OF_YEAR (TPM_PT)(PT_FIXED + 38) |
| LordOfDorks | 1:fd0a59e55a85 | 1157 | #define TPM_PT_PS_YEAR (TPM_PT)(PT_FIXED + 39) |
| LordOfDorks | 1:fd0a59e55a85 | 1158 | #define TPM_PT_SPLIT_MAX (TPM_PT)(PT_FIXED + 40) |
| LordOfDorks | 1:fd0a59e55a85 | 1159 | #define TPM_PT_TOTAL_COMMANDS (TPM_PT)(PT_FIXED + 41) |
| LordOfDorks | 1:fd0a59e55a85 | 1160 | #define TPM_PT_LIBRARY_COMMANDS (TPM_PT)(PT_FIXED + 42) |
| LordOfDorks | 1:fd0a59e55a85 | 1161 | #define TPM_PT_VENDOR_COMMANDS (TPM_PT)(PT_FIXED + 43) |
| LordOfDorks | 1:fd0a59e55a85 | 1162 | #define PT_VAR (TPM_PT)(PT_GROUP * 2) |
| LordOfDorks | 1:fd0a59e55a85 | 1163 | #define TPM_PT_PERMANENT (TPM_PT)(PT_VAR + 0) |
| LordOfDorks | 1:fd0a59e55a85 | 1164 | #define TPM_PT_STARTUP_CLEAR (TPM_PT)(PT_VAR + 1) |
| LordOfDorks | 1:fd0a59e55a85 | 1165 | #define TPM_PT_HR_NV_INDEX (TPM_PT)(PT_VAR + 2) |
| LordOfDorks | 1:fd0a59e55a85 | 1166 | #define TPM_PT_HR_LOADED (TPM_PT)(PT_VAR + 3) |
| LordOfDorks | 1:fd0a59e55a85 | 1167 | #define TPM_PT_HR_LOADED_AVAIL (TPM_PT)(PT_VAR + 4) |
| LordOfDorks | 1:fd0a59e55a85 | 1168 | #define TPM_PT_HR_ACTIVE (TPM_PT)(PT_VAR + 5) |
| LordOfDorks | 1:fd0a59e55a85 | 1169 | #define TPM_PT_HR_ACTIVE_AVAIL (TPM_PT)(PT_VAR + 6) |
| LordOfDorks | 1:fd0a59e55a85 | 1170 | #define TPM_PT_HR_TRANSIENT_AVAIL (TPM_PT)(PT_VAR + 7) |
| LordOfDorks | 1:fd0a59e55a85 | 1171 | #define TPM_PT_HR_PERSISTENT (TPM_PT)(PT_VAR + 8) |
| LordOfDorks | 1:fd0a59e55a85 | 1172 | #define TPM_PT_HR_PERSISTENT_AVAIL (TPM_PT)(PT_VAR + 9) |
| LordOfDorks | 1:fd0a59e55a85 | 1173 | #define TPM_PT_NV_COUNTERS (TPM_PT)(PT_VAR + 10) |
| LordOfDorks | 1:fd0a59e55a85 | 1174 | #define TPM_PT_NV_COUNTERS_AVAIL (TPM_PT)(PT_VAR + 11) |
| LordOfDorks | 1:fd0a59e55a85 | 1175 | #define TPM_PT_ALGORITHM_SET (TPM_PT)(PT_VAR + 12) |
| LordOfDorks | 1:fd0a59e55a85 | 1176 | #define TPM_PT_LOADED_CURVES (TPM_PT)(PT_VAR + 13) |
| LordOfDorks | 1:fd0a59e55a85 | 1177 | #define TPM_PT_LOCKOUT_COUNTER (TPM_PT)(PT_VAR + 14) |
| LordOfDorks | 1:fd0a59e55a85 | 1178 | #define TPM_PT_MAX_AUTH_FAIL (TPM_PT)(PT_VAR + 15) |
| LordOfDorks | 1:fd0a59e55a85 | 1179 | #define TPM_PT_LOCKOUT_INTERVAL (TPM_PT)(PT_VAR + 16) |
| LordOfDorks | 1:fd0a59e55a85 | 1180 | #define TPM_PT_LOCKOUT_RECOVERY (TPM_PT)(PT_VAR + 17) |
| LordOfDorks | 1:fd0a59e55a85 | 1181 | #define TPM_PT_NV_WRITE_RECOVERY (TPM_PT)(PT_VAR + 18) |
| LordOfDorks | 1:fd0a59e55a85 | 1182 | #define TPM_PT_AUDIT_COUNTER_0 (TPM_PT)(PT_VAR + 19) |
| LordOfDorks | 1:fd0a59e55a85 | 1183 | #define TPM_PT_AUDIT_COUNTER_1 (TPM_PT)(PT_VAR + 20) |
| LordOfDorks | 1:fd0a59e55a85 | 1184 | |
| LordOfDorks | 1:fd0a59e55a85 | 1185 | |
| LordOfDorks | 1:fd0a59e55a85 | 1186 | // Table 23 -- TPM_PT_PCR Constants <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1187 | typedef UINT32 TPM_PT_PCR; |
| LordOfDorks | 1:fd0a59e55a85 | 1188 | |
| LordOfDorks | 1:fd0a59e55a85 | 1189 | #define TPM_PT_PCR_FIRST (TPM_PT_PCR)(0x00000000) |
| LordOfDorks | 1:fd0a59e55a85 | 1190 | #define TPM_PT_PCR_SAVE (TPM_PT_PCR)(0x00000000) |
| LordOfDorks | 1:fd0a59e55a85 | 1191 | #define TPM_PT_PCR_EXTEND_L0 (TPM_PT_PCR)(0x00000001) |
| LordOfDorks | 1:fd0a59e55a85 | 1192 | #define TPM_PT_PCR_RESET_L0 (TPM_PT_PCR)(0x00000002) |
| LordOfDorks | 1:fd0a59e55a85 | 1193 | #define TPM_PT_PCR_EXTEND_L1 (TPM_PT_PCR)(0x00000003) |
| LordOfDorks | 1:fd0a59e55a85 | 1194 | #define TPM_PT_PCR_RESET_L1 (TPM_PT_PCR)(0x00000004) |
| LordOfDorks | 1:fd0a59e55a85 | 1195 | #define TPM_PT_PCR_EXTEND_L2 (TPM_PT_PCR)(0x00000005) |
| LordOfDorks | 1:fd0a59e55a85 | 1196 | #define TPM_PT_PCR_RESET_L2 (TPM_PT_PCR)(0x00000006) |
| LordOfDorks | 1:fd0a59e55a85 | 1197 | #define TPM_PT_PCR_EXTEND_L3 (TPM_PT_PCR)(0x00000007) |
| LordOfDorks | 1:fd0a59e55a85 | 1198 | #define TPM_PT_PCR_RESET_L3 (TPM_PT_PCR)(0x00000008) |
| LordOfDorks | 1:fd0a59e55a85 | 1199 | #define TPM_PT_PCR_EXTEND_L4 (TPM_PT_PCR)(0x00000009) |
| LordOfDorks | 1:fd0a59e55a85 | 1200 | #define TPM_PT_PCR_RESET_L4 (TPM_PT_PCR)(0x0000000A) |
| LordOfDorks | 1:fd0a59e55a85 | 1201 | #define TPM_PT_PCR_NO_INCREMENT (TPM_PT_PCR)(0x00000011) |
| LordOfDorks | 1:fd0a59e55a85 | 1202 | #define TPM_PT_PCR_DRTM_RESET (TPM_PT_PCR)(0x00000012) |
| LordOfDorks | 1:fd0a59e55a85 | 1203 | #define TPM_PT_PCR_POLICY (TPM_PT_PCR)(0x00000013) |
| LordOfDorks | 1:fd0a59e55a85 | 1204 | #define TPM_PT_PCR_AUTH (TPM_PT_PCR)(0x00000014) |
| LordOfDorks | 1:fd0a59e55a85 | 1205 | #define TPM_PT_PCR_LAST (TPM_PT_PCR)(0x00000014) |
| LordOfDorks | 1:fd0a59e55a85 | 1206 | |
| LordOfDorks | 1:fd0a59e55a85 | 1207 | |
| LordOfDorks | 1:fd0a59e55a85 | 1208 | // Table 24 -- TPM_PS Constants <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1209 | typedef UINT32 TPM_PS; |
| LordOfDorks | 1:fd0a59e55a85 | 1210 | |
| LordOfDorks | 1:fd0a59e55a85 | 1211 | #define TPM_PS_MAIN (TPM_PS)(0x00000000) |
| LordOfDorks | 1:fd0a59e55a85 | 1212 | #define TPM_PS_PC (TPM_PS)(0x00000001) |
| LordOfDorks | 1:fd0a59e55a85 | 1213 | #define TPM_PS_PDA (TPM_PS)(0x00000002) |
| LordOfDorks | 1:fd0a59e55a85 | 1214 | #define TPM_PS_CELL_PHONE (TPM_PS)(0x00000003) |
| LordOfDorks | 1:fd0a59e55a85 | 1215 | #define TPM_PS_SERVER (TPM_PS)(0x00000004) |
| LordOfDorks | 1:fd0a59e55a85 | 1216 | #define TPM_PS_PERIPHERAL (TPM_PS)(0x00000005) |
| LordOfDorks | 1:fd0a59e55a85 | 1217 | #define TPM_PS_TSS (TPM_PS)(0x00000006) |
| LordOfDorks | 1:fd0a59e55a85 | 1218 | #define TPM_PS_STORAGE (TPM_PS)(0x00000007) |
| LordOfDorks | 1:fd0a59e55a85 | 1219 | #define TPM_PS_AUTHENTICATION (TPM_PS)(0x00000008) |
| LordOfDorks | 1:fd0a59e55a85 | 1220 | #define TPM_PS_EMBEDDED (TPM_PS)(0x00000009) |
| LordOfDorks | 1:fd0a59e55a85 | 1221 | #define TPM_PS_HARDCOPY (TPM_PS)(0x0000000A) |
| LordOfDorks | 1:fd0a59e55a85 | 1222 | #define TPM_PS_INFRASTRUCTURE (TPM_PS)(0x0000000B) |
| LordOfDorks | 1:fd0a59e55a85 | 1223 | #define TPM_PS_VIRTUALIZATION (TPM_PS)(0x0000000C) |
| LordOfDorks | 1:fd0a59e55a85 | 1224 | #define TPM_PS_TNC (TPM_PS)(0x0000000D) |
| LordOfDorks | 1:fd0a59e55a85 | 1225 | #define TPM_PS_MULTI_TENANT (TPM_PS)(0x0000000E) |
| LordOfDorks | 1:fd0a59e55a85 | 1226 | #define TPM_PS_TC (TPM_PS)(0x0000000F) |
| LordOfDorks | 1:fd0a59e55a85 | 1227 | |
| LordOfDorks | 1:fd0a59e55a85 | 1228 | |
| LordOfDorks | 1:fd0a59e55a85 | 1229 | |
| LordOfDorks | 1:fd0a59e55a85 | 1230 | |
| LordOfDorks | 1:fd0a59e55a85 | 1231 | // Table 25 -- Handles Types <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1232 | typedef UINT32 TPM_HANDLE; |
| LordOfDorks | 1:fd0a59e55a85 | 1233 | typedef UINT8 TPM_HT; |
| LordOfDorks | 1:fd0a59e55a85 | 1234 | |
| LordOfDorks | 1:fd0a59e55a85 | 1235 | #define TPM_HT_PCR (TPM_HT)(0x00) |
| LordOfDorks | 1:fd0a59e55a85 | 1236 | #define TPM_HT_NV_INDEX (TPM_HT)(0x01) |
| LordOfDorks | 1:fd0a59e55a85 | 1237 | #define TPM_HT_HMAC_SESSION (TPM_HT)(0x02) |
| LordOfDorks | 1:fd0a59e55a85 | 1238 | #define TPM_HT_LOADED_SESSION (TPM_HT)(0x02) |
| LordOfDorks | 1:fd0a59e55a85 | 1239 | #define TPM_HT_POLICY_SESSION (TPM_HT)(0x03) |
| LordOfDorks | 1:fd0a59e55a85 | 1240 | #define TPM_HT_ACTIVE_SESSION (TPM_HT)(0x03) |
| LordOfDorks | 1:fd0a59e55a85 | 1241 | #define TPM_HT_PERMANENT (TPM_HT)(0x40) |
| LordOfDorks | 1:fd0a59e55a85 | 1242 | #define TPM_HT_TRANSIENT (TPM_HT)(0x80) |
| LordOfDorks | 1:fd0a59e55a85 | 1243 | #define TPM_HT_PERSISTENT (TPM_HT)(0x81) |
| LordOfDorks | 1:fd0a59e55a85 | 1244 | |
| LordOfDorks | 1:fd0a59e55a85 | 1245 | |
| LordOfDorks | 1:fd0a59e55a85 | 1246 | |
| LordOfDorks | 1:fd0a59e55a85 | 1247 | |
| LordOfDorks | 1:fd0a59e55a85 | 1248 | // Table 27 -- TPM_RH Constants <I,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1249 | typedef UINT32 TPM_RH; |
| LordOfDorks | 1:fd0a59e55a85 | 1250 | |
| LordOfDorks | 1:fd0a59e55a85 | 1251 | #define TPM_RH_FIRST (TPM_RH)(0x40000000) |
| LordOfDorks | 1:fd0a59e55a85 | 1252 | #define TPM_RH_SRK (TPM_RH)(0x40000000) |
| LordOfDorks | 1:fd0a59e55a85 | 1253 | #define TPM_RH_OWNER (TPM_RH)(0x40000001) |
| LordOfDorks | 1:fd0a59e55a85 | 1254 | #define TPM_RH_REVOKE (TPM_RH)(0x40000002) |
| LordOfDorks | 1:fd0a59e55a85 | 1255 | #define TPM_RH_TRANSPORT (TPM_RH)(0x40000003) |
| LordOfDorks | 1:fd0a59e55a85 | 1256 | #define TPM_RH_OPERATOR (TPM_RH)(0x40000004) |
| LordOfDorks | 1:fd0a59e55a85 | 1257 | #define TPM_RH_ADMIN (TPM_RH)(0x40000005) |
| LordOfDorks | 1:fd0a59e55a85 | 1258 | #define TPM_RH_EK (TPM_RH)(0x40000006) |
| LordOfDorks | 1:fd0a59e55a85 | 1259 | #define TPM_RH_NULL (TPM_RH)(0x40000007) |
| LordOfDorks | 1:fd0a59e55a85 | 1260 | #define TPM_RH_UNASSIGNED (TPM_RH)(0x40000008) |
| LordOfDorks | 1:fd0a59e55a85 | 1261 | #define TPM_RS_PW (TPM_RH)(0x40000009) |
| LordOfDorks | 1:fd0a59e55a85 | 1262 | #define TPM_RH_LOCKOUT (TPM_RH)(0x4000000A) |
| LordOfDorks | 1:fd0a59e55a85 | 1263 | #define TPM_RH_ENDORSEMENT (TPM_RH)(0x4000000B) |
| LordOfDorks | 1:fd0a59e55a85 | 1264 | #define TPM_RH_PLATFORM (TPM_RH)(0x4000000C) |
| LordOfDorks | 1:fd0a59e55a85 | 1265 | #define TPM_RH_LAST (TPM_RH)(0x4000000C) |
| LordOfDorks | 1:fd0a59e55a85 | 1266 | |
| LordOfDorks | 1:fd0a59e55a85 | 1267 | |
| LordOfDorks | 1:fd0a59e55a85 | 1268 | // Table 28 -- TPM_HC Constants <I,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1269 | typedef TPM_HANDLE TPM_HC; |
| LordOfDorks | 1:fd0a59e55a85 | 1270 | |
| LordOfDorks | 1:fd0a59e55a85 | 1271 | #define HR_HANDLE_MASK (TPM_HC)(0x00FFFFFF) |
| LordOfDorks | 1:fd0a59e55a85 | 1272 | #define HR_RANGE_MASK (TPM_HC)(0xFF000000) |
| LordOfDorks | 1:fd0a59e55a85 | 1273 | #define HR_SHIFT (TPM_HC)(24) |
| LordOfDorks | 1:fd0a59e55a85 | 1274 | #define HR_PCR (TPM_HC)((TPM_HC)TPM_HT_PCR << HR_SHIFT) |
| LordOfDorks | 1:fd0a59e55a85 | 1275 | #define HR_HMAC_SESSION (TPM_HC)((TPM_HC)TPM_HT_HMAC_SESSION << HR_SHIFT) |
| LordOfDorks | 1:fd0a59e55a85 | 1276 | #define HR_POLICY_SESSION (TPM_HC)((TPM_HC)TPM_HT_POLICY_SESSION << HR_SHIFT) |
| LordOfDorks | 1:fd0a59e55a85 | 1277 | #define HR_TRANSIENT (TPM_HC)((TPM_HC)TPM_HT_TRANSIENT << HR_SHIFT) |
| LordOfDorks | 1:fd0a59e55a85 | 1278 | #define HR_PERSISTENT (TPM_HC)((TPM_HC)TPM_HT_PERSISTENT << HR_SHIFT) |
| LordOfDorks | 1:fd0a59e55a85 | 1279 | #define HR_NV_INDEX (TPM_HC)((TPM_HC)TPM_HT_NV_INDEX << HR_SHIFT) |
| LordOfDorks | 1:fd0a59e55a85 | 1280 | #define HR_PERMANENT (TPM_HC)((TPM_HC)TPM_HT_PERMANENT << HR_SHIFT) |
| LordOfDorks | 1:fd0a59e55a85 | 1281 | #define PCR_FIRST (TPM_HC)(HR_PCR + 0) |
| LordOfDorks | 1:fd0a59e55a85 | 1282 | #define PCR_LAST (TPM_HC)(PCR_FIRST + IMPLEMENTATION_PCR-1) |
| LordOfDorks | 1:fd0a59e55a85 | 1283 | #define HMAC_SESSION_FIRST (TPM_HC)(HR_HMAC_SESSION + 0) |
| LordOfDorks | 1:fd0a59e55a85 | 1284 | #define HMAC_SESSION_LAST (TPM_HC)(HMAC_SESSION_FIRST + MAX_ACTIVE_SESSIONS - 1) |
| LordOfDorks | 1:fd0a59e55a85 | 1285 | #define LOADED_SESSION_FIRST (TPM_HC)(HMAC_SESSION_FIRST) |
| LordOfDorks | 1:fd0a59e55a85 | 1286 | #define LOADED_SESSION_LAST (TPM_HC)(HMAC_SESSION_LAST) |
| LordOfDorks | 1:fd0a59e55a85 | 1287 | #define POLICY_SESSION_FIRST (TPM_HC)(HR_POLICY_SESSION + 0) |
| LordOfDorks | 1:fd0a59e55a85 | 1288 | #define POLICY_SESSION_LAST (TPM_HC)(POLICY_SESSION_FIRST + MAX_ACTIVE_SESSIONS - 1) |
| LordOfDorks | 1:fd0a59e55a85 | 1289 | #define TRANSIENT_FIRST (TPM_HC)(HR_TRANSIENT + 0) |
| LordOfDorks | 1:fd0a59e55a85 | 1290 | #define ACTIVE_SESSION_FIRST (TPM_HC)(POLICY_SESSION_FIRST) |
| LordOfDorks | 1:fd0a59e55a85 | 1291 | #define ACTIVE_SESSION_LAST (TPM_HC)(POLICY_SESSION_LAST) |
| LordOfDorks | 1:fd0a59e55a85 | 1292 | #define TRANSIENT_LAST (TPM_HC)(TRANSIENT_FIRST + MAX_LOADED_OBJECTS - 1) |
| LordOfDorks | 1:fd0a59e55a85 | 1293 | #define PERSISTENT_FIRST (TPM_HC)(HR_PERSISTENT + 0) |
| LordOfDorks | 1:fd0a59e55a85 | 1294 | #define PERSISTENT_LAST (TPM_HC)(PERSISTENT_FIRST + 0x00FFFFFF) |
| LordOfDorks | 1:fd0a59e55a85 | 1295 | #define PLATFORM_PERSISTENT (TPM_HC)(PERSISTENT_FIRST + 0x00800000) |
| LordOfDorks | 1:fd0a59e55a85 | 1296 | #define NV_INDEX_FIRST (TPM_HC)(HR_NV_INDEX + 0) |
| LordOfDorks | 1:fd0a59e55a85 | 1297 | #define NV_INDEX_LAST (TPM_HC)(NV_INDEX_FIRST + 0x00FFFFFF) |
| LordOfDorks | 1:fd0a59e55a85 | 1298 | #define PERMANENT_FIRST (TPM_HC)(TPM_RH_FIRST) |
| LordOfDorks | 1:fd0a59e55a85 | 1299 | #define PERMANENT_LAST (TPM_HC)(TPM_RH_LAST) |
| LordOfDorks | 1:fd0a59e55a85 | 1300 | |
| LordOfDorks | 1:fd0a59e55a85 | 1301 | |
| LordOfDorks | 1:fd0a59e55a85 | 1302 | // Table 29 -- TPMA_ALGORITHM Bits <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1303 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1304 | unsigned int asymmetric : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1305 | unsigned int symmetric : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1306 | unsigned int hash : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1307 | unsigned int object : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1308 | unsigned int reserved5 : 4; |
| LordOfDorks | 1:fd0a59e55a85 | 1309 | unsigned int signing : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1310 | unsigned int encrypting : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1311 | unsigned int method : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1312 | unsigned int reserved9 : 21; |
| LordOfDorks | 1:fd0a59e55a85 | 1313 | } TPMA_ALGORITHM ; |
| LordOfDorks | 1:fd0a59e55a85 | 1314 | |
| LordOfDorks | 1:fd0a59e55a85 | 1315 | // Table 30 -- TPMA_OBJECT Bits <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1316 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1317 | unsigned int reserved1 : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1318 | unsigned int fixedTPM : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1319 | unsigned int stClear : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1320 | unsigned int reserved4 : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1321 | unsigned int fixedParent : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1322 | unsigned int sensitiveDataOrigin : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1323 | unsigned int userWithAuth : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1324 | unsigned int adminWithPolicy : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1325 | unsigned int reserved9 : 2; |
| LordOfDorks | 1:fd0a59e55a85 | 1326 | unsigned int noDA : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1327 | unsigned int encryptedDuplication : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1328 | unsigned int reserved12 : 4; |
| LordOfDorks | 1:fd0a59e55a85 | 1329 | unsigned int restricted : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1330 | unsigned int decrypt : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1331 | unsigned int sign : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1332 | unsigned int reserved16 : 13; |
| LordOfDorks | 1:fd0a59e55a85 | 1333 | } TPMA_OBJECT ; |
| LordOfDorks | 1:fd0a59e55a85 | 1334 | |
| LordOfDorks | 1:fd0a59e55a85 | 1335 | // Table 31 -- TPMA_SESSION Bits <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1336 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1337 | unsigned int continueSession : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1338 | unsigned int auditExclusive : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1339 | unsigned int auditReset : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1340 | unsigned int reserved4 : 2; |
| LordOfDorks | 1:fd0a59e55a85 | 1341 | unsigned int decrypt : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1342 | unsigned int encrypt : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1343 | unsigned int audit : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1344 | } TPMA_SESSION ; |
| LordOfDorks | 1:fd0a59e55a85 | 1345 | |
| LordOfDorks | 1:fd0a59e55a85 | 1346 | // Table 32 -- TPMA_LOCALITY Bits <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1347 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1348 | unsigned int TPM_LOC_ZERO : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1349 | unsigned int TPM_LOC_ONE : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1350 | unsigned int TPM_LOC_TWO : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1351 | unsigned int TPM_LOC_THREE : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1352 | unsigned int TPM_LOC_FOUR : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1353 | unsigned int Extended : 3; |
| LordOfDorks | 1:fd0a59e55a85 | 1354 | } TPMA_LOCALITY ; |
| LordOfDorks | 1:fd0a59e55a85 | 1355 | |
| LordOfDorks | 1:fd0a59e55a85 | 1356 | // Table 33 -- TPMA_PERMANENT Bits <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1357 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1358 | unsigned int ownerAuthSet : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1359 | unsigned int endorsementAuthSet : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1360 | unsigned int lockoutAuthSet : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1361 | unsigned int reserved4 : 5; |
| LordOfDorks | 1:fd0a59e55a85 | 1362 | unsigned int disableClear : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1363 | unsigned int inLockout : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1364 | unsigned int tpmGeneratedEPS : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1365 | unsigned int reserved8 : 21; |
| LordOfDorks | 1:fd0a59e55a85 | 1366 | } TPMA_PERMANENT ; |
| LordOfDorks | 1:fd0a59e55a85 | 1367 | |
| LordOfDorks | 1:fd0a59e55a85 | 1368 | // Table 34 -- TPMA_STARTUP_CLEAR Bits <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1369 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1370 | unsigned int phEnable : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1371 | unsigned int shEnable : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1372 | unsigned int ehEnable : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1373 | unsigned int reserved4 : 28; |
| LordOfDorks | 1:fd0a59e55a85 | 1374 | unsigned int orderly : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1375 | } TPMA_STARTUP_CLEAR ; |
| LordOfDorks | 1:fd0a59e55a85 | 1376 | |
| LordOfDorks | 1:fd0a59e55a85 | 1377 | // Table 35 -- TPMA_MEMORY Bits <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1378 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1379 | unsigned int sharedRAM : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1380 | unsigned int sharedNV : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1381 | unsigned int objectCopiedToRam : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1382 | unsigned int reserved4 : 29; |
| LordOfDorks | 1:fd0a59e55a85 | 1383 | } TPMA_MEMORY ; |
| LordOfDorks | 1:fd0a59e55a85 | 1384 | |
| LordOfDorks | 1:fd0a59e55a85 | 1385 | // Table 36 -- TPMA_CC Bits <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1386 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1387 | unsigned int commandIndex : 16; |
| LordOfDorks | 1:fd0a59e55a85 | 1388 | unsigned int reserved2 : 6; |
| LordOfDorks | 1:fd0a59e55a85 | 1389 | unsigned int nv : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1390 | unsigned int extensive : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1391 | unsigned int flushed : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1392 | unsigned int cHandles : 3; |
| LordOfDorks | 1:fd0a59e55a85 | 1393 | unsigned int rHandle : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1394 | unsigned int V : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 1395 | unsigned int reserved9 : 2; |
| LordOfDorks | 1:fd0a59e55a85 | 1396 | } TPMA_CC ; |
| LordOfDorks | 1:fd0a59e55a85 | 1397 | |
| LordOfDorks | 1:fd0a59e55a85 | 1398 | // Table 37 -- TPMI_YES_NO Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1399 | typedef BYTE TPMI_YES_NO; |
| LordOfDorks | 1:fd0a59e55a85 | 1400 | |
| LordOfDorks | 1:fd0a59e55a85 | 1401 | |
| LordOfDorks | 1:fd0a59e55a85 | 1402 | // Table 38 -- TPMI_DH_OBJECT Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1403 | typedef TPM_HANDLE TPMI_DH_OBJECT; |
| LordOfDorks | 1:fd0a59e55a85 | 1404 | |
| LordOfDorks | 1:fd0a59e55a85 | 1405 | |
| LordOfDorks | 1:fd0a59e55a85 | 1406 | // Table 39 -- TPMI_DH_PERSISTENT Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1407 | typedef TPM_HANDLE TPMI_DH_PERSISTENT; |
| LordOfDorks | 1:fd0a59e55a85 | 1408 | |
| LordOfDorks | 1:fd0a59e55a85 | 1409 | |
| LordOfDorks | 1:fd0a59e55a85 | 1410 | // Table 40 -- TPMI_DH_ENTITY Type <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1411 | typedef TPM_HANDLE TPMI_DH_ENTITY; |
| LordOfDorks | 1:fd0a59e55a85 | 1412 | |
| LordOfDorks | 1:fd0a59e55a85 | 1413 | |
| LordOfDorks | 1:fd0a59e55a85 | 1414 | // Table 41 -- TPMI_DH_PCR Type <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1415 | typedef TPM_HANDLE TPMI_DH_PCR; |
| LordOfDorks | 1:fd0a59e55a85 | 1416 | |
| LordOfDorks | 1:fd0a59e55a85 | 1417 | |
| LordOfDorks | 1:fd0a59e55a85 | 1418 | // Table 42 -- TPMI_SH_AUTH_SESSION Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1419 | typedef TPM_HANDLE TPMI_SH_AUTH_SESSION; |
| LordOfDorks | 1:fd0a59e55a85 | 1420 | |
| LordOfDorks | 1:fd0a59e55a85 | 1421 | |
| LordOfDorks | 1:fd0a59e55a85 | 1422 | // Table 43 -- TPMI_SH_HMAC Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1423 | typedef TPM_HANDLE TPMI_SH_HMAC; |
| LordOfDorks | 1:fd0a59e55a85 | 1424 | |
| LordOfDorks | 1:fd0a59e55a85 | 1425 | |
| LordOfDorks | 1:fd0a59e55a85 | 1426 | // Table 44 -- TPMI_SH_POLICY Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1427 | typedef TPM_HANDLE TPMI_SH_POLICY; |
| LordOfDorks | 1:fd0a59e55a85 | 1428 | |
| LordOfDorks | 1:fd0a59e55a85 | 1429 | |
| LordOfDorks | 1:fd0a59e55a85 | 1430 | // Table 45 -- TPMI_DH_CONTEXT Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1431 | typedef TPM_HANDLE TPMI_DH_CONTEXT; |
| LordOfDorks | 1:fd0a59e55a85 | 1432 | |
| LordOfDorks | 1:fd0a59e55a85 | 1433 | |
| LordOfDorks | 1:fd0a59e55a85 | 1434 | // Table 46 -- TPMI_RH_HIERARCHY Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1435 | typedef TPM_HANDLE TPMI_RH_HIERARCHY; |
| LordOfDorks | 1:fd0a59e55a85 | 1436 | |
| LordOfDorks | 1:fd0a59e55a85 | 1437 | |
| LordOfDorks | 1:fd0a59e55a85 | 1438 | // Table 47 -- TPMI_RH_HIERARCHY_AUTH Type <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1439 | typedef TPM_HANDLE TPMI_RH_HIERARCHY_AUTH; |
| LordOfDorks | 1:fd0a59e55a85 | 1440 | |
| LordOfDorks | 1:fd0a59e55a85 | 1441 | |
| LordOfDorks | 1:fd0a59e55a85 | 1442 | // Table 48 -- TPMI_RH_PLATFORM Type <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1443 | typedef TPM_HANDLE TPMI_RH_PLATFORM; |
| LordOfDorks | 1:fd0a59e55a85 | 1444 | |
| LordOfDorks | 1:fd0a59e55a85 | 1445 | |
| LordOfDorks | 1:fd0a59e55a85 | 1446 | // Table 49 -- TPMI_RH_OWNER Type <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1447 | typedef TPM_HANDLE TPMI_RH_OWNER; |
| LordOfDorks | 1:fd0a59e55a85 | 1448 | |
| LordOfDorks | 1:fd0a59e55a85 | 1449 | |
| LordOfDorks | 1:fd0a59e55a85 | 1450 | // Table 50 -- TPMI_RH_ENDORSEMENT Type <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1451 | typedef TPM_HANDLE TPMI_RH_ENDORSEMENT; |
| LordOfDorks | 1:fd0a59e55a85 | 1452 | |
| LordOfDorks | 1:fd0a59e55a85 | 1453 | |
| LordOfDorks | 1:fd0a59e55a85 | 1454 | // Table 51 -- TPMI_RH_PROVISION Type <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1455 | typedef TPM_HANDLE TPMI_RH_PROVISION; |
| LordOfDorks | 1:fd0a59e55a85 | 1456 | |
| LordOfDorks | 1:fd0a59e55a85 | 1457 | |
| LordOfDorks | 1:fd0a59e55a85 | 1458 | // Table 52 -- TPMI_RH_CLEAR Type <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1459 | typedef TPM_HANDLE TPMI_RH_CLEAR; |
| LordOfDorks | 1:fd0a59e55a85 | 1460 | |
| LordOfDorks | 1:fd0a59e55a85 | 1461 | |
| LordOfDorks | 1:fd0a59e55a85 | 1462 | // Table 53 -- TPMI_RH_NV_AUTH Type <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1463 | typedef TPM_HANDLE TPMI_RH_NV_AUTH; |
| LordOfDorks | 1:fd0a59e55a85 | 1464 | |
| LordOfDorks | 1:fd0a59e55a85 | 1465 | |
| LordOfDorks | 1:fd0a59e55a85 | 1466 | // Table 54 -- TPMI_RH_LOCKOUT Type <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1467 | typedef TPM_HANDLE TPMI_RH_LOCKOUT; |
| LordOfDorks | 1:fd0a59e55a85 | 1468 | |
| LordOfDorks | 1:fd0a59e55a85 | 1469 | |
| LordOfDorks | 1:fd0a59e55a85 | 1470 | // Table 55 -- TPMI_RH_NV_INDEX Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1471 | typedef TPM_HANDLE TPMI_RH_NV_INDEX; |
| LordOfDorks | 1:fd0a59e55a85 | 1472 | |
| LordOfDorks | 1:fd0a59e55a85 | 1473 | |
| LordOfDorks | 1:fd0a59e55a85 | 1474 | // Table 56 -- TPMI_ALG_HASH Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1475 | typedef TPM_ALG_ID TPMI_ALG_HASH; |
| LordOfDorks | 1:fd0a59e55a85 | 1476 | |
| LordOfDorks | 1:fd0a59e55a85 | 1477 | |
| LordOfDorks | 1:fd0a59e55a85 | 1478 | // Table 57 -- TPMI_ALG_ASYM Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1479 | typedef TPM_ALG_ID TPMI_ALG_ASYM; |
| LordOfDorks | 1:fd0a59e55a85 | 1480 | |
| LordOfDorks | 1:fd0a59e55a85 | 1481 | |
| LordOfDorks | 1:fd0a59e55a85 | 1482 | // Table 58 -- TPMI_ALG_SYM Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1483 | typedef TPM_ALG_ID TPMI_ALG_SYM; |
| LordOfDorks | 1:fd0a59e55a85 | 1484 | |
| LordOfDorks | 1:fd0a59e55a85 | 1485 | |
| LordOfDorks | 1:fd0a59e55a85 | 1486 | // Table 59 -- TPMI_ALG_SYM_OBJECT Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1487 | typedef TPM_ALG_ID TPMI_ALG_SYM_OBJECT; |
| LordOfDorks | 1:fd0a59e55a85 | 1488 | |
| LordOfDorks | 1:fd0a59e55a85 | 1489 | |
| LordOfDorks | 1:fd0a59e55a85 | 1490 | // Table 60 -- TPMI_ALG_SYM_MODE Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1491 | typedef TPM_ALG_ID TPMI_ALG_SYM_MODE; |
| LordOfDorks | 1:fd0a59e55a85 | 1492 | |
| LordOfDorks | 1:fd0a59e55a85 | 1493 | |
| LordOfDorks | 1:fd0a59e55a85 | 1494 | // Table 61 -- TPMI_ALG_KDF Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1495 | typedef TPM_ALG_ID TPMI_ALG_KDF; |
| LordOfDorks | 1:fd0a59e55a85 | 1496 | |
| LordOfDorks | 1:fd0a59e55a85 | 1497 | |
| LordOfDorks | 1:fd0a59e55a85 | 1498 | // Table 62 -- TPMI_ALG_SIG_SCHEME Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1499 | typedef TPM_ALG_ID TPMI_ALG_SIG_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 1500 | |
| LordOfDorks | 1:fd0a59e55a85 | 1501 | |
| LordOfDorks | 1:fd0a59e55a85 | 1502 | // Table 63 -- TPMI_ECC_KEY_EXCHANGE Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1503 | typedef TPM_ALG_ID TPMI_ECC_KEY_EXCHANGE; |
| LordOfDorks | 1:fd0a59e55a85 | 1504 | |
| LordOfDorks | 1:fd0a59e55a85 | 1505 | |
| LordOfDorks | 1:fd0a59e55a85 | 1506 | // Table 64 -- TPMI_ST_COMMAND_TAG Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1507 | typedef TPM_ST TPMI_ST_COMMAND_TAG; |
| LordOfDorks | 1:fd0a59e55a85 | 1508 | |
| LordOfDorks | 1:fd0a59e55a85 | 1509 | |
| LordOfDorks | 1:fd0a59e55a85 | 1510 | // Table 65 -- TPMS_ALGORITHM_DESCRIPTION Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1511 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1512 | TPM_ALG_ID alg; |
| LordOfDorks | 1:fd0a59e55a85 | 1513 | TPMA_ALGORITHM attributes; |
| LordOfDorks | 1:fd0a59e55a85 | 1514 | } TPMS_ALGORITHM_DESCRIPTION; |
| LordOfDorks | 1:fd0a59e55a85 | 1515 | |
| LordOfDorks | 1:fd0a59e55a85 | 1516 | // Table 66 -- TPMU_HA Union <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1517 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1518 | #ifdef TPM_ALG_SHA1 |
| LordOfDorks | 1:fd0a59e55a85 | 1519 | BYTE sha1[SHA1_DIGEST_SIZE]; |
| LordOfDorks | 1:fd0a59e55a85 | 1520 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1521 | #ifdef TPM_ALG_SHA256 |
| LordOfDorks | 1:fd0a59e55a85 | 1522 | BYTE sha256[SHA256_DIGEST_SIZE]; |
| LordOfDorks | 1:fd0a59e55a85 | 1523 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1524 | #ifdef TPM_ALG_SM3_256 |
| LordOfDorks | 1:fd0a59e55a85 | 1525 | BYTE sm3_256[SM3_256_DIGEST_SIZE]; |
| LordOfDorks | 1:fd0a59e55a85 | 1526 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1527 | #ifdef TPM_ALG_SHA384 |
| LordOfDorks | 1:fd0a59e55a85 | 1528 | BYTE sha384[SHA384_DIGEST_SIZE]; |
| LordOfDorks | 1:fd0a59e55a85 | 1529 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1530 | #ifdef TPM_ALG_SHA512 |
| LordOfDorks | 1:fd0a59e55a85 | 1531 | BYTE sha512[SHA512_DIGEST_SIZE]; |
| LordOfDorks | 1:fd0a59e55a85 | 1532 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1533 | |
| LordOfDorks | 1:fd0a59e55a85 | 1534 | } TPMU_HA ; |
| LordOfDorks | 1:fd0a59e55a85 | 1535 | |
| LordOfDorks | 1:fd0a59e55a85 | 1536 | |
| LordOfDorks | 1:fd0a59e55a85 | 1537 | // Table 67 -- TPMT_HA Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1538 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1539 | TPMI_ALG_HASH hashAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 1540 | TPMU_HA digest; |
| LordOfDorks | 1:fd0a59e55a85 | 1541 | } TPMT_HA; |
| LordOfDorks | 1:fd0a59e55a85 | 1542 | |
| LordOfDorks | 1:fd0a59e55a85 | 1543 | // Table 68 -- TPM2B_DIGEST Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1544 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1545 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1546 | BYTE buffer[sizeof(TPMU_HA)]; |
| LordOfDorks | 1:fd0a59e55a85 | 1547 | } DIGEST_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1548 | |
| LordOfDorks | 1:fd0a59e55a85 | 1549 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1550 | DIGEST_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1551 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1552 | } TPM2B_DIGEST; |
| LordOfDorks | 1:fd0a59e55a85 | 1553 | |
| LordOfDorks | 1:fd0a59e55a85 | 1554 | // Table 69 -- TPM2B_DATA Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1555 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1556 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1557 | BYTE buffer[sizeof(TPMT_HA)]; |
| LordOfDorks | 1:fd0a59e55a85 | 1558 | } DATA_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1559 | |
| LordOfDorks | 1:fd0a59e55a85 | 1560 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1561 | DATA_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1562 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1563 | } TPM2B_DATA; |
| LordOfDorks | 1:fd0a59e55a85 | 1564 | |
| LordOfDorks | 1:fd0a59e55a85 | 1565 | // Table 70 -- TPM2B_NONCE Types <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1566 | typedef TPM2B_DIGEST TPM2B_NONCE; |
| LordOfDorks | 1:fd0a59e55a85 | 1567 | |
| LordOfDorks | 1:fd0a59e55a85 | 1568 | // Table 71 -- TPM2B_AUTH Types <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1569 | typedef TPM2B_DIGEST TPM2B_AUTH; |
| LordOfDorks | 1:fd0a59e55a85 | 1570 | |
| LordOfDorks | 1:fd0a59e55a85 | 1571 | // Table 72 -- TPM2B_OPERAND Types <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1572 | typedef TPM2B_DIGEST TPM2B_OPERAND; |
| LordOfDorks | 1:fd0a59e55a85 | 1573 | |
| LordOfDorks | 1:fd0a59e55a85 | 1574 | // Table 73 -- TPM2B_EVENT Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1575 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1576 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1577 | BYTE buffer[1024]; |
| LordOfDorks | 1:fd0a59e55a85 | 1578 | } EVENT_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1579 | |
| LordOfDorks | 1:fd0a59e55a85 | 1580 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1581 | EVENT_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1582 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1583 | } TPM2B_EVENT; |
| LordOfDorks | 1:fd0a59e55a85 | 1584 | |
| LordOfDorks | 1:fd0a59e55a85 | 1585 | // Table 74 -- TPM2B_MAX_BUFFER Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1586 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1587 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1588 | BYTE buffer[MAX_DIGEST_BUFFER]; |
| LordOfDorks | 1:fd0a59e55a85 | 1589 | } MAX_BUFFER_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1590 | |
| LordOfDorks | 1:fd0a59e55a85 | 1591 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1592 | MAX_BUFFER_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1593 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1594 | } TPM2B_MAX_BUFFER; |
| LordOfDorks | 1:fd0a59e55a85 | 1595 | |
| LordOfDorks | 1:fd0a59e55a85 | 1596 | // Table 75 -- TPM2B_MAX_NV_BUFFER Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1597 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1598 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1599 | BYTE buffer[MAX_NV_INDEX_SIZE]; |
| LordOfDorks | 1:fd0a59e55a85 | 1600 | } MAX_NV_BUFFER_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1601 | |
| LordOfDorks | 1:fd0a59e55a85 | 1602 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1603 | MAX_NV_BUFFER_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1604 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1605 | } TPM2B_MAX_NV_BUFFER; |
| LordOfDorks | 1:fd0a59e55a85 | 1606 | |
| LordOfDorks | 1:fd0a59e55a85 | 1607 | // Table 76 -- TPM2B_TIMEOUT Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1608 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1609 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1610 | BYTE buffer[sizeof(UINT64)]; |
| LordOfDorks | 1:fd0a59e55a85 | 1611 | } TIMEOUT_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1612 | |
| LordOfDorks | 1:fd0a59e55a85 | 1613 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1614 | TIMEOUT_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1615 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1616 | } TPM2B_TIMEOUT; |
| LordOfDorks | 1:fd0a59e55a85 | 1617 | |
| LordOfDorks | 1:fd0a59e55a85 | 1618 | // Table 77 -- TPM2B_IV Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1619 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1620 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1621 | BYTE buffer[MAX_SYM_BLOCK_SIZE]; |
| LordOfDorks | 1:fd0a59e55a85 | 1622 | } IV_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1623 | |
| LordOfDorks | 1:fd0a59e55a85 | 1624 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1625 | IV_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1626 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1627 | } TPM2B_IV; |
| LordOfDorks | 1:fd0a59e55a85 | 1628 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1629 | TPMT_HA digest; |
| LordOfDorks | 1:fd0a59e55a85 | 1630 | TPM_HANDLE handle; |
| LordOfDorks | 1:fd0a59e55a85 | 1631 | |
| LordOfDorks | 1:fd0a59e55a85 | 1632 | } TPMU_NAME ; |
| LordOfDorks | 1:fd0a59e55a85 | 1633 | |
| LordOfDorks | 1:fd0a59e55a85 | 1634 | |
| LordOfDorks | 1:fd0a59e55a85 | 1635 | // Table 79 -- TPM2B_NAME Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1636 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1637 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1638 | BYTE name[sizeof(TPMU_NAME)]; |
| LordOfDorks | 1:fd0a59e55a85 | 1639 | } NAME_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1640 | |
| LordOfDorks | 1:fd0a59e55a85 | 1641 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1642 | NAME_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1643 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1644 | } TPM2B_NAME; |
| LordOfDorks | 1:fd0a59e55a85 | 1645 | |
| LordOfDorks | 1:fd0a59e55a85 | 1646 | // Table 80 -- TPMS_PCR_SELECT Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1647 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1648 | UINT8 sizeofSelect; |
| LordOfDorks | 1:fd0a59e55a85 | 1649 | BYTE pcrSelect[PCR_SELECT_MAX]; |
| LordOfDorks | 1:fd0a59e55a85 | 1650 | } TPMS_PCR_SELECT; |
| LordOfDorks | 1:fd0a59e55a85 | 1651 | |
| LordOfDorks | 1:fd0a59e55a85 | 1652 | // Table 81 -- TPMS_PCR_SELECTION Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1653 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1654 | TPMI_ALG_HASH hash; |
| LordOfDorks | 1:fd0a59e55a85 | 1655 | UINT8 sizeofSelect; |
| LordOfDorks | 1:fd0a59e55a85 | 1656 | BYTE pcrSelect[PCR_SELECT_MAX]; |
| LordOfDorks | 1:fd0a59e55a85 | 1657 | } TPMS_PCR_SELECTION; |
| LordOfDorks | 1:fd0a59e55a85 | 1658 | |
| LordOfDorks | 1:fd0a59e55a85 | 1659 | // Table 84 -- TPMT_TK_CREATION Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1660 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1661 | TPM_ST tag; |
| LordOfDorks | 1:fd0a59e55a85 | 1662 | TPMI_RH_HIERARCHY hierarchy; |
| LordOfDorks | 1:fd0a59e55a85 | 1663 | TPM2B_DIGEST digest; |
| LordOfDorks | 1:fd0a59e55a85 | 1664 | } TPMT_TK_CREATION; |
| LordOfDorks | 1:fd0a59e55a85 | 1665 | |
| LordOfDorks | 1:fd0a59e55a85 | 1666 | // Table 85 -- TPMT_TK_VERIFIED Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1667 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1668 | TPM_ST tag; |
| LordOfDorks | 1:fd0a59e55a85 | 1669 | TPMI_RH_HIERARCHY hierarchy; |
| LordOfDorks | 1:fd0a59e55a85 | 1670 | TPM2B_DIGEST digest; |
| LordOfDorks | 1:fd0a59e55a85 | 1671 | } TPMT_TK_VERIFIED; |
| LordOfDorks | 1:fd0a59e55a85 | 1672 | |
| LordOfDorks | 1:fd0a59e55a85 | 1673 | // Table 86 -- TPMT_TK_AUTH Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1674 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1675 | TPM_ST tag; |
| LordOfDorks | 1:fd0a59e55a85 | 1676 | TPMI_RH_HIERARCHY hierarchy; |
| LordOfDorks | 1:fd0a59e55a85 | 1677 | TPM2B_DIGEST digest; |
| LordOfDorks | 1:fd0a59e55a85 | 1678 | } TPMT_TK_AUTH; |
| LordOfDorks | 1:fd0a59e55a85 | 1679 | |
| LordOfDorks | 1:fd0a59e55a85 | 1680 | // Table 87 -- TPMT_TK_HASHCHECK Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1681 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1682 | TPM_ST tag; |
| LordOfDorks | 1:fd0a59e55a85 | 1683 | TPMI_RH_HIERARCHY hierarchy; |
| LordOfDorks | 1:fd0a59e55a85 | 1684 | TPM2B_DIGEST digest; |
| LordOfDorks | 1:fd0a59e55a85 | 1685 | } TPMT_TK_HASHCHECK; |
| LordOfDorks | 1:fd0a59e55a85 | 1686 | |
| LordOfDorks | 1:fd0a59e55a85 | 1687 | // Table 88 -- TPMS_ALG_PROPERTY Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1688 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1689 | TPM_ALG_ID alg; |
| LordOfDorks | 1:fd0a59e55a85 | 1690 | TPMA_ALGORITHM algProperties; |
| LordOfDorks | 1:fd0a59e55a85 | 1691 | } TPMS_ALG_PROPERTY; |
| LordOfDorks | 1:fd0a59e55a85 | 1692 | |
| LordOfDorks | 1:fd0a59e55a85 | 1693 | // Table 89 -- TPMS_TAGGED_PROPERTY Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1694 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1695 | TPM_PT property; |
| LordOfDorks | 1:fd0a59e55a85 | 1696 | UINT32 value; |
| LordOfDorks | 1:fd0a59e55a85 | 1697 | } TPMS_TAGGED_PROPERTY; |
| LordOfDorks | 1:fd0a59e55a85 | 1698 | |
| LordOfDorks | 1:fd0a59e55a85 | 1699 | // Table 90 -- TPMS_TAGGED_PCR_SELECT Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1700 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1701 | TPM_PT tag; |
| LordOfDorks | 1:fd0a59e55a85 | 1702 | UINT8 sizeofSelect; |
| LordOfDorks | 1:fd0a59e55a85 | 1703 | BYTE pcrSelect[PCR_SELECT_MAX]; |
| LordOfDorks | 1:fd0a59e55a85 | 1704 | } TPMS_TAGGED_PCR_SELECT; |
| LordOfDorks | 1:fd0a59e55a85 | 1705 | |
| LordOfDorks | 1:fd0a59e55a85 | 1706 | // Table 91 -- TPML_CC Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1707 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1708 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1709 | TPM_CC commandCodes[MAX_CAP_CC]; |
| LordOfDorks | 1:fd0a59e55a85 | 1710 | } TPML_CC; |
| LordOfDorks | 1:fd0a59e55a85 | 1711 | |
| LordOfDorks | 1:fd0a59e55a85 | 1712 | // Table 92 -- TPML_CCA Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1713 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1714 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1715 | TPMA_CC commandAttributes[MAX_CAP_CC]; |
| LordOfDorks | 1:fd0a59e55a85 | 1716 | } TPML_CCA; |
| LordOfDorks | 1:fd0a59e55a85 | 1717 | |
| LordOfDorks | 1:fd0a59e55a85 | 1718 | // Table 93 -- TPML_ALG Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1719 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1720 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1721 | TPM_ALG_ID algorithms[MAX_ALG_LIST_SIZE]; |
| LordOfDorks | 1:fd0a59e55a85 | 1722 | } TPML_ALG; |
| LordOfDorks | 1:fd0a59e55a85 | 1723 | |
| LordOfDorks | 1:fd0a59e55a85 | 1724 | // Table 94 -- TPML_HANDLE Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1725 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1726 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1727 | TPM_HANDLE handle[MAX_CAP_HANDLES]; |
| LordOfDorks | 1:fd0a59e55a85 | 1728 | } TPML_HANDLE; |
| LordOfDorks | 1:fd0a59e55a85 | 1729 | |
| LordOfDorks | 1:fd0a59e55a85 | 1730 | // Table 95 -- TPML_DIGEST Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1731 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1732 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1733 | TPM2B_DIGEST digests[8]; |
| LordOfDorks | 1:fd0a59e55a85 | 1734 | } TPML_DIGEST; |
| LordOfDorks | 1:fd0a59e55a85 | 1735 | |
| LordOfDorks | 1:fd0a59e55a85 | 1736 | // Table 96 -- TPML_DIGEST_VALUES Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1737 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1738 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1739 | TPMT_HA digests[HASH_COUNT]; |
| LordOfDorks | 1:fd0a59e55a85 | 1740 | } TPML_DIGEST_VALUES; |
| LordOfDorks | 1:fd0a59e55a85 | 1741 | |
| LordOfDorks | 1:fd0a59e55a85 | 1742 | // Table 97 -- TPM2B_DIGEST_VALUES Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1743 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1744 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1745 | BYTE buffer[sizeof(TPML_DIGEST_VALUES)]; |
| LordOfDorks | 1:fd0a59e55a85 | 1746 | } DIGEST_VALUES_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1747 | |
| LordOfDorks | 1:fd0a59e55a85 | 1748 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1749 | DIGEST_VALUES_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1750 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1751 | } TPM2B_DIGEST_VALUES; |
| LordOfDorks | 1:fd0a59e55a85 | 1752 | |
| LordOfDorks | 1:fd0a59e55a85 | 1753 | // Table 98 -- TPML_PCR_SELECTION Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1754 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1755 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1756 | TPMS_PCR_SELECTION pcrSelections[HASH_COUNT]; |
| LordOfDorks | 1:fd0a59e55a85 | 1757 | } TPML_PCR_SELECTION; |
| LordOfDorks | 1:fd0a59e55a85 | 1758 | |
| LordOfDorks | 1:fd0a59e55a85 | 1759 | // Table 99 -- TPML_ALG_PROPERTY Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1760 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1761 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1762 | TPMS_ALG_PROPERTY algProperties[MAX_CAP_ALGS]; |
| LordOfDorks | 1:fd0a59e55a85 | 1763 | } TPML_ALG_PROPERTY; |
| LordOfDorks | 1:fd0a59e55a85 | 1764 | |
| LordOfDorks | 1:fd0a59e55a85 | 1765 | // Table 100 -- TPML_TAGGED_TPM_PROPERTY Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1766 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1767 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1768 | TPMS_TAGGED_PROPERTY tpmProperty[MAX_TPM_PROPERTIES]; |
| LordOfDorks | 1:fd0a59e55a85 | 1769 | } TPML_TAGGED_TPM_PROPERTY; |
| LordOfDorks | 1:fd0a59e55a85 | 1770 | |
| LordOfDorks | 1:fd0a59e55a85 | 1771 | // Table 101 -- TPML_TAGGED_PCR_PROPERTY Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1772 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1773 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1774 | TPMS_TAGGED_PCR_SELECT pcrProperty[MAX_PCR_PROPERTIES]; |
| LordOfDorks | 1:fd0a59e55a85 | 1775 | } TPML_TAGGED_PCR_PROPERTY; |
| LordOfDorks | 1:fd0a59e55a85 | 1776 | |
| LordOfDorks | 1:fd0a59e55a85 | 1777 | // Table 102 -- TPML_ECC_CURVE Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1778 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1779 | UINT32 count; |
| LordOfDorks | 1:fd0a59e55a85 | 1780 | TPM_ECC_CURVE eccCurves[MAX_ECC_CURVES]; |
| LordOfDorks | 1:fd0a59e55a85 | 1781 | } TPML_ECC_CURVE; |
| LordOfDorks | 1:fd0a59e55a85 | 1782 | |
| LordOfDorks | 1:fd0a59e55a85 | 1783 | // Table 103 -- TPMU_CAPABILITIES Union <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1784 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1785 | TPML_ALG_PROPERTY algorithms; |
| LordOfDorks | 1:fd0a59e55a85 | 1786 | TPML_HANDLE handles; |
| LordOfDorks | 1:fd0a59e55a85 | 1787 | TPML_CCA command; |
| LordOfDorks | 1:fd0a59e55a85 | 1788 | TPML_CC ppCommands; |
| LordOfDorks | 1:fd0a59e55a85 | 1789 | TPML_CC auditCommands; |
| LordOfDorks | 1:fd0a59e55a85 | 1790 | TPML_PCR_SELECTION assignedPCR; |
| LordOfDorks | 1:fd0a59e55a85 | 1791 | TPML_TAGGED_TPM_PROPERTY tpmProperties; |
| LordOfDorks | 1:fd0a59e55a85 | 1792 | TPML_TAGGED_PCR_PROPERTY pcrProperties; |
| LordOfDorks | 1:fd0a59e55a85 | 1793 | #ifdef TPM_ALG_ECC |
| LordOfDorks | 1:fd0a59e55a85 | 1794 | TPML_ECC_CURVE eccCurves; |
| LordOfDorks | 1:fd0a59e55a85 | 1795 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1796 | |
| LordOfDorks | 1:fd0a59e55a85 | 1797 | } TPMU_CAPABILITIES ; |
| LordOfDorks | 1:fd0a59e55a85 | 1798 | |
| LordOfDorks | 1:fd0a59e55a85 | 1799 | |
| LordOfDorks | 1:fd0a59e55a85 | 1800 | // Table 104 -- TPMS_CAPABILITY_DATA Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1801 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1802 | TPM_CAP capability; |
| LordOfDorks | 1:fd0a59e55a85 | 1803 | TPMU_CAPABILITIES data; |
| LordOfDorks | 1:fd0a59e55a85 | 1804 | } TPMS_CAPABILITY_DATA; |
| LordOfDorks | 1:fd0a59e55a85 | 1805 | |
| LordOfDorks | 1:fd0a59e55a85 | 1806 | // Table 105 -- TPMS_CLOCK_INFO Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1807 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1808 | UINT64 clock; |
| LordOfDorks | 1:fd0a59e55a85 | 1809 | UINT32 resetCount; |
| LordOfDorks | 1:fd0a59e55a85 | 1810 | UINT32 restartCount; |
| LordOfDorks | 1:fd0a59e55a85 | 1811 | TPMI_YES_NO safe; |
| LordOfDorks | 1:fd0a59e55a85 | 1812 | } TPMS_CLOCK_INFO; |
| LordOfDorks | 1:fd0a59e55a85 | 1813 | |
| LordOfDorks | 1:fd0a59e55a85 | 1814 | // Table 106 -- TPMS_TIME_INFO Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1815 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1816 | UINT64 time; |
| LordOfDorks | 1:fd0a59e55a85 | 1817 | TPMS_CLOCK_INFO clockInfo; |
| LordOfDorks | 1:fd0a59e55a85 | 1818 | } TPMS_TIME_INFO; |
| LordOfDorks | 1:fd0a59e55a85 | 1819 | |
| LordOfDorks | 1:fd0a59e55a85 | 1820 | // Table 107 -- TPMS_TIME_ATTEST_INFO Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1821 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1822 | TPMS_TIME_INFO time; |
| LordOfDorks | 1:fd0a59e55a85 | 1823 | UINT64 firmwareVersion; |
| LordOfDorks | 1:fd0a59e55a85 | 1824 | } TPMS_TIME_ATTEST_INFO; |
| LordOfDorks | 1:fd0a59e55a85 | 1825 | |
| LordOfDorks | 1:fd0a59e55a85 | 1826 | // Table 108 -- TPMS_CERTIFY_INFO Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1827 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1828 | TPM2B_NAME name; |
| LordOfDorks | 1:fd0a59e55a85 | 1829 | TPM2B_NAME qualifiedName; |
| LordOfDorks | 1:fd0a59e55a85 | 1830 | } TPMS_CERTIFY_INFO; |
| LordOfDorks | 1:fd0a59e55a85 | 1831 | |
| LordOfDorks | 1:fd0a59e55a85 | 1832 | // Table 109 -- TPMS_QUOTE_INFO Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1833 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1834 | TPML_PCR_SELECTION pcrSelect; |
| LordOfDorks | 1:fd0a59e55a85 | 1835 | TPM2B_DIGEST pcrDigest; |
| LordOfDorks | 1:fd0a59e55a85 | 1836 | } TPMS_QUOTE_INFO; |
| LordOfDorks | 1:fd0a59e55a85 | 1837 | |
| LordOfDorks | 1:fd0a59e55a85 | 1838 | // Table 110 -- TPMS_COMMAND_AUDIT_INFO Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1839 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1840 | UINT64 auditCounter; |
| LordOfDorks | 1:fd0a59e55a85 | 1841 | TPM_ALG_ID digestAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 1842 | TPM2B_DIGEST auditDigest; |
| LordOfDorks | 1:fd0a59e55a85 | 1843 | TPM2B_DIGEST commandDigest; |
| LordOfDorks | 1:fd0a59e55a85 | 1844 | } TPMS_COMMAND_AUDIT_INFO; |
| LordOfDorks | 1:fd0a59e55a85 | 1845 | |
| LordOfDorks | 1:fd0a59e55a85 | 1846 | // Table 111 -- TPMS_SESSION_AUDIT_INFO Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1847 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1848 | TPMI_YES_NO exclusiveSession; |
| LordOfDorks | 1:fd0a59e55a85 | 1849 | TPM2B_DIGEST sessionDigest; |
| LordOfDorks | 1:fd0a59e55a85 | 1850 | } TPMS_SESSION_AUDIT_INFO; |
| LordOfDorks | 1:fd0a59e55a85 | 1851 | |
| LordOfDorks | 1:fd0a59e55a85 | 1852 | // Table 112 -- TPMS_CREATION_INFO Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1853 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1854 | TPM2B_NAME objectName; |
| LordOfDorks | 1:fd0a59e55a85 | 1855 | TPM2B_DIGEST creationHash; |
| LordOfDorks | 1:fd0a59e55a85 | 1856 | } TPMS_CREATION_INFO; |
| LordOfDorks | 1:fd0a59e55a85 | 1857 | |
| LordOfDorks | 1:fd0a59e55a85 | 1858 | // Table 113 -- TPMS_NV_CERTIFY_INFO Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1859 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1860 | TPM2B_NAME indexName; |
| LordOfDorks | 1:fd0a59e55a85 | 1861 | UINT16 offset; |
| LordOfDorks | 1:fd0a59e55a85 | 1862 | TPM2B_MAX_NV_BUFFER nvContents; |
| LordOfDorks | 1:fd0a59e55a85 | 1863 | } TPMS_NV_CERTIFY_INFO; |
| LordOfDorks | 1:fd0a59e55a85 | 1864 | |
| LordOfDorks | 1:fd0a59e55a85 | 1865 | // Table 114 -- TPMI_ST_ATTEST Type <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1866 | typedef TPM_ST TPMI_ST_ATTEST; |
| LordOfDorks | 1:fd0a59e55a85 | 1867 | |
| LordOfDorks | 1:fd0a59e55a85 | 1868 | |
| LordOfDorks | 1:fd0a59e55a85 | 1869 | // Table 115 -- TPMU_ATTEST Union <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1870 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1871 | TPMS_CERTIFY_INFO certify; |
| LordOfDorks | 1:fd0a59e55a85 | 1872 | TPMS_CREATION_INFO creation; |
| LordOfDorks | 1:fd0a59e55a85 | 1873 | TPMS_QUOTE_INFO quote; |
| LordOfDorks | 1:fd0a59e55a85 | 1874 | TPMS_COMMAND_AUDIT_INFO commandAudit; |
| LordOfDorks | 1:fd0a59e55a85 | 1875 | TPMS_SESSION_AUDIT_INFO sessionAudit; |
| LordOfDorks | 1:fd0a59e55a85 | 1876 | TPMS_TIME_ATTEST_INFO time; |
| LordOfDorks | 1:fd0a59e55a85 | 1877 | TPMS_NV_CERTIFY_INFO nv; |
| LordOfDorks | 1:fd0a59e55a85 | 1878 | |
| LordOfDorks | 1:fd0a59e55a85 | 1879 | } TPMU_ATTEST ; |
| LordOfDorks | 1:fd0a59e55a85 | 1880 | |
| LordOfDorks | 1:fd0a59e55a85 | 1881 | |
| LordOfDorks | 1:fd0a59e55a85 | 1882 | // Table 116 -- TPMS_ATTEST Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1883 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1884 | TPM_GENERATED magic; |
| LordOfDorks | 1:fd0a59e55a85 | 1885 | TPMI_ST_ATTEST type; |
| LordOfDorks | 1:fd0a59e55a85 | 1886 | TPM2B_NAME qualifiedSigner; |
| LordOfDorks | 1:fd0a59e55a85 | 1887 | TPM2B_DATA extraData; |
| LordOfDorks | 1:fd0a59e55a85 | 1888 | TPMS_CLOCK_INFO clockInfo; |
| LordOfDorks | 1:fd0a59e55a85 | 1889 | UINT64 firmwareVersion; |
| LordOfDorks | 1:fd0a59e55a85 | 1890 | TPMU_ATTEST attested; |
| LordOfDorks | 1:fd0a59e55a85 | 1891 | } TPMS_ATTEST; |
| LordOfDorks | 1:fd0a59e55a85 | 1892 | |
| LordOfDorks | 1:fd0a59e55a85 | 1893 | // Table 117 -- TPM2B_ATTEST Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1894 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1895 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1896 | TPMS_ATTEST attestationData; |
| LordOfDorks | 1:fd0a59e55a85 | 1897 | } ATTEST_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1898 | |
| LordOfDorks | 1:fd0a59e55a85 | 1899 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1900 | ATTEST_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1901 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1902 | } TPM2B_ATTEST; |
| LordOfDorks | 1:fd0a59e55a85 | 1903 | |
| LordOfDorks | 1:fd0a59e55a85 | 1904 | // Table 118 -- TPMS_AUTH_COMMAND Structure <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1905 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1906 | TPMI_SH_AUTH_SESSION sessionHandle; |
| LordOfDorks | 1:fd0a59e55a85 | 1907 | TPM2B_NONCE nonce; |
| LordOfDorks | 1:fd0a59e55a85 | 1908 | TPMA_SESSION sessionAttributes; |
| LordOfDorks | 1:fd0a59e55a85 | 1909 | TPM2B_AUTH hmac; |
| LordOfDorks | 1:fd0a59e55a85 | 1910 | } TPMS_AUTH_COMMAND; |
| LordOfDorks | 1:fd0a59e55a85 | 1911 | |
| LordOfDorks | 1:fd0a59e55a85 | 1912 | // Table 119 -- TPMS_AUTH_RESPONSE Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 1913 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1914 | TPM2B_NONCE nonce; |
| LordOfDorks | 1:fd0a59e55a85 | 1915 | TPMA_SESSION sessionAttributes; |
| LordOfDorks | 1:fd0a59e55a85 | 1916 | TPM2B_AUTH hmac; |
| LordOfDorks | 1:fd0a59e55a85 | 1917 | } TPMS_AUTH_RESPONSE; |
| LordOfDorks | 1:fd0a59e55a85 | 1918 | |
| LordOfDorks | 1:fd0a59e55a85 | 1919 | // Table 120 -- TPMI_AES_KEY_BITS Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1920 | typedef TPM_KEY_BITS TPMI_AES_KEY_BITS; |
| LordOfDorks | 1:fd0a59e55a85 | 1921 | |
| LordOfDorks | 1:fd0a59e55a85 | 1922 | |
| LordOfDorks | 1:fd0a59e55a85 | 1923 | // Table 121 -- TPMI_SM4_KEY_BITS Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1924 | typedef TPM_KEY_BITS TPMI_SM4_KEY_BITS; |
| LordOfDorks | 1:fd0a59e55a85 | 1925 | |
| LordOfDorks | 1:fd0a59e55a85 | 1926 | |
| LordOfDorks | 1:fd0a59e55a85 | 1927 | // Table 122 -- TPMU_SYM_KEY_BITS Union <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1928 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1929 | #ifdef TPM_ALG_AES |
| LordOfDorks | 1:fd0a59e55a85 | 1930 | TPMI_AES_KEY_BITS aes; |
| LordOfDorks | 1:fd0a59e55a85 | 1931 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1932 | #ifdef TPM_ALG_SM4 |
| LordOfDorks | 1:fd0a59e55a85 | 1933 | TPMI_SM4_KEY_BITS SM4; |
| LordOfDorks | 1:fd0a59e55a85 | 1934 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1935 | TPM_KEY_BITS sym; |
| LordOfDorks | 1:fd0a59e55a85 | 1936 | #ifdef TPM_ALG_XOR |
| LordOfDorks | 1:fd0a59e55a85 | 1937 | TPMI_ALG_HASH xOr; |
| LordOfDorks | 1:fd0a59e55a85 | 1938 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1939 | |
| LordOfDorks | 1:fd0a59e55a85 | 1940 | } TPMU_SYM_KEY_BITS ; |
| LordOfDorks | 1:fd0a59e55a85 | 1941 | |
| LordOfDorks | 1:fd0a59e55a85 | 1942 | |
| LordOfDorks | 1:fd0a59e55a85 | 1943 | // Table 123 -- TPMU_SYM_MODE Union <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1944 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1945 | #ifdef TPM_ALG_AES |
| LordOfDorks | 1:fd0a59e55a85 | 1946 | TPMI_ALG_SYM_MODE aes; |
| LordOfDorks | 1:fd0a59e55a85 | 1947 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1948 | #ifdef TPM_ALG_SM4 |
| LordOfDorks | 1:fd0a59e55a85 | 1949 | TPMI_ALG_SYM_MODE SM4; |
| LordOfDorks | 1:fd0a59e55a85 | 1950 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 1951 | TPMI_ALG_SYM_MODE sym; |
| LordOfDorks | 1:fd0a59e55a85 | 1952 | |
| LordOfDorks | 1:fd0a59e55a85 | 1953 | } TPMU_SYM_MODE ; |
| LordOfDorks | 1:fd0a59e55a85 | 1954 | |
| LordOfDorks | 1:fd0a59e55a85 | 1955 | |
| LordOfDorks | 1:fd0a59e55a85 | 1956 | // Table 125 -- TPMT_SYM_DEF Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1957 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1958 | TPMI_ALG_SYM algorithm; |
| LordOfDorks | 1:fd0a59e55a85 | 1959 | TPMU_SYM_KEY_BITS keyBits; |
| LordOfDorks | 1:fd0a59e55a85 | 1960 | TPMU_SYM_MODE mode; |
| LordOfDorks | 1:fd0a59e55a85 | 1961 | } TPMT_SYM_DEF; |
| LordOfDorks | 1:fd0a59e55a85 | 1962 | |
| LordOfDorks | 1:fd0a59e55a85 | 1963 | // Table 126 -- TPMT_SYM_DEF_OBJECT Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1964 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1965 | TPMI_ALG_SYM_OBJECT algorithm; |
| LordOfDorks | 1:fd0a59e55a85 | 1966 | TPMU_SYM_KEY_BITS keyBits; |
| LordOfDorks | 1:fd0a59e55a85 | 1967 | TPMU_SYM_MODE mode; |
| LordOfDorks | 1:fd0a59e55a85 | 1968 | } TPMT_SYM_DEF_OBJECT; |
| LordOfDorks | 1:fd0a59e55a85 | 1969 | |
| LordOfDorks | 1:fd0a59e55a85 | 1970 | // Table 127 -- TPM2B_SYM_KEY Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1971 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1972 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1973 | BYTE buffer[MAX_SYM_KEY_BYTES]; |
| LordOfDorks | 1:fd0a59e55a85 | 1974 | } SYM_KEY_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1975 | |
| LordOfDorks | 1:fd0a59e55a85 | 1976 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1977 | SYM_KEY_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1978 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1979 | } TPM2B_SYM_KEY; |
| LordOfDorks | 1:fd0a59e55a85 | 1980 | |
| LordOfDorks | 1:fd0a59e55a85 | 1981 | // Table 128 -- TPMS_SYMCIPHER_PARMS Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1982 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1983 | TPMT_SYM_DEF_OBJECT sym; |
| LordOfDorks | 1:fd0a59e55a85 | 1984 | } TPMS_SYMCIPHER_PARMS; |
| LordOfDorks | 1:fd0a59e55a85 | 1985 | |
| LordOfDorks | 1:fd0a59e55a85 | 1986 | // Table 129 -- TPM2B_SENSITIVE_DATA Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 1987 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1988 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 1989 | BYTE buffer[MAX_SYM_DATA]; |
| LordOfDorks | 1:fd0a59e55a85 | 1990 | } SENSITIVE_DATA_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 1991 | |
| LordOfDorks | 1:fd0a59e55a85 | 1992 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 1993 | SENSITIVE_DATA_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 1994 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 1995 | } TPM2B_SENSITIVE_DATA; |
| LordOfDorks | 1:fd0a59e55a85 | 1996 | |
| LordOfDorks | 1:fd0a59e55a85 | 1997 | // Table 130 -- TPMS_SENSITIVE_CREATE Structure <I> |
| LordOfDorks | 1:fd0a59e55a85 | 1998 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 1999 | TPM2B_AUTH userAuth; |
| LordOfDorks | 1:fd0a59e55a85 | 2000 | TPM2B_SENSITIVE_DATA data; |
| LordOfDorks | 1:fd0a59e55a85 | 2001 | } TPMS_SENSITIVE_CREATE; |
| LordOfDorks | 1:fd0a59e55a85 | 2002 | |
| LordOfDorks | 1:fd0a59e55a85 | 2003 | // Table 131 -- TPM2B_SENSITIVE_CREATE Structure <I,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2004 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2005 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2006 | TPMS_SENSITIVE_CREATE sensitive; |
| LordOfDorks | 1:fd0a59e55a85 | 2007 | } SENSITIVE_CREATE_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2008 | |
| LordOfDorks | 1:fd0a59e55a85 | 2009 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2010 | SENSITIVE_CREATE_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2011 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2012 | } TPM2B_SENSITIVE_CREATE; |
| LordOfDorks | 1:fd0a59e55a85 | 2013 | |
| LordOfDorks | 1:fd0a59e55a85 | 2014 | // Table 132 -- TPMS_SCHEME_SIGHASH Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2015 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2016 | TPMI_ALG_HASH hashAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2017 | } TPMS_SCHEME_SIGHASH; |
| LordOfDorks | 1:fd0a59e55a85 | 2018 | |
| LordOfDorks | 1:fd0a59e55a85 | 2019 | // Table 133 -- TPMI_ALG_KEYEDHASH_SCHEME Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2020 | typedef TPM_ALG_ID TPMI_ALG_KEYEDHASH_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 2021 | |
| LordOfDorks | 1:fd0a59e55a85 | 2022 | |
| LordOfDorks | 1:fd0a59e55a85 | 2023 | // Table 134 -- HMAC_SIG_SCHEME Types <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2024 | typedef TPMS_SCHEME_SIGHASH TPMS_SCHEME_HMAC; |
| LordOfDorks | 1:fd0a59e55a85 | 2025 | |
| LordOfDorks | 1:fd0a59e55a85 | 2026 | // Table 135 -- TPMS_SCHEME_XOR Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2027 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2028 | TPMI_ALG_HASH hashAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2029 | TPMI_ALG_KDF kdf; |
| LordOfDorks | 1:fd0a59e55a85 | 2030 | } TPMS_SCHEME_XOR; |
| LordOfDorks | 1:fd0a59e55a85 | 2031 | |
| LordOfDorks | 1:fd0a59e55a85 | 2032 | // Table 136 -- TPMU_SCHEME_KEYEDHASH Union <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2033 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2034 | #ifdef TPM_ALG_HMAC |
| LordOfDorks | 1:fd0a59e55a85 | 2035 | TPMS_SCHEME_HMAC hmac; |
| LordOfDorks | 1:fd0a59e55a85 | 2036 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2037 | #ifdef TPM_ALG_XOR |
| LordOfDorks | 1:fd0a59e55a85 | 2038 | TPMS_SCHEME_XOR xOr; |
| LordOfDorks | 1:fd0a59e55a85 | 2039 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2040 | |
| LordOfDorks | 1:fd0a59e55a85 | 2041 | } TPMU_SCHEME_KEYEDHASH ; |
| LordOfDorks | 1:fd0a59e55a85 | 2042 | |
| LordOfDorks | 1:fd0a59e55a85 | 2043 | |
| LordOfDorks | 1:fd0a59e55a85 | 2044 | // Table 137 -- TPMT_KEYEDHASH_SCHEME Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2045 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2046 | TPMI_ALG_KEYEDHASH_SCHEME scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2047 | TPMU_SCHEME_KEYEDHASH details; |
| LordOfDorks | 1:fd0a59e55a85 | 2048 | } TPMT_KEYEDHASH_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 2049 | |
| LordOfDorks | 1:fd0a59e55a85 | 2050 | // Table 138 -- RSA_SIG_SCHEMES Types <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2051 | typedef TPMS_SCHEME_SIGHASH TPMS_SCHEME_RSASSA; |
| LordOfDorks | 1:fd0a59e55a85 | 2052 | typedef TPMS_SCHEME_SIGHASH TPMS_SCHEME_RSAPSS; |
| LordOfDorks | 1:fd0a59e55a85 | 2053 | |
| LordOfDorks | 1:fd0a59e55a85 | 2054 | // Table 139 -- ECC_SIG_SCHEMES Types <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2055 | typedef TPMS_SCHEME_SIGHASH TPMS_SCHEME_ECDSA; |
| LordOfDorks | 1:fd0a59e55a85 | 2056 | typedef TPMS_SCHEME_SIGHASH TPMS_SCHEME_SM2; |
| LordOfDorks | 1:fd0a59e55a85 | 2057 | typedef TPMS_SCHEME_SIGHASH TPMS_SCHEME_ECSCHNORR; |
| LordOfDorks | 1:fd0a59e55a85 | 2058 | |
| LordOfDorks | 1:fd0a59e55a85 | 2059 | // Table 140 -- TPMS_SCHEME_ECDAA Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2060 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2061 | TPMI_ALG_HASH hashAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2062 | UINT16 count; |
| LordOfDorks | 1:fd0a59e55a85 | 2063 | } TPMS_SCHEME_ECDAA; |
| LordOfDorks | 1:fd0a59e55a85 | 2064 | |
| LordOfDorks | 1:fd0a59e55a85 | 2065 | // Table 141 -- TPMU_SIG_SCHEME Union <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2066 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2067 | #ifdef TPM_ALG_RSASSA |
| LordOfDorks | 1:fd0a59e55a85 | 2068 | TPMS_SCHEME_RSASSA rsassa; |
| LordOfDorks | 1:fd0a59e55a85 | 2069 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2070 | #ifdef TPM_ALG_RSAPSS |
| LordOfDorks | 1:fd0a59e55a85 | 2071 | TPMS_SCHEME_RSAPSS rsapss; |
| LordOfDorks | 1:fd0a59e55a85 | 2072 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2073 | #ifdef TPM_ALG_ECDSA |
| LordOfDorks | 1:fd0a59e55a85 | 2074 | TPMS_SCHEME_ECDSA ecdsa; |
| LordOfDorks | 1:fd0a59e55a85 | 2075 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2076 | #ifdef TPM_ALG_SM2 |
| LordOfDorks | 1:fd0a59e55a85 | 2077 | TPMS_SCHEME_SM2 sm2; |
| LordOfDorks | 1:fd0a59e55a85 | 2078 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2079 | #ifdef TPM_ALG_ECDAA |
| LordOfDorks | 1:fd0a59e55a85 | 2080 | TPMS_SCHEME_ECDAA ecdaa; |
| LordOfDorks | 1:fd0a59e55a85 | 2081 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2082 | #ifdef TPM_ALG_ECSCHNORR |
| LordOfDorks | 1:fd0a59e55a85 | 2083 | TPMS_SCHEME_ECSCHNORR ecSchnorr; |
| LordOfDorks | 1:fd0a59e55a85 | 2084 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2085 | #ifdef TPM_ALG_HMAC |
| LordOfDorks | 1:fd0a59e55a85 | 2086 | TPMS_SCHEME_HMAC hmac; |
| LordOfDorks | 1:fd0a59e55a85 | 2087 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2088 | TPMS_SCHEME_SIGHASH any; |
| LordOfDorks | 1:fd0a59e55a85 | 2089 | |
| LordOfDorks | 1:fd0a59e55a85 | 2090 | } TPMU_SIG_SCHEME ; |
| LordOfDorks | 1:fd0a59e55a85 | 2091 | |
| LordOfDorks | 1:fd0a59e55a85 | 2092 | |
| LordOfDorks | 1:fd0a59e55a85 | 2093 | // Table 142 -- TPMT_SIG_SCHEME Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2094 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2095 | TPMI_ALG_SIG_SCHEME scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2096 | TPMU_SIG_SCHEME details; |
| LordOfDorks | 1:fd0a59e55a85 | 2097 | } TPMT_SIG_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 2098 | |
| LordOfDorks | 1:fd0a59e55a85 | 2099 | // Table 143 -- TPMS_SCHEME_OAEP Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2100 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2101 | TPMI_ALG_HASH hashAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2102 | } TPMS_SCHEME_OAEP; |
| LordOfDorks | 1:fd0a59e55a85 | 2103 | |
| LordOfDorks | 1:fd0a59e55a85 | 2104 | // Table 144 -- TPMS_SCHEME_ECDH Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2105 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2106 | TPMI_ALG_HASH hashAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2107 | } TPMS_SCHEME_ECDH; |
| LordOfDorks | 1:fd0a59e55a85 | 2108 | |
| LordOfDorks | 1:fd0a59e55a85 | 2109 | // Table 145 -- TPMS_SCHEME_MGF1 Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2110 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2111 | TPMI_ALG_HASH hashAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2112 | } TPMS_SCHEME_MGF1; |
| LordOfDorks | 1:fd0a59e55a85 | 2113 | |
| LordOfDorks | 1:fd0a59e55a85 | 2114 | // Table 146 -- TPMS_SCHEME_KDF1_SP800_56a Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2115 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2116 | TPMI_ALG_HASH hashAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2117 | } TPMS_SCHEME_KDF1_SP800_56a; |
| LordOfDorks | 1:fd0a59e55a85 | 2118 | |
| LordOfDorks | 1:fd0a59e55a85 | 2119 | // Table 147 -- TPMS_SCHEME_KDF2 Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2120 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2121 | TPMI_ALG_HASH hashAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2122 | } TPMS_SCHEME_KDF2; |
| LordOfDorks | 1:fd0a59e55a85 | 2123 | |
| LordOfDorks | 1:fd0a59e55a85 | 2124 | // Table 148 -- TPMS_SCHEME_KDF1_SP800_108 Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2125 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2126 | TPMI_ALG_HASH hashAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2127 | } TPMS_SCHEME_KDF1_SP800_108; |
| LordOfDorks | 1:fd0a59e55a85 | 2128 | |
| LordOfDorks | 1:fd0a59e55a85 | 2129 | // Table 149 -- TPMU_KDF_SCHEME Union <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2130 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2131 | #ifdef TPM_ALG_MGF1 |
| LordOfDorks | 1:fd0a59e55a85 | 2132 | TPMS_SCHEME_MGF1 mgf1; |
| LordOfDorks | 1:fd0a59e55a85 | 2133 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2134 | #ifdef TPM_ALG_KDF1_SP800_56a |
| LordOfDorks | 1:fd0a59e55a85 | 2135 | TPMS_SCHEME_KDF1_SP800_56a kdf1_SP800_56a; |
| LordOfDorks | 1:fd0a59e55a85 | 2136 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2137 | #ifdef TPM_ALG_KDF2 |
| LordOfDorks | 1:fd0a59e55a85 | 2138 | TPMS_SCHEME_KDF2 kdf2; |
| LordOfDorks | 1:fd0a59e55a85 | 2139 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2140 | #ifdef TPM_ALG_KDF1_SP800_108 |
| LordOfDorks | 1:fd0a59e55a85 | 2141 | TPMS_SCHEME_KDF1_SP800_108 kdf1_sp800_108; |
| LordOfDorks | 1:fd0a59e55a85 | 2142 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2143 | |
| LordOfDorks | 1:fd0a59e55a85 | 2144 | } TPMU_KDF_SCHEME ; |
| LordOfDorks | 1:fd0a59e55a85 | 2145 | |
| LordOfDorks | 1:fd0a59e55a85 | 2146 | |
| LordOfDorks | 1:fd0a59e55a85 | 2147 | // Table 150 -- TPMT_KDF_SCHEME Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2148 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2149 | TPMI_ALG_KDF scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2150 | TPMU_KDF_SCHEME details; |
| LordOfDorks | 1:fd0a59e55a85 | 2151 | } TPMT_KDF_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 2152 | typedef TPM_ALG_ID TPMI_ALG_ASYM_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 2153 | |
| LordOfDorks | 1:fd0a59e55a85 | 2154 | |
| LordOfDorks | 1:fd0a59e55a85 | 2155 | // Table 152 -- TPMU_ASYM_SCHEME Union <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2156 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2157 | #ifdef TPM_ALG_RSASSA |
| LordOfDorks | 1:fd0a59e55a85 | 2158 | TPMS_SCHEME_RSASSA rsassa; |
| LordOfDorks | 1:fd0a59e55a85 | 2159 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2160 | #ifdef TPM_ALG_RSAPSS |
| LordOfDorks | 1:fd0a59e55a85 | 2161 | TPMS_SCHEME_RSAPSS rsapss; |
| LordOfDorks | 1:fd0a59e55a85 | 2162 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2163 | #ifdef TPM_ALG_OAEP |
| LordOfDorks | 1:fd0a59e55a85 | 2164 | TPMS_SCHEME_OAEP oaep; |
| LordOfDorks | 1:fd0a59e55a85 | 2165 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2166 | #ifdef TPM_ALG_ECDSA |
| LordOfDorks | 1:fd0a59e55a85 | 2167 | TPMS_SCHEME_ECDSA ecdsa; |
| LordOfDorks | 1:fd0a59e55a85 | 2168 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2169 | #ifdef TPM_ALG_SM2 |
| LordOfDorks | 1:fd0a59e55a85 | 2170 | TPMS_SCHEME_SM2 sm2; |
| LordOfDorks | 1:fd0a59e55a85 | 2171 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2172 | #ifdef TPM_ALG_ECDAA |
| LordOfDorks | 1:fd0a59e55a85 | 2173 | TPMS_SCHEME_ECDAA ecdaa; |
| LordOfDorks | 1:fd0a59e55a85 | 2174 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2175 | #ifdef TPM_ALG_ECSCHNORR |
| LordOfDorks | 1:fd0a59e55a85 | 2176 | TPMS_SCHEME_ECSCHNORR ecSchnorr; |
| LordOfDorks | 1:fd0a59e55a85 | 2177 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2178 | TPMS_SCHEME_SIGHASH anySig; |
| LordOfDorks | 1:fd0a59e55a85 | 2179 | |
| LordOfDorks | 1:fd0a59e55a85 | 2180 | } TPMU_ASYM_SCHEME ; |
| LordOfDorks | 1:fd0a59e55a85 | 2181 | |
| LordOfDorks | 1:fd0a59e55a85 | 2182 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2183 | TPMI_ALG_ASYM_SCHEME scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2184 | TPMU_ASYM_SCHEME details; |
| LordOfDorks | 1:fd0a59e55a85 | 2185 | } TPMT_ASYM_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 2186 | |
| LordOfDorks | 1:fd0a59e55a85 | 2187 | // Table 154 -- TPMI_ALG_RSA_SCHEME Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2188 | typedef TPM_ALG_ID TPMI_ALG_RSA_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 2189 | |
| LordOfDorks | 1:fd0a59e55a85 | 2190 | |
| LordOfDorks | 1:fd0a59e55a85 | 2191 | // Table 155 -- TPMT_RSA_SCHEME Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2192 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2193 | TPMI_ALG_RSA_SCHEME scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2194 | TPMU_ASYM_SCHEME details; |
| LordOfDorks | 1:fd0a59e55a85 | 2195 | } TPMT_RSA_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 2196 | |
| LordOfDorks | 1:fd0a59e55a85 | 2197 | // Table 156 -- TPMI_ALG_RSA_DECRYPT Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2198 | typedef TPM_ALG_ID TPMI_ALG_RSA_DECRYPT; |
| LordOfDorks | 1:fd0a59e55a85 | 2199 | |
| LordOfDorks | 1:fd0a59e55a85 | 2200 | |
| LordOfDorks | 1:fd0a59e55a85 | 2201 | // Table 157 -- TPMT_RSA_DECRYPT Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2202 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2203 | TPMI_ALG_RSA_DECRYPT scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2204 | TPMU_ASYM_SCHEME details; |
| LordOfDorks | 1:fd0a59e55a85 | 2205 | } TPMT_RSA_DECRYPT; |
| LordOfDorks | 1:fd0a59e55a85 | 2206 | |
| LordOfDorks | 1:fd0a59e55a85 | 2207 | // Table 158 -- TPM2B_PUBLIC_KEY_RSA Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2208 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2209 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2210 | BYTE buffer[MAX_RSA_KEY_BYTES]; |
| LordOfDorks | 1:fd0a59e55a85 | 2211 | } PUBLIC_KEY_RSA_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2212 | |
| LordOfDorks | 1:fd0a59e55a85 | 2213 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2214 | PUBLIC_KEY_RSA_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2215 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2216 | } TPM2B_PUBLIC_KEY_RSA; |
| LordOfDorks | 1:fd0a59e55a85 | 2217 | |
| LordOfDorks | 1:fd0a59e55a85 | 2218 | // Table 159 -- TPMI_RSA_KEY_BITS Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2219 | typedef TPM_KEY_BITS TPMI_RSA_KEY_BITS; |
| LordOfDorks | 1:fd0a59e55a85 | 2220 | |
| LordOfDorks | 1:fd0a59e55a85 | 2221 | |
| LordOfDorks | 1:fd0a59e55a85 | 2222 | // Table 160 -- TPM2B_PRIVATE_KEY_RSA Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2223 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2224 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2225 | BYTE buffer[MAX_RSA_KEY_BYTES/2]; |
| LordOfDorks | 1:fd0a59e55a85 | 2226 | } PRIVATE_KEY_RSA_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2227 | |
| LordOfDorks | 1:fd0a59e55a85 | 2228 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2229 | PRIVATE_KEY_RSA_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2230 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2231 | } TPM2B_PRIVATE_KEY_RSA; |
| LordOfDorks | 1:fd0a59e55a85 | 2232 | |
| LordOfDorks | 1:fd0a59e55a85 | 2233 | // Table 161 -- TPM2B_ECC_PARAMETER Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2234 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2235 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2236 | BYTE buffer[MAX_ECC_KEY_BYTES]; |
| LordOfDorks | 1:fd0a59e55a85 | 2237 | } ECC_PARAMETER_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2238 | |
| LordOfDorks | 1:fd0a59e55a85 | 2239 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2240 | ECC_PARAMETER_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2241 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2242 | } TPM2B_ECC_PARAMETER; |
| LordOfDorks | 1:fd0a59e55a85 | 2243 | |
| LordOfDorks | 1:fd0a59e55a85 | 2244 | // Table 162 -- TPMS_ECC_POINT Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2245 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2246 | TPM2B_ECC_PARAMETER x; |
| LordOfDorks | 1:fd0a59e55a85 | 2247 | TPM2B_ECC_PARAMETER y; |
| LordOfDorks | 1:fd0a59e55a85 | 2248 | } TPMS_ECC_POINT; |
| LordOfDorks | 1:fd0a59e55a85 | 2249 | |
| LordOfDorks | 1:fd0a59e55a85 | 2250 | // Table 163 -- TPM2B_ECC_POINT Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2251 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2252 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2253 | TPMS_ECC_POINT point; |
| LordOfDorks | 1:fd0a59e55a85 | 2254 | } ECC_POINT_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2255 | |
| LordOfDorks | 1:fd0a59e55a85 | 2256 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2257 | ECC_POINT_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2258 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2259 | } TPM2B_ECC_POINT; |
| LordOfDorks | 1:fd0a59e55a85 | 2260 | |
| LordOfDorks | 1:fd0a59e55a85 | 2261 | // Table 164 -- TPMI_ALG_ECC_SCHEME Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2262 | typedef TPM_ALG_ID TPMI_ALG_ECC_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 2263 | |
| LordOfDorks | 1:fd0a59e55a85 | 2264 | |
| LordOfDorks | 1:fd0a59e55a85 | 2265 | // Table 165 -- TPMI_ECC_CURVE Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2266 | typedef TPM_ECC_CURVE TPMI_ECC_CURVE; |
| LordOfDorks | 1:fd0a59e55a85 | 2267 | |
| LordOfDorks | 1:fd0a59e55a85 | 2268 | |
| LordOfDorks | 1:fd0a59e55a85 | 2269 | // Table 166 -- TPMT_ECC_SCHEME Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2270 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2271 | TPMI_ALG_ECC_SCHEME scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2272 | TPMU_SIG_SCHEME details; |
| LordOfDorks | 1:fd0a59e55a85 | 2273 | } TPMT_ECC_SCHEME; |
| LordOfDorks | 1:fd0a59e55a85 | 2274 | |
| LordOfDorks | 1:fd0a59e55a85 | 2275 | // Table 167 -- TPMS_ALGORITHM_DETAIL_ECC Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2276 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2277 | TPM_ECC_CURVE curveID; |
| LordOfDorks | 1:fd0a59e55a85 | 2278 | UINT16 keySize; |
| LordOfDorks | 1:fd0a59e55a85 | 2279 | TPMT_KDF_SCHEME kdf; |
| LordOfDorks | 1:fd0a59e55a85 | 2280 | TPMT_ECC_SCHEME sign; |
| LordOfDorks | 1:fd0a59e55a85 | 2281 | TPM2B_ECC_PARAMETER p; |
| LordOfDorks | 1:fd0a59e55a85 | 2282 | TPM2B_ECC_PARAMETER a; |
| LordOfDorks | 1:fd0a59e55a85 | 2283 | TPM2B_ECC_PARAMETER b; |
| LordOfDorks | 1:fd0a59e55a85 | 2284 | TPM2B_ECC_PARAMETER gX; |
| LordOfDorks | 1:fd0a59e55a85 | 2285 | TPM2B_ECC_PARAMETER gY; |
| LordOfDorks | 1:fd0a59e55a85 | 2286 | TPM2B_ECC_PARAMETER n; |
| LordOfDorks | 1:fd0a59e55a85 | 2287 | TPM2B_ECC_PARAMETER h; |
| LordOfDorks | 1:fd0a59e55a85 | 2288 | } TPMS_ALGORITHM_DETAIL_ECC; |
| LordOfDorks | 1:fd0a59e55a85 | 2289 | |
| LordOfDorks | 1:fd0a59e55a85 | 2290 | // Table 168 -- TPMS_SIGNATURE_RSASSA Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2291 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2292 | TPMI_ALG_HASH hash; |
| LordOfDorks | 1:fd0a59e55a85 | 2293 | TPM2B_PUBLIC_KEY_RSA sig; |
| LordOfDorks | 1:fd0a59e55a85 | 2294 | } TPMS_SIGNATURE_RSASSA; |
| LordOfDorks | 1:fd0a59e55a85 | 2295 | |
| LordOfDorks | 1:fd0a59e55a85 | 2296 | // Table 169 -- TPMS_SIGNATURE_RSAPSS Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2297 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2298 | TPMI_ALG_HASH hash; |
| LordOfDorks | 1:fd0a59e55a85 | 2299 | TPM2B_PUBLIC_KEY_RSA sig; |
| LordOfDorks | 1:fd0a59e55a85 | 2300 | } TPMS_SIGNATURE_RSAPSS; |
| LordOfDorks | 1:fd0a59e55a85 | 2301 | |
| LordOfDorks | 1:fd0a59e55a85 | 2302 | // Table 170 -- TPMS_SIGNATURE_ECDSA Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2303 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2304 | TPMI_ALG_HASH hash; |
| LordOfDorks | 1:fd0a59e55a85 | 2305 | TPM2B_ECC_PARAMETER signatureR; |
| LordOfDorks | 1:fd0a59e55a85 | 2306 | TPM2B_ECC_PARAMETER signatureS; |
| LordOfDorks | 1:fd0a59e55a85 | 2307 | } TPMS_SIGNATURE_ECDSA; |
| LordOfDorks | 1:fd0a59e55a85 | 2308 | |
| LordOfDorks | 1:fd0a59e55a85 | 2309 | // Table 171 -- TPMU_SIGNATURE Union <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2310 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2311 | #ifdef TPM_ALG_RSASSA |
| LordOfDorks | 1:fd0a59e55a85 | 2312 | TPMS_SIGNATURE_RSASSA rsassa; |
| LordOfDorks | 1:fd0a59e55a85 | 2313 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2314 | #ifdef TPM_ALG_RSAPSS |
| LordOfDorks | 1:fd0a59e55a85 | 2315 | TPMS_SIGNATURE_RSAPSS rsapss; |
| LordOfDorks | 1:fd0a59e55a85 | 2316 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2317 | #ifdef TPM_ALG_ECDSA |
| LordOfDorks | 1:fd0a59e55a85 | 2318 | TPMS_SIGNATURE_ECDSA ecdsa; |
| LordOfDorks | 1:fd0a59e55a85 | 2319 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2320 | #ifdef TPM_ALG_SM2 |
| LordOfDorks | 1:fd0a59e55a85 | 2321 | TPMS_SIGNATURE_ECDSA sm2; |
| LordOfDorks | 1:fd0a59e55a85 | 2322 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2323 | #ifdef TPM_ALG_ECDAA |
| LordOfDorks | 1:fd0a59e55a85 | 2324 | TPMS_SIGNATURE_ECDSA ecdaa; |
| LordOfDorks | 1:fd0a59e55a85 | 2325 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2326 | #ifdef TPM_ALG_ECSCHNORR |
| LordOfDorks | 1:fd0a59e55a85 | 2327 | TPMS_SIGNATURE_ECDSA ecschnorr; |
| LordOfDorks | 1:fd0a59e55a85 | 2328 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2329 | #ifdef TPM_ALG_HMAC |
| LordOfDorks | 1:fd0a59e55a85 | 2330 | TPMT_HA hmac; |
| LordOfDorks | 1:fd0a59e55a85 | 2331 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2332 | TPMS_SCHEME_SIGHASH any; |
| LordOfDorks | 1:fd0a59e55a85 | 2333 | |
| LordOfDorks | 1:fd0a59e55a85 | 2334 | } TPMU_SIGNATURE ; |
| LordOfDorks | 1:fd0a59e55a85 | 2335 | |
| LordOfDorks | 1:fd0a59e55a85 | 2336 | |
| LordOfDorks | 1:fd0a59e55a85 | 2337 | // Table 172 -- TPMT_SIGNATURE Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2338 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2339 | TPMI_ALG_SIG_SCHEME sigAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2340 | TPMU_SIGNATURE signature; |
| LordOfDorks | 1:fd0a59e55a85 | 2341 | } TPMT_SIGNATURE; |
| LordOfDorks | 1:fd0a59e55a85 | 2342 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2343 | #ifdef TPM_ALG_ECC |
| LordOfDorks | 1:fd0a59e55a85 | 2344 | BYTE ecc[sizeof(TPMS_ECC_POINT)]; |
| LordOfDorks | 1:fd0a59e55a85 | 2345 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2346 | #ifdef TPM_ALG_RSA |
| LordOfDorks | 1:fd0a59e55a85 | 2347 | BYTE rsa[MAX_RSA_KEY_BYTES]; |
| LordOfDorks | 1:fd0a59e55a85 | 2348 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2349 | #ifdef TPM_ALG_SYMCIPHER |
| LordOfDorks | 1:fd0a59e55a85 | 2350 | BYTE symmetric[sizeof(TPM2B_DIGEST)]; |
| LordOfDorks | 1:fd0a59e55a85 | 2351 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2352 | #ifdef TPM_ALG_KEYEDHASH |
| LordOfDorks | 1:fd0a59e55a85 | 2353 | BYTE keyedHash[sizeof(TPM2B_DIGEST)]; |
| LordOfDorks | 1:fd0a59e55a85 | 2354 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2355 | |
| LordOfDorks | 1:fd0a59e55a85 | 2356 | } TPMU_ENCRYPTED_SECRET ; |
| LordOfDorks | 1:fd0a59e55a85 | 2357 | |
| LordOfDorks | 1:fd0a59e55a85 | 2358 | |
| LordOfDorks | 1:fd0a59e55a85 | 2359 | // Table 174 -- TPM2B_ENCRYPTED_SECRET Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2360 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2361 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2362 | BYTE secret[sizeof(TPMU_ENCRYPTED_SECRET)]; |
| LordOfDorks | 1:fd0a59e55a85 | 2363 | } ENCRYPTED_SECRET_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2364 | |
| LordOfDorks | 1:fd0a59e55a85 | 2365 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2366 | ENCRYPTED_SECRET_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2367 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2368 | } TPM2B_ENCRYPTED_SECRET; |
| LordOfDorks | 1:fd0a59e55a85 | 2369 | |
| LordOfDorks | 1:fd0a59e55a85 | 2370 | // Table 175 -- TPMI_ALG_PUBLIC Type <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2371 | typedef TPM_ALG_ID TPMI_ALG_PUBLIC; |
| LordOfDorks | 1:fd0a59e55a85 | 2372 | |
| LordOfDorks | 1:fd0a59e55a85 | 2373 | |
| LordOfDorks | 1:fd0a59e55a85 | 2374 | // Table 176 -- TPMU_PUBLIC_ID Union <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2375 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2376 | #ifdef TPM_ALG_KEYEDHASH |
| LordOfDorks | 1:fd0a59e55a85 | 2377 | TPM2B_DIGEST keyedHash; |
| LordOfDorks | 1:fd0a59e55a85 | 2378 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2379 | #ifdef TPM_ALG_SYMCIPHER |
| LordOfDorks | 1:fd0a59e55a85 | 2380 | TPM2B_DIGEST sym; |
| LordOfDorks | 1:fd0a59e55a85 | 2381 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2382 | #ifdef TPM_ALG_RSA |
| LordOfDorks | 1:fd0a59e55a85 | 2383 | TPM2B_PUBLIC_KEY_RSA rsa; |
| LordOfDorks | 1:fd0a59e55a85 | 2384 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2385 | #ifdef TPM_ALG_ECC |
| LordOfDorks | 1:fd0a59e55a85 | 2386 | TPMS_ECC_POINT ecc; |
| LordOfDorks | 1:fd0a59e55a85 | 2387 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2388 | |
| LordOfDorks | 1:fd0a59e55a85 | 2389 | } TPMU_PUBLIC_ID ; |
| LordOfDorks | 1:fd0a59e55a85 | 2390 | |
| LordOfDorks | 1:fd0a59e55a85 | 2391 | |
| LordOfDorks | 1:fd0a59e55a85 | 2392 | // Table 177 -- TPMS_KEYEDHASH_PARMS Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2393 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2394 | TPMT_KEYEDHASH_SCHEME scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2395 | } TPMS_KEYEDHASH_PARMS; |
| LordOfDorks | 1:fd0a59e55a85 | 2396 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2397 | TPMT_SYM_DEF_OBJECT symmetric; |
| LordOfDorks | 1:fd0a59e55a85 | 2398 | TPMT_ASYM_SCHEME scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2399 | } TPMS_ASYM_PARMS; |
| LordOfDorks | 1:fd0a59e55a85 | 2400 | |
| LordOfDorks | 1:fd0a59e55a85 | 2401 | // Table 179 -- TPMS_RSA_PARMS Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2402 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2403 | TPMT_SYM_DEF_OBJECT symmetric; |
| LordOfDorks | 1:fd0a59e55a85 | 2404 | TPMT_RSA_SCHEME scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2405 | TPMI_RSA_KEY_BITS keyBits; |
| LordOfDorks | 1:fd0a59e55a85 | 2406 | UINT32 exponent; |
| LordOfDorks | 1:fd0a59e55a85 | 2407 | } TPMS_RSA_PARMS; |
| LordOfDorks | 1:fd0a59e55a85 | 2408 | |
| LordOfDorks | 1:fd0a59e55a85 | 2409 | // Table 180 -- TPMS_ECC_PARMS Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2410 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2411 | TPMT_SYM_DEF_OBJECT symmetric; |
| LordOfDorks | 1:fd0a59e55a85 | 2412 | TPMT_ECC_SCHEME scheme; |
| LordOfDorks | 1:fd0a59e55a85 | 2413 | TPMI_ECC_CURVE curveID; |
| LordOfDorks | 1:fd0a59e55a85 | 2414 | TPMT_KDF_SCHEME kdf; |
| LordOfDorks | 1:fd0a59e55a85 | 2415 | } TPMS_ECC_PARMS; |
| LordOfDorks | 1:fd0a59e55a85 | 2416 | |
| LordOfDorks | 1:fd0a59e55a85 | 2417 | // Table 181 -- TPMU_PUBLIC_PARMS Union <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2418 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2419 | #ifdef TPM_ALG_KEYEDHASH |
| LordOfDorks | 1:fd0a59e55a85 | 2420 | TPMS_KEYEDHASH_PARMS keyedHashDetail; |
| LordOfDorks | 1:fd0a59e55a85 | 2421 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2422 | #ifdef TPM_ALG_SYMCIPHER |
| LordOfDorks | 1:fd0a59e55a85 | 2423 | TPMT_SYM_DEF_OBJECT symDetail; |
| LordOfDorks | 1:fd0a59e55a85 | 2424 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2425 | #ifdef TPM_ALG_RSA |
| LordOfDorks | 1:fd0a59e55a85 | 2426 | TPMS_RSA_PARMS rsaDetail; |
| LordOfDorks | 1:fd0a59e55a85 | 2427 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2428 | #ifdef TPM_ALG_ECC |
| LordOfDorks | 1:fd0a59e55a85 | 2429 | TPMS_ECC_PARMS eccDetail; |
| LordOfDorks | 1:fd0a59e55a85 | 2430 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2431 | TPMS_ASYM_PARMS asymDetail; |
| LordOfDorks | 1:fd0a59e55a85 | 2432 | |
| LordOfDorks | 1:fd0a59e55a85 | 2433 | } TPMU_PUBLIC_PARMS ; |
| LordOfDorks | 1:fd0a59e55a85 | 2434 | |
| LordOfDorks | 1:fd0a59e55a85 | 2435 | |
| LordOfDorks | 1:fd0a59e55a85 | 2436 | // Table 182 -- TPMT_PUBLIC_PARMS Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2437 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2438 | TPMI_ALG_PUBLIC type; |
| LordOfDorks | 1:fd0a59e55a85 | 2439 | TPMU_PUBLIC_PARMS parameters; |
| LordOfDorks | 1:fd0a59e55a85 | 2440 | } TPMT_PUBLIC_PARMS; |
| LordOfDorks | 1:fd0a59e55a85 | 2441 | |
| LordOfDorks | 1:fd0a59e55a85 | 2442 | // Table 183 -- TPMT_PUBLIC Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2443 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2444 | TPMI_ALG_PUBLIC type; |
| LordOfDorks | 1:fd0a59e55a85 | 2445 | TPMI_ALG_HASH nameAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2446 | TPMA_OBJECT objectAttributes; |
| LordOfDorks | 1:fd0a59e55a85 | 2447 | TPM2B_DIGEST authPolicy; |
| LordOfDorks | 1:fd0a59e55a85 | 2448 | TPMU_PUBLIC_PARMS parameters; |
| LordOfDorks | 1:fd0a59e55a85 | 2449 | TPMU_PUBLIC_ID unique; |
| LordOfDorks | 1:fd0a59e55a85 | 2450 | } TPMT_PUBLIC; |
| LordOfDorks | 1:fd0a59e55a85 | 2451 | |
| LordOfDorks | 1:fd0a59e55a85 | 2452 | // Table 184 -- TPM2B_PUBLIC Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2453 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2454 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2455 | TPMT_PUBLIC publicArea; |
| LordOfDorks | 1:fd0a59e55a85 | 2456 | } PUBLIC_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2457 | |
| LordOfDorks | 1:fd0a59e55a85 | 2458 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2459 | PUBLIC_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2460 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2461 | } TPM2B_PUBLIC; |
| LordOfDorks | 1:fd0a59e55a85 | 2462 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2463 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2464 | BYTE buffer[PRIVATE_VENDOR_SPECIFIC_BYTES]; |
| LordOfDorks | 1:fd0a59e55a85 | 2465 | } PRIVATE_VENDOR_SPECIFIC_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2466 | |
| LordOfDorks | 1:fd0a59e55a85 | 2467 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2468 | PRIVATE_VENDOR_SPECIFIC_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2469 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2470 | } TPM2B_PRIVATE_VENDOR_SPECIFIC; |
| LordOfDorks | 1:fd0a59e55a85 | 2471 | |
| LordOfDorks | 1:fd0a59e55a85 | 2472 | // Table 186 -- TPMU_SENSITIVE_COMPOSITE Union <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2473 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2474 | #ifdef TPM_ALG_RSA |
| LordOfDorks | 1:fd0a59e55a85 | 2475 | TPM2B_PRIVATE_KEY_RSA rsa; |
| LordOfDorks | 1:fd0a59e55a85 | 2476 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2477 | #ifdef TPM_ALG_ECC |
| LordOfDorks | 1:fd0a59e55a85 | 2478 | TPM2B_ECC_PARAMETER ecc; |
| LordOfDorks | 1:fd0a59e55a85 | 2479 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2480 | #ifdef TPM_ALG_KEYEDHASH |
| LordOfDorks | 1:fd0a59e55a85 | 2481 | TPM2B_SENSITIVE_DATA bits; |
| LordOfDorks | 1:fd0a59e55a85 | 2482 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2483 | #ifdef TPM_ALG_SYMCIPHER |
| LordOfDorks | 1:fd0a59e55a85 | 2484 | TPM2B_SYM_KEY sym; |
| LordOfDorks | 1:fd0a59e55a85 | 2485 | #endif |
| LordOfDorks | 1:fd0a59e55a85 | 2486 | TPM2B_PRIVATE_VENDOR_SPECIFIC any; |
| LordOfDorks | 1:fd0a59e55a85 | 2487 | |
| LordOfDorks | 1:fd0a59e55a85 | 2488 | } TPMU_SENSITIVE_COMPOSITE ; |
| LordOfDorks | 1:fd0a59e55a85 | 2489 | |
| LordOfDorks | 1:fd0a59e55a85 | 2490 | |
| LordOfDorks | 1:fd0a59e55a85 | 2491 | // Table 187 -- TPMT_SENSITIVE Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2492 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2493 | TPMI_ALG_PUBLIC sensitiveType; |
| LordOfDorks | 1:fd0a59e55a85 | 2494 | TPM2B_AUTH authValue; |
| LordOfDorks | 1:fd0a59e55a85 | 2495 | TPM2B_DIGEST seedValue; |
| LordOfDorks | 1:fd0a59e55a85 | 2496 | TPMU_SENSITIVE_COMPOSITE sensitive; |
| LordOfDorks | 1:fd0a59e55a85 | 2497 | } TPMT_SENSITIVE; |
| LordOfDorks | 1:fd0a59e55a85 | 2498 | |
| LordOfDorks | 1:fd0a59e55a85 | 2499 | // Table 188 -- TPM2B_SENSITIVE Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2500 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2501 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2502 | TPMT_SENSITIVE sensitiveArea; |
| LordOfDorks | 1:fd0a59e55a85 | 2503 | } SENSITIVE_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2504 | |
| LordOfDorks | 1:fd0a59e55a85 | 2505 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2506 | SENSITIVE_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2507 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2508 | } TPM2B_SENSITIVE; |
| LordOfDorks | 1:fd0a59e55a85 | 2509 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2510 | TPM2B_DIGEST integrityOuter; |
| LordOfDorks | 1:fd0a59e55a85 | 2511 | TPM2B_DIGEST integrityInner; |
| LordOfDorks | 1:fd0a59e55a85 | 2512 | TPMT_SENSITIVE sensitive; |
| LordOfDorks | 1:fd0a59e55a85 | 2513 | } _PRIVATE; |
| LordOfDorks | 1:fd0a59e55a85 | 2514 | |
| LordOfDorks | 1:fd0a59e55a85 | 2515 | // Table 190 -- TPM2B_PRIVATE Structure <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2516 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2517 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2518 | BYTE buffer[sizeof(_PRIVATE)]; |
| LordOfDorks | 1:fd0a59e55a85 | 2519 | } PRIVATE_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2520 | |
| LordOfDorks | 1:fd0a59e55a85 | 2521 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2522 | PRIVATE_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2523 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2524 | } TPM2B_PRIVATE; |
| LordOfDorks | 1:fd0a59e55a85 | 2525 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2526 | TPM2B_DIGEST integrityHMAC; |
| LordOfDorks | 1:fd0a59e55a85 | 2527 | TPM2B_DIGEST encIdentity; |
| LordOfDorks | 1:fd0a59e55a85 | 2528 | } _ID_OBJECT; |
| LordOfDorks | 1:fd0a59e55a85 | 2529 | |
| LordOfDorks | 1:fd0a59e55a85 | 2530 | // Table 192 -- TPM2B_ID_OBJECT Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2531 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2532 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2533 | BYTE credential[sizeof(_ID_OBJECT)]; |
| LordOfDorks | 1:fd0a59e55a85 | 2534 | } ID_OBJECT_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2535 | |
| LordOfDorks | 1:fd0a59e55a85 | 2536 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2537 | ID_OBJECT_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2538 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2539 | } TPM2B_ID_OBJECT; |
| LordOfDorks | 1:fd0a59e55a85 | 2540 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2541 | unsigned int index : 24; |
| LordOfDorks | 1:fd0a59e55a85 | 2542 | unsigned int RH_NV : 8; |
| LordOfDorks | 1:fd0a59e55a85 | 2543 | } TPM_NV_INDEX ; |
| LordOfDorks | 1:fd0a59e55a85 | 2544 | |
| LordOfDorks | 1:fd0a59e55a85 | 2545 | // Table 195 -- TPMA_NV Bits <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2546 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2547 | unsigned int TPMA_NV_PPWRITE : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2548 | unsigned int TPMA_NV_OWNERWRITE : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2549 | unsigned int TPMA_NV_AUTHWRITE : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2550 | unsigned int TPMA_NV_POLICYWRITE : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2551 | unsigned int TPMA_NV_COUNTER : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2552 | unsigned int TPMA_NV_BITS : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2553 | unsigned int TPMA_NV_EXTEND : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2554 | unsigned int reserved8 : 3; |
| LordOfDorks | 1:fd0a59e55a85 | 2555 | unsigned int TPMA_NV_POLICY_DELETE : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2556 | unsigned int TPMA_NV_WRITELOCKED : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2557 | unsigned int TPMA_NV_WRITEALL : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2558 | unsigned int TPMA_NV_WRITEDEFINE : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2559 | unsigned int TPMA_NV_WRITE_STCLEAR : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2560 | unsigned int TPMA_NV_GLOBALLOCK : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2561 | unsigned int TPMA_NV_PPREAD : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2562 | unsigned int TPMA_NV_OWNERREAD : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2563 | unsigned int TPMA_NV_AUTHREAD : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2564 | unsigned int TPMA_NV_POLICYREAD : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2565 | unsigned int reserved19 : 5; |
| LordOfDorks | 1:fd0a59e55a85 | 2566 | unsigned int TPMA_NV_NO_DA : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2567 | unsigned int TPMA_NV_ORDERLY : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2568 | unsigned int TPMA_NV_CLEAR_STCLEAR : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2569 | unsigned int TPMA_NV_READLOCKED : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2570 | unsigned int TPMA_NV_WRITTEN : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2571 | unsigned int TPMA_NV_PLATFORMCREATE : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2572 | unsigned int TPMA_NV_READ_STCLEAR : 1; |
| LordOfDorks | 1:fd0a59e55a85 | 2573 | } TPMA_NV ; |
| LordOfDorks | 1:fd0a59e55a85 | 2574 | |
| LordOfDorks | 1:fd0a59e55a85 | 2575 | // Table 196 -- TPMS_NV_PUBLIC Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2576 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2577 | TPMI_RH_NV_INDEX nvIndex; |
| LordOfDorks | 1:fd0a59e55a85 | 2578 | TPMI_ALG_HASH nameAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2579 | TPMA_NV attributes; |
| LordOfDorks | 1:fd0a59e55a85 | 2580 | TPM2B_DIGEST authPolicy; |
| LordOfDorks | 1:fd0a59e55a85 | 2581 | UINT16 dataSize; |
| LordOfDorks | 1:fd0a59e55a85 | 2582 | } TPMS_NV_PUBLIC; |
| LordOfDorks | 1:fd0a59e55a85 | 2583 | |
| LordOfDorks | 1:fd0a59e55a85 | 2584 | // Table 197 -- TPM2B_NV_PUBLIC Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2585 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2586 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2587 | TPMS_NV_PUBLIC nvPublic; |
| LordOfDorks | 1:fd0a59e55a85 | 2588 | } NV_PUBLIC_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2589 | |
| LordOfDorks | 1:fd0a59e55a85 | 2590 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2591 | NV_PUBLIC_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2592 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2593 | } TPM2B_NV_PUBLIC; |
| LordOfDorks | 1:fd0a59e55a85 | 2594 | |
| LordOfDorks | 1:fd0a59e55a85 | 2595 | // Table 198 -- TPM2B_CONTEXT_SENSITIVE Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2596 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2597 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2598 | BYTE buffer[MAX_CONTEXT_SIZE]; |
| LordOfDorks | 1:fd0a59e55a85 | 2599 | } CONTEXT_SENSITIVE_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2600 | |
| LordOfDorks | 1:fd0a59e55a85 | 2601 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2602 | CONTEXT_SENSITIVE_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2603 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2604 | } TPM2B_CONTEXT_SENSITIVE; |
| LordOfDorks | 1:fd0a59e55a85 | 2605 | |
| LordOfDorks | 1:fd0a59e55a85 | 2606 | // Table 199 -- TPMS_CONTEXT_DATA Structure <I/O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2607 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2608 | TPM2B_DIGEST integrity; |
| LordOfDorks | 1:fd0a59e55a85 | 2609 | TPM2B_CONTEXT_SENSITIVE encrypted; |
| LordOfDorks | 1:fd0a59e55a85 | 2610 | } TPMS_CONTEXT_DATA; |
| LordOfDorks | 1:fd0a59e55a85 | 2611 | |
| LordOfDorks | 1:fd0a59e55a85 | 2612 | // Table 200 -- TPM2B_CONTEXT_DATA Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2613 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2614 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2615 | BYTE buffer[sizeof(TPMS_CONTEXT_DATA)]; |
| LordOfDorks | 1:fd0a59e55a85 | 2616 | } CONTEXT_DATA_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2617 | |
| LordOfDorks | 1:fd0a59e55a85 | 2618 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2619 | CONTEXT_DATA_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2620 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2621 | } TPM2B_CONTEXT_DATA; |
| LordOfDorks | 1:fd0a59e55a85 | 2622 | |
| LordOfDorks | 1:fd0a59e55a85 | 2623 | // Table 201 -- TPMS_CONTEXT Structure <I/O> |
| LordOfDorks | 1:fd0a59e55a85 | 2624 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2625 | UINT64 sequence; |
| LordOfDorks | 1:fd0a59e55a85 | 2626 | TPMI_DH_CONTEXT savedHandle; |
| LordOfDorks | 1:fd0a59e55a85 | 2627 | TPMI_RH_HIERARCHY hierarchy; |
| LordOfDorks | 1:fd0a59e55a85 | 2628 | TPM2B_CONTEXT_DATA contextBlob; |
| LordOfDorks | 1:fd0a59e55a85 | 2629 | } TPMS_CONTEXT; |
| LordOfDorks | 1:fd0a59e55a85 | 2630 | |
| LordOfDorks | 1:fd0a59e55a85 | 2631 | // Table 203 -- TPMS_CREATION_DATA Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2632 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2633 | TPML_PCR_SELECTION pcrSelect; |
| LordOfDorks | 1:fd0a59e55a85 | 2634 | TPM2B_DIGEST pcrDigest; |
| LordOfDorks | 1:fd0a59e55a85 | 2635 | TPMA_LOCALITY locality; |
| LordOfDorks | 1:fd0a59e55a85 | 2636 | TPM_ALG_ID parentNameAlg; |
| LordOfDorks | 1:fd0a59e55a85 | 2637 | TPM2B_NAME parentName; |
| LordOfDorks | 1:fd0a59e55a85 | 2638 | TPM2B_NAME parentQualifiedName; |
| LordOfDorks | 1:fd0a59e55a85 | 2639 | TPM2B_DATA outsideInfo; |
| LordOfDorks | 1:fd0a59e55a85 | 2640 | } TPMS_CREATION_DATA; |
| LordOfDorks | 1:fd0a59e55a85 | 2641 | |
| LordOfDorks | 1:fd0a59e55a85 | 2642 | // Table 204 -- TPM2B_CREATION_DATA Structure <O,S> |
| LordOfDorks | 1:fd0a59e55a85 | 2643 | typedef struct { |
| LordOfDorks | 1:fd0a59e55a85 | 2644 | UINT16 size; |
| LordOfDorks | 1:fd0a59e55a85 | 2645 | TPMS_CREATION_DATA creationData; |
| LordOfDorks | 1:fd0a59e55a85 | 2646 | } CREATION_DATA_2B; |
| LordOfDorks | 1:fd0a59e55a85 | 2647 | |
| LordOfDorks | 1:fd0a59e55a85 | 2648 | typedef union { |
| LordOfDorks | 1:fd0a59e55a85 | 2649 | CREATION_DATA_2B t; |
| LordOfDorks | 1:fd0a59e55a85 | 2650 | TPM2B b; |
| LordOfDorks | 1:fd0a59e55a85 | 2651 | } TPM2B_CREATION_DATA; |
| LordOfDorks | 3:4b9ad18eae02 | 2652 |