iPXE
Data Structures | Defines | Typedefs | Enumerations | Functions
Tpm12.h File Reference

TPM Specification data structures (TCG TPM Specification Version 1.2 Revision 103) See http://trustedcomputinggroup.org for latest specification updates. More...

Go to the source code of this file.

Data Structures

struct  tdTPM_STRUCT_VER
 Part 2, section 5.1: TPM_STRUCT_VER. More...
struct  tdTPM_VERSION
 Part 2, section 5.3: TPM_VERSION. More...
struct  tdTPM_DIGEST
 Part 2, section 5.4: TPM_DIGEST. More...
struct  tdTPM_NONCE
 Part 2, section 5.5: TPM_NONCE. More...
struct  tdTPM_KEY_HANDLE_LIST
 Part 2, section 5.7: TPM_KEY_HANDLE_LIST Size of handle is loaded * sizeof(TPM_KEY_HANDLE) More...
struct  tdTPM_CHANGEAUTH_VALIDATE
 Part 2, section 5.11: TPM_CHANGEAUTH_VALIDATE. More...
struct  tdTPM_KEY_PARMS
 Part 2, section 5.12: TPM_MIGRATIONKEYAUTH decalared after section 10 to catch declaration of TPM_PUBKEY. More...
struct  tdTPM_STORE_PUBKEY
 Part 2, section 10.4: TPM_STORE_PUBKEY. More...
struct  tdTPM_PUBKEY
 Part 2, section 10.5: TPM_PUBKEY. More...
struct  tdTPM_MIGRATIONKEYAUTH
 Part 2, section 5.12: TPM_MIGRATIONKEYAUTH. More...
struct  tdTPM_COUNTER_VALUE
 Part 2, section 5.13: TPM_COUNTER_VALUE. More...
struct  tdTPM_SIGN_INFO
 Part 2, section 5.14: TPM_SIGN_INFO Size of data indicated by dataLen. More...
struct  tdTPM_MSA_COMPOSITE
 Part 2, section 5.15: TPM_MSA_COMPOSITE Number of migAuthDigest indicated by MSAlist. More...
struct  tdTPM_CMK_AUTH
 Part 2, section 5.16: TPM_CMK_AUTH. More...
struct  tdTPM_SELECT_SIZE
 Part 2, section 5.18: TPM_SELECT_SIZE. More...
struct  tdTPM_CMK_MIGAUTH
 Part 2, section 5,19: TPM_CMK_MIGAUTH. More...
struct  tdTPM_CMK_SIGTICKET
 Part 2, section 5.20: TPM_CMK_SIGTICKET. More...
struct  tdTPM_CMK_MA_APPROVAL
 Part 2, section 5.21: TPM_CMK_MA_APPROVAL. More...
struct  tdTPM_PERMANENT_FLAGS
 Part 2, section 7.1: TPM_PERMANENT_FLAGS. More...
struct  tdTPM_STCLEAR_FLAGS
 Part 2, section 7.2: TPM_STCLEAR_FLAGS. More...
struct  tdTPM_STANY_FLAGS
 Part 2, section 7.3: TPM_STANY_FLAGS. More...
struct  tdTPM_STCLEAR_DATA
 Part 2, section 7.5: TPM_STCLEAR_DATA available inside TPM only. More...
struct  tdTPM_PCR_SELECTION
 Part 2, section 8.1: TPM_PCR_SELECTION Size of pcrSelect[] indicated by sizeOfSelect. More...
struct  tdTPM_PCR_COMPOSITE
 Part 2, section 8.2: TPM_PCR_COMPOSITE Size of pcrValue[] indicated by valueSize. More...
struct  tdTPM_PCR_INFO
 Part 2, section 8.3: TPM_PCR_INFO. More...
struct  tdTPM_PCR_INFO_LONG
 Part 2, section 8.4: TPM_PCR_INFO_LONG. More...
struct  tdTPM_PCR_INFO_SHORT
 Part 2, section 8.5: TPM_PCR_INFO_SHORT. More...
struct  tdTPM_PCR_ATTRIBUTES
 Part 2, section 8.8: TPM_PCR_ATTRIBUTES. More...
struct  tdTPM_STORED_DATA
 Part 2, section 9.1: TPM_STORED_DATA [size_is(sealInfoSize)] BYTE* sealInfo; [size_is(encDataSize)] BYTE* encData;. More...
struct  tdTPM_STORED_DATA12
 Part 2, section 9.2: TPM_STORED_DATA12 [size_is(sealInfoSize)] BYTE* sealInfo; [size_is(encDataSize)] BYTE* encData;. More...
struct  tdTPM_SEALED_DATA
 Part 2, section 9.3: TPM_SEALED_DATA [size_is(dataSize)] BYTE* data;. More...
struct  tdTPM_SYMMETRIC_KEY
 Part 2, section 9.4: TPM_SYMMETRIC_KEY [size_is(size)] BYTE* data;. More...
struct  tdTPM_BOUND_DATA
 Part 2, section 9.5: TPM_BOUND_DATA. More...
struct  tdTPM_KEY
 Part 2, section 10.2: TPM_KEY [size_is(encDataSize)] BYTE* encData;. More...
struct  tdTPM_KEY12
 Part 2, section 10.3: TPM_KEY12 [size_is(encDataSize)] BYTE* encData;. More...
struct  tdTPM_STORE_PRIVKEY
 Part 2, section 10.7: TPM_STORE_PRIVKEY [size_is(keyLength)] BYTE* key;. More...
struct  tdTPM_STORE_ASYMKEY
 Part 2, section 10.6: TPM_STORE_ASYMKEY. More...
struct  tdTPM_MIGRATE_ASYMKEY
 Part 2, section 10.8: TPM_MIGRATE_ASYMKEY [size_is(partPrivKeyLen)] BYTE* partPrivKey;. More...
struct  tdTPM_CERTIFY_INFO
 Part 2, section 11.1: TPM_CERTIFY_INFO Structure. More...
struct  tdTPM_CERTIFY_INFO2
 Part 2, section 11.2: TPM_CERTIFY_INFO2 Structure. More...
struct  tdTPM_QUOTE_INFO
 Part 2, section 11.3 TPM_QUOTE_INFO Structure. More...
struct  tdTPM_QUOTE_INFO2
 Part 2, section 11.4 TPM_QUOTE_INFO2 Structure. More...
struct  tdTPM_EK_BLOB
 Part 2, section 12.1 TPM_EK_BLOB. More...
struct  tdTPM_EK_BLOB_ACTIVATE
 Part 2, section 12.2 TPM_EK_BLOB_ACTIVATE. More...
struct  tdTPM_EK_BLOB_AUTH
 Part 2, section 12.3 TPM_EK_BLOB_AUTH. More...
struct  tdTPM_IDENTITY_CONTENTS
 Part 2, section 12.5 TPM_IDENTITY_CONTENTS. More...
struct  tdTPM_IDENTITY_REQ
 Part 2, section 12.6 TPM_IDENTITY_REQ. More...
struct  tdTPM_IDENTITY_PROOF
 Part 2, section 12.7 TPM_IDENTITY_PROOF. More...
struct  tdTPM_ASYM_CA_CONTENTS
 Part 2, section 12.8 TPM_ASYM_CA_CONTENTS. More...
struct  tdTPM_SYM_CA_ATTESTATION
 Part 2, section 12.9 TPM_SYM_CA_ATTESTATION. More...
struct  tdTPM_CURRENT_TICKS
 Part 2, section 15: Tick Structures Placed here out of order because definitions are used in section 13. More...
struct  tdTPM_TRANSPORT_PUBLIC
 Part 2, section 13: Transport structures. More...
struct  tdTPM_TRANSPORT_INTERNAL
 Part 2, section 13.2 TPM_TRANSPORT_INTERNAL. More...
struct  tdTPM_TRANSPORT_LOG_IN
 Part 2, section 13.3 TPM_TRANSPORT_LOG_IN structure. More...
struct  tdTPM_TRANSPORT_LOG_OUT
 Part 2, section 13.4 TPM_TRANSPORT_LOG_OUT structure. More...
struct  tdTPM_TRANSPORT_AUTH
 Part 2, section 13.5 TPM_TRANSPORT_AUTH structure. More...
struct  tdTPM_AUDIT_EVENT_IN
 Part 2, section 14.1 TPM_AUDIT_EVENT_IN structure. More...
struct  tdTPM_AUDIT_EVENT_OUT
 Part 2, section 14.2 TPM_AUDIT_EVENT_OUT structure. More...
struct  tdTPM_CONTEXT_BLOB
 Part 2, section 18.1: TPM_CONTEXT_BLOB. More...
struct  tdTPM_CONTEXT_SENSITIVE
 Part 2, section 18.2 TPM_CONTEXT_SENSITIVE. More...
struct  tdTPM_NV_ATTRIBUTES
 Part 2, section 19.2: TPM_NV_ATTRIBUTES. More...
struct  tdTPM_NV_DATA_PUBLIC
 Part 2, section 19.3: TPM_NV_DATA_PUBLIC. More...
struct  tdTPM_DELEGATIONS
 Part 2, section 20.2: Delegate Definitions. More...
struct  tdTPM_FAMILY_LABEL
 Part 2, section 20.4: TPM_FAMILY_LABEL. More...
struct  tdTPM_FAMILY_TABLE_ENTRY
 Part 2, section 20.5: TPM_FAMILY_TABLE_ENTRY. More...
struct  tdTPM_FAMILY_TABLE
struct  tdTPM_DELEGATE_LABEL
 Part 2, section 20.7: TPM_DELEGATE_LABEL. More...
struct  tdTPM_DELEGATE_PUBLIC
 Part 2, section 20.8: TPM_DELEGATE_PUBLIC. More...
struct  tdTPM_DELEGATE_TABLE_ROW
 Part 2, section 20.9: TPM_DELEGATE_TABLE_ROW. More...
struct  tdTPM_DELEGATE_TABLE
struct  tdTPM_DELEGATE_SENSITIVE
 Part 2, section 20.11: TPM_DELEGATE_SENSITIVE. More...
struct  tdTPM_DELEGATE_OWNER_BLOB
 Part 2, section 20.12: TPM_DELEGATE_OWNER_BLOB. More...
struct  tdTPM_DELEGATE_KEY_BLOB
 Part 2, section 20.13: TTPM_DELEGATE_KEY_BLOB. More...
struct  tdTPM_CAP_VERSION_INFO
 Part 2, section 21.6: TPM_CAP_VERSION_INFO [size_is(vendorSpecificSize)] BYTE* vendorSpecific;. More...
struct  tdTPM_DA_ACTION_TYPE
 Part 2, section 21.10: TPM_DA_ACTION_TYPE. More...
struct  tdTPM_DA_INFO
 Part 2, section 21.7: TPM_DA_INFO. More...
struct  tdTPM_DA_INFO_LIMITED
 Part 2, section 21.8: TPM_DA_INFO_LIMITED. More...
struct  tdTPM_DAA_ISSUER
 Part 2, section 22.3: TPM_DAA_ISSUER. More...
struct  tdTPM_DAA_TPM
 Part 2, section 22.4: TPM_DAA_TPM. More...
struct  tdTPM_DAA_CONTEXT
 Part 2, section 22.5: TPM_DAA_CONTEXT. More...
struct  tdTPM_DAA_JOINDATA
 Part 2, section 22.6: TPM_DAA_JOINDATA. More...
struct  tdTPM_DAA_BLOB
 Part 2, section 22.8: TPM_DAA_BLOB. More...
struct  tdTPM_DAA_SENSITIVE
 Part 2, section 22.9: TPM_DAA_SENSITIVE. More...
struct  tdTPM_RQU_COMMAND_HDR
 TPM Command Headers defined in Part 3. More...
struct  tdTPM_RSP_COMMAND_HDR
 TPM Response Headers defined in Part 3. More...

Defines

#define TPM_BASE   0
 The start of TPM return codes.
#define TPM_Vendor_Specific32   ((UINT32) 0x00000400)
#define TPM_Vendor_Specific8   ((UINT8) 0x80)
#define TPM_TAG_CONTEXTBLOB   ((TPM_STRUCTURE_TAG) 0x0001)
#define TPM_TAG_CONTEXT_SENSITIVE   ((TPM_STRUCTURE_TAG) 0x0002)
#define TPM_TAG_CONTEXTPOINTER   ((TPM_STRUCTURE_TAG) 0x0003)
#define TPM_TAG_CONTEXTLIST   ((TPM_STRUCTURE_TAG) 0x0004)
#define TPM_TAG_SIGNINFO   ((TPM_STRUCTURE_TAG) 0x0005)
#define TPM_TAG_PCR_INFO_LONG   ((TPM_STRUCTURE_TAG) 0x0006)
#define TPM_TAG_PERSISTENT_FLAGS   ((TPM_STRUCTURE_TAG) 0x0007)
#define TPM_TAG_VOLATILE_FLAGS   ((TPM_STRUCTURE_TAG) 0x0008)
#define TPM_TAG_PERSISTENT_DATA   ((TPM_STRUCTURE_TAG) 0x0009)
#define TPM_TAG_VOLATILE_DATA   ((TPM_STRUCTURE_TAG) 0x000A)
#define TPM_TAG_SV_DATA   ((TPM_STRUCTURE_TAG) 0x000B)
#define TPM_TAG_EK_BLOB   ((TPM_STRUCTURE_TAG) 0x000C)
#define TPM_TAG_EK_BLOB_AUTH   ((TPM_STRUCTURE_TAG) 0x000D)
#define TPM_TAG_COUNTER_VALUE   ((TPM_STRUCTURE_TAG) 0x000E)
#define TPM_TAG_TRANSPORT_INTERNAL   ((TPM_STRUCTURE_TAG) 0x000F)
#define TPM_TAG_TRANSPORT_LOG_IN   ((TPM_STRUCTURE_TAG) 0x0010)
#define TPM_TAG_TRANSPORT_LOG_OUT   ((TPM_STRUCTURE_TAG) 0x0011)
#define TPM_TAG_AUDIT_EVENT_IN   ((TPM_STRUCTURE_TAG) 0x0012)
#define TPM_TAG_AUDIT_EVENT_OUT   ((TPM_STRUCTURE_TAG) 0x0013)
#define TPM_TAG_CURRENT_TICKS   ((TPM_STRUCTURE_TAG) 0x0014)
#define TPM_TAG_KEY   ((TPM_STRUCTURE_TAG) 0x0015)
#define TPM_TAG_STORED_DATA12   ((TPM_STRUCTURE_TAG) 0x0016)
#define TPM_TAG_NV_ATTRIBUTES   ((TPM_STRUCTURE_TAG) 0x0017)
#define TPM_TAG_NV_DATA_PUBLIC   ((TPM_STRUCTURE_TAG) 0x0018)
#define TPM_TAG_NV_DATA_SENSITIVE   ((TPM_STRUCTURE_TAG) 0x0019)
#define TPM_TAG_DELEGATIONS   ((TPM_STRUCTURE_TAG) 0x001A)
#define TPM_TAG_DELEGATE_PUBLIC   ((TPM_STRUCTURE_TAG) 0x001B)
#define TPM_TAG_DELEGATE_TABLE_ROW   ((TPM_STRUCTURE_TAG) 0x001C)
#define TPM_TAG_TRANSPORT_AUTH   ((TPM_STRUCTURE_TAG) 0x001D)
#define TPM_TAG_TRANSPORT_PUBLIC   ((TPM_STRUCTURE_TAG) 0x001E)
#define TPM_TAG_PERMANENT_FLAGS   ((TPM_STRUCTURE_TAG) 0x001F)
#define TPM_TAG_STCLEAR_FLAGS   ((TPM_STRUCTURE_TAG) 0x0020)
#define TPM_TAG_STANY_FLAGS   ((TPM_STRUCTURE_TAG) 0x0021)
#define TPM_TAG_PERMANENT_DATA   ((TPM_STRUCTURE_TAG) 0x0022)
#define TPM_TAG_STCLEAR_DATA   ((TPM_STRUCTURE_TAG) 0x0023)
#define TPM_TAG_STANY_DATA   ((TPM_STRUCTURE_TAG) 0x0024)
#define TPM_TAG_FAMILY_TABLE_ENTRY   ((TPM_STRUCTURE_TAG) 0x0025)
#define TPM_TAG_DELEGATE_SENSITIVE   ((TPM_STRUCTURE_TAG) 0x0026)
#define TPM_TAG_DELG_KEY_BLOB   ((TPM_STRUCTURE_TAG) 0x0027)
#define TPM_TAG_KEY12   ((TPM_STRUCTURE_TAG) 0x0028)
#define TPM_TAG_CERTIFY_INFO2   ((TPM_STRUCTURE_TAG) 0x0029)
#define TPM_TAG_DELEGATE_OWNER_BLOB   ((TPM_STRUCTURE_TAG) 0x002A)
#define TPM_TAG_EK_BLOB_ACTIVATE   ((TPM_STRUCTURE_TAG) 0x002B)
#define TPM_TAG_DAA_BLOB   ((TPM_STRUCTURE_TAG) 0x002C)
#define TPM_TAG_DAA_CONTEXT   ((TPM_STRUCTURE_TAG) 0x002D)
#define TPM_TAG_DAA_ENFORCE   ((TPM_STRUCTURE_TAG) 0x002E)
#define TPM_TAG_DAA_ISSUER   ((TPM_STRUCTURE_TAG) 0x002F)
#define TPM_TAG_CAP_VERSION_INFO   ((TPM_STRUCTURE_TAG) 0x0030)
#define TPM_TAG_DAA_SENSITIVE   ((TPM_STRUCTURE_TAG) 0x0031)
#define TPM_TAG_DAA_TPM   ((TPM_STRUCTURE_TAG) 0x0032)
#define TPM_TAG_CMK_MIGAUTH   ((TPM_STRUCTURE_TAG) 0x0033)
#define TPM_TAG_CMK_SIGTICKET   ((TPM_STRUCTURE_TAG) 0x0034)
#define TPM_TAG_CMK_MA_APPROVAL   ((TPM_STRUCTURE_TAG) 0x0035)
#define TPM_TAG_QUOTE_INFO2   ((TPM_STRUCTURE_TAG) 0x0036)
#define TPM_TAG_DA_INFO   ((TPM_STRUCTURE_TAG) 0x0037)
#define TPM_TAG_DA_LIMITED   ((TPM_STRUCTURE_TAG) 0x0038)
#define TPM_TAG_DA_ACTION_TYPE   ((TPM_STRUCTURE_TAG) 0x0039)
#define TPM_RT_KEY   ((TPM_RESOURCE_TYPE) 0x00000001)
 The handle is a key handle and is the result of a LoadKey type operation.
#define TPM_RT_AUTH   ((TPM_RESOURCE_TYPE) 0x00000002)
 The handle is an authorization handle. Auth handles come from TPM_OIAP, TPM_OSAP and TPM_DSAP.
#define TPM_RT_HASH   ((TPM_RESOURCE_TYPE) 0x00000003)
 Reserved for hashes.
#define TPM_RT_TRANS   ((TPM_RESOURCE_TYPE) 0x00000004)
 The handle is for a transport session. Transport handles come from TPM_EstablishTransport.
#define TPM_RT_CONTEXT   ((TPM_RESOURCE_TYPE) 0x00000005)
 Resource wrapped and held outside the TPM using the context save/restore commands.
#define TPM_RT_COUNTER   ((TPM_RESOURCE_TYPE) 0x00000006)
 Reserved for counters.
#define TPM_RT_DELEGATE   ((TPM_RESOURCE_TYPE) 0x00000007)
 The handle is for a delegate row. These are the internal rows held in NV storage by the TPM.
#define TPM_RT_DAA_TPM   ((TPM_RESOURCE_TYPE) 0x00000008)
 The value is a DAA TPM specific blob.
#define TPM_RT_DAA_V0   ((TPM_RESOURCE_TYPE) 0x00000009)
 The value is a DAA V0 parameter.
#define TPM_RT_DAA_V1   ((TPM_RESOURCE_TYPE) 0x0000000A)
 The value is a DAA V1 parameter.
#define TPM_PT_ASYM   ((TPM_PAYLOAD_TYPE) 0x01)
 The entity is an asymmetric key.
#define TPM_PT_BIND   ((TPM_PAYLOAD_TYPE) 0x02)
 The entity is bound data.
#define TPM_PT_MIGRATE   ((TPM_PAYLOAD_TYPE) 0x03)
 The entity is a migration blob.
#define TPM_PT_MAINT   ((TPM_PAYLOAD_TYPE) 0x04)
 The entity is a maintenance blob.
#define TPM_PT_SEAL   ((TPM_PAYLOAD_TYPE) 0x05)
 The entity is sealed data.
#define TPM_PT_MIGRATE_RESTRICTED   ((TPM_PAYLOAD_TYPE) 0x06)
 The entity is a restricted-migration asymmetric key.
#define TPM_PT_MIGRATE_EXTERNAL   ((TPM_PAYLOAD_TYPE) 0x07)
 The entity is a external migratable key.
#define TPM_PT_CMK_MIGRATE   ((TPM_PAYLOAD_TYPE) 0x08)
 The entity is a CMK migratable blob.
#define TPM_PT_VENDOR_SPECIFIC   ((TPM_PAYLOAD_TYPE) 0x80)
 0x80 - 0xFF Vendor specific payloads
#define TPM_ET_KEYHANDLE   ((UINT16) 0x0001)
 The entity is a keyHandle or key.
#define TPM_ET_OWNER   ((UINT16) 0x0002)
 The entity is the TPM Owner.
#define TPM_ET_DATA   ((UINT16) 0x0003)
 The entity is some data.
#define TPM_ET_SRK   ((UINT16) 0x0004)
 The entity is the SRK.
#define TPM_ET_KEY   ((UINT16) 0x0005)
 The entity is a key or keyHandle.
#define TPM_ET_REVOKE   ((UINT16) 0x0006)
 The entity is the RevokeTrust value.
#define TPM_ET_DEL_OWNER_BLOB   ((UINT16) 0x0007)
 The entity is a delegate owner blob.
#define TPM_ET_DEL_ROW   ((UINT16) 0x0008)
 The entity is a delegate row.
#define TPM_ET_DEL_KEY_BLOB   ((UINT16) 0x0009)
 The entity is a delegate key blob.
#define TPM_ET_COUNTER   ((UINT16) 0x000A)
 The entity is a counter.
#define TPM_ET_NV   ((UINT16) 0x000B)
 The entity is a NV index.
#define TPM_ET_OPERATOR   ((UINT16) 0x000C)
 The entity is the operator.
#define TPM_ET_RESERVED_HANDLE   ((UINT16) 0x0040)
 Reserved. This value avoids collisions with the handle MSB setting.
#define TPM_ET_XOR   ((UINT16) 0x0000)
 ADIP encryption scheme: XOR.
#define TPM_ET_AES128   ((UINT16) 0x0006)
 ADIP encryption scheme: AES 128 bits.
#define TPM_KH_SRK   ((TPM_KEY_HANDLE) 0x40000000)
 The handle points to the SRK.
#define TPM_KH_OWNER   ((TPM_KEY_HANDLE) 0x40000001)
 The handle points to the TPM Owner.
#define TPM_KH_REVOKE   ((TPM_KEY_HANDLE) 0x40000002)
 The handle points to the RevokeTrust value.
#define TPM_KH_TRANSPORT   ((TPM_KEY_HANDLE) 0x40000003)
 The handle points to the EstablishTransport static authorization.
#define TPM_KH_OPERATOR   ((TPM_KEY_HANDLE) 0x40000004)
 The handle points to the Operator auth.
#define TPM_KH_ADMIN   ((TPM_KEY_HANDLE) 0x40000005)
 The handle points to the delegation administration auth.
#define TPM_KH_EK   ((TPM_KEY_HANDLE) 0x40000006)
 The handle points to the PUBEK, only usable with TPM_OwnerReadInternalPub.
#define TPM_ST_CLEAR   ((TPM_STARTUP_TYPE) 0x0001)
 The TPM is starting up from a clean state.
#define TPM_ST_STATE   ((TPM_STARTUP_TYPE) 0x0002)
 The TPM is starting up from a saved state.
#define TPM_ST_DEACTIVATED   ((TPM_STARTUP_TYPE) 0x0003)
 The TPM is to startup and set the deactivated flag to TRUE.
#define TPM_PID_OIAP   ((TPM_PROTOCOL_ID) 0x0001)
 The OIAP protocol.
#define TPM_PID_OSAP   ((TPM_PROTOCOL_ID) 0x0002)
 The OSAP protocol.
#define TPM_PID_ADIP   ((TPM_PROTOCOL_ID) 0x0003)
 The ADIP protocol.
#define TPM_PID_ADCP   ((TPM_PROTOCOL_ID) 0x0004)
 The ADCP protocol.
#define TPM_PID_OWNER   ((TPM_PROTOCOL_ID) 0x0005)
 The protocol for taking ownership of a TPM.
