_BEGIN_TYPES
_OLD_TYPE uint8_t
_NEW_TYPE UINT8
_OLD_TYPE uint8_t
_NEW_TYPE BYTE
_OLD_TYPE int8_t
_NEW_TYPE INT8
_OLD_TYPE int
_NEW_TYPE BOOL
_OLD_TYPE uint16_t
_NEW_TYPE UINT16
_OLD_TYPE int16_t
_NEW_TYPE INT16
_OLD_TYPE uint32_t
_NEW_TYPE UINT32
_OLD_TYPE int32_t
_NEW_TYPE INT32
_OLD_TYPE uint64_t
_NEW_TYPE UINT64
_OLD_TYPE int64_t
_NEW_TYPE INT64
_OLD_TYPE UINT32
_NEW_TYPE TPM_ALGORITHM_ID
_OLD_TYPE UINT32
_NEW_TYPE TPM_MODIFIER_INDICATOR
_OLD_TYPE UINT32
_NEW_TYPE TPM_AUTHORIZATION_SIZE
_OLD_TYPE UINT32
_NEW_TYPE TPM_PARAMETER_SIZE
_OLD_TYPE UINT16
_NEW_TYPE TPM_KEY_SIZE
_OLD_TYPE UINT16
_NEW_TYPE TPM_KEY_BITS
_OLD_TYPE UINT32
_NEW_TYPE TPM_HANDLE
_OLD_TYPE TPM2B_DIGEST
_NEW_TYPE TPM2B_NONCE
_OLD_TYPE TPM2B_DIGEST
_NEW_TYPE TPM2B_AUTH
_OLD_TYPE TPM2B_DIGEST
_NEW_TYPE TPM2B_OPERAND
_OLD_TYPE TPMS_SCHEME_SIGHASH
_NEW_TYPE TPMS_SCHEME_HMAC
_OLD_TYPE TPMS_SCHEME_SIGHASH
_NEW_TYPE TPMS_SCHEME_RSASSA
_OLD_TYPE TPMS_SCHEME_SIGHASH
_NEW_TYPE TPMS_SCHEME_RSAPSS
_OLD_TYPE TPMS_SCHEME_SIGHASH
_NEW_TYPE TPMS_SCHEME_ECDSA
_OLD_TYPE TPMS_SCHEME_SIGHASH
_NEW_TYPE TPMS_SCHEME_SM2
_OLD_TYPE TPMS_SCHEME_SIGHASH
_NEW_TYPE TPMS_SCHEME_ECSCHNORR
_END
_BEGIN_CONSTANTS
_OLD_TYPE UINT32
_NEW_TYPE TPM_SPEC
_NAME TPM_SPEC_FAMILY
_NAME TPM_SPEC_LEVEL
_NAME TPM_SPEC_VERSION
_NAME TPM_SPEC_YEAR
_NAME TPM_SPEC_DAY_OF_YEAR
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT32
_NEW_TYPE TPM_GENERATED
_NAME TPM_GENERATED_VALUE
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT16
_NEW_TYPE TPM_ALG_ID
_NAME TPM_ALG_ERROR
_NAME TPM_ALG_FIRST
_NAME TPM_ALG_RSA
_NAME TPM_ALG_SHA
_NAME TPM_ALG_SHA1
_NAME TPM_ALG_HMAC
_NAME TPM_ALG_AES
_NAME TPM_ALG_MGF1
_NAME TPM_ALG_KEYEDHASH
_NAME TPM_ALG_XOR
_NAME TPM_ALG_SHA256
_NAME TPM_ALG_SHA384
_NAME TPM_ALG_SHA512
_NAME TPM_ALG_NULL
_NAME TPM_ALG_SM3_256
_NAME TPM_ALG_SM4
_NAME TPM_ALG_RSASSA
_NAME TPM_ALG_RSAES
_NAME TPM_ALG_RSAPSS
_NAME TPM_ALG_OAEP
_NAME TPM_ALG_ECDSA
_NAME TPM_ALG_ECDH
_NAME TPM_ALG_ECDAA
_NAME TPM_ALG_SM2
_NAME TPM_ALG_ECSCHNORR
_NAME TPM_ALG_ECMQV
_NAME TPM_ALG_KDF1_SP800_56a
_NAME TPM_ALG_KDF2
_NAME TPM_ALG_KDF1_SP800_108
_NAME TPM_ALG_ECC
_NAME TPM_ALG_SYMCIPHER
_NAME TPM_ALG_CTR
_NAME TPM_ALG_OFB
_NAME TPM_ALG_CBC
_NAME TPM_ALG_CFB
_NAME TPM_ALG_ECB
_NAME TPM_ALG_LAST
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT16
_NEW_TYPE TPM_ECC_CURVE
_NAME TPM_ECC_NONE
_NAME TPM_ECC_NIST_P192
_NAME TPM_ECC_NIST_P224
_NAME TPM_ECC_NIST_P256
_NAME TPM_ECC_NIST_P384
_NAME TPM_ECC_NIST_P521
_NAME TPM_ECC_BN_P256
_NAME TPM_ECC_BN_P638
_NAME TPM_ECC_SM2_P256
_RETURN TPM_RC_CURVE
_OLD_TYPE UINT32
_NEW_TYPE TPM_CC
_NAME TPM_CC_FIRST
_NAME TPM_CC_PP_FIRST
_NAME TPM_CC_NV_UndefineSpaceSpecial
_NAME TPM_CC_EvictControl
_NAME TPM_CC_HierarchyControl
_NAME TPM_CC_NV_UndefineSpace
_NAME TPM_CC_ChangeEPS
_NAME TPM_CC_ChangePPS
_NAME TPM_CC_Clear
_NAME TPM_CC_ClearControl
_NAME TPM_CC_ClockSet
_NAME TPM_CC_HierarchyChangeAuth
_NAME TPM_CC_NV_DefineSpace
_NAME TPM_CC_PCR_Allocate
_NAME TPM_CC_PCR_SetAuthPolicy
_NAME TPM_CC_PP_Commands
_NAME TPM_CC_SetPrimaryPolicy
_NAME TPM_CC_FieldUpgradeStart
_NAME TPM_CC_ClockRateAdjust
_NAME TPM_CC_CreatePrimary
_NAME TPM_CC_NV_GlobalWriteLock
_NAME TPM_CC_PP_LAST
_NAME TPM_CC_GetCommandAuditDigest
_NAME TPM_CC_NV_Increment
_NAME TPM_CC_NV_SetBits
_NAME TPM_CC_NV_Extend
_NAME TPM_CC_NV_Write
_NAME TPM_CC_NV_WriteLock
_NAME TPM_CC_DictionaryAttackLockReset
_NAME TPM_CC_DictionaryAttackParameters
_NAME TPM_CC_NV_ChangeAuth
_NAME TPM_CC_PCR_Event
_NAME TPM_CC_PCR_Reset
_NAME TPM_CC_SequenceComplete
_NAME TPM_CC_SetAlgorithmSet
_NAME TPM_CC_SetCommandCodeAuditStatus
_NAME TPM_CC_FieldUpgradeData
_NAME TPM_CC_IncrementalSelfTest
_NAME TPM_CC_SelfTest
_NAME TPM_CC_Startup
_NAME TPM_CC_Shutdown
_NAME TPM_CC_StirRandom
_NAME TPM_CC_ActivateCredential
_NAME TPM_CC_Certify
_NAME TPM_CC_PolicyNV
_NAME TPM_CC_CertifyCreation
_NAME TPM_CC_Duplicate
_NAME TPM_CC_GetTime
_NAME TPM_CC_GetSessionAuditDigest
_NAME TPM_CC_NV_Read
_NAME TPM_CC_NV_ReadLock
_NAME TPM_CC_ObjectChangeAuth
_NAME TPM_CC_PolicySecret
_NAME TPM_CC_Rewrap
_NAME TPM_CC_Create
_NAME TPM_CC_ECDH_ZGen
_NAME TPM_CC_HMAC
_NAME TPM_CC_Import
_NAME TPM_CC_Load
_NAME TPM_CC_Quote
_NAME TPM_CC_RSA_Decrypt
_NAME TPM_CC_HMAC_Start
_NAME TPM_CC_SequenceUpdate
_NAME TPM_CC_Sign
_NAME TPM_CC_Unseal
_NAME TPM_CC_PolicySigned
_NAME TPM_CC_ContextLoad
_NAME TPM_CC_ContextSave
_NAME TPM_CC_ECDH_KeyGen
_NAME TPM_CC_EncryptDecrypt
_NAME TPM_CC_FlushContext
_NAME TPM_CC_LoadExternal
_NAME TPM_CC_MakeCredential
_NAME TPM_CC_NV_ReadPublic
_NAME TPM_CC_PolicyAuthorize
_NAME TPM_CC_PolicyAuthValue
_NAME TPM_CC_PolicyCommandCode
_NAME TPM_CC_PolicyCounterTimer
_NAME TPM_CC_PolicyCpHash
_NAME TPM_CC_PolicyLocality
_NAME TPM_CC_PolicyNameHash
_NAME TPM_CC_PolicyOR
_NAME TPM_CC_PolicyTicket
_NAME TPM_CC_ReadPublic
_NAME TPM_CC_RSA_Encrypt
_NAME TPM_CC_StartAuthSession
_NAME TPM_CC_VerifySignature
_NAME TPM_CC_ECC_Parameters
_NAME TPM_CC_FirmwareRead
_NAME TPM_CC_GetCapability
_NAME TPM_CC_GetRandom
_NAME TPM_CC_GetTestResult
_NAME TPM_CC_Hash
_NAME TPM_CC_PCR_Read
_NAME TPM_CC_PolicyPCR
_NAME TPM_CC_PolicyRestart
_NAME TPM_CC_ReadClock
_NAME TPM_CC_PCR_Extend
_NAME TPM_CC_PCR_SetAuthValue
_NAME TPM_CC_NV_Certify
_NAME TPM_CC_EventSequenceComplete
_NAME TPM_CC_HashSequenceStart
_NAME TPM_CC_PolicyPhysicalPresence
_NAME TPM_CC_PolicyDuplicationSelect
_NAME TPM_CC_PolicyGetDigest
_NAME TPM_CC_TestParms
_NAME TPM_CC_Commit
_NAME TPM_CC_PolicyPassword
_NAME TPM_CC_ZGen_2Phase
_NAME TPM_CC_EC_Ephemeral
_NAME TPM_CC_PolicyNvWritten
_NAME TPM_CC_LAST
_RETURN TPM_RC_COMMAND_CODE
_OLD_TYPE UINT32
_NEW_TYPE TPM_RC
_NAME TPM_RC_SUCCESS
_NAME TPM_RC_BAD_TAG
_NAME RC_VER1
_NAME TPM_RC_INITIALIZE
_NAME TPM_RC_FAILURE
_NAME TPM_RC_SEQUENCE
_NAME TPM_RC_PRIVATE
_NAME TPM_RC_HMAC
_NAME TPM_RC_DISABLED
_NAME TPM_RC_EXCLUSIVE
_NAME TPM_RC_AUTH_TYPE
_NAME TPM_RC_AUTH_MISSING
_NAME TPM_RC_POLICY
_NAME TPM_RC_PCR
_NAME TPM_RC_PCR_CHANGED
_NAME TPM_RC_UPGRADE
_NAME TPM_RC_TOO_MANY_CONTEXTS
_NAME TPM_RC_AUTH_UNAVAILABLE
_NAME TPM_RC_REBOOT
_NAME TPM_RC_UNBALANCED
_NAME TPM_RC_COMMAND_SIZE
_NAME TPM_RC_COMMAND_CODE
_NAME TPM_RC_AUTHSIZE
_NAME TPM_RC_AUTH_CONTEXT
_NAME TPM_RC_NV_RANGE
_NAME TPM_RC_NV_SIZE
_NAME TPM_RC_NV_LOCKED
_NAME TPM_RC_NV_AUTHORIZATION
_NAME TPM_RC_NV_UNINITIALIZED
_NAME TPM_RC_NV_SPACE
_NAME TPM_RC_NV_DEFINED
_NAME TPM_RC_BAD_CONTEXT
_NAME TPM_RC_CPHASH
_NAME TPM_RC_PARENT
_NAME TPM_RC_NEEDS_TEST
_NAME TPM_RC_NO_RESULT
_NAME TPM_RC_SENSITIVE
_NAME RC_MAX_FM0
_NAME RC_FMT1
_NAME TPM_RC_ASYMMETRIC
_NAME TPM_RC_ATTRIBUTES
_NAME TPM_RC_HASH
_NAME TPM_RC_VALUE
_NAME TPM_RC_HIERARCHY
_NAME TPM_RC_KEY_SIZE
_NAME TPM_RC_MGF
_NAME TPM_RC_MODE
_NAME TPM_RC_TYPE
_NAME TPM_RC_HANDLE
_NAME TPM_RC_KDF
_NAME TPM_RC_RANGE
_NAME TPM_RC_AUTH_FAIL
_NAME TPM_RC_NONCE
_NAME TPM_RC_PP
_NAME TPM_RC_SCHEME
_NAME TPM_RC_SIZE
_NAME TPM_RC_SYMMETRIC
_NAME TPM_RC_TAG
_NAME TPM_RC_SELECTOR
_NAME TPM_RC_INSUFFICIENT
_NAME TPM_RC_SIGNATURE
_NAME TPM_RC_KEY
_NAME TPM_RC_POLICY_FAIL
_NAME TPM_RC_INTEGRITY
_NAME TPM_RC_TICKET
_NAME TPM_RC_RESERVED_BITS
_NAME TPM_RC_BAD_AUTH
_NAME TPM_RC_EXPIRED
_NAME TPM_RC_POLICY_CC
_NAME TPM_RC_BINDING
_NAME TPM_RC_CURVE
_NAME TPM_RC_ECC_POINT
_NAME RC_WARN
_NAME TPM_RC_CONTEXT_GAP
_NAME TPM_RC_OBJECT_MEMORY
_NAME TPM_RC_SESSION_MEMORY
_NAME TPM_RC_MEMORY
_NAME TPM_RC_SESSION_HANDLES
_NAME TPM_RC_OBJECT_HANDLES
_NAME TPM_RC_LOCALITY
_NAME TPM_RC_YIELDED
_NAME TPM_RC_CANCELED
_NAME TPM_RC_TESTING
_NAME TPM_RC_REFERENCE_H0
_NAME TPM_RC_REFERENCE_H1
_NAME TPM_RC_REFERENCE_H2
_NAME TPM_RC_REFERENCE_H3
_NAME TPM_RC_REFERENCE_H4
_NAME TPM_RC_REFERENCE_H5
_NAME TPM_RC_REFERENCE_H6
_NAME TPM_RC_REFERENCE_S0
_NAME TPM_RC_REFERENCE_S1
_NAME TPM_RC_REFERENCE_S2
_NAME TPM_RC_REFERENCE_S3
_NAME TPM_RC_REFERENCE_S4
_NAME TPM_RC_REFERENCE_S5
_NAME TPM_RC_REFERENCE_S6
_NAME TPM_RC_NV_RATE
_NAME TPM_RC_LOCKOUT
_NAME TPM_RC_RETRY
_NAME TPM_RC_NV_UNAVAILABLE
_NAME TPM_RC_NOT_USED
_NAME TPM_RC_H
_NAME TPM_RC_P
_NAME TPM_RC_S
_NAME TPM_RC_1
_NAME TPM_RC_2
_NAME TPM_RC_3
_NAME TPM_RC_4
_NAME TPM_RC_5
_NAME TPM_RC_6
_NAME TPM_RC_7
_NAME TPM_RC_8
_NAME TPM_RC_9
_NAME TPM_RC_A
_NAME TPM_RC_B
_NAME TPM_RC_C
_NAME TPM_RC_D
_NAME TPM_RC_E
_NAME TPM_RC_F
_NAME TPM_RC_N_MASK
_RETURN TPM_RC_VALUE
_OLD_TYPE INT8
_NEW_TYPE TPM_CLOCK_ADJUST
_NAME TPM_CLOCK_COARSE_SLOWER
_NAME TPM_CLOCK_MEDIUM_SLOWER
_NAME TPM_CLOCK_FINE_SLOWER
_NAME TPM_CLOCK_NO_CHANGE
_NAME TPM_CLOCK_FINE_FASTER
_NAME TPM_CLOCK_MEDIUM_FASTER
_NAME TPM_CLOCK_COARSE_FASTER
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT16
_NEW_TYPE TPM_EO
_NAME TPM_EO_EQ
_NAME TPM_EO_NEQ
_NAME TPM_EO_SIGNED_GT
_NAME TPM_EO_UNSIGNED_GT
_NAME TPM_EO_SIGNED_LT
_NAME TPM_EO_UNSIGNED_LT
_NAME TPM_EO_SIGNED_GE
_NAME TPM_EO_UNSIGNED_GE
_NAME TPM_EO_SIGNED_LE
_NAME TPM_EO_UNSIGNED_LE
_NAME TPM_EO_BITSET
_NAME TPM_EO_BITCLEAR
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT16
_NEW_TYPE TPM_ST
_NAME TPM_ST_RSP_COMMAND
_NAME TPM_ST_NULL
_NAME TPM_ST_NO_SESSIONS
_NAME TPM_ST_SESSIONS
_NAME TPM_ST_ATTEST_NV
_NAME TPM_ST_ATTEST_COMMAND_AUDIT
_NAME TPM_ST_ATTEST_SESSION_AUDIT
_NAME TPM_ST_ATTEST_CERTIFY
_NAME TPM_ST_ATTEST_QUOTE
_NAME TPM_ST_ATTEST_TIME
_NAME TPM_ST_ATTEST_CREATION
_NAME TPM_ST_CREATION
_NAME TPM_ST_VERIFIED
_NAME TPM_ST_AUTH_SECRET
_NAME TPM_ST_HASHCHECK
_NAME TPM_ST_AUTH_SIGNED
_NAME TPM_ST_FU_MANIFEST
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT16
_NEW_TYPE TPM_SU
_NAME TPM_SU_CLEAR
_NAME TPM_SU_STATE
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT8
_NEW_TYPE TPM_SE
_NAME TPM_SE_HMAC
_NAME TPM_SE_POLICY
_NAME TPM_SE_TRIAL
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT32
_NEW_TYPE TPM_CAP
_NAME TPM_CAP_FIRST
_NAME TPM_CAP_ALGS
_NAME TPM_CAP_HANDLES
_NAME TPM_CAP_COMMANDS
_NAME TPM_CAP_PP_COMMANDS
_NAME TPM_CAP_AUDIT_COMMANDS
_NAME TPM_CAP_PCRS
_NAME TPM_CAP_TPM_PROPERTIES
_NAME TPM_CAP_PCR_PROPERTIES
_NAME TPM_CAP_ECC_CURVES
_NAME TPM_CAP_LAST
_NAME TPM_CAP_VENDOR_PROPERTY
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT32
_NEW_TYPE TPM_PT
_NAME TPM_PT_NONE
_NAME PT_GROUP
_NAME PT_FIXED
_NAME TPM_PT_FAMILY_INDICATOR
_NAME TPM_PT_LEVEL
_NAME TPM_PT_REVISION
_NAME TPM_PT_DAY_OF_YEAR
_NAME TPM_PT_YEAR
_NAME TPM_PT_MANUFACTURER
_NAME TPM_PT_VENDOR_STRING_1
_NAME TPM_PT_VENDOR_STRING_2
_NAME TPM_PT_VENDOR_STRING_3
_NAME TPM_PT_VENDOR_STRING_4
_NAME TPM_PT_VENDOR_TPM_TYPE
_NAME TPM_PT_FIRMWARE_VERSION_1
_NAME TPM_PT_FIRMWARE_VERSION_2
_NAME TPM_PT_INPUT_BUFFER
_NAME TPM_PT_HR_TRANSIENT_MIN
_NAME TPM_PT_HR_PERSISTENT_MIN
_NAME TPM_PT_HR_LOADED_MIN
_NAME TPM_PT_ACTIVE_SESSIONS_MAX
_NAME TPM_PT_PCR_COUNT
_NAME TPM_PT_PCR_SELECT_MIN
_NAME TPM_PT_CONTEXT_GAP_MAX
_NAME TPM_PT_NV_COUNTERS_MAX
_NAME TPM_PT_NV_INDEX_MAX
_NAME TPM_PT_MEMORY
_NAME TPM_PT_CLOCK_UPDATE
_NAME TPM_PT_CONTEXT_HASH
_NAME TPM_PT_CONTEXT_SYM
_NAME TPM_PT_CONTEXT_SYM_SIZE
_NAME TPM_PT_ORDERLY_COUNT
_NAME TPM_PT_MAX_COMMAND_SIZE
_NAME TPM_PT_MAX_RESPONSE_SIZE
_NAME TPM_PT_MAX_DIGEST
_NAME TPM_PT_MAX_OBJECT_CONTEXT
_NAME TPM_PT_MAX_SESSION_CONTEXT
_NAME TPM_PT_PS_FAMILY_INDICATOR
_NAME TPM_PT_PS_LEVEL
_NAME TPM_PT_PS_REVISION
_NAME TPM_PT_PS_DAY_OF_YEAR
_NAME TPM_PT_PS_YEAR
_NAME TPM_PT_SPLIT_MAX
_NAME TPM_PT_TOTAL_COMMANDS
_NAME TPM_PT_LIBRARY_COMMANDS
_NAME TPM_PT_VENDOR_COMMANDS
_NAME TPM_PT_NV_BUFFER_MAX
_NAME PT_VAR
_NAME TPM_PT_PERMANENT
_NAME TPM_PT_STARTUP_CLEAR
_NAME TPM_PT_HR_NV_INDEX
_NAME TPM_PT_HR_LOADED
_NAME TPM_PT_HR_LOADED_AVAIL
_NAME TPM_PT_HR_ACTIVE
_NAME TPM_PT_HR_ACTIVE_AVAIL
_NAME TPM_PT_HR_TRANSIENT_AVAIL
_NAME TPM_PT_HR_PERSISTENT
_NAME TPM_PT_HR_PERSISTENT_AVAIL
_NAME TPM_PT_NV_COUNTERS
_NAME TPM_PT_NV_COUNTERS_AVAIL
_NAME TPM_PT_ALGORITHM_SET
_NAME TPM_PT_LOADED_CURVES
_NAME TPM_PT_LOCKOUT_COUNTER
_NAME TPM_PT_MAX_AUTH_FAIL
_NAME TPM_PT_LOCKOUT_INTERVAL
_NAME TPM_PT_LOCKOUT_RECOVERY
_NAME TPM_PT_NV_WRITE_RECOVERY
_NAME TPM_PT_AUDIT_COUNTER_0
_NAME TPM_PT_AUDIT_COUNTER_1
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT32
_NEW_TYPE TPM_PT_PCR
_NAME TPM_PT_PCR_FIRST
_NAME TPM_PT_PCR_SAVE
_NAME TPM_PT_PCR_EXTEND_L0
_NAME TPM_PT_PCR_RESET_L0
_NAME TPM_PT_PCR_EXTEND_L1
_NAME TPM_PT_PCR_RESET_L1
_NAME TPM_PT_PCR_EXTEND_L2
_NAME TPM_PT_PCR_RESET_L2
_NAME TPM_PT_PCR_EXTEND_L3
_NAME TPM_PT_PCR_RESET_L3
_NAME TPM_PT_PCR_EXTEND_L4
_NAME TPM_PT_PCR_RESET_L4
_NAME TPM_PT_PCR_NO_INCREMENT
_NAME TPM_PT_PCR_DRTM_RESET
_NAME TPM_PT_PCR_POLICY
_NAME TPM_PT_PCR_AUTH
_NAME TPM_PT_PCR_LAST
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT32
_NEW_TYPE TPM_PS
_NAME TPM_PS_MAIN
_NAME TPM_PS_PC
_NAME TPM_PS_PDA
_NAME TPM_PS_CELL_PHONE
_NAME TPM_PS_SERVER
_NAME TPM_PS_PERIPHERAL
_NAME TPM_PS_TSS
_NAME TPM_PS_STORAGE
_NAME TPM_PS_AUTHENTICATION
_NAME TPM_PS_EMBEDDED
_NAME TPM_PS_HARDCOPY
_NAME TPM_PS_INFRASTRUCTURE
_NAME TPM_PS_VIRTUALIZATION
_NAME TPM_PS_TNC
_NAME TPM_PS_MULTI_TENANT
_NAME TPM_PS_TC
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT8
_NEW_TYPE TPM_HT
_NAME TPM_HT_PCR
_NAME TPM_HT_NV_INDEX
_NAME TPM_HT_HMAC_SESSION
_NAME TPM_HT_LOADED_SESSION
_NAME TPM_HT_POLICY_SESSION
_NAME TPM_HT_ACTIVE_SESSION
_NAME TPM_HT_PERMANENT
_NAME TPM_HT_TRANSIENT
_NAME TPM_HT_PERSISTENT
_RETURN TPM_RC_VALUE
_OLD_TYPE UINT32
_NEW_TYPE TPM_RH
_NAME TPM_RH_FIRST
_NAME TPM_RH_SRK
_NAME TPM_RH_OWNER
_NAME TPM_RH_REVOKE
_NAME TPM_RH_TRANSPORT
_NAME TPM_RH_OPERATOR
_NAME TPM_RH_ADMIN
_NAME TPM_RH_EK
_NAME TPM_RH_NULL
_NAME TPM_RH_UNASSIGNED
_NAME TPM_RS_PW
_NAME TPM_RH_LOCKOUT
_NAME TPM_RH_ENDORSEMENT
_NAME TPM_RH_PLATFORM
_NAME TPM_RH_PLATFORM_NV
_NAME TPM_RH_LAST
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPM_HC
_NAME HR_HANDLE_MASK
_NAME HR_RANGE_MASK
_NAME HR_SHIFT
_NAME HR_PCR
_NAME HR_HMAC_SESSION
_NAME HR_POLICY_SESSION
_NAME HR_TRANSIENT
_NAME HR_PERSISTENT
_NAME HR_NV_INDEX
_NAME HR_PERMANENT
_NAME PCR_FIRST
_NAME PCR_LAST
_NAME HMAC_SESSION_FIRST
_NAME HMAC_SESSION_LAST
_NAME LOADED_SESSION_LAST
_NAME POLICY_SESSION_FIRST
_NAME POLICY_SESSION_LAST
_NAME TRANSIENT_FIRST
_NAME ACTIVE_SESSION_FIRST
_NAME ACTIVE_SESSION_LAST
_NAME TRANSIENT_LAST
_NAME PERSISTENT_FIRST
_NAME PERSISTENT_LAST
_NAME PLATFORM_PERSISTENT
_NAME NV_INDEX_FIRST
_NAME NV_INDEX_LAST
_NAME PERMANENT_FIRST
_NAME PERMANENT_LAST
_RETURN TPM_RC_VALUE
_END
_BEGIN_ATTRIBUTE_STRUCTS
_OLD_TYPE UINT32
_NEW_TYPE TPMA_ALGORITHM
_RESERVED 4_7
_RESERVED 11_31
_OLD_TYPE UINT32
_NEW_TYPE TPMA_OBJECT
_RESERVED 0
_RESERVED 3
_RESERVED 8_9
_RESERVED 12_15
_RESERVED 19_31
_OLD_TYPE UINT8
_NEW_TYPE TPMA_SESSION
_RESERVED 3_4
_OLD_TYPE UINT8
_NEW_TYPE TPMA_LOCALITY
_OLD_TYPE UINT32
_NEW_TYPE TPMA_PERMANENT
_RESERVED 3_7
_RESERVED 11_31
_OLD_TYPE UINT32
_NEW_TYPE TPMA_STARTUP_CLEAR
_RESERVED 4_30
_OLD_TYPE UINT32
_NEW_TYPE TPMA_MEMORY
_RESERVED 3_31
_OLD_TYPE TPM_CC
_NEW_TYPE TPMA_CC
_RESERVED 16_21
_OLD_TYPE UINT32
_NEW_TYPE TPM_NV_INDEX
_OLD_TYPE UINT32
_NEW_TYPE TPMA_NV
_RESERVED 7_9
_RESERVED 20_24
_END
_BEGIN_INTERFACES
_OLD_TYPE BYTE
_NEW_TYPE TPMI_YES_NO
_NAME NO
_NAME YES
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_DH_OBJECT
_MIN TRANSIENT_FIRST
_MAX TRANSIENT_LAST
_MIN PERSISTENT_FIRST
_MAX PERSISTENT_LAST
_CONDITIONAL TPM_RH_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_DH_PERSISTENT
_MIN PERSISTENT_FIRST
_MAX PERSISTENT_LAST
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_DH_ENTITY
_NAME TPM_RH_OWNER
_NAME TPM_RH_ENDORSEMENT
_NAME TPM_RH_PLATFORM
_NAME TPM_RH_LOCKOUT
_MIN TRANSIENT_FIRST
_MAX TRANSIENT_LAST
_MIN PERSISTENT_FIRST
_MAX PERSISTENT_LAST
_MIN NV_INDEX_FIRST
_MAX NV_INDEX_LAST
_MIN PCR_FIRST
_MAX PCR_LAST
_CONDITIONAL TPM_RH_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_DH_PCR
_MIN PCR_FIRST
_MAX PCR_LAST
_CONDITIONAL TPM_RH_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_SH_AUTH_SESSION
_MIN HMAC_SESSION_FIRST
_MAX HMAC_SESSION_LAST
_MIN POLICY_SESSION_FIRST
_MAX POLICY_SESSION_LAST
_CONDITIONAL TPM_RS_PW
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_SH_HMAC
_MIN HMAC_SESSION_FIRST
_MAX HMAC_SESSION_LAST
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_SH_POLICY
_MIN POLICY_SESSION_FIRST
_MAX POLICY_SESSION_LAST
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_DH_CONTEXT
_MIN HMAC_SESSION_FIRST
_MAX HMAC_SESSION_LAST
_MIN POLICY_SESSION_FIRST
_MAX POLICY_SESSION_LAST
_MIN TRANSIENT_FIRST
_MAX TRANSIENT_LAST
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_HIERARCHY
_NAME TPM_RH_OWNER
_NAME TPM_RH_PLATFORM
_NAME TPM_RH_ENDORSEMENT
_CONDITIONAL TPM_RH_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_ENABLES
_NAME TPM_RH_OWNER
_NAME TPM_RH_PLATFORM
_NAME TPM_RH_ENDORSEMENT
_NAME TPM_RH_PLATFORM_NV
_CONDITIONAL TPM_RH_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_HIERARCHY_AUTH
_NAME TPM_RH_OWNER
_NAME TPM_RH_PLATFORM
_NAME TPM_RH_ENDORSEMENT
_NAME TPM_RH_LOCKOUT
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_PLATFORM
_NAME TPM_RH_PLATFORM
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_OWNER
_NAME TPM_RH_OWNER
_CONDITIONAL TPM_RH_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_ENDORSEMENT
_NAME TPM_RH_ENDORSEMENT
_CONDITIONAL TPM_RH_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_PROVISION
_NAME TPM_RH_OWNER
_NAME TPM_RH_PLATFORM
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_CLEAR
_NAME TPM_RH_LOCKOUT
_NAME TPM_RH_PLATFORM
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_NV_AUTH
_NAME TPM_RH_PLATFORM
_NAME TPM_RH_OWNER
_MIN NV_INDEX_FIRST
_MAX NV_INDEX_LAST
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_LOCKOUT
_NAME TPM_RH_LOCKOUT
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_HANDLE
_NEW_TYPE TPMI_RH_NV_INDEX
_MIN NV_INDEX_FIRST
_MAX NV_INDEX_LAST
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_HASH
_NAME TPM_ALG_SHA1
_NAME TPM_ALG_SHA256
_NAME TPM_ALG_SM3_256
_NAME TPM_ALG_SHA384
_NAME TPM_ALG_SHA512
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_HASH
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_ASYM
_NAME TPM_ALG_RSA
_NAME TPM_ALG_ECC
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_ASYMMETRIC
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_SYM
_NAME TPM_ALG_AES
_NAME TPM_ALG_SM4
_NAME TPM_ALG_XOR
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_SYMMETRIC
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_SYM_OBJECT
_NAME TPM_ALG_AES
_NAME TPM_ALG_SM4
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_SYMMETRIC
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_SYM_MODE
_NAME TPM_ALG_CTR
_NAME TPM_ALG_OFB
_NAME TPM_ALG_CBC
_NAME TPM_ALG_CFB
_NAME TPM_ALG_ECB
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_MODE
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_KDF
_NAME TPM_ALG_MGF1
_NAME TPM_ALG_KDF1_SP800_108
_NAME TPM_ALG_KDF1_SP800_56a
_NAME TPM_ALG_KDF2
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_KDF
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_SIG_SCHEME
_NAME TPM_ALG_RSASSA
_NAME TPM_ALG_RSAPSS
_NAME TPM_ALG_ECDSA
_NAME TPM_ALG_ECDAA
_NAME TPM_ALG_ECSCHNORR
_NAME TPM_ALG_SM2
_NAME TPM_ALG_HMAC
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_SCHEME
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ECC_KEY_EXCHANGE
_NAME TPM_ALG_ECDH
_NAME TPM_ALG_ECMQV
_NAME TPM_ALG_SM2
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_SCHEME
_OLD_TYPE TPM_ST
_NEW_TYPE TPMI_ST_COMMAND_TAG
_NAME TPM_ST_NO_SESSIONS
_NAME TPM_ST_SESSIONS
_RETURN TPM_RC_BAD_TAG
_OLD_TYPE TPM_ST
_NEW_TYPE TPMI_ST_ATTEST
_NAME TPM_ST_ATTEST_CERTIFY
_NAME TPM_ST_ATTEST_QUOTE
_NAME TPM_ST_ATTEST_SESSION_AUDIT
_NAME TPM_ST_ATTEST_COMMAND_AUDIT
_NAME TPM_ST_ATTEST_TIME
_NAME TPM_ST_ATTEST_CREATION
_NAME TPM_ST_ATTEST_NV
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_KEY_BITS
_NEW_TYPE TPMI_AES_KEY_BITS
_SUBSTITUTE AES_KEY_SIZES_BITS
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_KEY_BITS
_NEW_TYPE TPMI_SM4_KEY_BITS
_SUBSTITUTE SM4_KEY_SIZES_BITS
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_KEYEDHASH_SCHEME
_NAME TPM_ALG_HMAC
_NAME TPM_ALG_XOR
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_ASYM_SCHEME
_NAME TPM_ALG_RSASSA
_NAME TPM_ALG_RSAPSS
_NAME TPM_ALG_RSAES
_NAME TPM_ALG_OAEP
_NAME TPM_ALG_ECDSA
_NAME TPM_ALG_SM2
_NAME TPM_ALG_ECDAA
_NAME TPM_ALG_ECDH
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_RSA_SCHEME
_NAME TPM_ALG_RSASSA
_NAME TPM_ALG_RSAPSS
_NAME TPM_ALG_RSAES
_NAME TPM_ALG_OAEP
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_RSA_DECRYPT
_NAME TPM_ALG_RSAES
_NAME TPM_ALG_OAEP
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_KEY_BITS
_NEW_TYPE TPMI_RSA_KEY_BITS
_SUBSTITUTE RSA_KEY_SIZES_BITS
_RETURN TPM_RC_VALUE
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_ECC_SCHEME
_NAME TPM_ALG_ECDSA
_NAME TPM_ALG_SM2
_NAME TPM_ALG_ECDAA
_NAME TPM_ALG_ECSCHNORR
_NAME TPM_ALG_ECDH
_CONDITIONAL TPM_ALG_NULL
_RETURN TPM_RC_SCHEME
_OLD_TYPE TPM_ECC_CURVE
_NEW_TYPE TPMI_ECC_CURVE
_SUBSTITUTE ECC_CURVES
_RETURN TPM_RC_CURVE
_OLD_TYPE TPM_ALG_ID
_NEW_TYPE TPMI_ALG_PUBLIC
_NAME TPM_ALG_KEYEDHASH
_NAME TPM_ALG_SYMCIPHER
_NAME TPM_ALG_RSA
_NAME TPM_ALG_ECC
_RETURN TPM_RC_TYPE
_END
_BEGIN_STRUCTURES
_STRUCTURE TPMS_ALGORITHM_DESCRIPTION
_TYPE TPM_ALG_ID
_NAME alg
_TYPE TPMA_ALGORITHM
_NAME attributes
_STRUCTURE TPMT_HA
_TYPE TPMI_ALG_HASH
_NAME hashAlg _PLUS
_TYPE TPMU_HA
_NAME digest _UNION hashAlg
_STRUCTURE TPM2B_DIGEST
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size sizeof(TPMU_HA)
_STRUCTURE TPM2B_DATA
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size sizeof(TPMT_HA)
_STRUCTURE TPM2B_EVENT
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size 1024
_STRUCTURE TPM2B_MAX_BUFFER
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size MAX_DIGEST_BUFFER
_STRUCTURE TPM2B_MAX_NV_BUFFER
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size MAX_NV_BUFFER_SIZE
_STRUCTURE TPM2B_TIMEOUT
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size sizeof(UINT64)
_STRUCTURE TPM2B_IV
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size MAX_SYM_BLOCK_SIZE
_STRUCTURE TPM2B_NAME
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME name _ARRAY size
_MAX size sizeof(TPMU_NAME)
_STRUCTURE TPMS_PCR_SELECT
_TYPE UINT8
_NAME sizeofSelect
_MIN sizeofSelect PCR_SELECT_MIN
_TYPE BYTE
_NAME pcrSelect _ARRAY sizeofSelect
_MAX sizeofSelect PCR_SELECT_MAX
_RETURN TPM_RC_VALUE
_STRUCTURE TPMS_PCR_SELECTION
_TYPE TPMI_ALG_HASH
_NAME hash
_TYPE UINT8
_NAME sizeofSelect
_MIN sizeofSelect PCR_SELECT_MIN
_TYPE BYTE
_NAME pcrSelect _ARRAY sizeofSelect
_MAX sizeofSelect PCR_SELECT_MAX
_RETURN TPM_RC_VALUE
_STRUCTURE TPMT_TK_CREATION
_TYPE TPM_ST
_NAME tag
_VALID TPM_ST_CREATION
_RETURN TPM_RC_TAG
_TYPE TPMI_RH_HIERARCHY
_NAME hierarchy _PLUS
_TYPE TPM2B_DIGEST
_NAME digest
_STRUCTURE TPMT_TK_VERIFIED
_TYPE TPM_ST
_NAME tag
_VALID TPM_ST_VERIFIED
_RETURN TPM_RC_TAG
_TYPE TPMI_RH_HIERARCHY
_NAME hierarchy _PLUS
_TYPE TPM2B_DIGEST
_NAME digest
_STRUCTURE TPMT_TK_AUTH
_TYPE TPM_ST
_NAME tag
_VALID TPM_ST_AUTH_SIGNED
_VALID TPM_ST_AUTH_SECRET
_RETURN TPM_RC_TAG
_TYPE TPMI_RH_HIERARCHY
_NAME hierarchy _PLUS
_TYPE TPM2B_DIGEST
_NAME digest
_STRUCTURE TPMT_TK_HASHCHECK
_TYPE TPM_ST
_NAME tag
_VALID TPM_ST_HASHCHECK
_RETURN TPM_RC_TAG
_TYPE TPMI_RH_HIERARCHY
_NAME hierarchy _PLUS
_TYPE TPM2B_DIGEST
_NAME digest
_STRUCTURE TPMS_ALG_PROPERTY
_TYPE TPM_ALG_ID
_NAME alg
_TYPE TPMA_ALGORITHM
_NAME algProperties
_STRUCTURE TPMS_TAGGED_PROPERTY
_TYPE TPM_PT
_NAME property
_TYPE UINT32
_NAME value
_STRUCTURE TPMS_TAGGED_PCR_SELECT
_TYPE TPM_PT
_NAME tag
_TYPE UINT8
_NAME sizeofSelect
_MIN sizeofSelect PCR_SELECT_MIN
_TYPE BYTE
_NAME pcrSelect _ARRAY sizeofSelect
_MAX sizeofSelect PCR_SELECT_MAX
_STRUCTURE TPML_CC
_TYPE UINT32
_NAME count
_TYPE TPM_CC
_NAME commandCodes _ARRAY count
_MAX count MAX_CAP_CC
_RETURN TPM_RC_SIZE
_STRUCTURE TPML_CCA
_TYPE UINT32
_NAME count
_TYPE TPMA_CC
_NAME commandAttributes _ARRAY count
_MAX count MAX_CAP_CC
_STRUCTURE TPML_ALG
_TYPE UINT32
_NAME count
_TYPE TPM_ALG_ID
_NAME algorithms _ARRAY count
_MAX count MAX_ALG_LIST_SIZE
_RETURN TPM_RC_SIZE
_STRUCTURE TPML_HANDLE
_TYPE UINT32
_NAME count
_TYPE TPM_HANDLE
_NAME handle _ARRAY count
_MAX count MAX_CAP_HANDLES
_RETURN TPM_RC_SIZE
_STRUCTURE TPML_DIGEST
_TYPE UINT32
_NAME count
_MIN count 2
_TYPE TPM2B_DIGEST
_NAME digests _ARRAY count
_MAX count 8
_RETURN TPM_RC_SIZE
_STRUCTURE TPML_DIGEST_VALUES
_TYPE UINT32
_NAME count
_TYPE TPMT_HA
_NAME digests _ARRAY count
_MAX count HASH_COUNT
_RETURN TPM_RC_SIZE
_STRUCTURE TPM2B_DIGEST_VALUES
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size sizeof(TPML_DIGEST_VALUES)
_STRUCTURE TPML_PCR_SELECTION
_TYPE UINT32
_NAME count
_TYPE TPMS_PCR_SELECTION
_NAME pcrSelections _ARRAY count
_MAX count HASH_COUNT
_RETURN TPM_RC_SIZE
_STRUCTURE TPML_ALG_PROPERTY
_TYPE UINT32
_NAME count
_TYPE TPMS_ALG_PROPERTY
_NAME algProperties _ARRAY count
_MAX count MAX_CAP_ALGS
_STRUCTURE TPML_TAGGED_TPM_PROPERTY
_TYPE UINT32
_NAME count
_TYPE TPMS_TAGGED_PROPERTY
_NAME tpmProperty _ARRAY count
_MAX count MAX_TPM_PROPERTIES
_STRUCTURE TPML_TAGGED_PCR_PROPERTY
_TYPE UINT32
_NAME count
_TYPE TPMS_TAGGED_PCR_SELECT
_NAME pcrProperty _ARRAY count
_MAX count MAX_PCR_PROPERTIES
_STRUCTURE TPML_ECC_CURVE
_TYPE UINT32
_NAME count
_TYPE TPM_ECC_CURVE
_NAME eccCurves _ARRAY count
_MAX count MAX_ECC_CURVES
_STRUCTURE TPMS_CAPABILITY_DATA
_TYPE TPM_CAP
_NAME capability
_TYPE TPMU_CAPABILITIES
_NAME data _UNION capability
_STRUCTURE TPMS_CLOCK_INFO
_TYPE UINT64
_NAME clock
_TYPE UINT32
_NAME resetCount
_TYPE UINT32
_NAME restartCount
_TYPE TPMI_YES_NO
_NAME safe
_STRUCTURE TPMS_TIME_INFO
_TYPE UINT64
_NAME time
_TYPE TPMS_CLOCK_INFO
_NAME clockInfo
_STRUCTURE TPMS_TIME_ATTEST_INFO
_TYPE TPMS_TIME_INFO
_NAME time
_TYPE UINT64
_NAME firmwareVersion
_STRUCTURE TPMS_CERTIFY_INFO
_TYPE TPM2B_NAME
_NAME name
_TYPE TPM2B_NAME
_NAME qualifiedName
_STRUCTURE TPMS_QUOTE_INFO
_TYPE TPML_PCR_SELECTION
_NAME pcrSelect
_TYPE TPM2B_DIGEST
_NAME pcrDigest
_STRUCTURE TPMS_COMMAND_AUDIT_INFO
_TYPE UINT64
_NAME auditCounter
_TYPE TPM_ALG_ID
_NAME digestAlg
_TYPE TPM2B_DIGEST
_NAME auditDigest
_TYPE TPM2B_DIGEST
_NAME commandDigest
_STRUCTURE TPMS_SESSION_AUDIT_INFO
_TYPE TPMI_YES_NO
_NAME exclusiveSession
_TYPE TPM2B_DIGEST
_NAME sessionDigest
_STRUCTURE TPMS_CREATION_INFO
_TYPE TPM2B_NAME
_NAME objectName
_TYPE TPM2B_DIGEST
_NAME creationHash
_STRUCTURE TPMS_NV_CERTIFY_INFO
_TYPE TPM2B_NAME
_NAME indexName
_TYPE UINT16
_NAME offset
_TYPE TPM2B_MAX_NV_BUFFER
_NAME nvContents
_STRUCTURE TPMS_ATTEST
_TYPE TPM_GENERATED
_NAME magic
_TYPE TPMI_ST_ATTEST
_NAME type
_TYPE TPM2B_NAME
_NAME qualifiedSigner
_TYPE TPM2B_DATA
_NAME extraData
_TYPE TPMS_CLOCK_INFO
_NAME clockInfo
_TYPE UINT64
_NAME firmwareVersion
_TYPE TPMU_ATTEST
_NAME attested _UNION type
_STRUCTURE TPM2B_ATTEST
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME attestationData _ARRAY size
_MAX size sizeof(TPMS_ATTEST)
_STRUCTURE TPMS_AUTH_COMMAND
_TYPE TPMI_SH_AUTH_SESSION
_NAME sessionHandle _PLUS
_TYPE TPM2B_NONCE
_NAME nonce
_TYPE TPMA_SESSION
_NAME sessionAttributes
_TYPE TPM2B_AUTH
_NAME hmac
_STRUCTURE TPMS_AUTH_RESPONSE
_TYPE TPM2B_NONCE
_NAME nonce
_TYPE TPMA_SESSION
_NAME sessionAttributes
_TYPE TPM2B_AUTH
_NAME hmac
_STRUCTURE TPMT_SYM_DEF
_TYPE TPMI_ALG_SYM
_NAME algorithm _PLUS
_TYPE TPMU_SYM_KEY_BITS
_NAME keyBits _UNION algorithm
_TYPE TPMU_SYM_MODE
_NAME mode _UNION algorithm
_STRUCTURE TPMT_SYM_DEF_OBJECT
_TYPE TPMI_ALG_SYM_OBJECT
_NAME algorithm _PLUS
_TYPE TPMU_SYM_KEY_BITS
_NAME keyBits _UNION algorithm
_TYPE TPMU_SYM_MODE
_NAME mode _UNION algorithm
_STRUCTURE TPM2B_SYM_KEY
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size MAX_SYM_KEY_BYTES
_STRUCTURE TPMS_SYMCIPHER_PARMS
_TYPE TPMT_SYM_DEF_OBJECT
_NAME sym
_STRUCTURE TPM2B_SENSITIVE_DATA
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size MAX_SYM_DATA
_STRUCTURE TPMS_SENSITIVE_CREATE
_TYPE TPM2B_AUTH
_NAME userAuth
_TYPE TPM2B_SENSITIVE_DATA
_NAME data
_STRUCTURE TPM2B_SENSITIVE_CREATE
_TYPE UINT16
_NAME size _CHECK
_TYPE TPMS_SENSITIVE_CREATE
_NAME sensitive
_STRUCTURE TPMS_SCHEME_SIGHASH
_TYPE TPMI_ALG_HASH
_NAME hashAlg
_STRUCTURE TPMS_SCHEME_XOR
_TYPE TPMI_ALG_HASH
_NAME hashAlg _PLUS
_TYPE TPMI_ALG_KDF
_NAME kdf
_STRUCTURE TPMT_KEYEDHASH_SCHEME
_TYPE TPMI_ALG_KEYEDHASH_SCHEME
_NAME scheme _PLUS
_TYPE TPMU_SCHEME_KEYEDHASH
_NAME details _UNION scheme
_STRUCTURE TPMS_SCHEME_ECDAA
_TYPE TPMI_ALG_HASH
_NAME hashAlg
_TYPE UINT16
_NAME count
_STRUCTURE TPMT_SIG_SCHEME
_TYPE TPMI_ALG_SIG_SCHEME
_NAME scheme _PLUS
_TYPE TPMU_SIG_SCHEME
_NAME details _UNION scheme
_STRUCTURE TPMS_SCHEME_OAEP
_TYPE TPMI_ALG_HASH
_NAME hashAlg _PLUS
_STRUCTURE TPMS_SCHEME_ECDH
_TYPE TPMI_ALG_HASH
_NAME hashAlg _PLUS
_STRUCTURE TPMS_SCHEME_MGF1
_TYPE TPMI_ALG_HASH
_NAME hashAlg
_STRUCTURE TPMS_SCHEME_KDF1_SP800_56a
_TYPE TPMI_ALG_HASH
_NAME hashAlg
_STRUCTURE TPMS_SCHEME_KDF2
_TYPE TPMI_ALG_HASH
_NAME hashAlg
_STRUCTURE TPMS_SCHEME_KDF1_SP800_108
_TYPE TPMI_ALG_HASH
_NAME hashAlg
_STRUCTURE TPMT_KDF_SCHEME
_TYPE TPMI_ALG_KDF
_NAME scheme _PLUS
_TYPE TPMU_KDF_SCHEME
_NAME details _UNION scheme
_STRUCTURE TPMT_ASYM_SCHEME
_TYPE TPMI_ALG_ASYM_SCHEME
_NAME scheme _PLUS
_TYPE TPMU_ASYM_SCHEME
_NAME details _UNION scheme
_STRUCTURE TPMT_RSA_SCHEME
_TYPE TPMI_ALG_RSA_SCHEME
_NAME scheme _PLUS
_TYPE TPMU_ASYM_SCHEME
_NAME details _UNION scheme
_STRUCTURE TPMT_RSA_DECRYPT
_TYPE TPMI_ALG_RSA_DECRYPT
_NAME scheme _PLUS
_TYPE TPMU_ASYM_SCHEME
_NAME details _UNION scheme
_STRUCTURE TPM2B_PUBLIC_KEY_RSA
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size MAX_RSA_KEY_BYTES
_STRUCTURE TPM2B_PRIVATE_KEY_RSA
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size MAX_RSA_KEY_BYTES/2
_STRUCTURE TPM2B_ECC_PARAMETER
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size MAX_ECC_KEY_BYTES
_STRUCTURE TPMS_ECC_POINT
_TYPE TPM2B_ECC_PARAMETER
_NAME x
_TYPE TPM2B_ECC_PARAMETER
_NAME y
_STRUCTURE TPM2B_ECC_POINT
_TYPE UINT16
_NAME size _CHECK
_TYPE TPMS_ECC_POINT
_NAME point
_RETURN TPM_RC_SIZE
_STRUCTURE TPMT_ECC_SCHEME
_TYPE TPMI_ALG_ECC_SCHEME
_NAME scheme _PLUS
_TYPE TPMU_SIG_SCHEME
_NAME details _UNION scheme
_STRUCTURE TPMS_ALGORITHM_DETAIL_ECC
_TYPE TPM_ECC_CURVE
_NAME curveID
_TYPE UINT16
_NAME keySize
_TYPE TPMT_KDF_SCHEME
_NAME kdf
_TYPE TPMT_ECC_SCHEME
_NAME sign
_TYPE TPM2B_ECC_PARAMETER
_NAME p
_TYPE TPM2B_ECC_PARAMETER
_NAME a
_TYPE TPM2B_ECC_PARAMETER
_NAME b
_TYPE TPM2B_ECC_PARAMETER
_NAME gX
_TYPE TPM2B_ECC_PARAMETER
_NAME gY
_TYPE TPM2B_ECC_PARAMETER
_NAME n
_TYPE TPM2B_ECC_PARAMETER
_NAME h
_STRUCTURE TPMS_SIGNATURE_RSASSA
_TYPE TPMI_ALG_HASH
_NAME hash
_TYPE TPM2B_PUBLIC_KEY_RSA
_NAME sig
_STRUCTURE TPMS_SIGNATURE_RSAPSS
_TYPE TPMI_ALG_HASH
_NAME hash
_TYPE TPM2B_PUBLIC_KEY_RSA
_NAME sig
_STRUCTURE TPMS_SIGNATURE_ECDSA
_TYPE TPMI_ALG_HASH
_NAME hash
_TYPE TPM2B_ECC_PARAMETER
_NAME signatureR
_TYPE TPM2B_ECC_PARAMETER
_NAME signatureS
_STRUCTURE TPMT_SIGNATURE
_TYPE TPMI_ALG_SIG_SCHEME
_NAME sigAlg _PLUS
_TYPE TPMU_SIGNATURE
_NAME signature _UNION sigAlg
_STRUCTURE TPM2B_ENCRYPTED_SECRET
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME secret _ARRAY size
_MAX size sizeof(TPMU_ENCRYPTED_SECRET)
_STRUCTURE TPMS_KEYEDHASH_PARMS
_TYPE TPMT_KEYEDHASH_SCHEME
_NAME scheme
_STRUCTURE TPMS_ASYM_PARMS
_TYPE TPMT_SYM_DEF_OBJECT
_NAME symmetric
_TYPE TPMT_ASYM_SCHEME
_NAME scheme
_STRUCTURE TPMS_RSA_PARMS
_TYPE TPMT_SYM_DEF_OBJECT
_NAME symmetric
_TYPE TPMT_RSA_SCHEME
_NAME scheme
_TYPE TPMI_RSA_KEY_BITS
_NAME keyBits
_TYPE UINT32
_NAME exponent
_RETURN TPM_RC_VALUE
_STRUCTURE TPMS_ECC_PARMS
_TYPE TPMT_SYM_DEF_OBJECT
_NAME symmetric
_TYPE TPMT_ECC_SCHEME
_NAME scheme
_TYPE TPMI_ECC_CURVE
_NAME curveID
_TYPE TPMT_KDF_SCHEME
_NAME kdf
_STRUCTURE TPMT_PUBLIC_PARMS
_TYPE TPMI_ALG_PUBLIC
_NAME type
_TYPE TPMU_PUBLIC_PARMS
_NAME parameters _UNION type
_STRUCTURE TPMT_PUBLIC
_TYPE TPMI_ALG_PUBLIC
_NAME type
_TYPE TPMI_ALG_HASH
_NAME nameAlg _PLUS
_TYPE TPMA_OBJECT
_NAME objectAttributes
_TYPE TPM2B_DIGEST
_NAME authPolicy
_TYPE TPMU_PUBLIC_PARMS
_NAME parameters _UNION type
_TYPE TPMU_PUBLIC_ID
_NAME unique _UNION type
_STRUCTURE TPM2B_PUBLIC
_TYPE UINT16
_NAME size _CHECK
_TYPE TPMT_PUBLIC
_NAME publicArea
_STRUCTURE TPM2B_PRIVATE_VENDOR_SPECIFIC
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size PRIVATE_VENDOR_SPECIFIC_BYTES
_STRUCTURE TPMT_SENSITIVE
_TYPE TPMI_ALG_PUBLIC
_NAME sensitiveType
_TYPE TPM2B_AUTH
_NAME authValue
_TYPE TPM2B_DIGEST
_NAME seedValue
_TYPE TPMU_SENSITIVE_COMPOSITE
_NAME sensitive _UNION sensitiveType
_STRUCTURE TPM2B_SENSITIVE
_TYPE UINT16
_NAME size
_TYPE TPMT_SENSITIVE
_NAME sensitiveArea
_STRUCTURE _PRIVATE
_TYPE TPM2B_DIGEST
_NAME integrityOuter
_TYPE TPM2B_DIGEST
_NAME integrityInner
_TYPE TPMT_SENSITIVE
_NAME sensitive
_STRUCTURE TPM2B_PRIVATE
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size sizeof(_PRIVATE)
_STRUCTURE _ID_OBJECT
_TYPE TPM2B_DIGEST
_NAME integrityHMAC
_TYPE TPM2B_DIGEST
_NAME encIdentity
_STRUCTURE TPM2B_ID_OBJECT
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME credential _ARRAY size
_MAX size sizeof(_ID_OBJECT)
_STRUCTURE TPMS_NV_PUBLIC
_TYPE TPMI_RH_NV_INDEX
_NAME nvIndex
_TYPE TPMI_ALG_HASH
_NAME nameAlg
_TYPE TPMA_NV
_NAME attributes
_TYPE TPM2B_DIGEST
_NAME authPolicy
_TYPE UINT16
_NAME dataSize
_MAX dataSize MAX_NV_INDEX_SIZE
_RETURN TPM_RC_SIZE
_STRUCTURE TPM2B_NV_PUBLIC
_TYPE UINT16
_NAME size _CHECK
_TYPE TPMS_NV_PUBLIC
_NAME nvPublic
_STRUCTURE TPM2B_CONTEXT_SENSITIVE
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size MAX_CONTEXT_SIZE
_STRUCTURE TPMS_CONTEXT_DATA
_TYPE TPM2B_DIGEST
_NAME integrity
_TYPE TPM2B_CONTEXT_SENSITIVE
_NAME encrypted
_STRUCTURE TPM2B_CONTEXT_DATA
_TYPE UINT16
_NAME size
_TYPE BYTE
_NAME buffer _ARRAY size
_MAX size sizeof(TPMS_CONTEXT_DATA)
_STRUCTURE TPMS_CONTEXT
_TYPE UINT64
_NAME sequence
_TYPE TPMI_DH_CONTEXT
_NAME savedHandle
_TYPE TPMI_RH_HIERARCHY
_NAME hierarchy _PLUS
_TYPE TPM2B_CONTEXT_DATA
_NAME contextBlob
_STRUCTURE TPMS_CREATION_DATA
_TYPE TPML_PCR_SELECTION
_NAME pcrSelect
_TYPE TPM2B_DIGEST
_NAME pcrDigest
_TYPE TPMA_LOCALITY
_NAME locality
_TYPE TPM_ALG_ID
_NAME parentNameAlg
_TYPE TPM2B_NAME
_NAME parentName
_TYPE TPM2B_NAME
_NAME parentQualifiedName
_TYPE TPM2B_DATA
_NAME outsideInfo
_STRUCTURE TPM2B_CREATION_DATA
_TYPE UINT16
_NAME size _CHECK
_TYPE TPMS_CREATION_DATA
_NAME creationData
_END
_BEGIN_UNIONS
_UNION TPMU_HA
_TYPE BYTE
_NAME sha1 _ARRAY SHA1_DIGEST_SIZE
_TYPE BYTE
_NAME sha256 _ARRAY SHA256_DIGEST_SIZE
_TYPE BYTE
_NAME sm3_256 _ARRAY SM3_256_DIGEST_SIZE
_TYPE BYTE
_NAME sha384 _ARRAY SHA384_DIGEST_SIZE
_TYPE BYTE
_NAME sha512 _ARRAY SHA512_DIGEST_SIZE
_UNION TPMU_NAME
_TYPE TPMT_HA
_NAME digest
_TYPE TPM_HANDLE
_NAME handle
_UNION TPMU_CAPABILITIES
_TYPE TPML_ALG_PROPERTY
_NAME algorithms
_TYPE TPML_HANDLE
_NAME handles
_TYPE TPML_CCA
_NAME command
_TYPE TPML_CC
_NAME ppCommands
_TYPE TPML_CC
_NAME auditCommands
_TYPE TPML_PCR_SELECTION
_NAME assignedPCR
_TYPE TPML_TAGGED_TPM_PROPERTY
_NAME tpmProperties
_TYPE TPML_TAGGED_PCR_PROPERTY
_NAME pcrProperties
_TYPE TPML_ECC_CURVE
_NAME eccCurves
_UNION TPMU_ATTEST
_TYPE TPMS_CERTIFY_INFO
_NAME certify
_TYPE TPMS_CREATION_INFO
_NAME creation
_TYPE TPMS_QUOTE_INFO
_NAME quote
_TYPE TPMS_COMMAND_AUDIT_INFO
_NAME commandAudit
_TYPE TPMS_SESSION_AUDIT_INFO
_NAME sessionAudit
_TYPE TPMS_TIME_ATTEST_INFO
_NAME time
_TYPE TPMS_NV_CERTIFY_INFO
_NAME nv
_UNION TPMU_SYM_KEY_BITS
_TYPE TPMI_AES_KEY_BITS
_NAME aes
_TYPE TPMI_SM4_KEY_BITS
_NAME SM4
_TYPE TPM_KEY_BITS
_NAME sym
_TYPE TPMI_ALG_HASH
_NAME xor
_UNION TPMU_SYM_MODE
_TYPE TPMI_ALG_SYM_MODE
_NAME aes
_TYPE TPMI_ALG_SYM_MODE
_NAME SM4
_TYPE TPMI_ALG_SYM_MODE
_NAME sym
_UNION TPMU_SCHEME_KEYEDHASH
_TYPE TPMS_SCHEME_HMAC
_NAME hmac
_TYPE TPMS_SCHEME_XOR
_NAME xor
_UNION TPMU_SIG_SCHEME
_TYPE TPMS_SCHEME_RSASSA
_NAME rsassa
_TYPE TPMS_SCHEME_RSAPSS
_NAME rsapss
_TYPE TPMS_SCHEME_ECDSA
_NAME ecdsa
_TYPE TPMS_SCHEME_SM2
_NAME sm2
_TYPE TPMS_SCHEME_ECDAA
_NAME ecdaa
_TYPE TPMS_SCHEME_ECSCHNORR
_NAME ecSchnorr
_TYPE TPMS_SCHEME_HMAC
_NAME hmac
_TYPE TPMS_SCHEME_SIGHASH
_NAME any
_UNION TPMU_KDF_SCHEME
_TYPE TPMS_SCHEME_MGF1
_NAME mgf1
_TYPE TPMS_SCHEME_KDF1_SP800_56a
_NAME kdf1_SP800_56a
_TYPE TPMS_SCHEME_KDF2
_NAME kdf2
_TYPE TPMS_SCHEME_KDF1_SP800_108
_NAME kdf1_sp800_108
_UNION TPMU_ASYM_SCHEME
_TYPE TPMS_SCHEME_RSASSA
_NAME rsassa
_TYPE TPMS_SCHEME_RSAPSS
_NAME rsapss
_TYPE TPMS_SCHEME_OAEP
_NAME oaep
_TYPE TPMS_SCHEME_ECDSA
_NAME ecdsa
_TYPE TPMS_SCHEME_SM2
_NAME sm2
_TYPE TPMS_SCHEME_ECDAA
_NAME ecdaa
_TYPE TPMS_SCHEME_ECSCHNORR
_NAME ecSchnorr
_TYPE TPMS_SCHEME_ECDH
_NAME ecdh
_TYPE TPMS_SCHEME_SIGHASH
_NAME anySig
_UNION TPMU_SIGNATURE
_TYPE TPMS_SIGNATURE_RSASSA
_NAME rsassa
_TYPE TPMS_SIGNATURE_RSAPSS
_NAME rsapss
_TYPE TPMS_SIGNATURE_ECDSA
_NAME ecdsa
_TYPE TPMS_SIGNATURE_ECDSA
_NAME sm2
_TYPE TPMS_SIGNATURE_ECDSA
_NAME ecdaa
_TYPE TPMS_SIGNATURE_ECDSA
_NAME ecschnorr
_TYPE TPMT_HA
_NAME hmac
_TYPE TPMS_SCHEME_SIGHASH
_NAME any
_UNION TPMU_ENCRYPTED_SECRET
_TYPE BYTE
_NAME ecc _ARRAY sizeof(TPMS_ECC_POINT)
_TYPE BYTE
_NAME rsa _ARRAY MAX_RSA_KEY_BYTES
_TYPE BYTE
_NAME symmetric _ARRAY sizeof(TPM2B_DIGEST)
_TYPE BYTE
_NAME keyedHash _ARRAY sizeof(TPM2B_DIGEST)
_UNION TPMU_PUBLIC_ID
_TYPE TPM2B_DIGEST
_NAME keyedHash
_TYPE TPM2B_DIGEST
_NAME sym
_TYPE TPM2B_PUBLIC_KEY_RSA
_NAME rsa
_TYPE TPMS_ECC_POINT
_NAME ecc
_UNION TPMU_PUBLIC_PARMS
_TYPE TPMS_KEYEDHASH_PARMS
_NAME keyedHashDetail
_TYPE TPMS_SYMCIPHER_PARMS
_NAME symDetail
_TYPE TPMS_RSA_PARMS
_NAME rsaDetail
_TYPE TPMS_ECC_PARMS
_NAME eccDetail
_TYPE TPMS_ASYM_PARMS
_NAME asymDetail
_UNION TPMU_SENSITIVE_COMPOSITE
_TYPE TPM2B_PRIVATE_KEY_RSA
_NAME rsa
_TYPE TPM2B_ECC_PARAMETER
_NAME ecc
_TYPE TPM2B_SENSITIVE_DATA
_NAME bits
_TYPE TPM2B_SYM_KEY
_NAME sym
_TYPE TPM2B_PRIVATE_VENDOR_SPECIFIC
_NAME any
_END