#define TPM_PID_DSAP   ((TPM_PROTOCOL_ID) 0x0006)
 The DSAP protocol.
#define TPM_PID_TRANSPORT   ((TPM_PROTOCOL_ID) 0x0007)
 The transport protocol.
#define TPM_ALG_RSA   ((TPM_ALGORITHM_ID) 0x00000001)
 The RSA algorithm.
#define TPM_ALG_DES   ((TPM_ALGORITHM_ID) 0x00000002)
 The DES algorithm.
#define TPM_ALG_3DES   ((TPM_ALGORITHM_ID) 0x00000003)
 The 3DES algorithm in EDE mode.
#define TPM_ALG_SHA   ((TPM_ALGORITHM_ID) 0x00000004)
 The SHA1 algorithm.
#define TPM_ALG_HMAC   ((TPM_ALGORITHM_ID) 0x00000005)
 The RFC 2104 HMAC algorithm.
#define TPM_ALG_AES128   ((TPM_ALGORITHM_ID) 0x00000006)
 The AES algorithm, key size 128.
#define TPM_ALG_MGF1   ((TPM_ALGORITHM_ID) 0x00000007)
 The XOR algorithm using MGF1 to create a string the size of the encrypted block.
#define TPM_ALG_AES192   ((TPM_ALGORITHM_ID) 0x00000008)
 AES, key size 192.
#define TPM_ALG_AES256   ((TPM_ALGORITHM_ID) 0x00000009)
 AES, key size 256.
#define TPM_ALG_XOR   ((TPM_ALGORITHM_ID) 0x0000000A)
 XOR using the rolling nonces.
#define TPM_PHYSICAL_PRESENCE_HW_DISABLE   ((TPM_PHYSICAL_PRESENCE) 0x0200)
 Sets the physicalPresenceHWEnable to FALSE.
#define TPM_PHYSICAL_PRESENCE_CMD_DISABLE   ((TPM_PHYSICAL_PRESENCE) 0x0100)
 Sets the physicalPresenceCMDEnable to FALSE.
#define TPM_PHYSICAL_PRESENCE_LIFETIME_LOCK   ((TPM_PHYSICAL_PRESENCE) 0x0080)
 Sets the physicalPresenceLifetimeLock to TRUE.
#define TPM_PHYSICAL_PRESENCE_HW_ENABLE   ((TPM_PHYSICAL_PRESENCE) 0x0040)
 Sets the physicalPresenceHWEnable to TRUE.
#define TPM_PHYSICAL_PRESENCE_CMD_ENABLE   ((TPM_PHYSICAL_PRESENCE) 0x0020)
 Sets the physicalPresenceCMDEnable to TRUE.
#define TPM_PHYSICAL_PRESENCE_NOTPRESENT   ((TPM_PHYSICAL_PRESENCE) 0x0010)
 Sets PhysicalPresence = FALSE.
#define TPM_PHYSICAL_PRESENCE_PRESENT   ((TPM_PHYSICAL_PRESENCE) 0x0008)
 Sets PhysicalPresence = TRUE.
#define TPM_PHYSICAL_PRESENCE_LOCK   ((TPM_PHYSICAL_PRESENCE) 0x0004)
 Sets PhysicalPresenceLock = TRUE.
#define TPM_MS_MIGRATE   ((TPM_MIGRATE_SCHEME) 0x0001)
 A public key that can be used with all TPM migration commands other than 'ReWrap' mode.
#define TPM_MS_REWRAP   ((TPM_MIGRATE_SCHEME) 0x0002)
 A public key that can be used for the ReWrap mode of TPM_CreateMigrationBlob.
#define TPM_MS_MAINT   ((TPM_MIGRATE_SCHEME) 0x0003)
 A public key that can be used for the Maintenance commands.
#define TPM_MS_RESTRICT_MIGRATE   ((TPM_MIGRATE_SCHEME) 0x0004)
 The key is to be migrated to a Migration Authority.
#define TPM_MS_RESTRICT_APPROVE_DOUBLE   ((TPM_MIGRATE_SCHEME) 0x0005)
 The key is to be migrated to an entity approved by a Migration Authority using double wrapping.
#define TPM_EK_TYPE_ACTIVATE   ((TPM_EK_TYPE) 0x0001)
 The blob MUST be TPM_EK_BLOB_ACTIVATE.
#define TPM_EK_TYPE_AUTH   ((TPM_EK_TYPE) 0x0002)
 The blob MUST be TPM_EK_BLOB_AUTH.
#define TPM_PS_PC_11   ((TPM_PLATFORM_SPECIFIC) 0x0001)
 PC Specific version 1.1.
#define TPM_PS_PC_12   ((TPM_PLATFORM_SPECIFIC) 0x0002)
 PC Specific version 1.2.
#define TPM_PS_PDA_12   ((TPM_PLATFORM_SPECIFIC) 0x0003)
 PDA Specific version 1.2.
#define TPM_PS_Server_12   ((TPM_PLATFORM_SPECIFIC) 0x0004)
 Server Specific version 1.2.
#define TPM_PS_Mobile_12   ((TPM_PLATFORM_SPECIFIC) 0x0005)
 Mobil Specific version 1.2.
#define TPM_SHA1_160_HASH_LEN   0x14
#define TPM_SHA1BASED_NONCE_LEN   TPM_SHA1_160_HASH_LEN
#define TPM_KEY_SIGNING   ((UINT16) 0x0010)
 TPM_KEY_SIGNING SHALL indicate a signing key.
#define TPM_KEY_STORAGE   ((UINT16) 0x0011)
 TPM_KEY_STORAGE SHALL indicate a storage key.
#define TPM_KEY_IDENTITY   ((UINT16) 0x0012)
 TPM_KEY_IDENTITY SHALL indicate an identity key.
#define TPM_KEY_AUTHCHANGE   ((UINT16) 0x0013)
 TPM_KEY_AUTHCHANGE SHALL indicate an ephemeral key that is in use during the ChangeAuthAsym process, only.
#define TPM_KEY_BIND   ((UINT16) 0x0014)
 TPM_KEY_BIND SHALL indicate a key that can be used for TPM_Bind and TPM_Unbind operations only.
#define TPM_KEY_LEGACY   ((UINT16) 0x0015)
 TPM_KEY_LEGACY SHALL indicate a key that can perform signing and binding operations.
#define TPM_KEY_MIGRATE   ((UINT16) 0x0016)
 TPM_KEY_MIGRAGE SHALL indicate a key in use for TPM_MigrateKey.
#define TPM_ES_NONE   ((TPM_ENC_SCHEME) 0x0001)
#define TPM_ES_RSAESPKCSv15   ((TPM_ENC_SCHEME) 0x0002)
#define TPM_ES_RSAESOAEP_SHA1_MGF1   ((TPM_ENC_SCHEME) 0x0003)
#define TPM_ES_SYM_CNT   ((TPM_ENC_SCHEME) 0x0004)
 rev94 defined
#define TPM_ES_SYM_CTR   ((TPM_ENC_SCHEME) 0x0004)
#define TPM_ES_SYM_OFB   ((TPM_ENC_SCHEME) 0x0005)
#define TPM_SS_NONE   ((TPM_SIG_SCHEME) 0x0001)
#define TPM_SS_RSASSAPKCS1v15_SHA1   ((TPM_SIG_SCHEME) 0x0002)
#define TPM_SS_RSASSAPKCS1v15_DER   ((TPM_SIG_SCHEME) 0x0003)
#define TPM_SS_RSASSAPKCS1v15_INFO   ((TPM_SIG_SCHEME) 0x0004)
#define TPM_AUTH_NEVER   ((TPM_AUTH_DATA_USAGE) 0x00)
#define TPM_AUTH_ALWAYS   ((TPM_AUTH_DATA_USAGE) 0x01)
#define TPM_AUTH_PRIV_USE_ONLY   ((TPM_AUTH_DATA_USAGE) 0x03)
#define TPM_CMK_DELEGATE_SIGNING   ((TPM_CMK_DELEGATE) BIT31)
#define TPM_CMK_DELEGATE_STORAGE   ((TPM_CMK_DELEGATE) BIT30)
#define TPM_CMK_DELEGATE_BIND   ((TPM_CMK_DELEGATE) BIT29)
#define TPM_CMK_DELEGATE_LEGACY   ((TPM_CMK_DELEGATE) BIT28)
#define TPM_CMK_DELEGATE_MIGRATE   ((TPM_CMK_DELEGATE) BIT27)
#define TPM_TAG_RQU_COMMAND   ((TPM_STRUCTURE_TAG) 0x00C1)
#define TPM_TAG_RQU_AUTH1_COMMAND   ((TPM_STRUCTURE_TAG) 0x00C2)
#define TPM_TAG_RQU_AUTH2_COMMAND   ((TPM_STRUCTURE_TAG) 0x00C3)
#define TPM_TAG_RSP_COMMAND   ((TPM_STRUCTURE_TAG) 0x00C4)
#define TPM_TAG_RSP_AUTH1_COMMAND   ((TPM_STRUCTURE_TAG) 0x00C5)
#define TPM_TAG_RSP_AUTH2_COMMAND   ((TPM_STRUCTURE_TAG) 0x00C6)
#define TPM_PF_DISABLE   ((TPM_CAPABILITY_AREA) 1)
#define TPM_PF_OWNERSHIP   ((TPM_CAPABILITY_AREA) 2)
#define TPM_PF_DEACTIVATED   ((TPM_CAPABILITY_AREA) 3)
#define TPM_PF_READPUBEK   ((TPM_CAPABILITY_AREA) 4)
#define TPM_PF_DISABLEOWNERCLEAR   ((TPM_CAPABILITY_AREA) 5)
#define TPM_PF_ALLOWMAINTENANCE   ((TPM_CAPABILITY_AREA) 6)
#define TPM_PF_PHYSICALPRESENCELIFETIMELOCK   ((TPM_CAPABILITY_AREA) 7)
#define TPM_PF_PHYSICALPRESENCEHWENABLE   ((TPM_CAPABILITY_AREA) 8)
#define TPM_PF_PHYSICALPRESENCECMDENABLE   ((TPM_CAPABILITY_AREA) 9)
#define TPM_PF_CEKPUSED   ((TPM_CAPABILITY_AREA) 10)
#define TPM_PF_TPMPOST   ((TPM_CAPABILITY_AREA) 11)
#define TPM_PF_TPMPOSTLOCK   ((TPM_CAPABILITY_AREA) 12)
#define TPM_PF_FIPS   ((TPM_CAPABILITY_AREA) 13)
#define TPM_PF_OPERATOR   ((TPM_CAPABILITY_AREA) 14)
#define TPM_PF_ENABLEREVOKEEK   ((TPM_CAPABILITY_AREA) 15)
#define TPM_PF_NV_LOCKED   ((TPM_CAPABILITY_AREA) 16)
#define TPM_PF_READSRKPUB   ((TPM_CAPABILITY_AREA) 17)
#define TPM_PF_TPMESTABLISHED   ((TPM_CAPABILITY_AREA) 18)
#define TPM_PF_MAINTENANCEDONE   ((TPM_CAPABILITY_AREA) 19)
#define TPM_PF_DISABLEFULLDALOGICINFO   ((TPM_CAPABILITY_AREA) 20)
#define TPM_SF_DEACTIVATED   ((TPM_CAPABILITY_AREA) 1)
#define TPM_SF_DISABLEFORCECLEAR   ((TPM_CAPABILITY_AREA) 2)
#define TPM_SF_PHYSICALPRESENCE   ((TPM_CAPABILITY_AREA) 3)
#define TPM_SF_PHYSICALPRESENCELOCK   ((TPM_CAPABILITY_AREA) 4)
#define TPM_SF_BGLOBALLOCK   ((TPM_CAPABILITY_AREA) 5)
#define TPM_AF_POSTINITIALISE   ((TPM_CAPABILITY_AREA) 1)
#define TPM_AF_LOCALITYMODIFIER   ((TPM_CAPABILITY_AREA) 2)
#define TPM_AF_TRANSPORTEXCLUSIVE   ((TPM_CAPABILITY_AREA) 3)
#define TPM_AF_TOSPRESENT   ((TPM_CAPABILITY_AREA) 4)
#define TPM_MIN_COUNTERS   4
 the minimum number of counters is 4
#define TPM_DELEGATE_KEY   TPM_KEY
#define TPM_NUM_PCR   16
#define TPM_MAX_NV_WRITE_NOOWNER   64
#define TPM_PD_REVMAJOR   ((TPM_CAPABILITY_AREA) 1)
#define TPM_PD_REVMINOR   ((TPM_CAPABILITY_AREA) 2)
#define TPM_PD_TPMPROOF   ((TPM_CAPABILITY_AREA) 3)
#define TPM_PD_OWNERAUTH   ((TPM_CAPABILITY_AREA) 4)
#define TPM_PD_OPERATORAUTH   ((TPM_CAPABILITY_AREA) 5)
#define TPM_PD_MANUMAINTPUB   ((TPM_CAPABILITY_AREA) 6)
#define TPM_PD_ENDORSEMENTKEY   ((TPM_CAPABILITY_AREA) 7)
#define TPM_PD_SRK   ((TPM_CAPABILITY_AREA) 8)
#define TPM_PD_DELEGATEKEY   ((TPM_CAPABILITY_AREA) 9)
#define TPM_PD_CONTEXTKEY   ((TPM_CAPABILITY_AREA) 10)
#define TPM_PD_AUDITMONOTONICCOUNTER   ((TPM_CAPABILITY_AREA) 11)
#define TPM_PD_MONOTONICCOUNTER   ((TPM_CAPABILITY_AREA) 12)
#define TPM_PD_PCRATTRIB   ((TPM_CAPABILITY_AREA) 13)
#define TPM_PD_ORDINALAUDITSTATUS   ((TPM_CAPABILITY_AREA) 14)
#define TPM_PD_AUTHDIR   ((TPM_CAPABILITY_AREA) 15)
#define TPM_PD_RNGSTATE   ((TPM_CAPABILITY_AREA) 16)
#define TPM_PD_FAMILYTABLE   ((TPM_CAPABILITY_AREA) 17)
#define TPM_DELEGATETABLE   ((TPM_CAPABILITY_AREA) 18)
#define TPM_PD_EKRESET   ((TPM_CAPABILITY_AREA) 19)
#define TPM_PD_MAXNVBUFSIZE   ((TPM_CAPABILITY_AREA) 20)
#define TPM_PD_LASTFAMILYID   ((TPM_CAPABILITY_AREA) 21)
#define TPM_PD_NOOWNERNVWRITE   ((TPM_CAPABILITY_AREA) 22)
#define TPM_PD_RESTRICTDELEGATE   ((TPM_CAPABILITY_AREA) 23)
#define TPM_PD_TPMDAASEED   ((TPM_CAPABILITY_AREA) 24)
#define TPM_PD_DAAPROOF   ((TPM_CAPABILITY_AREA) 25)
#define TPM_SD_CONTEXTNONCEKEY   ((TPM_CAPABILITY_AREA)0x00000001)
#define TPM_SD_COUNTID   ((TPM_CAPABILITY_AREA)0x00000002)
#define TPM_SD_OWNERREFERENCE   ((TPM_CAPABILITY_AREA)0x00000003)
#define TPM_SD_DISABLERESETLOCK   ((TPM_CAPABILITY_AREA)0x00000004)
#define TPM_SD_PCR   ((TPM_CAPABILITY_AREA)0x00000005)
#define TPM_SD_DEFERREDPHYSICALPRESENCE   ((TPM_CAPABILITY_AREA)0x00000006)
#define TPM_AD_CONTEXTNONCESESSION   ((TPM_CAPABILITY_AREA) 1)
#define TPM_AD_AUDITDIGEST   ((TPM_CAPABILITY_AREA) 2)
#define TPM_AD_CURRENTTICKS   ((TPM_CAPABILITY_AREA) 3)
#define TPM_AD_CONTEXTCOUNT   ((TPM_CAPABILITY_AREA) 4)
#define TPM_AD_CONTEXTLIST   ((TPM_CAPABILITY_AREA) 5)
#define TPM_AD_SESSIONS   ((TPM_CAPABILITY_AREA) 6)
#define TPM_LOC_FOUR   ((UINT8) 0x10)
#define TPM_LOC_THREE   ((UINT8) 0x08)
#define TPM_LOC_TWO   ((UINT8) 0x04)
#define TPM_LOC_ONE   ((UINT8) 0x02)
#define TPM_LOC_ZERO   ((UINT8) 0x01)
#define TPM_KEY_CONTROL_OWNER_EVICT   ((UINT32) 0x00000001)
 Part 2, section 10.9: TPM_KEY_CONTROL.
#define TPM_TRANSPORT_ENCRYPT   ((UINT32)BIT0)
#define TPM_TRANSPORT_LOG   ((UINT32)BIT1)
#define TPM_TRANSPORT_EXCLUSIVE   ((UINT32)BIT2)
#define TPM_VENDOR_ERROR   TPM_Vendor_Specific32
#define TPM_NON_FATAL   0x00000800
#define TPM_SUCCESS   ((TPM_RESULT) TPM_BASE)
#define TPM_AUTHFAIL   ((TPM_RESULT) (TPM_BASE + 1))
#define TPM_BADINDEX   ((TPM_RESULT) (TPM_BASE + 2))
#define TPM_BAD_PARAMETER   ((TPM_RESULT) (TPM_BASE + 3))
#define TPM_AUDITFAILURE   ((TPM_RESULT) (TPM_BASE + 4))
#define TPM_CLEAR_DISABLED   ((TPM_RESULT) (TPM_BASE + 5))
#define TPM_DEACTIVATED   ((TPM_RESULT) (TPM_BASE + 6))
#define TPM_DISABLED   ((TPM_RESULT) (TPM_BASE + 7))
#define TPM_DISABLED_CMD   ((TPM_RESULT) (TPM_BASE + 8))
#define TPM_FAIL   ((TPM_RESULT) (TPM_BASE + 9))
#define TPM_BAD_ORDINAL   ((TPM_RESULT) (TPM_BASE + 10))
#define TPM_INSTALL_DISABLED   ((TPM_RESULT) (TPM_BASE + 11))
#define TPM_INVALID_KEYHANDLE   ((TPM_RESULT) (TPM_BASE + 12))
#define TPM_KEYNOTFOUND   ((TPM_RESULT) (TPM_BASE + 13))
#define TPM_INAPPROPRIATE_ENC   ((TPM_RESULT) (TPM_BASE + 14))
#define TPM_MIGRATEFAIL   ((TPM_RESULT) (TPM_BASE + 15))
#define TPM_INVALID_PCR_INFO   ((TPM_RESULT) (TPM_BASE + 16))
#define TPM_NOSPACE   ((TPM_RESULT) (TPM_BASE + 17))
#define TPM_NOSRK   ((TPM_RESULT) (TPM_BASE + 18))
#define TPM_NOTSEALED_BLOB   ((TPM_RESULT) (TPM_BASE + 19))
#define TPM_OWNER_SET   ((TPM_RESULT) (TPM_BASE + 20))
#define TPM_RESOURCES   ((TPM_RESULT) (TPM_BASE + 21))
#define TPM_SHORTRANDOM   ((TPM_RESULT) (TPM_BASE + 22))
#define TPM_SIZE   ((TPM_RESULT) (TPM_BASE + 23))
#define TPM_WRONGPCRVAL   ((TPM_RESULT) (TPM_BASE + 24))
#define TPM_BAD_PARAM_SIZE   ((TPM_RESULT) (TPM_BASE + 25))
#define TPM_SHA_THREAD   ((TPM_RESULT) (TPM_BASE + 26))
#define TPM_SHA_ERROR   ((TPM_RESULT) (TPM_BASE + 27))
#define TPM_FAILEDSELFTEST   ((TPM_RESULT) (TPM_BASE + 28))
#define TPM_AUTH2FAIL   ((TPM_RESULT) (TPM_BASE + 29))
#define TPM_BADTAG   ((TPM_RESULT) (TPM_BASE + 30))
#define TPM_IOERROR   ((TPM_RESULT) (TPM_BASE + 31))
#define TPM_ENCRYPT_ERROR   ((TPM_RESULT) (TPM_BASE + 32))
#define TPM_DECRYPT_ERROR   ((TPM_RESULT) (TPM_BASE + 33))
#define TPM_INVALID_AUTHHANDLE   ((TPM_RESULT) (TPM_BASE + 34))
#define TPM_NO_ENDORSEMENT   ((TPM_RESULT) (TPM_BASE + 35))
#define TPM_INVALID_KEYUSAGE   ((TPM_RESULT) (TPM_BASE + 36))
#define TPM_WRONG_ENTITYTYPE   ((TPM_RESULT) (TPM_BASE + 37))
#define TPM_INVALID_POSTINIT   ((TPM_RESULT) (TPM_BASE + 38))
#define TPM_INAPPROPRIATE_SIG   ((TPM_RESULT) (TPM_BASE + 39))
#define TPM_BAD_KEY_PROPERTY   ((TPM_RESULT) (TPM_BASE + 40))
#define TPM_BAD_MIGRATION   ((TPM_RESULT) (TPM_BASE + 41))
#define TPM_BAD_SCHEME   ((TPM_RESULT) (TPM_BASE + 42))
#define TPM_BAD_DATASIZE   ((TPM_RESULT) (TPM_BASE + 43))
#define TPM_BAD_MODE   ((TPM_RESULT) (TPM_BASE + 44))
#define TPM_BAD_PRESENCE   ((TPM_RESULT) (TPM_BASE + 45))
#define TPM_BAD_VERSION   ((TPM_RESULT) (TPM_BASE + 46))
#define TPM_NO_WRAP_TRANSPORT   ((TPM_RESULT) (TPM_BASE + 47))
#define TPM_AUDITFAIL_UNSUCCESSFUL   ((TPM_RESULT) (TPM_BASE + 48))
#define TPM_AUDITFAIL_SUCCESSFUL   ((TPM_RESULT) (TPM_BASE + 49))
#define TPM_NOTRESETABLE   ((TPM_RESULT) (TPM_BASE + 50))
#define TPM_NOTLOCAL   ((TPM_RESULT) (TPM_BASE + 51))
#define TPM_BAD_TYPE   ((TPM_RESULT) (TPM_BASE + 52))
#define TPM_INVALID_RESOURCE   ((TPM_RESULT) (TPM_BASE + 53))
#define TPM_NOTFIPS   ((TPM_RESULT) (TPM_BASE + 54))
#define TPM_INVALID_FAMILY   ((TPM_RESULT) (TPM_BASE + 55))
#define TPM_NO_NV_PERMISSION   ((TPM_RESULT) (TPM_BASE + 56))
#define TPM_REQUIRES_SIGN   ((TPM_RESULT) (TPM_BASE + 57))
#define TPM_KEY_NOTSUPPORTED   ((TPM_RESULT) (TPM_BASE + 58))
#define TPM_AUTH_CONFLICT   ((TPM_RESULT) (TPM_BASE + 59))
#define TPM_AREA_LOCKED   ((TPM_RESULT) (TPM_BASE + 60))
#define TPM_BAD_LOCALITY   ((TPM_RESULT) (TPM_BASE + 61))
#define TPM_READ_ONLY   ((TPM_RESULT) (TPM_BASE + 62))
#define TPM_PER_NOWRITE   ((TPM_RESULT) (TPM_BASE + 63))
#define TPM_FAMILYCOUNT   ((TPM_RESULT) (TPM_BASE + 64))
#define TPM_WRITE_LOCKED   ((TPM_RESULT) (TPM_BASE + 65))
#define TPM_BAD_ATTRIBUTES   ((TPM_RESULT) (TPM_BASE + 66))
#define TPM_INVALID_STRUCTURE   ((TPM_RESULT) (TPM_BASE + 67))
#define TPM_KEY_OWNER_CONTROL   ((TPM_RESULT) (TPM_BASE + 68))
#define TPM_BAD_COUNTER   ((TPM_RESULT) (TPM_BASE + 69))
#define TPM_NOT_FULLWRITE   ((TPM_RESULT) (TPM_BASE + 70))
#define TPM_CONTEXT_GAP   ((TPM_RESULT) (TPM_BASE + 71))
#define TPM_MAXNVWRITES   ((TPM_RESULT) (TPM_BASE + 72))
#define TPM_NOOPERATOR   ((TPM_RESULT) (TPM_BASE + 73))
#define TPM_RESOURCEMISSING   ((TPM_RESULT) (TPM_BASE + 74))
#define TPM_DELEGATE_LOCK   ((TPM_RESULT) (TPM_BASE + 75))
#define TPM_DELEGATE_FAMILY   ((TPM_RESULT) (TPM_BASE + 76))
#define TPM_DELEGATE_ADMIN   ((TPM_RESULT) (TPM_BASE + 77))
#define TPM_TRANSPORT_NOTEXCLUSIVE   ((TPM_RESULT) (TPM_BASE + 78))
#define TPM_OWNER_CONTROL   ((TPM_RESULT) (TPM_BASE + 79))
#define TPM_DAA_RESOURCES   ((TPM_RESULT) (TPM_BASE + 80))
#define TPM_DAA_INPUT_DATA0   ((TPM_RESULT) (TPM_BASE + 81))
#define TPM_DAA_INPUT_DATA1   ((TPM_RESULT) (TPM_BASE + 82))
#define TPM_DAA_ISSUER_SETTINGS   ((TPM_RESULT) (TPM_BASE + 83))
#define TPM_DAA_TPM_SETTINGS   ((TPM_RESULT) (TPM_BASE + 84))
#define TPM_DAA_STAGE   ((TPM_RESULT) (TPM_BASE + 85))
#define TPM_DAA_ISSUER_VALIDITY   ((TPM_RESULT) (TPM_BASE + 86))
#define TPM_DAA_WRONG_W   ((TPM_RESULT) (TPM_BASE + 87))
#define TPM_BAD_HANDLE   ((TPM_RESULT) (TPM_BASE + 88))
#define TPM_BAD_DELEGATE   ((TPM_RESULT) (TPM_BASE + 89))
#define TPM_BADCONTEXT   ((TPM_RESULT) (TPM_BASE + 90))
#define TPM_TOOMANYCONTEXTS   ((TPM_RESULT) (TPM_BASE + 91))
#define TPM_MA_TICKET_SIGNATURE   ((TPM_RESULT) (TPM_BASE + 92))
#define TPM_MA_DESTINATION   ((TPM_RESULT) (TPM_BASE + 93))
#define TPM_MA_SOURCE   ((TPM_RESULT) (TPM_BASE + 94))
#define TPM_MA_AUTHORITY   ((TPM_RESULT) (TPM_BASE + 95))
#define TPM_PERMANENTEK   ((TPM_RESULT) (TPM_BASE + 97))
#define TPM_BAD_SIGNATURE   ((TPM_RESULT) (TPM_BASE + 98))
#define TPM_NOCONTEXTSPACE   ((TPM_RESULT) (TPM_BASE + 99))
#define TPM_RETRY   ((TPM_RESULT) (TPM_BASE + TPM_NON_FATAL))
#define TPM_NEEDS_SELFTEST   ((TPM_RESULT) (TPM_BASE + TPM_NON_FATAL + 1))
#define TPM_DOING_SELFTEST   ((TPM_RESULT) (TPM_BASE + TPM_NON_FATAL + 2))
#define TPM_DEFEND_LOCK_RUNNING   ((TPM_RESULT) (TPM_BASE + TPM_NON_FATAL + 3))
#define TPM_ORD_ActivateIdentity   ((TPM_COMMAND_CODE) 0x0000007A)
#define TPM_ORD_AuthorizeMigrationKey   ((TPM_COMMAND_CODE) 0x0000002B)
#define TPM_ORD_CertifyKey   ((TPM_COMMAND_CODE) 0x00000032)
#define TPM_ORD_CertifyKey2   ((TPM_COMMAND_CODE) 0x00000033)
#define TPM_ORD_CertifySelfTest   ((TPM_COMMAND_CODE) 0x00000052)
#define TPM_ORD_ChangeAuth   ((TPM_COMMAND_CODE) 0x0000000C)
#define TPM_ORD_ChangeAuthAsymFinish   ((TPM_COMMAND_CODE) 0x0000000F)
#define TPM_ORD_ChangeAuthAsymStart   ((TPM_COMMAND_CODE) 0x0000000E)
#define TPM_ORD_ChangeAuthOwner   ((TPM_COMMAND_CODE) 0x00000010)
#define TPM_ORD_CMK_ApproveMA   ((TPM_COMMAND_CODE) 0x0000001D)
#define TPM_ORD_CMK_ConvertMigration   ((TPM_COMMAND_CODE) 0x00000024)
#define TPM_ORD_CMK_CreateBlob   ((TPM_COMMAND_CODE) 0x0000001B)
#define TPM_ORD_CMK_CreateKey   ((TPM_COMMAND_CODE) 0x00000013)
#define TPM_ORD_CMK_CreateTicket   ((TPM_COMMAND_CODE) 0x00000012)
#define TPM_ORD_CMK_SetRestrictions   ((TPM_COMMAND_CODE) 0x0000001C)
#define TPM_ORD_ContinueSelfTest   ((TPM_COMMAND_CODE) 0x00000053)
#define TPM_ORD_ConvertMigrationBlob   ((TPM_COMMAND_CODE) 0x0000002A)
#define TPM_ORD_CreateCounter   ((TPM_COMMAND_CODE) 0x000000DC)
#define TPM_ORD_CreateEndorsementKeyPair   ((TPM_COMMAND_CODE) 0x00000078)
#define TPM_ORD_CreateMaintenanceArchive   ((TPM_COMMAND_CODE) 0x0000002C)
#define TPM_ORD_CreateMigrationBlob   ((TPM_COMMAND_CODE) 0x00000028)
#define TPM_ORD_CreateRevocableEK   ((TPM_COMMAND_CODE) 0x0000007F)
#define TPM_ORD_CreateWrapKey   ((TPM_COMMAND_CODE) 0x0000001F)
#define TPM_ORD_DAA_JOIN   ((TPM_COMMAND_CODE) 0x00000029)
#define TPM_ORD_DAA_SIGN   ((TPM_COMMAND_CODE) 0x00000031)
#define TPM_ORD_Delegate_CreateKeyDelegation   ((TPM_COMMAND_CODE) 0x000000D4)
#define TPM_ORD_Delegate_CreateOwnerDelegation   ((TPM_COMMAND_CODE) 0x000000D5)
#define TPM_ORD_Delegate_LoadOwnerDelegation   ((TPM_COMMAND_CODE) 0x000000D8)
#define TPM_ORD_Delegate_Manage   ((TPM_COMMAND_CODE) 0x000000D2)
#define TPM_ORD_Delegate_ReadTable   ((TPM_COMMAND_CODE) 0x000000DB)
#define TPM_ORD_Delegate_UpdateVerification   ((TPM_COMMAND_CODE) 0x000000D1)
#define TPM_ORD_Delegate_VerifyDelegation   ((TPM_COMMAND_CODE) 0x000000D6)
#define TPM_ORD_DirRead   ((TPM_COMMAND_CODE) 0x0000001A)
#define TPM_ORD_DirWriteAuth   ((TPM_COMMAND_CODE) 0x00000019)
#define TPM_ORD_DisableForceClear   ((TPM_COMMAND_CODE) 0x0000005E)
#define TPM_ORD_DisableOwnerClear   ((TPM_COMMAND_CODE) 0x0000005C)
#define TPM_ORD_DisablePubekRead   ((TPM_COMMAND_CODE) 0x0000007E)
#define TPM_ORD_DSAP   ((TPM_COMMAND_CODE) 0x00000011)
#define TPM_ORD_EstablishTransport   ((TPM_COMMAND_CODE) 0x000000E6)
#define TPM_ORD_EvictKey   ((TPM_COMMAND_CODE) 0x00000022)
#define TPM_ORD_ExecuteTransport   ((TPM_COMMAND_CODE) 0x000000E7)
#define TPM_ORD_Extend   ((TPM_COMMAND_CODE) 0x00000014)
#define TPM_ORD_FieldUpgrade   ((TPM_COMMAND_CODE) 0x000000AA)
#define TPM_ORD_FlushSpecific   ((TPM_COMMAND_CODE) 0x000000BA)
#define TPM_ORD_ForceClear   ((TPM_COMMAND_CODE) 0x0000005D)
#define TPM_ORD_GetAuditDigest   ((TPM_COMMAND_CODE) 0x00000085)
#define TPM_ORD_GetAuditDigestSigned   ((TPM_COMMAND_CODE) 0x00000086)
#define TPM_ORD_GetAuditEvent   ((TPM_COMMAND_CODE) 0x00000082)
#define TPM_ORD_GetAuditEventSigned   ((TPM_COMMAND_CODE) 0x00000083)
#define TPM_ORD_GetCapability   ((TPM_COMMAND_CODE) 0x00000065)
#define TPM_ORD_GetCapabilityOwner   ((TPM_COMMAND_CODE) 0x00000066)
#define TPM_ORD_GetCapabilitySigned   ((TPM_COMMAND_CODE) 0x00000064)
#define TPM_ORD_GetOrdinalAuditStatus   ((TPM_COMMAND_CODE) 0x0000008C)
#define TPM_ORD_GetPubKey   ((TPM_COMMAND_CODE) 0x00000021)
#define TPM_ORD_GetRandom   ((TPM_COMMAND_CODE) 0x00000046)
#define TPM_ORD_GetTestResult   ((TPM_COMMAND_CODE) 0x00000054)
#define TPM_ORD_GetTicks   ((TPM_COMMAND_CODE) 0x000000F1)
#define TPM_ORD_IncrementCounter   ((TPM_COMMAND_CODE) 0x000000DD)
#define TPM_ORD_Init   ((TPM_COMMAND_CODE) 0x00000097)
#define TPM_ORD_KeyControlOwner   ((TPM_COMMAND_CODE) 0x00000023)
#define TPM_ORD_KillMaintenanceFeature   ((TPM_COMMAND_CODE) 0x0000002E)
#define TPM_ORD_LoadAuthContext   ((TPM_COMMAND_CODE) 0x000000B7)
#define TPM_ORD_LoadContext   ((TPM_COMMAND_CODE) 0x000000B9)
#define TPM_ORD_LoadKey   ((TPM_COMMAND_CODE) 0x00000020)
#define TPM_ORD_LoadKey2   ((TPM_COMMAND_CODE) 0x00000041)
#define TPM_ORD_LoadKeyContext   ((TPM_COMMAND_CODE) 0x000000B5)
#define TPM_ORD_LoadMaintenanceArchive   ((TPM_COMMAND_CODE) 0x0000002D)
#define TPM_ORD_LoadManuMaintPub   ((TPM_COMMAND_CODE) 0x0000002F)
#define TPM_ORD_MakeIdentity   ((TPM_COMMAND_CODE) 0x00000079)
#define TPM_ORD_MigrateKey   ((TPM_COMMAND_CODE) 0x00000025)
#define TPM_ORD_NV_DefineSpace   ((TPM_COMMAND_CODE) 0x000000CC)
#define TPM_ORD_NV_ReadValue   ((TPM_COMMAND_CODE) 0x000000CF)
#define TPM_ORD_NV_ReadValueAuth   ((TPM_COMMAND_CODE) 0x000000D0)
#define TPM_ORD_NV_WriteValue   ((TPM_COMMAND_CODE) 0x000000CD)
#define TPM_ORD_NV_WriteValueAuth   ((TPM_COMMAND_CODE) 0x000000CE)
#define TPM_ORD_OIAP   ((TPM_COMMAND_CODE) 0x0000000A)
#define TPM_ORD_OSAP   ((TPM_COMMAND_CODE) 0x0000000B)
#define TPM_ORD_OwnerClear   ((TPM_COMMAND_CODE) 0x0000005B)
#define TPM_ORD_OwnerReadInternalPub   ((TPM_COMMAND_CODE) 0x00000081)
#define TPM_ORD_OwnerReadPubek   ((TPM_COMMAND_CODE) 0x0000007D)
#define TPM_ORD_OwnerSetDisable   ((TPM_COMMAND_CODE) 0x0000006E)
#define TPM_ORD_PCR_Reset   ((TPM_COMMAND_CODE) 0x000000C8)
#define TPM_ORD_PcrRead   ((TPM_COMMAND_CODE) 0x00000015)
#define TPM_ORD_PhysicalDisable   ((TPM_COMMAND_CODE) 0x00000070)
#define TPM_ORD_PhysicalEnable   ((TPM_COMMAND_CODE) 0x0000006F)
#define TPM_ORD_PhysicalSetDeactivated   ((TPM_COMMAND_CODE) 0x00000072)
#define TPM_ORD_Quote   ((TPM_COMMAND_CODE) 0x00000016)
#define TPM_ORD_Quote2   ((TPM_COMMAND_CODE) 0x0000003E)
#define TPM_ORD_ReadCounter   ((TPM_COMMAND_CODE) 0x000000DE)
#define TPM_ORD_ReadManuMaintPub   ((TPM_COMMAND_CODE) 0x00000030)
#define TPM_ORD_ReadPubek   ((TPM_COMMAND_CODE) 0x0000007C)
#define TPM_ORD_ReleaseCounter   ((TPM_COMMAND_CODE) 0x000000DF)
#define TPM_ORD_ReleaseCounterOwner   ((TPM_COMMAND_CODE) 0x000000E0)
#define TPM_ORD_ReleaseTransportSigned   ((TPM_COMMAND_CODE) 0x000000E8)
#define TPM_ORD_Reset   ((TPM_COMMAND_CODE) 0x0000005A)
#define TPM_ORD_ResetLockValue   ((TPM_COMMAND_CODE) 0x00000040)
#define TPM_ORD_RevokeTrust   ((TPM_COMMAND_CODE) 0x00000080)
#define TPM_ORD_SaveAuthContext   ((TPM_COMMAND_CODE) 0x000000B6)
#define TPM_ORD_SaveContext   ((TPM_COMMAND_CODE) 0x000000B8)
#define TPM_ORD_SaveKeyContext   ((TPM_COMMAND_CODE) 0x000000B4)
#define TPM_ORD_SaveState   ((TPM_COMMAND_CODE) 0x00000098)
#define TPM_ORD_Seal   ((TPM_COMMAND_CODE) 0x00000017)
#define TPM_ORD_Sealx   ((TPM_COMMAND_CODE) 0x0000003D)
#define TPM_ORD_SelfTestFull   ((TPM_COMMAND_CODE) 0x00000050)
#define TPM_ORD_SetCapability   ((TPM_COMMAND_CODE) 0x0000003F)
#define TPM_ORD_SetOperatorAuth   ((TPM_COMMAND_CODE) 0x00000074)
#define TPM_ORD_SetOrdinalAuditStatus   ((TPM_COMMAND_CODE) 0x0000008D)
#define TPM_ORD_SetOwnerInstall   ((TPM_COMMAND_CODE) 0x00000071)
#define TPM_ORD_SetOwnerPointer   ((TPM_COMMAND_CODE) 0x00000075)
#define TPM_ORD_SetRedirection   ((TPM_COMMAND_CODE) 0x0000009A)
#define TPM_ORD_SetTempDeactivated   ((TPM_COMMAND_CODE) 0x00000073)
#define TPM_ORD_SHA1Complete   ((TPM_COMMAND_CODE) 0x000000A2)
#define TPM_ORD_SHA1CompleteExtend   ((TPM_COMMAND_CODE) 0x000000A3)
#define TPM_ORD_SHA1Start   ((TPM_COMMAND_CODE) 0x000000A0)
#define TPM_ORD_SHA1Update   ((TPM_COMMAND_CODE) 0x000000A1)
#define TPM_ORD_Sign   ((TPM_COMMAND_CODE) 0x0000003C)
#define TPM_ORD_Startup   ((TPM_COMMAND_CODE) 0x00000099)
#define TPM_ORD_StirRandom   ((TPM_COMMAND_CODE) 0x00000047)
#define TPM_ORD_TakeOwnership   ((TPM_COMMAND_CODE) 0x0000000D)
#define TPM_ORD_Terminate_Handle   ((TPM_COMMAND_CODE) 0x00000096)
#define TPM_ORD_TickStampBlob   ((TPM_COMMAND_CODE) 0x000000F2)
#define TPM_ORD_UnBind   ((TPM_COMMAND_CODE) 0x0000001E)
#define TPM_ORD_Unseal   ((TPM_COMMAND_CODE) 0x00000018)
#define TSC_ORD_PhysicalPresence   ((TPM_COMMAND_CODE) 0x4000000A)
#define TSC_ORD_ResetEstablishmentBit   ((TPM_COMMAND_CODE) 0x4000000B)
#define TPM_NV_INDEX_LOCK   ((UINT32)0xffffffff)
#define TPM_NV_INDEX0   ((UINT32)0x00000000)
#define TPM_NV_INDEX_DIR   ((UINT32)0x10000001)
#define TPM_NV_INDEX_EKCert   ((UINT32)0x0000f000)
#define TPM_NV_INDEX_TPM_CC   ((UINT32)0x0000f001)
#define TPM_NV_INDEX_PlatformCert   ((UINT32)0x0000f002)
#define TPM_NV_INDEX_Platform_CC   ((UINT32)0x0000f003)
#define TPM_NV_INDEX_TSS_BASE   ((UINT32)0x00011100)
#define TPM_NV_INDEX_PC_BASE   ((UINT32)0x00011200)
#define TPM_NV_INDEX_SERVER_BASE   ((UINT32)0x00011300)
#define TPM_NV_INDEX_MOBILE_BASE   ((UINT32)0x00011400)
#define TPM_NV_INDEX_PERIPHERAL_BASE   ((UINT32)0x00011500)
#define TPM_NV_INDEX_GROUP_RESV_BASE   ((UINT32)0x00010000)
#define TPM_NV_PER_READ_STCLEAR   (BIT31)
#define TPM_NV_PER_AUTHREAD   (BIT18)
#define TPM_NV_PER_OWNERREAD   (BIT17)
#define TPM_NV_PER_PPREAD   (BIT16)
#define TPM_NV_PER_GLOBALLOCK   (BIT15)
#define TPM_NV_PER_WRITE_STCLEAR   (BIT14)
#define TPM_NV_PER_WRITEDEFINE   (BIT13)
#define TPM_NV_PER_WRITEALL   (BIT12)
#define TPM_NV_PER_AUTHWRITE   (BIT2)
#define TPM_NV_PER_OWNERWRITE   (BIT1)
#define TPM_NV_PER_PPWRITE   (BIT0)
#define TPM_DEL_OWNER_BITS   ((UINT32)0x00000001)
#define TPM_DEL_KEY_BITS   ((UINT32)0x00000002)
#define TPM_DELEGATE_SetOrdinalAuditStatus   (BIT30)
#define TPM_DELEGATE_DirWriteAuth   (BIT29)
#define TPM_DELEGATE_CMK_ApproveMA   (BIT28)
#define TPM_DELEGATE_NV_WriteValue   (BIT27)
#define TPM_DELEGATE_CMK_CreateTicket   (BIT26)
#define TPM_DELEGATE_NV_ReadValue   (BIT25)
#define TPM_DELEGATE_Delegate_LoadOwnerDelegation   (BIT24)
#define TPM_DELEGATE_DAA_Join   (BIT23)
#define TPM_DELEGATE_AuthorizeMigrationKey   (BIT22)
#define TPM_DELEGATE_CreateMaintenanceArchive   (BIT21)
#define TPM_DELEGATE_LoadMaintenanceArchive   (BIT20)
#define TPM_DELEGATE_KillMaintenanceFeature   (BIT19)
#define TPM_DELEGATE_OwnerReadInteralPub   (BIT18)
#define TPM_DELEGATE_ResetLockValue   (BIT17)
#define TPM_DELEGATE_OwnerClear   (BIT16)
#define TPM_DELEGATE_DisableOwnerClear   (BIT15)
#define TPM_DELEGATE_NV_DefineSpace   (BIT14)
#define TPM_DELEGATE_OwnerSetDisable   (BIT13)
#define TPM_DELEGATE_SetCapability   (BIT12)
#define TPM_DELEGATE_MakeIdentity   (BIT11)
#define TPM_DELEGATE_ActivateIdentity   (BIT10)
#define TPM_DELEGATE_OwnerReadPubek   (BIT9)
#define TPM_DELEGATE_DisablePubekRead   (BIT8)
#define TPM_DELEGATE_SetRedirection   (BIT7)
#define TPM_DELEGATE_FieldUpgrade   (BIT6)
#define TPM_DELEGATE_Delegate_UpdateVerification   (BIT5)
#define TPM_DELEGATE_CreateCounter   (BIT4)
#define TPM_DELEGATE_ReleaseCounterOwner   (BIT3)
#define TPM_DELEGATE_DelegateManage   (BIT2)
#define TPM_DELEGATE_Delegate_CreateOwnerDelegation   (BIT1)
#define TPM_DELEGATE_DAA_Sign   (BIT0)
#define TPM_KEY_DELEGATE_CMK_ConvertMigration   (BIT28)
#define TPM_KEY_DELEGATE_TickStampBlob   (BIT27)
#define TPM_KEY_DELEGATE_ChangeAuthAsymStart   (BIT26)
#define TPM_KEY_DELEGATE_ChangeAuthAsymFinish   (BIT25)
#define TPM_KEY_DELEGATE_CMK_CreateKey   (BIT24)
#define TPM_KEY_DELEGATE_MigrateKey   (BIT23)
#define TPM_KEY_DELEGATE_LoadKey2   (BIT22)
#define TPM_KEY_DELEGATE_EstablishTransport   (BIT21)
#define TPM_KEY_DELEGATE_ReleaseTransportSigned   (BIT20)
#define TPM_KEY_DELEGATE_Quote2   (BIT19)
#define TPM_KEY_DELEGATE_Sealx   (BIT18)
#define TPM_KEY_DELEGATE_MakeIdentity   (BIT17)
#define TPM_KEY_DELEGATE_ActivateIdentity   (BIT16)
#define TPM_KEY_DELEGATE_GetAuditDigestSigned   (BIT15)
#define TPM_KEY_DELEGATE_Sign   (BIT14)
#define TPM_KEY_DELEGATE_CertifyKey2   (BIT13)
#define TPM_KEY_DELEGATE_CertifyKey   (BIT12)
#define TPM_KEY_DELEGATE_CreateWrapKey   (BIT11)
#define TPM_KEY_DELEGATE_CMK_CreateBlob   (BIT10)
#define TPM_KEY_DELEGATE_CreateMigrationBlob   (BIT9)
#define TPM_KEY_DELEGATE_ConvertMigrationBlob   (BIT8)
#define TPM_KEY_DELEGATE_CreateKeyDelegation   (BIT7)
#define TPM_KEY_DELEGATE_ChangeAuth   (BIT6)
#define TPM_KEY_DELEGATE_GetPubKey   (BIT5)
#define TPM_KEY_DELEGATE_UnBind   (BIT4)
#define TPM_KEY_DELEGATE_Quote   (BIT3)
#define TPM_KEY_DELEGATE_Unseal   (BIT2)
#define TPM_KEY_DELEGATE_Seal   (BIT1)
#define TPM_KEY_DELEGATE_LoadKey   (BIT0)
#define TPM_DELEGATE_ADMIN_LOCK   (BIT1)
#define TPM_FAMFLAG_ENABLE   (BIT0)
#define TPM_NUM_FAMILY_TABLE_ENTRY_MIN   8
#define TPM_NUM_DELEGATE_TABLE_ENTRY_MIN   2
#define TPM_FAMILY_CREATE   ((UINT32)0x00000001)
#define TPM_FAMILY_ENABLE   ((UINT32)0x00000002)
#define TPM_FAMILY_ADMIN   ((UINT32)0x00000003)
#define TPM_FAMILY_INVALIDATE   ((UINT32)0x00000004)
#define TPM_CAP_ORD   ((TPM_CAPABILITY_AREA) 0x00000001)
#define TPM_CAP_ALG   ((TPM_CAPABILITY_AREA) 0x00000002)
#define TPM_CAP_PID   ((TPM_CAPABILITY_AREA) 0x00000003)
#define TPM_CAP_FLAG   ((TPM_CAPABILITY_AREA) 0x00000004)
#define TPM_CAP_PROPERTY   ((TPM_CAPABILITY_AREA) 0x00000005)
#define TPM_CAP_VERSION   ((TPM_CAPABILITY_AREA) 0x00000006)
#define TPM_CAP_KEY_HANDLE   ((TPM_CAPABILITY_AREA) 0x00000007)
#define TPM_CAP_CHECK_LOADED   ((TPM_CAPABILITY_AREA) 0x00000008)
#define TPM_CAP_SYM_MODE   ((TPM_CAPABILITY_AREA) 0x00000009)
#define TPM_CAP_KEY_STATUS   ((TPM_CAPABILITY_AREA) 0x0000000C)
#define TPM_CAP_NV_LIST   ((TPM_CAPABILITY_AREA) 0x0000000D)
#define TPM_CAP_MFR   ((TPM_CAPABILITY_AREA) 0x00000010)
#define TPM_CAP_NV_INDEX   ((TPM_CAPABILITY_AREA) 0x00000011)
#define TPM_CAP_TRANS_ALG   ((TPM_CAPABILITY_AREA) 0x00000012)
#define TPM_CAP_HANDLE   ((TPM_CAPABILITY_AREA) 0x00000014)
#define TPM_CAP_TRANS_ES   ((TPM_CAPABILITY_AREA) 0x00000015)
#define TPM_CAP_AUTH_ENCRYPT   ((TPM_CAPABILITY_AREA) 0x00000017)
#define TPM_CAP_SELECT_SIZE   ((TPM_CAPABILITY_AREA) 0x00000018)
#define TPM_CAP_VERSION_VAL   ((TPM_CAPABILITY_AREA) 0x0000001A)
#define TPM_CAP_FLAG_PERMANENT   ((TPM_CAPABILITY_AREA) 0x00000108)
#define TPM_CAP_FLAG_VOLATILE   ((TPM_CAPABILITY_AREA) 0x00000109)
#define TPM_CAP_PROP_PCR   ((TPM_CAPABILITY_AREA) 0x00000101)
#define TPM_CAP_PROP_DIR   ((TPM_CAPABILITY_AREA) 0x00000102)
#define TPM_CAP_PROP_MANUFACTURER   ((TPM_CAPABILITY_AREA) 0x00000103)
#define TPM_CAP_PROP_KEYS   ((TPM_CAPABILITY_AREA) 0x00000104)
#define TPM_CAP_PROP_MIN_COUNTER   ((TPM_CAPABILITY_AREA) 0x00000107)
#define TPM_CAP_PROP_AUTHSESS   ((TPM_CAPABILITY_AREA) 0x0000010A)
#define TPM_CAP_PROP_TRANSESS   ((TPM_CAPABILITY_AREA) 0x0000010B)
#define TPM_CAP_PROP_COUNTERS   ((TPM_CAPABILITY_AREA) 0x0000010C)
#define TPM_CAP_PROP_MAX_AUTHSESS   ((TPM_CAPABILITY_AREA) 0x0000010D)
#define TPM_CAP_PROP_MAX_TRANSESS   ((TPM_CAPABILITY_AREA) 0x0000010E)
#define TPM_CAP_PROP_MAX_COUNTERS   ((TPM_CAPABILITY_AREA) 0x0000010F)
#define TPM_CAP_PROP_MAX_KEYS   ((TPM_CAPABILITY_AREA) 0x00000110)
#define TPM_CAP_PROP_OWNER   ((TPM_CAPABILITY_AREA) 0x00000111)
#define TPM_CAP_PROP_CONTEXT   ((TPM_CAPABILITY_AREA) 0x00000112)
#define TPM_CAP_PROP_MAX_CONTEXT   ((TPM_CAPABILITY_AREA) 0x00000113)
#define TPM_CAP_PROP_FAMILYROWS   ((TPM_CAPABILITY_AREA) 0x00000114)
#define TPM_CAP_PROP_TIS_TIMEOUT   ((TPM_CAPABILITY_AREA) 0x00000115)
#define TPM_CAP_PROP_STARTUP_EFFECT   ((TPM_CAPABILITY_AREA) 0x00000116)
#define TPM_CAP_PROP_DELEGATE_ROW   ((TPM_CAPABILITY_AREA) 0x00000117)
#define TPM_CAP_PROP_DAA_MAX   ((TPM_CAPABILITY_AREA) 0x00000119)
#define CAP_PROP_SESSION_DAA   ((TPM_CAPABILITY_AREA) 0x0000011A)
#define TPM_CAP_PROP_CONTEXT_DIST   ((TPM_CAPABILITY_AREA) 0x0000011B)
#define TPM_CAP_PROP_DAA_INTERRUPT   ((TPM_CAPABILITY_AREA) 0x0000011C)
#define TPM_CAP_PROP_SESSIONS   ((TPM_CAPABILITY_AREA) 0x0000011D)
#define TPM_CAP_PROP_MAX_SESSIONS   ((TPM_CAPABILITY_AREA) 0x0000011E)
#define TPM_CAP_PROP_CMK_RESTRICTION   ((TPM_CAPABILITY_AREA) 0x0000011F)
#define TPM_CAP_PROP_DURATION   ((TPM_CAPABILITY_AREA) 0x00000120)
#define TPM_CAP_PROP_ACTIVE_COUNTER   ((TPM_CAPABILITY_AREA) 0x00000122)
#define TPM_CAP_PROP_MAX_NV_AVAILABLE   ((TPM_CAPABILITY_AREA) 0x00000123)
#define TPM_CAP_PROP_INPUT_BUFFER   ((TPM_CAPABILITY_AREA) 0x00000124)
#define TPM_SET_PERM_FLAGS   ((TPM_CAPABILITY_AREA) 0x00000001)
#define TPM_SET_PERM_DATA   ((TPM_CAPABILITY_AREA) 0x00000002)
#define TPM_SET_STCLEAR_FLAGS   ((TPM_CAPABILITY_AREA) 0x00000003)
#define TPM_SET_STCLEAR_DATA   ((TPM_CAPABILITY_AREA) 0x00000004)
#define TPM_SET_STANY_FLAGS   ((TPM_CAPABILITY_AREA) 0x00000005)
#define TPM_SET_STANY_DATA   ((TPM_CAPABILITY_AREA) 0x00000006)
#define TPM_DA_ACTION_FAILURE_MODE   (((UINT32)1)<<3)
#define TPM_DA_ACTION_DEACTIVATE   (((UINT32)1)<<2)
#define TPM_DA_ACTION_DISABLE   (((UINT32)1)<<1)
#define TPM_DA_ACTION_TIMEOUT   (((UINT32)1)<<0)
#define TPM_DA_STATE_INACTIVE   ((UINT8)0x00)
#define TPM_DA_STATE_ACTIVE   ((UINT8)0x01)
#define TPM_DAA_SIZE_r0   (43)
#define TPM_DAA_SIZE_r1   (43)
#define TPM_DAA_SIZE_r2   (128)
#define TPM_DAA_SIZE_r3   (168)
#define TPM_DAA_SIZE_r4   (219)
#define TPM_DAA_SIZE_NT   (20)
#define TPM_DAA_SIZE_v0   (128)
#define TPM_DAA_SIZE_v1   (192)
#define TPM_DAA_SIZE_NE   (256)
#define TPM_DAA_SIZE_w   (256)
#define TPM_DAA_SIZE_issuerModulus   (256)
#define TPM_DAA_power0   (104)
#define TPM_DAA_power1   (1024)
#define TPM_REDIR_GPIO   (0x00000001)
 Part 2 section 23.1: TPM_REDIR_COMMAND This section defines exactly one value but does not give it a name.

Typedefs

typedef UINT8 TPM_AUTH_DATA_USAGE
 Indicates the conditions where it is required that authorization be presented.
typedef UINT8 TPM_PAYLOAD_TYPE
 The information as to what the payload is in an encrypted structure.
typedef UINT8 TPM_VERSION_BYTE
 The version info breakdown.
typedef UINT8 TPM_DA_STATE
 The state of the dictionary attack mitigation logic.
typedef UINT16 TPM_TAG
 The request or response authorization type.
typedef UINT16 TPM_PROTOCOL_ID
 The protocol in use.
typedef UINT16 TPM_STARTUP_TYPE
 Indicates the start state.
typedef UINT16 TPM_ENC_SCHEME
 The definition of the encryption scheme.
typedef UINT16 TPM_SIG_SCHEME
 The definition of the signature scheme.
typedef UINT16 TPM_MIGRATE_SCHEME
 The definition of the migration scheme.
typedef UINT16 TPM_PHYSICAL_PRESENCE
 Sets the state of the physical presence mechanism.
typedef UINT16 TPM_ENTITY_TYPE
 Indicates the types of entity that are supported by the TPM.
typedef UINT16 TPM_KEY_USAGE
 Indicates the permitted usage of the key.
typedef UINT16 TPM_EK_TYPE
 The type of asymmetric encrypted structure in use by the endorsement key.
typedef UINT16 TPM_STRUCTURE_TAG
 The tag for the structure.
typedef UINT16 TPM_PLATFORM_SPECIFIC
 The platform specific spec to which the information relates to.
typedef UINT32 TPM_COMMAND_CODE
 The command ordinal.
typedef UINT32 TPM_CAPABILITY_AREA
 Identifies a TPM capability area.
typedef UINT32 TPM_KEY_FLAGS
 Indicates information regarding a key.
typedef UINT32 TPM_ALGORITHM_ID
 Indicates the type of algorithm.
typedef UINT32 TPM_MODIFIER_INDICATOR
 The locality modifier.
typedef UINT32 TPM_ACTUAL_COUNT
 The actual number of a counter.
typedef UINT32 TPM_TRANSPORT_ATTRIBUTES
 Attributes that define what options are in use for a transport session.
typedef UINT32 TPM_AUTHHANDLE
 Handle to an authorization session.
typedef UINT32 TPM_DIRINDEX
 Index to a DIR register.
typedef UINT32 TPM_KEY_HANDLE
 The area where a key is held assigned by the TPM.
typedef UINT32 TPM_PCRINDEX
 Index to a PCR register.
typedef UINT32 TPM_RESULT
 The return code from a function.
typedef UINT32 TPM_RESOURCE_TYPE
 The types of resources that a TPM may have using internal resources.
typedef UINT32 TPM_KEY_CONTROL
 Allows for controlling of the key when loaded and how to handle TPM_Startup issues.
typedef UINT32 TPM_NV_INDEX
 The index into the NV storage area.
typedef UINT32 TPM_FAMILY_ID
 The family ID.
typedef UINT32 TPM_FAMILY_VERIFICATION
 IA value used as a label for the most recent verification of this family.
typedef UINT32 TPM_STARTUP_EFFECTS
 How the TPM handles var.
typedef UINT32 TPM_SYM_MODE
 The mode of a symmetric encryption.
typedef UINT32 TPM_FAMILY_FLAGS
 The family flags.
typedef UINT32 TPM_DELEGATE_INDEX
 The index value for the delegate NV table.
typedef UINT32 TPM_CMK_DELEGATE
 The restrictions placed on delegation of CMK commands.
typedef UINT32 TPM_COUNT_ID
 The ID value of a monotonic counter.
typedef UINT32 TPM_REDIT_COMMAND
 A command to execute.
typedef UINT32 TPM_TRANSHANDLE
 A transport session handle.
typedef UINT32 TPM_HANDLE
 A generic handle could be key, transport etc.
typedef UINT32 TPM_FAMILY_OPERATION
 What operation is happening.
typedef struct tdTPM_STRUCT_VER TPM_STRUCT_VER
 Part 2, section 5.1: TPM_STRUCT_VER.
typedef struct tdTPM_VERSION TPM_VERSION
 Part 2, section 5.3: TPM_VERSION.
typedef struct tdTPM_DIGEST TPM_DIGEST
 Part 2, section 5.4: TPM_DIGEST.
typedef TPM_DIGEST TPM_CHOSENID_HASH
 This SHALL be the digest of the chosen identityLabel and privacyCA for a new TPM identity.
typedef TPM_DIGEST TPM_COMPOSITE_HASH
 This SHALL be the hash of a list of PCR indexes and PCR values that a key or data is bound to.
typedef TPM_DIGEST TPM_DIRVALUE
 This SHALL be the value of a DIR register.
typedef TPM_DIGEST TPM_HMAC
typedef TPM_DIGEST TPM_PCRVALUE
 The value inside of the PCR.
typedef TPM_DIGEST TPM_AUDITDIGEST
 This SHALL be the value of the current internal audit state.
typedef struct tdTPM_NONCE TPM_NONCE
 Part 2, section 5.5: TPM_NONCE.
typedef TPM_NONCE TPM_DAA_TPM_SEED
 This SHALL be a random value generated by a TPM immediately after the EK is installed in that TPM, whenever an EK is installed in that TPM.
typedef TPM_NONCE TPM_DAA_CONTEXT_SEED
 This SHALL be a random value.
typedef UINT8 tdTPM_AUTHDATA [20]
 The AuthData data is the information that is saved or passed to provide proof of ownership 296 of an entity.
typedef tdTPM_AUTHDATA TPM_AUTHDATA
typedef TPM_AUTHDATA TPM_SECRET
 A secret plaintext value used in the authorization process.
typedef TPM_AUTHDATA TPM_ENCAUTH
 A ciphertext (encrypted) version of AuthData data.
typedef struct
tdTPM_KEY_HANDLE_LIST 
TPM_KEY_HANDLE_LIST
 Part 2, section 5.7: TPM_KEY_HANDLE_LIST Size of handle is loaded * sizeof(TPM_KEY_HANDLE)
typedef enum tdTPM_KEY_FLAGS TPM_KEY_FLAGS_BITS
 Part 2, section 5.10: TPM_KEY_FLAGS.
typedef struct
tdTPM_CHANGEAUTH_VALIDATE 
TPM_CHANGEAUTH_VALIDATE
 Part 2, section 5.11: TPM_CHANGEAUTH_VALIDATE.
typedef struct tdTPM_KEY_PARMS TPM_KEY_PARMS
 Part 2, section 5.12: TPM_MIGRATIONKEYAUTH decalared after section 10 to catch declaration of TPM_PUBKEY.
typedef struct tdTPM_STORE_PUBKEY TPM_STORE_PUBKEY
 Part 2, section 10.4: TPM_STORE_PUBKEY.
typedef struct tdTPM_PUBKEY TPM_PUBKEY
 Part 2, section 10.5: TPM_PUBKEY.
typedef struct
tdTPM_MIGRATIONKEYAUTH 
TPM_MIGRATIONKEYAUTH
 Part 2, section 5.12: TPM_MIGRATIONKEYAUTH.
typedef struct tdTPM_COUNTER_VALUE TPM_COUNTER_VALUE
 Part 2, section 5.13: TPM_COUNTER_VALUE.
typedef struct tdTPM_SIGN_INFO TPM_SIGN_INFO
 Part 2, section 5.14: TPM_SIGN_INFO Size of data indicated by dataLen.
typedef struct tdTPM_MSA_COMPOSITE TPM_MSA_COMPOSITE
 Part 2, section 5.15: TPM_MSA_COMPOSITE Number of migAuthDigest indicated by MSAlist.
typedef struct tdTPM_CMK_AUTH TPM_CMK_AUTH
 Part 2, section 5.16: TPM_CMK_AUTH.
typedef struct tdTPM_SELECT_SIZE TPM_SELECT_SIZE
 Part 2, section 5.18: TPM_SELECT_SIZE.
typedef struct tdTPM_CMK_MIGAUTH TPM_CMK_MIGAUTH
 Part 2, section 5,19: TPM_CMK_MIGAUTH.
typedef struct tdTPM_CMK_SIGTICKET TPM_CMK_SIGTICKET
 Part 2, section 5.20: TPM_CMK_SIGTICKET.
typedef struct
tdTPM_CMK_MA_APPROVAL 
TPM_CMK_MA_APPROVAL
 Part 2, section 5.21: TPM_CMK_MA_APPROVAL.
typedef struct
tdTPM_PERMANENT_FLAGS 
TPM_PERMANENT_FLAGS
 Part 2, section 7.1: TPM_PERMANENT_FLAGS.
typedef struct tdTPM_STCLEAR_FLAGS TPM_STCLEAR_FLAGS
 Part 2, section 7.2: TPM_STCLEAR_FLAGS.
typedef struct tdTPM_STANY_FLAGS TPM_STANY_FLAGS
 Part 2, section 7.3: TPM_STANY_FLAGS.
typedef struct tdTPM_STCLEAR_DATA TPM_STCLEAR_DATA
 Part 2, section 7.5: TPM_STCLEAR_DATA available inside TPM only.
typedef struct tdTPM_PCR_SELECTION TPM_PCR_SELECTION
 Part 2, section 8.1: TPM_PCR_SELECTION Size of pcrSelect[] indicated by sizeOfSelect.
typedef struct tdTPM_PCR_COMPOSITE TPM_PCR_COMPOSITE
 Part 2, section 8.2: TPM_PCR_COMPOSITE Size of pcrValue[] indicated by valueSize.
typedef struct tdTPM_PCR_INFO TPM_PCR_INFO
 Part 2, section 8.3: TPM_PCR_INFO.
typedef UINT8 TPM_LOCALITY_SELECTION
 Part 2, section 8.6: TPM_LOCALITY_SELECTION.
typedef struct tdTPM_PCR_INFO_LONG TPM_PCR_INFO_LONG
 Part 2, section 8.4: TPM_PCR_INFO_LONG.
typedef struct tdTPM_PCR_INFO_SHORT TPM_PCR_INFO_SHORT
 Part 2, section 8.5: TPM_PCR_INFO_SHORT.
typedef struct tdTPM_PCR_ATTRIBUTES TPM_PCR_ATTRIBUTES
 Part 2, section 8.8: TPM_PCR_ATTRIBUTES.
typedef struct tdTPM_STORED_DATA TPM_STORED_DATA
 Part 2, section 9.1: TPM_STORED_DATA [size_is(sealInfoSize)] BYTE* sealInfo; [size_is(encDataSize)] BYTE* encData;.
typedef struct tdTPM_STORED_DATA12 TPM_STORED_DATA12
 Part 2, section 9.2: TPM_STORED_DATA12 [size_is(sealInfoSize)] BYTE* sealInfo; [size_is(encDataSize)] BYTE* encData;.
typedef struct tdTPM_SEALED_DATA TPM_SEALED_DATA
 Part 2, section 9.3: TPM_SEALED_DATA [size_is(dataSize)] BYTE* data;.
typedef struct tdTPM_SYMMETRIC_KEY TPM_SYMMETRIC_KEY
 Part 2, section 9.4: TPM_SYMMETRIC_KEY [size_is(size)] BYTE* data;.
typedef struct tdTPM_BOUND_DATA TPM_BOUND_DATA
 Part 2, section 9.5: TPM_BOUND_DATA.
typedef struct tdTPM_KEY TPM_KEY
 Part 2, section 10.2: TPM_KEY [size_is(encDataSize)] BYTE* encData;.
typedef struct tdTPM_KEY12 TPM_KEY12
 Part 2, section 10.3: TPM_KEY12 [size_is(encDataSize)] BYTE* encData;.
typedef struct tdTPM_STORE_PRIVKEY TPM_STORE_PRIVKEY
 Part 2, section 10.7: TPM_STORE_PRIVKEY [size_is(keyLength)] BYTE* key;.
typedef struct tdTPM_STORE_ASYMKEY TPM_STORE_ASYMKEY
 Part 2, section 10.6: TPM_STORE_ASYMKEY.
typedef struct
tdTPM_MIGRATE_ASYMKEY 
TPM_MIGRATE_ASYMKEY
 Part 2, section 10.8: TPM_MIGRATE_ASYMKEY [size_is(partPrivKeyLen)] BYTE* partPrivKey;.
typedef struct tdTPM_CERTIFY_INFO TPM_CERTIFY_INFO
 Part 2, section 11.1: TPM_CERTIFY_INFO Structure.
typedef struct tdTPM_CERTIFY_INFO2 TPM_CERTIFY_INFO2
 Part 2, section 11.2: TPM_CERTIFY_INFO2 Structure.
typedef struct tdTPM_QUOTE_INFO TPM_QUOTE_INFO
 Part 2, section 11.3 TPM_QUOTE_INFO Structure.
typedef struct tdTPM_QUOTE_INFO2 TPM_QUOTE_INFO2
 Part 2, section 11.4 TPM_QUOTE_INFO2 Structure.
typedef struct tdTPM_EK_BLOB TPM_EK_BLOB
 Part 2, section 12.1 TPM_EK_BLOB.
typedef struct
tdTPM_EK_BLOB_ACTIVATE 
TPM_EK_BLOB_ACTIVATE
 Part 2, section 12.2 TPM_EK_BLOB_ACTIVATE.
typedef struct tdTPM_EK_BLOB_AUTH TPM_EK_BLOB_AUTH
 Part 2, section 12.3 TPM_EK_BLOB_AUTH.
typedef struct
tdTPM_IDENTITY_CONTENTS 
TPM_IDENTITY_CONTENTS
 Part 2, section 12.5 TPM_IDENTITY_CONTENTS.
typedef struct tdTPM_IDENTITY_REQ TPM_IDENTITY_REQ
 Part 2, section 12.6 TPM_IDENTITY_REQ.
typedef struct tdTPM_IDENTITY_PROOF TPM_IDENTITY_PROOF
 Part 2, section 12.7 TPM_IDENTITY_PROOF.
typedef struct
tdTPM_ASYM_CA_CONTENTS 
TPM_ASYM_CA_CONTENTS
 Part 2, section 12.8 TPM_ASYM_CA_CONTENTS.
typedef struct
tdTPM_SYM_CA_ATTESTATION 
TPM_SYM_CA_ATTESTATION
 Part 2, section 12.9 TPM_SYM_CA_ATTESTATION.
typedef struct tdTPM_CURRENT_TICKS TPM_CURRENT_TICKS
 Part 2, section 15: Tick Structures Placed here out of order because definitions are used in section 13.
typedef struct
tdTPM_TRANSPORT_PUBLIC 
TPM_TRANSPORT_PUBLIC
 Part 2, section 13: Transport structures.
typedef struct
tdTPM_TRANSPORT_INTERNAL 
TPM_TRANSPORT_INTERNAL
 Part 2, section 13.2 TPM_TRANSPORT_INTERNAL.
typedef struct
tdTPM_TRANSPORT_LOG_IN 
TPM_TRANSPORT_LOG_IN
 Part 2, section 13.3 TPM_TRANSPORT_LOG_IN structure.
typedef struct
tdTPM_TRANSPORT_LOG_OUT 
TPM_TRANSPORT_LOG_OUT
 Part 2, section 13.4 TPM_TRANSPORT_LOG_OUT structure.
typedef struct tdTPM_TRANSPORT_AUTH TPM_TRANSPORT_AUTH
 Part 2, section 13.5 TPM_TRANSPORT_AUTH structure.
typedef struct tdTPM_AUDIT_EVENT_IN TPM_AUDIT_EVENT_IN
 Part 2, section 14.1 TPM_AUDIT_EVENT_IN structure.
typedef struct
tdTPM_AUDIT_EVENT_OUT 
TPM_AUDIT_EVENT_OUT
 Part 2, section 14.2 TPM_AUDIT_EVENT_OUT structure.
typedef struct tdTPM_CONTEXT_BLOB TPM_CONTEXT_BLOB
 Part 2, section 18.1: TPM_CONTEXT_BLOB.
typedef struct
tdTPM_CONTEXT_SENSITIVE 
TPM_CONTEXT_SENSITIVE
 Part 2, section 18.2 TPM_CONTEXT_SENSITIVE.
typedef struct tdTPM_NV_ATTRIBUTES TPM_NV_ATTRIBUTES
 Part 2, section 19.2: TPM_NV_ATTRIBUTES.
typedef struct tdTPM_NV_DATA_PUBLIC TPM_NV_DATA_PUBLIC
 Part 2, section 19.3: TPM_NV_DATA_PUBLIC.
typedef struct tdTPM_DELEGATIONS TPM_DELEGATIONS
 Part 2, section 20.2: Delegate Definitions.
typedef struct tdTPM_FAMILY_LABEL TPM_FAMILY_LABEL
 Part 2, section 20.4: TPM_FAMILY_LABEL.
typedef struct
tdTPM_FAMILY_TABLE_ENTRY 
TPM_FAMILY_TABLE_ENTRY
 Part 2, section 20.5: TPM_FAMILY_TABLE_ENTRY.
typedef struct tdTPM_FAMILY_TABLE TPM_FAMILY_TABLE
typedef struct tdTPM_DELEGATE_LABEL TPM_DELEGATE_LABEL
 Part 2, section 20.7: TPM_DELEGATE_LABEL.
typedef struct
tdTPM_DELEGATE_PUBLIC 
TPM_DELEGATE_PUBLIC
 Part 2, section 20.8: TPM_DELEGATE_PUBLIC.
typedef struct
tdTPM_DELEGATE_TABLE_ROW 
TPM_DELEGATE_TABLE_ROW
 Part 2, section 20.9: TPM_DELEGATE_TABLE_ROW.
typedef struct tdTPM_DELEGATE_TABLE TPM_DELEGATE_TABLE
typedef struct
tdTPM_DELEGATE_SENSITIVE 
TPM_DELEGATE_SENSITIVE
 Part 2, section 20.11: TPM_DELEGATE_SENSITIVE.
typedef struct
tdTPM_DELEGATE_OWNER_BLOB 
TPM_DELEGATE_OWNER_BLOB
 Part 2, section 20.12: TPM_DELEGATE_OWNER_BLOB.
typedef struct
tdTPM_DELEGATE_KEY_BLOB 
TPM_DELEGATE_KEY_BLOB
 Part 2, section 20.13: TTPM_DELEGATE_KEY_BLOB.
typedef struct
tdTPM_CAP_VERSION_INFO 
TPM_CAP_VERSION_INFO
 Part 2, section 21.6: TPM_CAP_VERSION_INFO [size_is(vendorSpecificSize)] BYTE* vendorSpecific;.
typedef struct tdTPM_DA_ACTION_TYPE TPM_DA_ACTION_TYPE
 Part 2, section 21.10: TPM_DA_ACTION_TYPE.
typedef struct tdTPM_DA_INFO TPM_DA_INFO
 Part 2, section 21.7: TPM_DA_INFO.
typedef struct
tdTPM_DA_INFO_LIMITED 
TPM_DA_INFO_LIMITED
 Part 2, section 21.8: TPM_DA_INFO_LIMITED.
typedef struct tdTPM_DAA_ISSUER TPM_DAA_ISSUER
 Part 2, section 22.3: TPM_DAA_ISSUER.
typedef struct tdTPM_DAA_TPM TPM_DAA_TPM
 Part 2, section 22.4: TPM_DAA_TPM.
typedef struct tdTPM_DAA_CONTEXT TPM_DAA_CONTEXT
 Part 2, section 22.5: TPM_DAA_CONTEXT.
typedef struct tdTPM_DAA_JOINDATA TPM_DAA_JOINDATA
 Part 2, section 22.6: TPM_DAA_JOINDATA.
typedef struct tdTPM_DAA_BLOB TPM_DAA_BLOB
 Part 2, section 22.8: TPM_DAA_BLOB.
typedef struct tdTPM_DAA_SENSITIVE TPM_DAA_SENSITIVE
 Part 2, section 22.9: TPM_DAA_SENSITIVE.
typedef struct
tdTPM_RQU_COMMAND_HDR 
TPM_RQU_COMMAND_HDR
 TPM Command Headers defined in Part 3.
typedef struct
tdTPM_RSP_COMMAND_HDR 
TPM_RSP_COMMAND_HDR
 TPM Response Headers defined in Part 3.

Enumerations

enum  tdTPM_KEY_FLAGS {
  redirection = 0x00000001, migratable = 0x00000002, isVolatile = 0x00000004, pcrIgnoredOnRead = 0x00000008,
  migrateAuthority = 0x00000010
}
 Part 2, section 5.10: TPM_KEY_FLAGS. More...

Functions

 FILE_LICENCE (BSD3)

Detailed Description

TPM Specification data structures (TCG TPM Specification Version 1.2 Revision 103) See http://trustedcomputinggroup.org for latest specification updates.

Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Definition in file Tpm12.h.


Define Documentation

#define TPM_BASE   0

The start of TPM return codes.

Definition at line 24 of file Tpm12.h.

#define TPM_Vendor_Specific32   ((UINT32) 0x00000400)

Definition at line 215 of file Tpm12.h.

#define TPM_Vendor_Specific8   ((UINT8) 0x80)

Definition at line 216 of file Tpm12.h.

#define TPM_TAG_CONTEXTBLOB   ((TPM_STRUCTURE_TAG) 0x0001)

Definition at line 221 of file Tpm12.h.

Definition at line 222 of file Tpm12.h.

#define TPM_TAG_CONTEXTPOINTER   ((TPM_STRUCTURE_TAG) 0x0003)

Definition at line 223 of file Tpm12.h.

#define TPM_TAG_CONTEXTLIST   ((TPM_STRUCTURE_TAG) 0x0004)

Definition at line 224 of file Tpm12.h.

#define TPM_TAG_SIGNINFO   ((TPM_STRUCTURE_TAG) 0x0005)

Definition at line 225 of file Tpm12.h.

#define TPM_TAG_PCR_INFO_LONG   ((TPM_STRUCTURE_TAG) 0x0006)

Definition at line 226 of file Tpm12.h.

Definition at line 227 of file Tpm12.h.

#define TPM_TAG_VOLATILE_FLAGS   ((TPM_STRUCTURE_TAG) 0x0008)

Definition at line 228 of file Tpm12.h.

#define TPM_TAG_PERSISTENT_DATA   ((TPM_STRUCTURE_TAG) 0x0009)

Definition at line 229 of file Tpm12.h.

#define TPM_TAG_VOLATILE_DATA   ((TPM_STRUCTURE_TAG) 0x000A)

Definition at line 230 of file Tpm12.h.

#define TPM_TAG_SV_DATA   ((TPM_STRUCTURE_TAG) 0x000B)

Definition at line 231 of file Tpm12.h.

#define TPM_TAG_EK_BLOB   ((TPM_STRUCTURE_TAG) 0x000C)

Definition at line 232 of file Tpm12.h.

#define TPM_TAG_EK_BLOB_AUTH   ((TPM_STRUCTURE_TAG) 0x000D)

Definition at line 233 of file Tpm12.h.

#define TPM_TAG_COUNTER_VALUE   ((TPM_STRUCTURE_TAG) 0x000E)

Definition at line 234 of file Tpm12.h.

Definition at line 235 of file Tpm12.h.

Definition at line 236 of file Tpm12.h.

Definition at line 237 of file Tpm12.h.

#define TPM_TAG_AUDIT_EVENT_IN   ((TPM_STRUCTURE_TAG) 0x0012)

Definition at line 238 of file Tpm12.h.

#define TPM_TAG_AUDIT_EVENT_OUT   ((TPM_STRUCTURE_TAG) 0x0013)

Definition at line 239 of file Tpm12.h.

#define TPM_TAG_CURRENT_TICKS   ((TPM_STRUCTURE_TAG) 0x0014)

Definition at line 240 of file Tpm12.h.

#define TPM_TAG_KEY   ((TPM_STRUCTURE_TAG) 0x0015)

Definition at line 241 of file Tpm12.h.

#define TPM_TAG_STORED_DATA12   ((TPM_STRUCTURE_TAG) 0x0016)

Definition at line 242 of file Tpm12.h.

#define TPM_TAG_NV_ATTRIBUTES   ((TPM_STRUCTURE_TAG) 0x0017)

Definition at line 243 of file Tpm12.h.

#define TPM_TAG_NV_DATA_PUBLIC   ((TPM_STRUCTURE_TAG) 0x0018)

Definition at line 244 of file Tpm12.h.

Definition at line 245 of file Tpm12.h.

#define TPM_TAG_DELEGATIONS   ((TPM_STRUCTURE_TAG) 0x001A)

Definition at line 246 of file Tpm12.h.

#define TPM_TAG_DELEGATE_PUBLIC   ((TPM_STRUCTURE_TAG) 0x001B)

Definition at line 247 of file Tpm12.h.

Definition at line 248 of file Tpm12.h.

#define TPM_TAG_TRANSPORT_AUTH   ((TPM_STRUCTURE_TAG) 0x001D)

Definition at line 249 of file Tpm12.h.

Definition at line 250 of file Tpm12.h.

#define TPM_TAG_PERMANENT_FLAGS   ((TPM_STRUCTURE_TAG) 0x001F)

Definition at line 251 of file Tpm12.h.

#define TPM_TAG_STCLEAR_FLAGS   ((TPM_STRUCTURE_TAG) 0x0020)

Definition at line 252 of file Tpm12.h.

#define TPM_TAG_STANY_FLAGS   ((TPM_STRUCTURE_TAG) 0x0021)

Definition at line 253 of file Tpm12.h.

#define TPM_TAG_PERMANENT_DATA   ((TPM_STRUCTURE_TAG) 0x0022)

Definition at line 254 of file Tpm12.h.

#define TPM_TAG_STCLEAR_DATA   ((TPM_STRUCTURE_TAG) 0x0023)

Definition at line 255 of file Tpm12.h.

#define TPM_TAG_STANY_DATA   ((TPM_STRUCTURE_TAG) 0x0024)

Definition at line 256 of file Tpm12.h.

Definition at line 257 of file Tpm12.h.

Definition at line 258 of file Tpm12.h.

#define TPM_TAG_DELG_KEY_BLOB   ((TPM_STRUCTURE_TAG) 0x0027)

Definition at line 259 of file Tpm12.h.

#define TPM_TAG_KEY12   ((TPM_STRUCTURE_TAG) 0x0028)

Definition at line 260 of file Tpm12.h.

#define TPM_TAG_CERTIFY_INFO2   ((TPM_STRUCTURE_TAG) 0x0029)

Definition at line 261 of file Tpm12.h.

Definition at line 262 of file Tpm12.h.

Definition at line 263 of file Tpm12.h.

#define TPM_TAG_DAA_BLOB   ((TPM_STRUCTURE_TAG) 0x002C)

Definition at line 264 of file Tpm12.h.

#define TPM_TAG_DAA_CONTEXT   ((TPM_STRUCTURE_TAG) 0x002D)

Definition at line 265 of file Tpm12.h.

#define TPM_TAG_DAA_ENFORCE   ((TPM_STRUCTURE_TAG) 0x002E)

Definition at line 266 of file Tpm12.h.

#define TPM_TAG_DAA_ISSUER   ((TPM_STRUCTURE_TAG) 0x002F)

Definition at line 267 of file Tpm12.h.

Definition at line 268 of file Tpm12.h.

#define TPM_TAG_DAA_SENSITIVE   ((TPM_STRUCTURE_TAG) 0x0031)

Definition at line 269 of file Tpm12.h.

#define TPM_TAG_DAA_TPM   ((TPM_STRUCTURE_TAG) 0x0032)

Definition at line 270 of file Tpm12.h.

#define TPM_TAG_CMK_MIGAUTH   ((TPM_STRUCTURE_TAG) 0x0033)

Definition at line 271 of file Tpm12.h.

#define TPM_TAG_CMK_SIGTICKET   ((TPM_STRUCTURE_TAG) 0x0034)

Definition at line 272 of file Tpm12.h.

#define TPM_TAG_CMK_MA_APPROVAL   ((TPM_STRUCTURE_TAG) 0x0035)

Definition at line 273 of file Tpm12.h.

#define TPM_TAG_QUOTE_INFO2   ((TPM_STRUCTURE_TAG) 0x0036)

Definition at line 274 of file Tpm12.h.

#define TPM_TAG_DA_INFO   ((TPM_STRUCTURE_TAG) 0x0037)

Definition at line 275 of file Tpm12.h.

#define TPM_TAG_DA_LIMITED   ((TPM_STRUCTURE_TAG) 0x0038)

Definition at line 276 of file Tpm12.h.

#define TPM_TAG_DA_ACTION_TYPE   ((TPM_STRUCTURE_TAG) 0x0039)

Definition at line 277 of file Tpm12.h.

#define TPM_RT_KEY   ((TPM_RESOURCE_TYPE) 0x00000001)

The handle is a key handle and is the result of a LoadKey type operation.

Definition at line 286 of file Tpm12.h.

#define TPM_RT_AUTH   ((TPM_RESOURCE_TYPE) 0x00000002)

The handle is an authorization handle. Auth handles come from TPM_OIAP, TPM_OSAP and TPM_DSAP.

Definition at line 287 of file Tpm12.h.

#define TPM_RT_HASH   ((TPM_RESOURCE_TYPE) 0x00000003)

Reserved for hashes.

Definition at line 288 of file Tpm12.h.

#define TPM_RT_TRANS   ((TPM_RESOURCE_TYPE) 0x00000004)

The handle is for a transport session. Transport handles come from TPM_EstablishTransport.

Definition at line 289 of file Tpm12.h.

#define TPM_RT_CONTEXT   ((TPM_RESOURCE_TYPE) 0x00000005)

Resource wrapped and held outside the TPM using the context save/restore commands.

Definition at line 290 of file Tpm12.h.

#define TPM_RT_COUNTER   ((TPM_RESOURCE_TYPE) 0x00000006)

Reserved for counters.

Definition at line 291 of file Tpm12.h.

#define TPM_RT_DELEGATE   ((TPM_RESOURCE_TYPE) 0x00000007)

The handle is for a delegate row. These are the internal rows held in NV storage by the TPM.

Definition at line 292 of file Tpm12.h.

#define TPM_RT_DAA_TPM   ((TPM_RESOURCE_TYPE) 0x00000008)

The value is a DAA TPM specific blob.

Definition at line 293 of file Tpm12.h.

#define TPM_RT_DAA_V0   ((TPM_RESOURCE_TYPE) 0x00000009)

The value is a DAA V0 parameter.

Definition at line 294 of file Tpm12.h.

#define TPM_RT_DAA_V1   ((TPM_RESOURCE_TYPE) 0x0000000A)

The value is a DAA V1 parameter.

Definition at line 295 of file Tpm12.h.

#define TPM_PT_ASYM   ((TPM_PAYLOAD_TYPE) 0x01)

The entity is an asymmetric key.

Definition at line 300 of file Tpm12.h.

#define TPM_PT_BIND   ((TPM_PAYLOAD_TYPE) 0x02)

The entity is bound data.

Definition at line 301 of file Tpm12.h.

#define TPM_PT_MIGRATE   ((TPM_PAYLOAD_TYPE) 0x03)

The entity is a migration blob.

Definition at line 302 of file Tpm12.h.

#define TPM_PT_MAINT   ((TPM_PAYLOAD_TYPE) 0x04)

The entity is a maintenance blob.

Definition at line 303 of file Tpm12.h.

#define TPM_PT_SEAL   ((TPM_PAYLOAD_TYPE) 0x05)

The entity is sealed data.

Definition at line 304 of file Tpm12.h.

The entity is a restricted-migration asymmetric key.

Definition at line 305 of file Tpm12.h.

The entity is a external migratable key.

Definition at line 306 of file Tpm12.h.

#define TPM_PT_CMK_MIGRATE   ((TPM_PAYLOAD_TYPE) 0x08)

The entity is a CMK migratable blob.

Definition at line 307 of file Tpm12.h.

0x80 - 0xFF Vendor specific payloads

Definition at line 308 of file Tpm12.h.

#define TPM_ET_KEYHANDLE   ((UINT16) 0x0001)

The entity is a keyHandle or key.

Definition at line 313 of file Tpm12.h.

#define TPM_ET_OWNER   ((UINT16) 0x0002)

The entity is the TPM Owner.

Definition at line 314 of file Tpm12.h.

#define TPM_ET_DATA   ((UINT16) 0x0003)

The entity is some data.

Definition at line 315 of file Tpm12.h.

#define TPM_ET_SRK   ((UINT16) 0x0004)

The entity is the SRK.

Definition at line 316 of file Tpm12.h.

#define TPM_ET_KEY   ((UINT16) 0x0005)

The entity is a key or keyHandle.

Definition at line 317 of file Tpm12.h.

#define TPM_ET_REVOKE   ((UINT16) 0x0006)

The entity is the RevokeTrust value.

Definition at line 318 of file Tpm12.h.

#define TPM_ET_DEL_OWNER_BLOB   ((UINT16) 0x0007)

The entity is a delegate owner blob.

Definition at line 319 of file Tpm12.h.

#define TPM_ET_DEL_ROW   ((UINT16) 0x0008)

The entity is a delegate row.

Definition at line 320 of file Tpm12.h.

#define TPM_ET_DEL_KEY_BLOB   ((UINT16) 0x0009)

The entity is a delegate key blob.

Definition at line 321 of file Tpm12.h.

#define TPM_ET_COUNTER   ((UINT16) 0x000A)

The entity is a counter.

Definition at line 322 of file Tpm12.h.

#define TPM_ET_NV   ((UINT16) 0x000B)

The entity is a NV index.

Definition at line 323 of file Tpm12.h.

#define TPM_ET_OPERATOR   ((UINT16) 0x000C)

The entity is the operator.

Definition at line 324 of file Tpm12.h.

#define TPM_ET_RESERVED_HANDLE   ((UINT16) 0x0040)

Reserved. This value avoids collisions with the handle MSB setting.

Definition at line 325 of file Tpm12.h.

#define TPM_ET_XOR   ((UINT16) 0x0000)

ADIP encryption scheme: XOR.

Definition at line 329 of file Tpm12.h.

#define TPM_ET_AES128   ((UINT16) 0x0006)

ADIP encryption scheme: AES 128 bits.

Definition at line 330 of file Tpm12.h.

#define TPM_KH_SRK   ((TPM_KEY_HANDLE) 0x40000000)

The handle points to the SRK.

Definition at line 335 of file Tpm12.h.

#define TPM_KH_OWNER   ((TPM_KEY_HANDLE) 0x40000001)

The handle points to the TPM Owner.

Definition at line 336 of file Tpm12.h.

#define TPM_KH_REVOKE   ((TPM_KEY_HANDLE) 0x40000002)

The handle points to the RevokeTrust value.

Definition at line 337 of file Tpm12.h.

#define TPM_KH_TRANSPORT   ((TPM_KEY_HANDLE) 0x40000003)

The handle points to the EstablishTransport static authorization.

Definition at line 338 of file Tpm12.h.

#define TPM_KH_OPERATOR   ((TPM_KEY_HANDLE) 0x40000004)

The handle points to the Operator auth.

Definition at line 339 of file Tpm12.h.

#define TPM_KH_ADMIN   ((TPM_KEY_HANDLE) 0x40000005)

The handle points to the delegation administration auth.

Definition at line 340 of file Tpm12.h.

#define TPM_KH_EK   ((TPM_KEY_HANDLE) 0x40000006)

The handle points to the PUBEK, only usable with TPM_OwnerReadInternalPub.

Definition at line 341 of file Tpm12.h.

#define TPM_ST_CLEAR   ((TPM_STARTUP_TYPE) 0x0001)

The TPM is starting up from a clean state.

Definition at line 346 of file Tpm12.h.

#define TPM_ST_STATE   ((TPM_STARTUP_TYPE) 0x0002)

The TPM is starting up from a saved state.

Definition at line 347 of file Tpm12.h.

#define TPM_ST_DEACTIVATED   ((TPM_STARTUP_TYPE) 0x0003)

The TPM is to startup and set the deactivated flag to TRUE.

Definition at line 348 of file Tpm12.h.

#define TPM_PID_OIAP   ((TPM_PROTOCOL_ID) 0x0001)

The OIAP protocol.

Definition at line 358 of file Tpm12.h.

#define TPM_PID_OSAP   ((TPM_PROTOCOL_ID) 0x0002)

The OSAP protocol.

Definition at line 359 of file Tpm12.h.

#define TPM_PID_ADIP   ((TPM_PROTOCOL_ID) 0x0003)

The ADIP protocol.

Definition at line 360 of file Tpm12.h.

#define TPM_PID_ADCP   ((TPM_PROTOCOL_ID) 0x0004)

The ADCP protocol.

Definition at line 361 of file Tpm12.h.

#define TPM_PID_OWNER   ((TPM_PROTOCOL_ID) 0x0005)

The protocol for taking ownership of a TPM.

Definition at line 362 of file Tpm12.h.

#define TPM_PID_DSAP   ((TPM_PROTOCOL_ID) 0x0006)

The DSAP protocol.

Definition at line 363 of file Tpm12.h.

#define TPM_PID_TRANSPORT   ((TPM_PROTOCOL_ID) 0x0007)

The transport protocol.

Definition at line 364 of file Tpm12.h.

#define TPM_ALG_RSA   ((TPM_ALGORITHM_ID) 0x00000001)

The RSA algorithm.

Definition at line 371 of file Tpm12.h.

#define TPM_ALG_DES   ((TPM_ALGORITHM_ID) 0x00000002)

The DES algorithm.

Definition at line 372 of file Tpm12.h.

#define TPM_ALG_3DES   ((TPM_ALGORITHM_ID) 0x00000003)

The 3DES algorithm in EDE mode.

Definition at line 373 of file Tpm12.h.

#define TPM_ALG_SHA   ((TPM_ALGORITHM_ID) 0x00000004)

The SHA1 algorithm.

Definition at line 374 of file Tpm12.h.

#define TPM_ALG_HMAC   ((TPM_ALGORITHM_ID) 0x00000005)

The RFC 2104 HMAC algorithm.

Definition at line 375 of file Tpm12.h.

#define TPM_ALG_AES128   ((TPM_ALGORITHM_ID) 0x00000006)

The AES algorithm, key size 128.

Definition at line 376 of file Tpm12.h.

#define TPM_ALG_MGF1   ((TPM_ALGORITHM_ID) 0x00000007)

The XOR algorithm using MGF1 to create a string the size of the encrypted block.

Definition at line 377 of file Tpm12.h.

#define TPM_ALG_AES192   ((TPM_ALGORITHM_ID) 0x00000008)

AES, key size 192.

Definition at line 378 of file Tpm12.h.

#define TPM_ALG_AES256   ((TPM_ALGORITHM_ID) 0x00000009)

AES, key size 256.

Definition at line 379 of file Tpm12.h.

#define TPM_ALG_XOR   ((TPM_ALGORITHM_ID) 0x0000000A)

XOR using the rolling nonces.

Definition at line 380 of file Tpm12.h.

Sets the physicalPresenceHWEnable to FALSE.

Definition at line 385 of file Tpm12.h.

Sets the physicalPresenceCMDEnable to FALSE.

Definition at line 386 of file Tpm12.h.

Sets the physicalPresenceLifetimeLock to TRUE.

Definition at line 387 of file Tpm12.h.

Sets the physicalPresenceHWEnable to TRUE.

Definition at line 388 of file Tpm12.h.

Sets the physicalPresenceCMDEnable to TRUE.

Definition at line 389 of file Tpm12.h.

Sets PhysicalPresence = FALSE.

Definition at line 390 of file Tpm12.h.

Sets PhysicalPresence = TRUE.

Definition at line 391 of file Tpm12.h.

Sets PhysicalPresenceLock = TRUE.

Definition at line 392 of file Tpm12.h.

#define TPM_MS_MIGRATE   ((TPM_MIGRATE_SCHEME) 0x0001)

A public key that can be used with all TPM migration commands other than 'ReWrap' mode.

Definition at line 397 of file Tpm12.h.

#define TPM_MS_REWRAP   ((TPM_MIGRATE_SCHEME) 0x0002)

A public key that can be used for the ReWrap mode of TPM_CreateMigrationBlob.

Definition at line 398 of file Tpm12.h.

#define TPM_MS_MAINT   ((TPM_MIGRATE_SCHEME) 0x0003)

A public key that can be used for the Maintenance commands.

Definition at line 399 of file Tpm12.h.

The key is to be migrated to a Migration Authority.

Definition at line 400 of file Tpm12.h.

The key is to be migrated to an entity approved by a Migration Authority using double wrapping.

Definition at line 401 of file Tpm12.h.

#define TPM_EK_TYPE_ACTIVATE   ((TPM_EK_TYPE) 0x0001)

The blob MUST be TPM_EK_BLOB_ACTIVATE.

Definition at line 406 of file Tpm12.h.

#define TPM_EK_TYPE_AUTH   ((TPM_EK_TYPE) 0x0002)

The blob MUST be TPM_EK_BLOB_AUTH.

Definition at line 407 of file Tpm12.h.

#define TPM_PS_PC_11   ((TPM_PLATFORM_SPECIFIC) 0x0001)

PC Specific version 1.1.

Definition at line 412 of file Tpm12.h.

#define TPM_PS_PC_12   ((TPM_PLATFORM_SPECIFIC) 0x0002)

PC Specific version 1.2.

Definition at line 413 of file Tpm12.h.

#define TPM_PS_PDA_12   ((TPM_PLATFORM_SPECIFIC) 0x0003)

PDA Specific version 1.2.

Definition at line 414 of file Tpm12.h.

#define TPM_PS_Server_12   ((TPM_PLATFORM_SPECIFIC) 0x0004)

Server Specific version 1.2.

Definition at line 415 of file Tpm12.h.

#define TPM_PS_Mobile_12   ((TPM_PLATFORM_SPECIFIC) 0x0005)

Mobil Specific version 1.2.

Definition at line 416 of file Tpm12.h.

#define TPM_SHA1_160_HASH_LEN   0x14

Definition at line 443 of file Tpm12.h.

Definition at line 444 of file Tpm12.h.

#define TPM_KEY_SIGNING   ((UINT16) 0x0010)

TPM_KEY_SIGNING SHALL indicate a signing key.

The [private] key SHALL be used for signing operations, only. This means that it MUST be a leaf of the Protected Storage key hierarchy.

Definition at line 529 of file Tpm12.h.

#define TPM_KEY_STORAGE   ((UINT16) 0x0011)

TPM_KEY_STORAGE SHALL indicate a storage key.

The key SHALL be used to wrap and unwrap other keys in the Protected Storage hierarchy

Definition at line 534 of file Tpm12.h.

#define TPM_KEY_IDENTITY   ((UINT16) 0x0012)

TPM_KEY_IDENTITY SHALL indicate an identity key.

The key SHALL be used for operations that require a TPM identity, only.

Definition at line 539 of file Tpm12.h.

#define TPM_KEY_AUTHCHANGE   ((UINT16) 0x0013)

TPM_KEY_AUTHCHANGE SHALL indicate an ephemeral key that is in use during the ChangeAuthAsym process, only.

Definition at line 544 of file Tpm12.h.

#define TPM_KEY_BIND   ((UINT16) 0x0014)

TPM_KEY_BIND SHALL indicate a key that can be used for TPM_Bind and TPM_Unbind operations only.

Definition at line 549 of file Tpm12.h.

#define TPM_KEY_LEGACY   ((UINT16) 0x0015)

TPM_KEY_LEGACY SHALL indicate a key that can perform signing and binding operations.

The key MAY be used for both signing and binding operations. The TPM_KEY_LEGACY key type is to allow for use by applications where both signing and encryption operations occur with the same key. The use of this key type is not recommended TPM_KEY_MIGRATE 0x0016 This SHALL indicate a key in use for TPM_MigrateKey

Definition at line 558 of file Tpm12.h.

#define TPM_KEY_MIGRATE   ((UINT16) 0x0016)

TPM_KEY_MIGRAGE SHALL indicate a key in use for TPM_MigrateKey.

Definition at line 562 of file Tpm12.h.

#define TPM_ES_NONE   ((TPM_ENC_SCHEME) 0x0001)

Definition at line 568 of file Tpm12.h.

#define TPM_ES_RSAESPKCSv15   ((TPM_ENC_SCHEME) 0x0002)

Definition at line 569 of file Tpm12.h.

#define TPM_ES_RSAESOAEP_SHA1_MGF1   ((TPM_ENC_SCHEME) 0x0003)

Definition at line 570 of file Tpm12.h.

#define TPM_ES_SYM_CNT   ((TPM_ENC_SCHEME) 0x0004)

rev94 defined

Definition at line 571 of file Tpm12.h.

#define TPM_ES_SYM_CTR   ((TPM_ENC_SCHEME) 0x0004)

Definition at line 572 of file Tpm12.h.

#define TPM_ES_SYM_OFB   ((TPM_ENC_SCHEME) 0x0005)

Definition at line 573 of file Tpm12.h.

#define TPM_SS_NONE   ((TPM_SIG_SCHEME) 0x0001)

Definition at line 575 of file Tpm12.h.

#define TPM_SS_RSASSAPKCS1v15_SHA1   ((TPM_SIG_SCHEME) 0x0002)

Definition at line 576 of file Tpm12.h.

#define TPM_SS_RSASSAPKCS1v15_DER   ((TPM_SIG_SCHEME) 0x0003)

Definition at line 577 of file Tpm12.h.

#define TPM_SS_RSASSAPKCS1v15_INFO   ((TPM_SIG_SCHEME) 0x0004)

Definition at line 578 of file Tpm12.h.

#define TPM_AUTH_NEVER   ((TPM_AUTH_DATA_USAGE) 0x00)

Definition at line 583 of file Tpm12.h.

#define TPM_AUTH_ALWAYS   ((TPM_AUTH_DATA_USAGE) 0x01)

Definition at line 584 of file Tpm12.h.

Definition at line 585 of file Tpm12.h.

Definition at line 688 of file Tpm12.h.

Definition at line 689 of file Tpm12.h.

Definition at line 690 of file Tpm12.h.

Definition at line 691 of file Tpm12.h.

Definition at line 692 of file Tpm12.h.

#define TPM_TAG_RQU_COMMAND   ((TPM_STRUCTURE_TAG) 0x00C1)

Definition at line 732 of file Tpm12.h.

Definition at line 733 of file Tpm12.h.

Definition at line 734 of file Tpm12.h.

#define TPM_TAG_RSP_COMMAND   ((TPM_STRUCTURE_TAG) 0x00C4)

Definition at line 735 of file Tpm12.h.

Definition at line 736 of file Tpm12.h.

Definition at line 737 of file Tpm12.h.

#define TPM_PF_DISABLE   ((TPM_CAPABILITY_AREA) 1)

Definition at line 769 of file Tpm12.h.

Definition at line 770 of file Tpm12.h.

Definition at line 771 of file Tpm12.h.

Definition at line 772 of file Tpm12.h.

Definition at line 773 of file Tpm12.h.

Definition at line 774 of file Tpm12.h.

Definition at line 775 of file Tpm12.h.

Definition at line 776 of file Tpm12.h.

Definition at line 777 of file Tpm12.h.

#define TPM_PF_CEKPUSED   ((TPM_CAPABILITY_AREA) 10)

Definition at line 778 of file Tpm12.h.

#define TPM_PF_TPMPOST   ((TPM_CAPABILITY_AREA) 11)

Definition at line 779 of file Tpm12.h.

Definition at line 780 of file Tpm12.h.

#define TPM_PF_FIPS   ((TPM_CAPABILITY_AREA) 13)

Definition at line 781 of file Tpm12.h.

#define TPM_PF_OPERATOR   ((TPM_CAPABILITY_AREA) 14)

Definition at line 782 of file Tpm12.h.

Definition at line 783 of file Tpm12.h.

Definition at line 784 of file Tpm12.h.

Definition at line 785 of file Tpm12.h.

Definition at line 786 of file Tpm12.h.

Definition at line 787 of file Tpm12.h.

Definition at line 788 of file Tpm12.h.

Definition at line 805 of file Tpm12.h.

Definition at line 806 of file Tpm12.h.

Definition at line 807 of file Tpm12.h.

Definition at line 808 of file Tpm12.h.

Definition at line 809 of file Tpm12.h.

Definition at line 825 of file Tpm12.h.

Definition at line 826 of file Tpm12.h.

Definition at line 827 of file Tpm12.h.

Definition at line 828 of file Tpm12.h.

#define TPM_MIN_COUNTERS   4

the minimum number of counters is 4

Definition at line 836 of file Tpm12.h.

#define TPM_DELEGATE_KEY   TPM_KEY

Definition at line 837 of file Tpm12.h.

#define TPM_NUM_PCR   16

Definition at line 838 of file Tpm12.h.

#define TPM_MAX_NV_WRITE_NOOWNER   64

Definition at line 839 of file Tpm12.h.

Definition at line 844 of file Tpm12.h.

Definition at line 845 of file Tpm12.h.

Definition at line 846 of file Tpm12.h.

Definition at line 847 of file Tpm12.h.

Definition at line 848 of file Tpm12.h.

Definition at line 849 of file Tpm12.h.

Definition at line 850 of file Tpm12.h.

#define TPM_PD_SRK   ((TPM_CAPABILITY_AREA) 8)

Definition at line 851 of file Tpm12.h.

Definition at line 852 of file Tpm12.h.

Definition at line 853 of file Tpm12.h.

Definition at line 854 of file Tpm12.h.

Definition at line 855 of file Tpm12.h.

Definition at line 856 of file Tpm12.h.

Definition at line 857 of file Tpm12.h.

#define TPM_PD_AUTHDIR   ((TPM_CAPABILITY_AREA) 15)

Definition at line 858 of file Tpm12.h.

#define TPM_PD_RNGSTATE   ((TPM_CAPABILITY_AREA) 16)

Definition at line 859 of file Tpm12.h.

Definition at line 860 of file Tpm12.h.

Definition at line 861 of file Tpm12.h.

#define TPM_PD_EKRESET   ((TPM_CAPABILITY_AREA) 19)

Definition at line 862 of file Tpm12.h.

Definition at line 863 of file Tpm12.h.

Definition at line 864 of file Tpm12.h.

Definition at line 865 of file Tpm12.h.

Definition at line 866 of file Tpm12.h.

Definition at line 867 of file Tpm12.h.

#define TPM_PD_DAAPROOF   ((TPM_CAPABILITY_AREA) 25)

Definition at line 868 of file Tpm12.h.

#define TPM_SD_CONTEXTNONCEKEY   ((TPM_CAPABILITY_AREA)0x00000001)

Definition at line 887 of file Tpm12.h.

#define TPM_SD_COUNTID   ((TPM_CAPABILITY_AREA)0x00000002)

Definition at line 888 of file Tpm12.h.

#define TPM_SD_OWNERREFERENCE   ((TPM_CAPABILITY_AREA)0x00000003)

Definition at line 889 of file Tpm12.h.

#define TPM_SD_DISABLERESETLOCK   ((TPM_CAPABILITY_AREA)0x00000004)

Definition at line 890 of file Tpm12.h.

#define TPM_SD_PCR   ((TPM_CAPABILITY_AREA)0x00000005)

Definition at line 891 of file Tpm12.h.

Definition at line 892 of file Tpm12.h.

Definition at line 897 of file Tpm12.h.

Definition at line 898 of file Tpm12.h.

Definition at line 899 of file Tpm12.h.

Definition at line 900 of file Tpm12.h.

Definition at line 901 of file Tpm12.h.

Definition at line 902 of file Tpm12.h.

#define TPM_LOC_FOUR   ((UINT8) 0x10)

Definition at line 941 of file Tpm12.h.

#define TPM_LOC_THREE   ((UINT8) 0x08)

Definition at line 942 of file Tpm12.h.

#define TPM_LOC_TWO   ((UINT8) 0x04)

Definition at line 943 of file Tpm12.h.

#define TPM_LOC_ONE   ((UINT8) 0x02)

Definition at line 944 of file Tpm12.h.

#define TPM_LOC_ZERO   ((UINT8) 0x01)

Definition at line 945 of file Tpm12.h.

#define TPM_KEY_CONTROL_OWNER_EVICT   ((UINT32) 0x00000001)

Part 2, section 10.9: TPM_KEY_CONTROL.

Definition at line 1120 of file Tpm12.h.

Definition at line 1300 of file Tpm12.h.

#define TPM_TRANSPORT_LOG   ((UINT32)BIT1)

Definition at line 1301 of file Tpm12.h.

Definition at line 1302 of file Tpm12.h.

Definition at line 1371 of file Tpm12.h.

#define TPM_NON_FATAL   0x00000800

Definition at line 1372 of file Tpm12.h.

#define TPM_SUCCESS   ((TPM_RESULT) TPM_BASE)

Definition at line 1374 of file Tpm12.h.

#define TPM_AUTHFAIL   ((TPM_RESULT) (TPM_BASE + 1))

Definition at line 1375 of file Tpm12.h.

#define TPM_BADINDEX   ((TPM_RESULT) (TPM_BASE + 2))

Definition at line 1376 of file Tpm12.h.

#define TPM_BAD_PARAMETER   ((TPM_RESULT) (TPM_BASE + 3))

Definition at line 1377 of file Tpm12.h.

#define TPM_AUDITFAILURE   ((TPM_RESULT) (TPM_BASE + 4))

Definition at line 1378 of file Tpm12.h.

#define TPM_CLEAR_DISABLED   ((TPM_RESULT) (TPM_BASE + 5))

Definition at line 1379 of file Tpm12.h.

#define TPM_DEACTIVATED   ((TPM_RESULT) (TPM_BASE + 6))

Definition at line 1380 of file Tpm12.h.

#define TPM_DISABLED   ((TPM_RESULT) (TPM_BASE + 7))

Definition at line 1381 of file Tpm12.h.

#define TPM_DISABLED_CMD   ((TPM_RESULT) (TPM_BASE + 8))

Definition at line 1382 of file Tpm12.h.

#define TPM_FAIL   ((TPM_RESULT) (TPM_BASE + 9))

Definition at line 1383 of file Tpm12.h.

#define TPM_BAD_ORDINAL   ((TPM_RESULT) (TPM_BASE + 10))

Definition at line 1384 of file Tpm12.h.

#define TPM_INSTALL_DISABLED   ((TPM_RESULT) (TPM_BASE + 11))

Definition at line 1385 of file Tpm12.h.

#define TPM_INVALID_KEYHANDLE   ((TPM_RESULT) (TPM_BASE + 12))

Definition at line 1386 of file Tpm12.h.

#define TPM_KEYNOTFOUND   ((TPM_RESULT) (TPM_BASE + 13))

Definition at line 1387 of file Tpm12.h.

#define TPM_INAPPROPRIATE_ENC   ((TPM_RESULT) (TPM_BASE + 14))

Definition at line 1388 of file Tpm12.h.

#define TPM_MIGRATEFAIL   ((TPM_RESULT) (TPM_BASE + 15))

Definition at line 1389 of file Tpm12.h.

#define TPM_INVALID_PCR_INFO   ((TPM_RESULT) (TPM_BASE + 16))

Definition at line 1390 of file Tpm12.h.

#define TPM_NOSPACE   ((TPM_RESULT) (TPM_BASE + 17))

Definition at line 1391 of file Tpm12.h.

#define TPM_NOSRK   ((TPM_RESULT) (TPM_BASE + 18))

Definition at line 1392 of file Tpm12.h.

#define TPM_NOTSEALED_BLOB   ((TPM_RESULT) (TPM_BASE + 19))

Definition at line 1393 of file Tpm12.h.

#define TPM_OWNER_SET   ((TPM_RESULT) (TPM_BASE + 20))

Definition at line 1394 of file Tpm12.h.

#define TPM_RESOURCES   ((TPM_RESULT) (TPM_BASE + 21))

Definition at line 1395 of file Tpm12.h.

#define TPM_SHORTRANDOM   ((TPM_RESULT) (TPM_BASE + 22))

Definition at line 1396 of file Tpm12.h.

#define TPM_SIZE   ((TPM_RESULT) (TPM_BASE + 23))

Definition at line 1397 of file Tpm12.h.

#define TPM_WRONGPCRVAL   ((TPM_RESULT) (TPM_BASE + 24))

Definition at line 1398 of file Tpm12.h.

#define TPM_BAD_PARAM_SIZE   ((TPM_RESULT) (TPM_BASE + 25))

Definition at line 1399 of file Tpm12.h.

#define TPM_SHA_THREAD   ((TPM_RESULT) (TPM_BASE + 26))

Definition at line 1400 of file Tpm12.h.

#define TPM_SHA_ERROR   ((TPM_RESULT) (TPM_BASE + 27))

Definition at line 1401 of file Tpm12.h.

#define TPM_FAILEDSELFTEST   ((TPM_RESULT) (TPM_BASE + 28))

Definition at line 1402 of file Tpm12.h.

#define TPM_AUTH2FAIL   ((TPM_RESULT) (TPM_BASE + 29))

Definition at line 1403 of file Tpm12.h.

#define TPM_BADTAG   ((TPM_RESULT) (TPM_BASE + 30))

Definition at line 1404 of file Tpm12.h.

#define TPM_IOERROR   ((TPM_RESULT) (TPM_BASE + 31))

Definition at line 1405 of file Tpm12.h.

#define TPM_ENCRYPT_ERROR   ((TPM_RESULT) (TPM_BASE + 32))

Definition at line 1406 of file Tpm12.h.

#define TPM_DECRYPT_ERROR   ((TPM_RESULT) (TPM_BASE + 33))

Definition at line 1407 of file Tpm12.h.

#define TPM_INVALID_AUTHHANDLE   ((TPM_RESULT) (TPM_BASE + 34))

Definition at line 1408 of file Tpm12.h.

#define TPM_NO_ENDORSEMENT   ((TPM_RESULT) (TPM_BASE + 35))

Definition at line 1409 of file Tpm12.h.

#define TPM_INVALID_KEYUSAGE   ((TPM_RESULT) (TPM_BASE + 36))

Definition at line 1410 of file Tpm12.h.

#define TPM_WRONG_ENTITYTYPE   ((TPM_RESULT) (TPM_BASE + 37))

Definition at line 1411 of file Tpm12.h.

#define TPM_INVALID_POSTINIT   ((TPM_RESULT) (TPM_BASE + 38))

Definition at line 1412 of file Tpm12.h.

#define TPM_INAPPROPRIATE_SIG   ((TPM_RESULT) (TPM_BASE + 39))

Definition at line 1413 of file Tpm12.h.

#define TPM_BAD_KEY_PROPERTY   ((TPM_RESULT) (TPM_BASE + 40))

Definition at line 1414 of file Tpm12.h.

#define TPM_BAD_MIGRATION   ((TPM_RESULT) (TPM_BASE + 41))

Definition at line 1415 of file Tpm12.h.

#define TPM_BAD_SCHEME   ((TPM_RESULT) (TPM_BASE + 42))

Definition at line 1416 of file Tpm12.h.

#define TPM_BAD_DATASIZE   ((TPM_RESULT) (TPM_BASE + 43))

Definition at line 1417 of file Tpm12.h.

#define TPM_BAD_MODE   ((TPM_RESULT) (TPM_BASE + 44))

Definition at line 1418 of file Tpm12.h.

#define TPM_BAD_PRESENCE   ((TPM_RESULT) (TPM_BASE + 45))

Definition at line 1419 of file Tpm12.h.

#define TPM_BAD_VERSION   ((TPM_RESULT) (TPM_BASE + 46))

Definition at line 1420 of file Tpm12.h.

#define TPM_NO_WRAP_TRANSPORT   ((TPM_RESULT) (TPM_BASE + 47))

Definition at line 1421 of file Tpm12.h.

Definition at line 1422 of file Tpm12.h.

#define TPM_AUDITFAIL_SUCCESSFUL   ((TPM_RESULT) (TPM_BASE + 49))

Definition at line 1423 of file Tpm12.h.

#define TPM_NOTRESETABLE   ((TPM_RESULT) (TPM_BASE + 50))

Definition at line 1424 of file Tpm12.h.

#define TPM_NOTLOCAL   ((TPM_RESULT) (TPM_BASE + 51))

Definition at line 1425 of file Tpm12.h.

#define TPM_BAD_TYPE   ((TPM_RESULT) (TPM_BASE + 52))

Definition at line 1426 of file Tpm12.h.

#define TPM_INVALID_RESOURCE   ((TPM_RESULT) (TPM_BASE + 53))

Definition at line 1427 of file Tpm12.h.

#define TPM_NOTFIPS   ((TPM_RESULT) (TPM_BASE + 54))

Definition at line 1428 of file Tpm12.h.

#define TPM_INVALID_FAMILY   ((TPM_RESULT) (TPM_BASE + 55))

Definition at line 1429 of file Tpm12.h.

#define TPM_NO_NV_PERMISSION   ((TPM_RESULT) (TPM_BASE + 56))

Definition at line 1430 of file Tpm12.h.

#define TPM_REQUIRES_SIGN   ((TPM_RESULT) (TPM_BASE + 57))

Definition at line 1431 of file Tpm12.h.

#define TPM_KEY_NOTSUPPORTED   ((TPM_RESULT) (TPM_BASE + 58))

Definition at line 1432 of file Tpm12.h.

#define TPM_AUTH_CONFLICT   ((TPM_RESULT) (TPM_BASE + 59))

Definition at line 1433 of file Tpm12.h.

#define TPM_AREA_LOCKED   ((TPM_RESULT) (TPM_BASE + 60))

Definition at line 1434 of file Tpm12.h.

#define TPM_BAD_LOCALITY   ((TPM_RESULT) (TPM_BASE + 61))

Definition at line 1435 of file Tpm12.h.

#define TPM_READ_ONLY   ((TPM_RESULT) (TPM_BASE + 62))

Definition at line 1436 of file Tpm12.h.

#define TPM_PER_NOWRITE   ((TPM_RESULT) (TPM_BASE + 63))

Definition at line 1437 of file Tpm12.h.

#define TPM_FAMILYCOUNT   ((TPM_RESULT) (TPM_BASE + 64))

Definition at line 1438 of file Tpm12.h.

#define TPM_WRITE_LOCKED   ((TPM_RESULT) (TPM_BASE + 65))

Definition at line 1439 of file Tpm12.h.

#define TPM_BAD_ATTRIBUTES   ((TPM_RESULT) (TPM_BASE + 66))

Definition at line 1440 of file Tpm12.h.

#define TPM_INVALID_STRUCTURE   ((TPM_RESULT) (TPM_BASE + 67))

Definition at line 1441 of file Tpm12.h.

#define TPM_KEY_OWNER_CONTROL   ((TPM_RESULT) (TPM_BASE + 68))

Definition at line 1442 of file Tpm12.h.

#define TPM_BAD_COUNTER   ((TPM_RESULT) (TPM_BASE + 69))

Definition at line 1443 of file Tpm12.h.

#define TPM_NOT_FULLWRITE   ((TPM_RESULT) (TPM_BASE + 70))

Definition at line 1444 of file Tpm12.h.

#define TPM_CONTEXT_GAP   ((TPM_RESULT) (TPM_BASE + 71))

Definition at line 1445 of file Tpm12.h.

#define TPM_MAXNVWRITES   ((TPM_RESULT) (TPM_BASE + 72))

Definition at line 1446 of file Tpm12.h.

#define TPM_NOOPERATOR   ((TPM_RESULT) (TPM_BASE + 73))

Definition at line 1447 of file Tpm12.h.

#define TPM_RESOURCEMISSING   ((TPM_RESULT) (TPM_BASE + 74))

Definition at line 1448 of file Tpm12.h.

#define TPM_DELEGATE_LOCK   ((TPM_RESULT) (TPM_BASE + 75))

Definition at line 1449 of file Tpm12.h.

#define TPM_DELEGATE_FAMILY   ((TPM_RESULT) (TPM_BASE + 76))

Definition at line 1450 of file Tpm12.h.

#define TPM_DELEGATE_ADMIN   ((TPM_RESULT) (TPM_BASE + 77))

Definition at line 1451 of file Tpm12.h.

Definition at line 1452 of file Tpm12.h.

#define TPM_OWNER_CONTROL   ((TPM_RESULT) (TPM_BASE + 79))

Definition at line 1453 of file Tpm12.h.

#define TPM_DAA_RESOURCES   ((TPM_RESULT) (TPM_BASE + 80))

Definition at line 1454 of file Tpm12.h.

#define TPM_DAA_INPUT_DATA0   ((TPM_RESULT) (TPM_BASE + 81))

Definition at line 1455 of file Tpm12.h.

#define TPM_DAA_INPUT_DATA1   ((TPM_RESULT) (TPM_BASE + 82))

Definition at line 1456 of file Tpm12.h.

#define TPM_DAA_ISSUER_SETTINGS   ((TPM_RESULT) (TPM_BASE + 83))

Definition at line 1457 of file Tpm12.h.

#define TPM_DAA_TPM_SETTINGS   ((TPM_RESULT) (TPM_BASE + 84))

Definition at line 1458 of file Tpm12.h.

#define TPM_DAA_STAGE   ((TPM_RESULT) (TPM_BASE + 85))

Definition at line 1459 of file Tpm12.h.

#define TPM_DAA_ISSUER_VALIDITY   ((TPM_RESULT) (TPM_BASE + 86))

Definition at line 1460 of file Tpm12.h.

#define TPM_DAA_WRONG_W   ((TPM_RESULT) (TPM_BASE + 87))

Definition at line 1461 of file Tpm12.h.

#define TPM_BAD_HANDLE   ((TPM_RESULT) (TPM_BASE + 88))

Definition at line 1462 of file Tpm12.h.

#define TPM_BAD_DELEGATE   ((TPM_RESULT) (TPM_BASE + 89))

Definition at line 1463 of file Tpm12.h.

#define TPM_BADCONTEXT   ((TPM_RESULT) (TPM_BASE + 90))

Definition at line 1464 of file Tpm12.h.

#define TPM_TOOMANYCONTEXTS   ((TPM_RESULT) (TPM_BASE + 91))

Definition at line 1465 of file Tpm12.h.

#define TPM_MA_TICKET_SIGNATURE   ((TPM_RESULT) (TPM_BASE + 92))

Definition at line 1466 of file Tpm12.h.

#define TPM_MA_DESTINATION   ((TPM_RESULT) (TPM_BASE + 93))

Definition at line 1467 of file Tpm12.h.

#define TPM_MA_SOURCE   ((TPM_RESULT) (TPM_BASE + 94))

Definition at line 1468 of file Tpm12.h.

#define TPM_MA_AUTHORITY   ((TPM_RESULT) (TPM_BASE + 95))

Definition at line 1469 of file Tpm12.h.

#define TPM_PERMANENTEK   ((TPM_RESULT) (TPM_BASE + 97))

Definition at line 1470 of file Tpm12.h.

#define TPM_BAD_SIGNATURE   ((TPM_RESULT) (TPM_BASE + 98))

Definition at line 1471 of file Tpm12.h.

#define TPM_NOCONTEXTSPACE   ((TPM_RESULT) (TPM_BASE + 99))

Definition at line 1472 of file Tpm12.h.

Definition at line 1474 of file Tpm12.h.

Definition at line 1475 of file Tpm12.h.

Definition at line 1476 of file Tpm12.h.

Definition at line 1477 of file Tpm12.h.

#define TPM_ORD_ActivateIdentity   ((TPM_COMMAND_CODE) 0x0000007A)

Definition at line 1507 of file Tpm12.h.

#define TPM_ORD_AuthorizeMigrationKey   ((TPM_COMMAND_CODE) 0x0000002B)

Definition at line 1508 of file Tpm12.h.

#define TPM_ORD_CertifyKey   ((TPM_COMMAND_CODE) 0x00000032)

Definition at line 1509 of file Tpm12.h.

#define TPM_ORD_CertifyKey2   ((TPM_COMMAND_CODE) 0x00000033)

Definition at line 1510 of file Tpm12.h.

#define TPM_ORD_CertifySelfTest   ((TPM_COMMAND_CODE) 0x00000052)

Definition at line 1511 of file Tpm12.h.

#define TPM_ORD_ChangeAuth   ((TPM_COMMAND_CODE) 0x0000000C)

Definition at line 1512 of file Tpm12.h.

#define TPM_ORD_ChangeAuthAsymFinish   ((TPM_COMMAND_CODE) 0x0000000F)

Definition at line 1513 of file Tpm12.h.

#define TPM_ORD_ChangeAuthAsymStart   ((TPM_COMMAND_CODE) 0x0000000E)

Definition at line 1514 of file Tpm12.h.

#define TPM_ORD_ChangeAuthOwner   ((TPM_COMMAND_CODE) 0x00000010)

Definition at line 1515 of file Tpm12.h.

#define TPM_ORD_CMK_ApproveMA   ((TPM_COMMAND_CODE) 0x0000001D)

Definition at line 1516 of file Tpm12.h.

#define TPM_ORD_CMK_ConvertMigration   ((TPM_COMMAND_CODE) 0x00000024)

Definition at line 1517 of file Tpm12.h.

#define TPM_ORD_CMK_CreateBlob   ((TPM_COMMAND_CODE) 0x0000001B)

Definition at line 1518 of file Tpm12.h.

#define TPM_ORD_CMK_CreateKey   ((TPM_COMMAND_CODE) 0x00000013)

Definition at line 1519 of file Tpm12.h.

#define TPM_ORD_CMK_CreateTicket   ((TPM_COMMAND_CODE) 0x00000012)

Definition at line 1520 of file Tpm12.h.

#define TPM_ORD_CMK_SetRestrictions   ((TPM_COMMAND_CODE) 0x0000001C)

Definition at line 1521 of file Tpm12.h.

#define TPM_ORD_ContinueSelfTest   ((TPM_COMMAND_CODE) 0x00000053)

Definition at line 1522 of file Tpm12.h.

#define TPM_ORD_ConvertMigrationBlob   ((TPM_COMMAND_CODE) 0x0000002A)

Definition at line 1523 of file Tpm12.h.

#define TPM_ORD_CreateCounter   ((TPM_COMMAND_CODE) 0x000000DC)

Definition at line 1524 of file Tpm12.h.

Definition at line 1525 of file Tpm12.h.

Definition at line 1526 of file Tpm12.h.

#define TPM_ORD_CreateMigrationBlob   ((TPM_COMMAND_CODE) 0x00000028)

Definition at line 1527 of file Tpm12.h.

#define TPM_ORD_CreateRevocableEK   ((TPM_COMMAND_CODE) 0x0000007F)

Definition at line 1528 of file Tpm12.h.

#define TPM_ORD_CreateWrapKey   ((TPM_COMMAND_CODE) 0x0000001F)

Definition at line 1529 of file Tpm12.h.

#define TPM_ORD_DAA_JOIN   ((TPM_COMMAND_CODE) 0x00000029)

Definition at line 1530 of file Tpm12.h.

#define TPM_ORD_DAA_SIGN   ((TPM_COMMAND_CODE) 0x00000031)

Definition at line 1531 of file Tpm12.h.

Definition at line 1532 of file Tpm12.h.

Definition at line 1533 of file Tpm12.h.

Definition at line 1534 of file Tpm12.h.

#define TPM_ORD_Delegate_Manage   ((TPM_COMMAND_CODE) 0x000000D2)

Definition at line 1535 of file Tpm12.h.

#define TPM_ORD_Delegate_ReadTable   ((TPM_COMMAND_CODE) 0x000000DB)

Definition at line 1536 of file Tpm12.h.

Definition at line 1537 of file Tpm12.h.

Definition at line 1538 of file Tpm12.h.

#define TPM_ORD_DirRead   ((TPM_COMMAND_CODE) 0x0000001A)

Definition at line 1539 of file Tpm12.h.

#define TPM_ORD_DirWriteAuth   ((TPM_COMMAND_CODE) 0x00000019)

Definition at line 1540 of file Tpm12.h.

#define TPM_ORD_DisableForceClear   ((TPM_COMMAND_CODE) 0x0000005E)

Definition at line 1541 of file Tpm12.h.

#define TPM_ORD_DisableOwnerClear   ((TPM_COMMAND_CODE) 0x0000005C)

Definition at line 1542 of file Tpm12.h.

#define TPM_ORD_DisablePubekRead   ((TPM_COMMAND_CODE) 0x0000007E)

Definition at line 1543 of file Tpm12.h.

#define TPM_ORD_DSAP   ((TPM_COMMAND_CODE) 0x00000011)

Definition at line 1544 of file Tpm12.h.

#define TPM_ORD_EstablishTransport   ((TPM_COMMAND_CODE) 0x000000E6)

Definition at line 1545 of file Tpm12.h.

#define TPM_ORD_EvictKey   ((TPM_COMMAND_CODE) 0x00000022)

Definition at line 1546 of file Tpm12.h.

#define TPM_ORD_ExecuteTransport   ((TPM_COMMAND_CODE) 0x000000E7)

Definition at line 1547 of file Tpm12.h.

#define TPM_ORD_Extend   ((TPM_COMMAND_CODE) 0x00000014)

Definition at line 1548 of file Tpm12.h.

#define TPM_ORD_FieldUpgrade   ((TPM_COMMAND_CODE) 0x000000AA)

Definition at line 1549 of file Tpm12.h.

#define TPM_ORD_FlushSpecific   ((TPM_COMMAND_CODE) 0x000000BA)

Definition at line 1550 of file Tpm12.h.

#define TPM_ORD_ForceClear   ((TPM_COMMAND_CODE) 0x0000005D)

Definition at line 1551 of file Tpm12.h.

#define TPM_ORD_GetAuditDigest   ((TPM_COMMAND_CODE) 0x00000085)

Definition at line 1552 of file Tpm12.h.

#define TPM_ORD_GetAuditDigestSigned   ((TPM_COMMAND_CODE) 0x00000086)

Definition at line 1553 of file Tpm12.h.

#define TPM_ORD_GetAuditEvent   ((TPM_COMMAND_CODE) 0x00000082)

Definition at line 1554 of file Tpm12.h.

#define TPM_ORD_GetAuditEventSigned   ((TPM_COMMAND_CODE) 0x00000083)

Definition at line 1555 of file Tpm12.h.

#define TPM_ORD_GetCapability   ((TPM_COMMAND_CODE) 0x00000065)

Definition at line 1556 of file Tpm12.h.

#define TPM_ORD_GetCapabilityOwner   ((TPM_COMMAND_CODE) 0x00000066)

Definition at line 1557 of file Tpm12.h.

#define TPM_ORD_GetCapabilitySigned   ((TPM_COMMAND_CODE) 0x00000064)

Definition at line 1558 of file Tpm12.h.

#define TPM_ORD_GetOrdinalAuditStatus   ((TPM_COMMAND_CODE) 0x0000008C)

Definition at line 1559 of file Tpm12.h.

#define TPM_ORD_GetPubKey   ((TPM_COMMAND_CODE) 0x00000021)

Definition at line 1560 of file Tpm12.h.

#define TPM_ORD_GetRandom   ((TPM_COMMAND_CODE) 0x00000046)

Definition at line 1561 of file Tpm12.h.

#define TPM_ORD_GetTestResult   ((TPM_COMMAND_CODE) 0x00000054)

Definition at line 1562 of file Tpm12.h.

#define TPM_ORD_GetTicks   ((TPM_COMMAND_CODE) 0x000000F1)

Definition at line 1563 of file Tpm12.h.

#define TPM_ORD_IncrementCounter   ((TPM_COMMAND_CODE) 0x000000DD)

Definition at line 1564 of file Tpm12.h.

#define TPM_ORD_Init   ((TPM_COMMAND_CODE) 0x00000097)

Definition at line 1565 of file Tpm12.h.

#define TPM_ORD_KeyControlOwner   ((TPM_COMMAND_CODE) 0x00000023)

Definition at line 1566 of file Tpm12.h.

#define TPM_ORD_KillMaintenanceFeature   ((TPM_COMMAND_CODE) 0x0000002E)

Definition at line 1567 of file Tpm12.h.

#define TPM_ORD_LoadAuthContext   ((TPM_COMMAND_CODE) 0x000000B7)

Definition at line 1568 of file Tpm12.h.

#define TPM_ORD_LoadContext   ((TPM_COMMAND_CODE) 0x000000B9)

Definition at line 1569 of file Tpm12.h.

#define TPM_ORD_LoadKey   ((TPM_COMMAND_CODE) 0x00000020)

Definition at line 1570 of file Tpm12.h.

#define TPM_ORD_LoadKey2   ((TPM_COMMAND_CODE) 0x00000041)

Definition at line 1571 of file Tpm12.h.

#define TPM_ORD_LoadKeyContext   ((TPM_COMMAND_CODE) 0x000000B5)

Definition at line 1572 of file Tpm12.h.

#define TPM_ORD_LoadMaintenanceArchive   ((TPM_COMMAND_CODE) 0x0000002D)

Definition at line 1573 of file Tpm12.h.

#define TPM_ORD_LoadManuMaintPub   ((TPM_COMMAND_CODE) 0x0000002F)

Definition at line 1574 of file Tpm12.h.

#define TPM_ORD_MakeIdentity   ((TPM_COMMAND_CODE) 0x00000079)

Definition at line 1575 of file Tpm12.h.

#define TPM_ORD_MigrateKey   ((TPM_COMMAND_CODE) 0x00000025)

Definition at line 1576 of file Tpm12.h.

#define TPM_ORD_NV_DefineSpace   ((TPM_COMMAND_CODE) 0x000000CC)

Definition at line 1577 of file Tpm12.h.

#define TPM_ORD_NV_ReadValue   ((TPM_COMMAND_CODE) 0x000000CF)

Definition at line 1578 of file Tpm12.h.

#define TPM_ORD_NV_ReadValueAuth   ((TPM_COMMAND_CODE) 0x000000D0)

Definition at line 1579 of file Tpm12.h.

#define TPM_ORD_NV_WriteValue   ((TPM_COMMAND_CODE) 0x000000CD)

Definition at line 1580 of file Tpm12.h.

#define TPM_ORD_NV_WriteValueAuth   ((TPM_COMMAND_CODE) 0x000000CE)

Definition at line 1581 of file Tpm12.h.

#define TPM_ORD_OIAP   ((TPM_COMMAND_CODE) 0x0000000A)

Definition at line 1582 of file Tpm12.h.

#define TPM_ORD_OSAP   ((TPM_COMMAND_CODE) 0x0000000B)

Definition at line 1583 of file Tpm12.h.

#define TPM_ORD_OwnerClear   ((TPM_COMMAND_CODE) 0x0000005B)

Definition at line 1584 of file Tpm12.h.

#define TPM_ORD_OwnerReadInternalPub   ((TPM_COMMAND_CODE) 0x00000081)

Definition at line 1585 of file Tpm12.h.

#define TPM_ORD_OwnerReadPubek   ((TPM_COMMAND_CODE) 0x0000007D)

Definition at line 1586 of file Tpm12.h.

#define TPM_ORD_OwnerSetDisable   ((TPM_COMMAND_CODE) 0x0000006E)

Definition at line 1587 of file Tpm12.h.

#define TPM_ORD_PCR_Reset   ((TPM_COMMAND_CODE) 0x000000C8)

Definition at line 1588 of file Tpm12.h.

#define TPM_ORD_PcrRead   ((TPM_COMMAND_CODE) 0x00000015)

Definition at line 1589 of file Tpm12.h.

#define TPM_ORD_PhysicalDisable   ((TPM_COMMAND_CODE) 0x00000070)

Definition at line 1590 of file Tpm12.h.

#define TPM_ORD_PhysicalEnable   ((TPM_COMMAND_CODE) 0x0000006F)

Definition at line 1591 of file Tpm12.h.

#define TPM_ORD_PhysicalSetDeactivated   ((TPM_COMMAND_CODE) 0x00000072)

Definition at line 1592 of file Tpm12.h.

#define TPM_ORD_Quote   ((TPM_COMMAND_CODE) 0x00000016)

Definition at line 1593 of file Tpm12.h.

#define TPM_ORD_Quote2   ((TPM_COMMAND_CODE) 0x0000003E)

Definition at line 1594 of file Tpm12.h.

#define TPM_ORD_ReadCounter   ((TPM_COMMAND_CODE) 0x000000DE)

Definition at line 1595 of file Tpm12.h.

#define TPM_ORD_ReadManuMaintPub   ((TPM_COMMAND_CODE) 0x00000030)

Definition at line 1596 of file Tpm12.h.

#define TPM_ORD_ReadPubek   ((TPM_COMMAND_CODE) 0x0000007C)

Definition at line 1597 of file Tpm12.h.

#define TPM_ORD_ReleaseCounter   ((TPM_COMMAND_CODE) 0x000000DF)

Definition at line 1598 of file Tpm12.h.

#define TPM_ORD_ReleaseCounterOwner   ((TPM_COMMAND_CODE) 0x000000E0)

Definition at line 1599 of file Tpm12.h.

#define TPM_ORD_ReleaseTransportSigned   ((TPM_COMMAND_CODE) 0x000000E8)

Definition at line 1600 of file Tpm12.h.

#define TPM_ORD_Reset   ((TPM_COMMAND_CODE) 0x0000005A)

Definition at line 1601 of file Tpm12.h.

#define TPM_ORD_ResetLockValue   ((TPM_COMMAND_CODE) 0x00000040)

Definition at line 1602 of file Tpm12.h.

#define TPM_ORD_RevokeTrust   ((TPM_COMMAND_CODE) 0x00000080)

Definition at line 1603 of file Tpm12.h.

#define TPM_ORD_SaveAuthContext   ((TPM_COMMAND_CODE) 0x000000B6)

Definition at line 1604 of file Tpm12.h.

#define TPM_ORD_SaveContext   ((TPM_COMMAND_CODE) 0x000000B8)

Definition at line 1605 of file Tpm12.h.

#define TPM_ORD_SaveKeyContext   ((TPM_COMMAND_CODE) 0x000000B4)

Definition at line 1606 of file Tpm12.h.

#define TPM_ORD_SaveState   ((TPM_COMMAND_CODE) 0x00000098)

Definition at line 1607 of file Tpm12.h.

#define TPM_ORD_Seal   ((TPM_COMMAND_CODE) 0x00000017)

Definition at line 1608 of file Tpm12.h.

#define TPM_ORD_Sealx   ((TPM_COMMAND_CODE) 0x0000003D)

Definition at line 1609 of file Tpm12.h.

#define TPM_ORD_SelfTestFull   ((TPM_COMMAND_CODE) 0x00000050)

Definition at line 1610 of file Tpm12.h.

#define TPM_ORD_SetCapability   ((TPM_COMMAND_CODE) 0x0000003F)

Definition at line 1611 of file Tpm12.h.

#define TPM_ORD_SetOperatorAuth   ((TPM_COMMAND_CODE) 0x00000074)

Definition at line 1612 of file Tpm12.h.

#define TPM_ORD_SetOrdinalAuditStatus   ((TPM_COMMAND_CODE) 0x0000008D)

Definition at line 1613 of file Tpm12.h.

#define TPM_ORD_SetOwnerInstall   ((TPM_COMMAND_CODE) 0x00000071)

Definition at line 1614 of file Tpm12.h.

#define TPM_ORD_SetOwnerPointer   ((TPM_COMMAND_CODE) 0x00000075)

Definition at line 1615 of file Tpm12.h.

#define TPM_ORD_SetRedirection   ((TPM_COMMAND_CODE) 0x0000009A)

Definition at line 1616 of file Tpm12.h.

#define TPM_ORD_SetTempDeactivated   ((TPM_COMMAND_CODE) 0x00000073)

Definition at line 1617 of file Tpm12.h.

#define TPM_ORD_SHA1Complete   ((TPM_COMMAND_CODE) 0x000000A2)

Definition at line 1618 of file Tpm12.h.

#define TPM_ORD_SHA1CompleteExtend   ((TPM_COMMAND_CODE) 0x000000A3)

Definition at line 1619 of file Tpm12.h.

#define TPM_ORD_SHA1Start   ((TPM_COMMAND_CODE) 0x000000A0)

Definition at line 1620 of file Tpm12.h.

#define TPM_ORD_SHA1Update   ((TPM_COMMAND_CODE) 0x000000A1)

Definition at line 1621 of file Tpm12.h.

#define TPM_ORD_Sign   ((TPM_COMMAND_CODE) 0x0000003C)

Definition at line 1622 of file Tpm12.h.

#define TPM_ORD_Startup   ((TPM_COMMAND_CODE) 0x00000099)

Definition at line 1623 of file Tpm12.h.

#define TPM_ORD_StirRandom   ((TPM_COMMAND_CODE) 0x00000047)

Definition at line 1624 of file Tpm12.h.

#define TPM_ORD_TakeOwnership   ((TPM_COMMAND_CODE) 0x0000000D)

Definition at line 1625 of file Tpm12.h.

#define TPM_ORD_Terminate_Handle   ((TPM_COMMAND_CODE) 0x00000096)

Definition at line 1626 of file Tpm12.h.

#define TPM_ORD_TickStampBlob   ((TPM_COMMAND_CODE) 0x000000F2)

Definition at line 1627 of file Tpm12.h.

#define TPM_ORD_UnBind   ((TPM_COMMAND_CODE) 0x0000001E)

Definition at line 1628 of file Tpm12.h.

#define TPM_ORD_Unseal   ((TPM_COMMAND_CODE) 0x00000018)

Definition at line 1629 of file Tpm12.h.

#define TSC_ORD_PhysicalPresence   ((TPM_COMMAND_CODE) 0x4000000A)

Definition at line 1630 of file Tpm12.h.

#define TSC_ORD_ResetEstablishmentBit   ((TPM_COMMAND_CODE) 0x4000000B)

Definition at line 1631 of file Tpm12.h.

#define TPM_NV_INDEX_LOCK   ((UINT32)0xffffffff)

Definition at line 1670 of file Tpm12.h.

#define TPM_NV_INDEX0   ((UINT32)0x00000000)

Definition at line 1671 of file Tpm12.h.

#define TPM_NV_INDEX_DIR   ((UINT32)0x10000001)

Definition at line 1672 of file Tpm12.h.

#define TPM_NV_INDEX_EKCert   ((UINT32)0x0000f000)

Definition at line 1673 of file Tpm12.h.

#define TPM_NV_INDEX_TPM_CC   ((UINT32)0x0000f001)

Definition at line 1674 of file Tpm12.h.

#define TPM_NV_INDEX_PlatformCert   ((UINT32)0x0000f002)

Definition at line 1675 of file Tpm12.h.

#define TPM_NV_INDEX_Platform_CC   ((UINT32)0x0000f003)

Definition at line 1676 of file Tpm12.h.

#define TPM_NV_INDEX_TSS_BASE   ((UINT32)0x00011100)

Definition at line 1680 of file Tpm12.h.

#define TPM_NV_INDEX_PC_BASE   ((UINT32)0x00011200)

Definition at line 1681 of file Tpm12.h.

#define TPM_NV_INDEX_SERVER_BASE   ((UINT32)0x00011300)

Definition at line 1682 of file Tpm12.h.

#define TPM_NV_INDEX_MOBILE_BASE   ((UINT32)0x00011400)

Definition at line 1683 of file Tpm12.h.

#define TPM_NV_INDEX_PERIPHERAL_BASE   ((UINT32)0x00011500)

Definition at line 1684 of file Tpm12.h.

#define TPM_NV_INDEX_GROUP_RESV_BASE   ((UINT32)0x00010000)

Definition at line 1685 of file Tpm12.h.

Definition at line 1695 of file Tpm12.h.

#define TPM_NV_PER_AUTHREAD   (BIT18)

Definition at line 1696 of file Tpm12.h.

#define TPM_NV_PER_OWNERREAD   (BIT17)

Definition at line 1697 of file Tpm12.h.

#define TPM_NV_PER_PPREAD   (BIT16)

Definition at line 1698 of file Tpm12.h.

#define TPM_NV_PER_GLOBALLOCK   (BIT15)

Definition at line 1699 of file Tpm12.h.

Definition at line 1700 of file Tpm12.h.

#define TPM_NV_PER_WRITEDEFINE   (BIT13)

Definition at line 1701 of file Tpm12.h.

#define TPM_NV_PER_WRITEALL   (BIT12)

Definition at line 1702 of file Tpm12.h.

#define TPM_NV_PER_AUTHWRITE   (BIT2)

Definition at line 1703 of file Tpm12.h.

#define TPM_NV_PER_OWNERWRITE   (BIT1)

Definition at line 1704 of file Tpm12.h.

#define TPM_NV_PER_PPWRITE   (BIT0)

Definition at line 1705 of file Tpm12.h.

#define TPM_DEL_OWNER_BITS   ((UINT32)0x00000001)

Definition at line 1726 of file Tpm12.h.

#define TPM_DEL_KEY_BITS   ((UINT32)0x00000002)

Definition at line 1727 of file Tpm12.h.

Definition at line 1741 of file Tpm12.h.

Definition at line 1742 of file Tpm12.h.

Definition at line 1743 of file Tpm12.h.

Definition at line 1744 of file Tpm12.h.

Definition at line 1745 of file Tpm12.h.

Definition at line 1746 of file Tpm12.h.

Definition at line 1747 of file Tpm12.h.

#define TPM_DELEGATE_DAA_Join   (BIT23)

Definition at line 1748 of file Tpm12.h.

Definition at line 1749 of file Tpm12.h.

Definition at line 1750 of file Tpm12.h.

Definition at line 1751 of file Tpm12.h.

Definition at line 1752 of file Tpm12.h.

Definition at line 1753 of file Tpm12.h.

Definition at line 1754 of file Tpm12.h.

Definition at line 1755 of file Tpm12.h.

Definition at line 1756 of file Tpm12.h.

Definition at line 1757 of file Tpm12.h.

Definition at line 1758 of file Tpm12.h.

Definition at line 1759 of file Tpm12.h.

Definition at line 1760 of file Tpm12.h.

Definition at line 1761 of file Tpm12.h.

Definition at line 1762 of file Tpm12.h.

Definition at line 1763 of file Tpm12.h.

Definition at line 1764 of file Tpm12.h.

Definition at line 1765 of file Tpm12.h.

Definition at line 1766 of file Tpm12.h.

Definition at line 1767 of file Tpm12.h.

Definition at line 1768 of file Tpm12.h.

Definition at line 1769 of file Tpm12.h.

Definition at line 1770 of file Tpm12.h.

#define TPM_DELEGATE_DAA_Sign   (BIT0)

Definition at line 1771 of file Tpm12.h.

Definition at line 1776 of file Tpm12.h.

Definition at line 1777 of file Tpm12.h.

Definition at line 1778 of file Tpm12.h.

Definition at line 1779 of file Tpm12.h.

Definition at line 1780 of file Tpm12.h.

Definition at line 1781 of file Tpm12.h.

Definition at line 1782 of file Tpm12.h.

Definition at line 1783 of file Tpm12.h.

Definition at line 1784 of file Tpm12.h.

Definition at line 1785 of file Tpm12.h.

#define TPM_KEY_DELEGATE_Sealx   (BIT18)

Definition at line 1786 of file Tpm12.h.

Definition at line 1787 of file Tpm12.h.

Definition at line 1788 of file Tpm12.h.

Definition at line 1789 of file Tpm12.h.

#define TPM_KEY_DELEGATE_Sign   (BIT14)

Definition at line 1790 of file Tpm12.h.

Definition at line 1791 of file Tpm12.h.

Definition at line 1792 of file Tpm12.h.

Definition at line 1793 of file Tpm12.h.

Definition at line 1794 of file Tpm12.h.

Definition at line 1795 of file Tpm12.h.

Definition at line 1796 of file Tpm12.h.

Definition at line 1797 of file Tpm12.h.

Definition at line 1798 of file Tpm12.h.

Definition at line 1799 of file Tpm12.h.

#define TPM_KEY_DELEGATE_UnBind   (BIT4)

Definition at line 1800 of file Tpm12.h.

#define TPM_KEY_DELEGATE_Quote   (BIT3)

Definition at line 1801 of file Tpm12.h.

#define TPM_KEY_DELEGATE_Unseal   (BIT2)

Definition at line 1802 of file Tpm12.h.

#define TPM_KEY_DELEGATE_Seal   (BIT1)

Definition at line 1803 of file Tpm12.h.

Definition at line 1804 of file Tpm12.h.

#define TPM_DELEGATE_ADMIN_LOCK   (BIT1)

Definition at line 1809 of file Tpm12.h.

#define TPM_FAMFLAG_ENABLE   (BIT0)

Definition at line 1810 of file Tpm12.h.

Definition at line 1833 of file Tpm12.h.

Definition at line 1870 of file Tpm12.h.

#define TPM_FAMILY_CREATE   ((UINT32)0x00000001)

Definition at line 1914 of file Tpm12.h.

#define TPM_FAMILY_ENABLE   ((UINT32)0x00000002)

Definition at line 1915 of file Tpm12.h.

#define TPM_FAMILY_ADMIN   ((UINT32)0x00000003)

Definition at line 1916 of file Tpm12.h.

#define TPM_FAMILY_INVALIDATE   ((UINT32)0x00000004)

Definition at line 1917 of file Tpm12.h.

#define TPM_CAP_ORD   ((TPM_CAPABILITY_AREA) 0x00000001)

Definition at line 1922 of file Tpm12.h.

#define TPM_CAP_ALG   ((TPM_CAPABILITY_AREA) 0x00000002)

Definition at line 1923 of file Tpm12.h.

#define TPM_CAP_PID   ((TPM_CAPABILITY_AREA) 0x00000003)

Definition at line 1924 of file Tpm12.h.

#define TPM_CAP_FLAG   ((TPM_CAPABILITY_AREA) 0x00000004)

Definition at line 1925 of file Tpm12.h.

#define TPM_CAP_PROPERTY   ((TPM_CAPABILITY_AREA) 0x00000005)

Definition at line 1926 of file Tpm12.h.

#define TPM_CAP_VERSION   ((TPM_CAPABILITY_AREA) 0x00000006)

Definition at line 1927 of file Tpm12.h.

#define TPM_CAP_KEY_HANDLE   ((TPM_CAPABILITY_AREA) 0x00000007)

Definition at line 1928 of file Tpm12.h.

#define TPM_CAP_CHECK_LOADED   ((TPM_CAPABILITY_AREA) 0x00000008)

Definition at line 1929 of file Tpm12.h.

#define TPM_CAP_SYM_MODE   ((TPM_CAPABILITY_AREA) 0x00000009)

Definition at line 1930 of file Tpm12.h.

#define TPM_CAP_KEY_STATUS   ((TPM_CAPABILITY_AREA) 0x0000000C)

Definition at line 1931 of file Tpm12.h.

#define TPM_CAP_NV_LIST   ((TPM_CAPABILITY_AREA) 0x0000000D)

Definition at line 1932 of file Tpm12.h.

#define TPM_CAP_MFR   ((TPM_CAPABILITY_AREA) 0x00000010)

Definition at line 1933 of file Tpm12.h.

#define TPM_CAP_NV_INDEX   ((TPM_CAPABILITY_AREA) 0x00000011)

Definition at line 1934 of file Tpm12.h.

#define TPM_CAP_TRANS_ALG   ((TPM_CAPABILITY_AREA) 0x00000012)

Definition at line 1935 of file Tpm12.h.

#define TPM_CAP_HANDLE   ((TPM_CAPABILITY_AREA) 0x00000014)

Definition at line 1936 of file Tpm12.h.

#define TPM_CAP_TRANS_ES   ((TPM_CAPABILITY_AREA) 0x00000015)

Definition at line 1937 of file Tpm12.h.

#define TPM_CAP_AUTH_ENCRYPT   ((TPM_CAPABILITY_AREA) 0x00000017)

Definition at line 1938 of file Tpm12.h.

#define TPM_CAP_SELECT_SIZE   ((TPM_CAPABILITY_AREA) 0x00000018)

Definition at line 1939 of file Tpm12.h.

#define TPM_CAP_VERSION_VAL   ((TPM_CAPABILITY_AREA) 0x0000001A)

Definition at line 1940 of file Tpm12.h.

#define TPM_CAP_FLAG_PERMANENT   ((TPM_CAPABILITY_AREA) 0x00000108)

Definition at line 1942 of file Tpm12.h.

#define TPM_CAP_FLAG_VOLATILE   ((TPM_CAPABILITY_AREA) 0x00000109)

Definition at line 1943 of file Tpm12.h.

#define TPM_CAP_PROP_PCR   ((TPM_CAPABILITY_AREA) 0x00000101)

Definition at line 1948 of file Tpm12.h.

#define TPM_CAP_PROP_DIR   ((TPM_CAPABILITY_AREA) 0x00000102)

Definition at line 1949 of file Tpm12.h.

#define TPM_CAP_PROP_MANUFACTURER   ((TPM_CAPABILITY_AREA) 0x00000103)

Definition at line 1950 of file Tpm12.h.

#define TPM_CAP_PROP_KEYS   ((TPM_CAPABILITY_AREA) 0x00000104)

Definition at line 1951 of file Tpm12.h.

#define TPM_CAP_PROP_MIN_COUNTER   ((TPM_CAPABILITY_AREA) 0x00000107)

Definition at line 1952 of file Tpm12.h.

#define TPM_CAP_PROP_AUTHSESS   ((TPM_CAPABILITY_AREA) 0x0000010A)

Definition at line 1953 of file Tpm12.h.

#define TPM_CAP_PROP_TRANSESS   ((TPM_CAPABILITY_AREA) 0x0000010B)

Definition at line 1954 of file Tpm12.h.

#define TPM_CAP_PROP_COUNTERS   ((TPM_CAPABILITY_AREA) 0x0000010C)

Definition at line 1955 of file Tpm12.h.

#define TPM_CAP_PROP_MAX_AUTHSESS   ((TPM_CAPABILITY_AREA) 0x0000010D)

Definition at line 1956 of file Tpm12.h.

#define TPM_CAP_PROP_MAX_TRANSESS   ((TPM_CAPABILITY_AREA) 0x0000010E)

Definition at line 1957 of file Tpm12.h.

#define TPM_CAP_PROP_MAX_COUNTERS   ((TPM_CAPABILITY_AREA) 0x0000010F)

Definition at line 1958 of file Tpm12.h.

#define TPM_CAP_PROP_MAX_KEYS   ((TPM_CAPABILITY_AREA) 0x00000110)

Definition at line 1959 of file Tpm12.h.

#define TPM_CAP_PROP_OWNER   ((TPM_CAPABILITY_AREA) 0x00000111)

Definition at line 1960 of file Tpm12.h.

#define TPM_CAP_PROP_CONTEXT   ((TPM_CAPABILITY_AREA) 0x00000112)

Definition at line 1961 of file Tpm12.h.

#define TPM_CAP_PROP_MAX_CONTEXT   ((TPM_CAPABILITY_AREA) 0x00000113)

Definition at line 1962 of file Tpm12.h.

#define TPM_CAP_PROP_FAMILYROWS   ((TPM_CAPABILITY_AREA) 0x00000114)

Definition at line 1963 of file Tpm12.h.

#define TPM_CAP_PROP_TIS_TIMEOUT   ((TPM_CAPABILITY_AREA) 0x00000115)

Definition at line 1964 of file Tpm12.h.

#define TPM_CAP_PROP_STARTUP_EFFECT   ((TPM_CAPABILITY_AREA) 0x00000116)

Definition at line 1965 of file Tpm12.h.

#define TPM_CAP_PROP_DELEGATE_ROW   ((TPM_CAPABILITY_AREA) 0x00000117)

Definition at line 1966 of file Tpm12.h.

#define TPM_CAP_PROP_DAA_MAX   ((TPM_CAPABILITY_AREA) 0x00000119)

Definition at line 1967 of file Tpm12.h.

#define CAP_PROP_SESSION_DAA   ((TPM_CAPABILITY_AREA) 0x0000011A)

Definition at line 1968 of file Tpm12.h.

#define TPM_CAP_PROP_CONTEXT_DIST   ((TPM_CAPABILITY_AREA) 0x0000011B)

Definition at line 1969 of file Tpm12.h.

#define TPM_CAP_PROP_DAA_INTERRUPT   ((TPM_CAPABILITY_AREA) 0x0000011C)

Definition at line 1970 of file Tpm12.h.

#define TPM_CAP_PROP_SESSIONS   ((TPM_CAPABILITY_AREA) 0x0000011D)

Definition at line 1971 of file Tpm12.h.

#define TPM_CAP_PROP_MAX_SESSIONS   ((TPM_CAPABILITY_AREA) 0x0000011E)

Definition at line 1972 of file Tpm12.h.

Definition at line 1973 of file Tpm12.h.

#define TPM_CAP_PROP_DURATION   ((TPM_CAPABILITY_AREA) 0x00000120)

Definition at line 1974 of file Tpm12.h.

#define TPM_CAP_PROP_ACTIVE_COUNTER   ((TPM_CAPABILITY_AREA) 0x00000122)

Definition at line 1975 of file Tpm12.h.

Definition at line 1976 of file Tpm12.h.

#define TPM_CAP_PROP_INPUT_BUFFER   ((TPM_CAPABILITY_AREA) 0x00000124)

Definition at line 1977 of file Tpm12.h.

#define TPM_SET_PERM_FLAGS   ((TPM_CAPABILITY_AREA) 0x00000001)

Definition at line 1982 of file Tpm12.h.

#define TPM_SET_PERM_DATA   ((TPM_CAPABILITY_AREA) 0x00000002)

Definition at line 1983 of file Tpm12.h.

#define TPM_SET_STCLEAR_FLAGS   ((TPM_CAPABILITY_AREA) 0x00000003)

Definition at line 1984 of file Tpm12.h.

#define TPM_SET_STCLEAR_DATA   ((TPM_CAPABILITY_AREA) 0x00000004)

Definition at line 1985 of file Tpm12.h.

#define TPM_SET_STANY_FLAGS   ((TPM_CAPABILITY_AREA) 0x00000005)

Definition at line 1986 of file Tpm12.h.

#define TPM_SET_STANY_DATA   ((TPM_CAPABILITY_AREA) 0x00000006)

Definition at line 1987 of file Tpm12.h.

#define TPM_DA_ACTION_FAILURE_MODE   (((UINT32)1)<<3)

Definition at line 2011 of file Tpm12.h.

#define TPM_DA_ACTION_DEACTIVATE   (((UINT32)1)<<2)

Definition at line 2012 of file Tpm12.h.

#define TPM_DA_ACTION_DISABLE   (((UINT32)1)<<1)

Definition at line 2013 of file Tpm12.h.

#define TPM_DA_ACTION_TIMEOUT   (((UINT32)1)<<0)

Definition at line 2014 of file Tpm12.h.

#define TPM_DA_STATE_INACTIVE   ((UINT8)0x00)

Definition at line 2044 of file Tpm12.h.

#define TPM_DA_STATE_ACTIVE   ((UINT8)0x01)

Definition at line 2045 of file Tpm12.h.

#define TPM_DAA_SIZE_r0   (43)

Definition at line 2054 of file Tpm12.h.

#define TPM_DAA_SIZE_r1   (43)

Definition at line 2055 of file Tpm12.h.

#define TPM_DAA_SIZE_r2   (128)

Definition at line 2056 of file Tpm12.h.

#define TPM_DAA_SIZE_r3   (168)

Definition at line 2057 of file Tpm12.h.

#define TPM_DAA_SIZE_r4   (219)

Definition at line 2058 of file Tpm12.h.

#define TPM_DAA_SIZE_NT   (20)

Definition at line 2059 of file Tpm12.h.

#define TPM_DAA_SIZE_v0   (128)

Definition at line 2060 of file Tpm12.h.

#define TPM_DAA_SIZE_v1   (192)

Definition at line 2061 of file Tpm12.h.

#define TPM_DAA_SIZE_NE   (256)

Definition at line 2062 of file Tpm12.h.

#define TPM_DAA_SIZE_w   (256)

Definition at line 2063 of file Tpm12.h.

#define TPM_DAA_SIZE_issuerModulus   (256)

Definition at line 2064 of file Tpm12.h.

#define TPM_DAA_power0   (104)

Definition at line 2068 of file Tpm12.h.

#define TPM_DAA_power1   (1024)

Definition at line 2069 of file Tpm12.h.

#define TPM_REDIR_GPIO   (0x00000001)

Part 2 section 23.1: TPM_REDIR_COMMAND This section defines exactly one value but does not give it a name.

The definition of TPM_SetRedirection in Part3 refers to exactly one name but does not give its value. We join them here.

Definition at line 2153 of file Tpm12.h.


Typedef Documentation

Indicates the conditions where it is required that authorization be presented.

Definition at line 38 of file Tpm12.h.

The information as to what the payload is in an encrypted structure.

Definition at line 42 of file Tpm12.h.

The version info breakdown.

Definition at line 46 of file Tpm12.h.

The state of the dictionary attack mitigation logic.

Definition at line 50 of file Tpm12.h.

typedef UINT16 TPM_TAG

The request or response authorization type.

Definition at line 54 of file Tpm12.h.

The protocol in use.

Definition at line 58 of file Tpm12.h.

Indicates the start state.

Definition at line 62 of file Tpm12.h.

The definition of the encryption scheme.

Definition at line 66 of file Tpm12.h.

The definition of the signature scheme.

Definition at line 70 of file Tpm12.h.

The definition of the migration scheme.

Definition at line 74 of file Tpm12.h.

Sets the state of the physical presence mechanism.

Definition at line 78 of file Tpm12.h.

Indicates the types of entity that are supported by the TPM.

Definition at line 82 of file Tpm12.h.

Indicates the permitted usage of the key.

Definition at line 86 of file Tpm12.h.

The type of asymmetric encrypted structure in use by the endorsement key.

Definition at line 90 of file Tpm12.h.

The tag for the structure.

Definition at line 94 of file Tpm12.h.

The platform specific spec to which the information relates to.

Definition at line 98 of file Tpm12.h.

The command ordinal.

Definition at line 102 of file Tpm12.h.

Identifies a TPM capability area.

Definition at line 106 of file Tpm12.h.

Indicates information regarding a key.

Definition at line 110 of file Tpm12.h.

Indicates the type of algorithm.

Definition at line 114 of file Tpm12.h.

The locality modifier.

Definition at line 118 of file Tpm12.h.

The actual number of a counter.

Definition at line 122 of file Tpm12.h.

Attributes that define what options are in use for a transport session.

Definition at line 126 of file Tpm12.h.

Handle to an authorization session.

Definition at line 130 of file Tpm12.h.

Index to a DIR register.

Definition at line 134 of file Tpm12.h.

The area where a key is held assigned by the TPM.

Definition at line 138 of file Tpm12.h.

Index to a PCR register.

Definition at line 142 of file Tpm12.h.

typedef UINT32 TPM_RESULT

The return code from a function.

Definition at line 146 of file Tpm12.h.

The types of resources that a TPM may have using internal resources.

Definition at line 150 of file Tpm12.h.

Allows for controlling of the key when loaded and how to handle TPM_Startup issues.

Definition at line 154 of file Tpm12.h.

The index into the NV storage area.

Definition at line 158 of file Tpm12.h.

The family ID.

Family IDs are automatically assigned a sequence number by the TPM. A trusted process can set the FamilyID value in an individual row to NULL, which invalidates that row. The family ID resets to NULL on each change of TPM Owner.

Definition at line 164 of file Tpm12.h.

IA value used as a label for the most recent verification of this family.

Set to zero when not in use.

Definition at line 168 of file Tpm12.h.

How the TPM handles var.

Definition at line 172 of file Tpm12.h.

The mode of a symmetric encryption.

Definition at line 176 of file Tpm12.h.

The family flags.

Definition at line 180 of file Tpm12.h.

The index value for the delegate NV table.

Definition at line 184 of file Tpm12.h.

The restrictions placed on delegation of CMK commands.

Definition at line 188 of file Tpm12.h.

The ID value of a monotonic counter.

Definition at line 192 of file Tpm12.h.

A command to execute.

Definition at line 196 of file Tpm12.h.

A transport session handle.

Definition at line 200 of file Tpm12.h.

typedef UINT32 TPM_HANDLE

A generic handle could be key, transport etc.

Definition at line 204 of file Tpm12.h.

What operation is happening.

Definition at line 208 of file Tpm12.h.

Part 2, section 5.1: TPM_STRUCT_VER.

typedef struct tdTPM_VERSION TPM_VERSION

Part 2, section 5.3: TPM_VERSION.

typedef struct tdTPM_DIGEST TPM_DIGEST

Part 2, section 5.4: TPM_DIGEST.

This SHALL be the digest of the chosen identityLabel and privacyCA for a new TPM identity.

Definition at line 456 of file Tpm12.h.

This SHALL be the hash of a list of PCR indexes and PCR values that a key or data is bound to.

Definition at line 460 of file Tpm12.h.

This SHALL be the value of a DIR register.

Definition at line 464 of file Tpm12.h.

Definition at line 466 of file Tpm12.h.

The value inside of the PCR.

Definition at line 470 of file Tpm12.h.

This SHALL be the value of the current internal audit state.

Definition at line 474 of file Tpm12.h.

typedef struct tdTPM_NONCE TPM_NONCE

Part 2, section 5.5: TPM_NONCE.

This SHALL be a random value generated by a TPM immediately after the EK is installed in that TPM, whenever an EK is installed in that TPM.

Definition at line 487 of file Tpm12.h.

This SHALL be a random value.

Definition at line 491 of file Tpm12.h.

typedef UINT8 tdTPM_AUTHDATA[20]

The AuthData data is the information that is saved or passed to provide proof of ownership 296 of an entity.

Definition at line 500 of file Tpm12.h.

Definition at line 502 of file Tpm12.h.

A secret plaintext value used in the authorization process.

Definition at line 506 of file Tpm12.h.

A ciphertext (encrypted) version of AuthData data.

The encryption mechanism depends on the context

Definition at line 510 of file Tpm12.h.

Part 2, section 5.7: TPM_KEY_HANDLE_LIST Size of handle is loaded * sizeof(TPM_KEY_HANDLE)

Part 2, section 5.10: TPM_KEY_FLAGS.

Part 2, section 5.11: TPM_CHANGEAUTH_VALIDATE.

Part 2, section 5.12: TPM_MIGRATIONKEYAUTH decalared after section 10 to catch declaration of TPM_PUBKEY.

Part 2 section 10.1: TPM_KEY_PARMS [size_is(parmSize)] BYTE* parms;

Part 2, section 10.4: TPM_STORE_PUBKEY.

typedef struct tdTPM_PUBKEY TPM_PUBKEY

Part 2, section 10.5: TPM_PUBKEY.

Part 2, section 5.12: TPM_MIGRATIONKEYAUTH.

Part 2, section 5.13: TPM_COUNTER_VALUE.

Part 2, section 5.14: TPM_SIGN_INFO Size of data indicated by dataLen.

Part 2, section 5.15: TPM_MSA_COMPOSITE Number of migAuthDigest indicated by MSAlist.

typedef struct tdTPM_CMK_AUTH TPM_CMK_AUTH

Part 2, section 5.16: TPM_CMK_AUTH.

Part 2, section 5.18: TPM_SELECT_SIZE.

Part 2, section 5,19: TPM_CMK_MIGAUTH.

Part 2, section 5.20: TPM_CMK_SIGTICKET.

Part 2, section 5.21: TPM_CMK_MA_APPROVAL.

Part 2, section 7.1: TPM_PERMANENT_FLAGS.

Part 2, section 7.2: TPM_STCLEAR_FLAGS.

Part 2, section 7.3: TPM_STANY_FLAGS.

Part 2, section 7.5: TPM_STCLEAR_DATA available inside TPM only.

Part 2, section 8.1: TPM_PCR_SELECTION Size of pcrSelect[] indicated by sizeOfSelect.

Part 2, section 8.2: TPM_PCR_COMPOSITE Size of pcrValue[] indicated by valueSize.

typedef struct tdTPM_PCR_INFO TPM_PCR_INFO

Part 2, section 8.3: TPM_PCR_INFO.

Part 2, section 8.6: TPM_LOCALITY_SELECTION.

Definition at line 939 of file Tpm12.h.

Part 2, section 8.4: TPM_PCR_INFO_LONG.

Part 2, section 8.5: TPM_PCR_INFO_SHORT.

Part 2, section 8.8: TPM_PCR_ATTRIBUTES.

Part 2, section 9.1: TPM_STORED_DATA [size_is(sealInfoSize)] BYTE* sealInfo; [size_is(encDataSize)] BYTE* encData;.

Part 2, section 9.2: TPM_STORED_DATA12 [size_is(sealInfoSize)] BYTE* sealInfo; [size_is(encDataSize)] BYTE* encData;.

Part 2, section 9.3: TPM_SEALED_DATA [size_is(dataSize)] BYTE* data;.

Part 2, section 9.4: TPM_SYMMETRIC_KEY [size_is(size)] BYTE* data;.

Part 2, section 9.5: TPM_BOUND_DATA.

typedef struct tdTPM_KEY TPM_KEY

Part 2, section 10.2: TPM_KEY [size_is(encDataSize)] BYTE* encData;.

typedef struct tdTPM_KEY12 TPM_KEY12

Part 2, section 10.3: TPM_KEY12 [size_is(encDataSize)] BYTE* encData;.

Part 2, section 10.7: TPM_STORE_PRIVKEY [size_is(keyLength)] BYTE* key;.

Part 2, section 10.6: TPM_STORE_ASYMKEY.

Part 2, section 10.8: TPM_MIGRATE_ASYMKEY [size_is(partPrivKeyLen)] BYTE* partPrivKey;.

Part 2, section 11.1: TPM_CERTIFY_INFO Structure.

Part 2, section 11.2: TPM_CERTIFY_INFO2 Structure.

Part 2, section 11.3 TPM_QUOTE_INFO Structure.

Part 2, section 11.4 TPM_QUOTE_INFO2 Structure.

typedef struct tdTPM_EK_BLOB TPM_EK_BLOB

Part 2, section 12.1 TPM_EK_BLOB.

Part 2, section 12.2 TPM_EK_BLOB_ACTIVATE.

Part 2, section 12.3 TPM_EK_BLOB_AUTH.

Part 2, section 12.5 TPM_IDENTITY_CONTENTS.

Part 2, section 12.6 TPM_IDENTITY_REQ.

Part 2, section 12.7 TPM_IDENTITY_PROOF.

Part 2, section 12.8 TPM_ASYM_CA_CONTENTS.

Part 2, section 12.9 TPM_SYM_CA_ATTESTATION.

Part 2, section 15: Tick Structures Placed here out of order because definitions are used in section 13.

Part 2, section 13: Transport structures.

Part 2, section 13.1: TPM _TRANSPORT_PUBLIC

Part 2, section 13.2 TPM_TRANSPORT_INTERNAL.

Part 2, section 13.3 TPM_TRANSPORT_LOG_IN structure.

Part 2, section 13.4 TPM_TRANSPORT_LOG_OUT structure.

Part 2, section 13.5 TPM_TRANSPORT_AUTH structure.

Part 2, section 14.1 TPM_AUDIT_EVENT_IN structure.

Part 2, section 14.2 TPM_AUDIT_EVENT_OUT structure.

Part 2, section 18.1: TPM_CONTEXT_BLOB.

Part 2, section 18.2 TPM_CONTEXT_SENSITIVE.

Part 2, section 19.2: TPM_NV_ATTRIBUTES.

Part 2, section 19.3: TPM_NV_DATA_PUBLIC.

Part 2, section 20.2: Delegate Definitions.

Part 2, section 20.4: TPM_FAMILY_LABEL.

Part 2, section 20.5: TPM_FAMILY_TABLE_ENTRY.

Part 2, section 20.7: TPM_DELEGATE_LABEL.

Part 2, section 20.8: TPM_DELEGATE_PUBLIC.

Part 2, section 20.9: TPM_DELEGATE_TABLE_ROW.

Part 2, section 20.11: TPM_DELEGATE_SENSITIVE.

Part 2, section 20.12: TPM_DELEGATE_OWNER_BLOB.

Part 2, section 20.13: TTPM_DELEGATE_KEY_BLOB.

Part 2, section 21.6: TPM_CAP_VERSION_INFO [size_is(vendorSpecificSize)] BYTE* vendorSpecific;.

Part 2, section 21.10: TPM_DA_ACTION_TYPE.

typedef struct tdTPM_DA_INFO TPM_DA_INFO

Part 2, section 21.7: TPM_DA_INFO.

Part 2, section 21.8: TPM_DA_INFO_LIMITED.

Part 2, section 22.3: TPM_DAA_ISSUER.

typedef struct tdTPM_DAA_TPM TPM_DAA_TPM

Part 2, section 22.4: TPM_DAA_TPM.

Part 2, section 22.5: TPM_DAA_CONTEXT.

Part 2, section 22.6: TPM_DAA_JOINDATA.

typedef struct tdTPM_DAA_BLOB TPM_DAA_BLOB

Part 2, section 22.8: TPM_DAA_BLOB.

Part 2, section 22.9: TPM_DAA_SENSITIVE.

TPM Command Headers defined in Part 3.

TPM Response Headers defined in Part 3.


Enumeration Type Documentation

Part 2, section 5.10: TPM_KEY_FLAGS.

Enumerator:
redirection 
migratable 
isVolatile 
pcrIgnoredOnRead 
migrateAuthority 

Definition at line 590 of file Tpm12.h.

                             {
  redirection                       = 0x00000001,
  migratable                        = 0x00000002,
  isVolatile                        = 0x00000004,
  pcrIgnoredOnRead                  = 0x00000008,
  migrateAuthority                  = 0x00000010
} TPM_KEY_FLAGS_BITS;

Function Documentation

FILE_LICENCE ( BSD3  )