diff options
151 files changed, 2777 insertions, 3297 deletions
diff --git a/ActivateCredential_fp.h b/ActivateCredential_fp.h index 6207750..3d305da 100644 --- a/ActivateCredential_fp.h +++ b/ActivateCredential_fp.h @@ -8,19 +8,17 @@ #define __TPM2_ACTIVATECREDENTIAL_FP_H typedef struct { - TPMI_DH_OBJECT keyHandle; - TPMI_DH_OBJECT activateHandle; - TPM2B_ENCRYPTED_SECRET secret; - TPM2B_ID_OBJECT credentialBlob; + TPMI_DH_OBJECT keyHandle; + TPMI_DH_OBJECT activateHandle; + TPM2B_ENCRYPTED_SECRET secret; + TPM2B_ID_OBJECT credentialBlob; } ActivateCredential_In; -typedef struct { - TPM2B_DIGEST certInfo; -} ActivateCredential_Out; +typedef struct { TPM2B_DIGEST certInfo; } ActivateCredential_Out; TPM_RC TPM2_ActivateCredential( - ActivateCredential_In *in, // IN: input parameter list - ActivateCredential_Out *out // OUT: output parameter list -); + ActivateCredential_In *in, // IN: input parameter list + ActivateCredential_Out *out // OUT: output parameter list + ); -#endif // __TPM2_ACTIVATECREDENTIAL_FP_H +#endif // __TPM2_ACTIVATECREDENTIAL_FP_H diff --git a/AlgorithmCap_fp.h b/AlgorithmCap_fp.h index ea9d06d..c7c1e99 100644 --- a/AlgorithmCap_fp.h +++ b/AlgorithmCap_fp.h @@ -8,13 +8,13 @@ #define __TPM2_ALGORITHMCAP_FP_H LIB_EXPORT void AlgorithmGetImplementedVector( - ALGORITHM_VECTOR *implemented // OUT: the implemented bits are SET -); + ALGORITHM_VECTOR *implemented // OUT: the implemented bits are SET + ); TPMI_YES_NO AlgorithmCapGetImplemented( - TPM_ALG_ID algID, // IN: the starting algorithm ID - UINT32 count, // IN: count of returned algorithms - TPML_ALG_PROPERTY *algList // OUT: algorithm list -); + TPM_ALG_ID algID, // IN: the starting algorithm ID + UINT32 count, // IN: count of returned algorithms + TPML_ALG_PROPERTY *algList // OUT: algorithm list + ); -#endif // __TPM2_ALGORITHMCAP_FP_H +#endif // __TPM2_ALGORITHMCAP_FP_H diff --git a/Attest_spt_fp.h b/Attest_spt_fp.h index 8b1eabb..2f5f926 100644 --- a/Attest_spt_fp.h +++ b/Attest_spt_fp.h @@ -7,18 +7,17 @@ #ifndef __TPM2_ATTEST_SPT_FP_H #define __TPM2_ATTEST_SPT_FP_H TPM_RC FillInAttestInfo( - TPMI_DH_OBJECT signHandle, // IN: handle of signing object - TPMT_SIG_SCHEME *scheme, // IN/OUT: scheme to be used for signing - TPM2B_DATA *data, // IN: qualifying data - TPMS_ATTEST *attest // OUT: attest structure -); + TPMI_DH_OBJECT signHandle, // IN: handle of signing object + TPMT_SIG_SCHEME *scheme, // IN/OUT: scheme to be used for signing + TPM2B_DATA *data, // IN: qualifying data + TPMS_ATTEST *attest // OUT: attest structure + ); TPM_RC SignAttestInfo( - TPMI_DH_OBJECT signHandle, // IN: handle of sign object - TPMT_SIG_SCHEME *scheme, // IN: sign scheme - TPMS_ATTEST *certifyInfo, // IN: the data to be signed - TPM2B_DATA *qualifyingData,// IN: extra data for the signing proce - TPM2B_ATTEST *attest, // OUT: marshaled attest blob to be - // signed - TPMT_SIGNATURE *signature // OUT: signature -); -#endif // __TPM2_ATTEST_SPT_FP_H + TPMI_DH_OBJECT signHandle, // IN: handle of sign object + TPMT_SIG_SCHEME *scheme, // IN: sign scheme + TPMS_ATTEST *certifyInfo, // IN: the data to be signed + TPM2B_DATA *qualifyingData, // IN: extra data for the signing proce + TPM2B_ATTEST *attest, // OUT: marshaled attest blob to be signed + TPMT_SIGNATURE *signature // OUT: signature + ); +#endif // __TPM2_ATTEST_SPT_FP_H @@ -7,24 +7,20 @@ #ifndef __BITS_FP_H_ #define __BITS_FP_H_ -BOOL -BitIsSet( - unsigned int bitNum, // IN: number of the bit in 'bArray' - BYTE *bArray, // IN: array containing the bit - unsigned int arraySize // IN: size in bytes of 'bArray' - ); +BOOL BitIsSet(unsigned int bitNum, // IN: number of the bit in 'bArray' + BYTE *bArray, // IN: array containing the bit + unsigned int arraySize // IN: size in bytes of 'bArray' + ); // // // BitSet() // // This function will set the indicated bit in bArray. // -void -BitSet( - unsigned int bitNum, // IN: number of the bit in 'bArray' - BYTE *bArray, // IN: array containing the bit - unsigned int arraySize // IN: size in bytes of 'bArray' - ); +void BitSet(unsigned int bitNum, // IN: number of the bit in 'bArray' + BYTE *bArray, // IN: array containing the bit + unsigned int arraySize // IN: size in bytes of 'bArray' + ); // // @@ -32,11 +28,9 @@ BitSet( // // This function will clear the indicated bit in bArray. // -void -BitClear( - unsigned int bitNum, // IN: number of the bit in 'bArray'. - BYTE *bArray, // IN: array containing the bit - unsigned int arraySize // IN: size in bytes of 'bArray' - ); +void BitClear(unsigned int bitNum, // IN: number of the bit in 'bArray'. + BYTE *bArray, // IN: array containing the bit + unsigned int arraySize // IN: size in bytes of 'bArray' + ); #endif diff --git a/CertifyCreation_fp.h b/CertifyCreation_fp.h index fb59885..8ef6e26 100644 --- a/CertifyCreation_fp.h +++ b/CertifyCreation_fp.h @@ -8,22 +8,22 @@ #define __TPM2_CERTIFYCREATION_FP_H typedef struct { - TPM2B_DIGEST creationHash; - TPMT_TK_CREATION creationTicket; - TPMT_SIG_SCHEME inScheme; - TPMI_DH_OBJECT objectHandle; - TPM2B_DATA qualifyingData; - TPMI_DH_OBJECT signHandle; + TPM2B_DIGEST creationHash; + TPMT_TK_CREATION creationTicket; + TPMT_SIG_SCHEME inScheme; + TPMI_DH_OBJECT objectHandle; + TPM2B_DATA qualifyingData; + TPMI_DH_OBJECT signHandle; } CertifyCreation_In; typedef struct { - TPM2B_ATTEST certifyInfo; - TPMT_SIGNATURE signature; + TPM2B_ATTEST certifyInfo; + TPMT_SIGNATURE signature; } CertifyCreation_Out; TPM_RC TPM2_CertifyCreation( - CertifyCreation_In *in, // IN: input parameter list - CertifyCreation_Out *out // OUT: output parameter list -); + CertifyCreation_In *in, // IN: input parameter list + CertifyCreation_Out *out // OUT: output parameter list + ); -#endif // __TPM2_CERTIFYCREATION_FP_H +#endif // __TPM2_CERTIFYCREATION_FP_H diff --git a/Certify_fp.h b/Certify_fp.h index 0b0cbf3..536ed65 100644 --- a/Certify_fp.h +++ b/Certify_fp.h @@ -8,20 +8,19 @@ #define __TPM2_CERTIFY_FP_H typedef struct { - TPMI_DH_OBJECT signHandle; - TPMI_DH_OBJECT objectHandle; - TPMT_SIG_SCHEME inScheme; - TPM2B_DATA qualifyingData; + TPMI_DH_OBJECT signHandle; + TPMI_DH_OBJECT objectHandle; + TPMT_SIG_SCHEME inScheme; + TPM2B_DATA qualifyingData; } Certify_In; typedef struct { - TPM2B_ATTEST certifyInfo; - TPMT_SIGNATURE signature; + TPM2B_ATTEST certifyInfo; + TPMT_SIGNATURE signature; } Certify_Out; -TPM_RC TPM2_Certify( - Certify_In *in, // IN: input parameter list - Certify_Out *out // OUT: output parameter list -); +TPM_RC TPM2_Certify(Certify_In *in, // IN: input parameter list + Certify_Out *out // OUT: output parameter list + ); -#endif // __TPM2_CERTIFY_FP_H +#endif // __TPM2_CERTIFY_FP_H diff --git a/ChangeEPS_fp.h b/ChangeEPS_fp.h index 1f6f09c..b8a4e3a 100644 --- a/ChangeEPS_fp.h +++ b/ChangeEPS_fp.h @@ -7,10 +7,9 @@ #ifndef __TPM2_CHANGEEPS_FP_H #define __TPM2_CHANGEEPS_FP_H -typedef void ChangeEPS_In; //unused +typedef void ChangeEPS_In; // unused -TPM_RC TPM2_ChangeEPS( - ChangeEPS_In *in // IN: input parameter list -); +TPM_RC TPM2_ChangeEPS(ChangeEPS_In *in // IN: input parameter list + ); -#endif // __TPM2_CHANGEEPS_FP_H +#endif // __TPM2_CHANGEEPS_FP_H diff --git a/ChangePPS_fp.h b/ChangePPS_fp.h index 714e735..07f4459 100644 --- a/ChangePPS_fp.h +++ b/ChangePPS_fp.h @@ -7,9 +7,9 @@ #ifndef __TPM2_CHANGEPPS_FP_H #define __TPM2_CHANGEPPS_FP_H -typedef void ChangePPS_In; //unused. +typedef void ChangePPS_In; // unused. -TPM_RC TPM2_ChangePPS( - ChangePPS_In *in // IN: input parameter list -); -#endif // __TPM2_CHANGEPPS_FP_H +TPM_RC TPM2_ChangePPS(ChangePPS_In *in // IN: input parameter list + ); + +#endif // __TPM2_CHANGEPPS_FP_H diff --git a/ClearControl_fp.h b/ClearControl_fp.h index a7301eb..fa92b0f 100644 --- a/ClearControl_fp.h +++ b/ClearControl_fp.h @@ -8,12 +8,11 @@ #define __TPM2_CLEARCONTROL_FP_H typedef struct { - TPMI_YES_NO disable; - TPM_RH auth; + TPMI_YES_NO disable; + TPM_RH auth; } ClearControl_In; -TPM_RC TPM2_ClearControl( - ClearControl_In *in // IN: input parameter list -); +TPM_RC TPM2_ClearControl(ClearControl_In *in // IN: input parameter list + ); -#endif // __TPM2_CLEARCONTROL_FP_H +#endif // __TPM2_CLEARCONTROL_FP_H @@ -7,10 +7,9 @@ #ifndef __TPM2_CLEAR_FP_H #define __TPM2_CLEAR_FP_H -typedef void Clear_In; //unused. +typedef void Clear_In; // unused. -TPM_RC TPM2_Clear( - Clear_In *in // IN: input parameter list -); +TPM_RC TPM2_Clear(Clear_In *in // IN: input parameter list + ); -#endif // __TPM2_CLEAR_FP_H +#endif // __TPM2_CLEAR_FP_H diff --git a/ClockRateAdjust_fp.h b/ClockRateAdjust_fp.h index 81f0444..ed7567a 100644 --- a/ClockRateAdjust_fp.h +++ b/ClockRateAdjust_fp.h @@ -8,11 +8,10 @@ #define __TPM2_CLOCKRATEADJUST_FP_H typedef struct { - TPM_CLOCK_ADJUST rateAdjust; // IN: adjust constant + TPM_CLOCK_ADJUST rateAdjust; // IN: adjust constant } ClockRateAdjust_In; -TPM_RC TPM2_ClockRateAdjust( - ClockRateAdjust_In *in // IN: input parameter list -); +TPM_RC TPM2_ClockRateAdjust(ClockRateAdjust_In *in // IN: input parameter list + ); -#endif // __TPM2_CLOCKRATEADJUST_FP_H +#endif // __TPM2_CLOCKRATEADJUST_FP_H diff --git a/ClockSet_fp.h b/ClockSet_fp.h index 18a52c5..7b191dc 100644 --- a/ClockSet_fp.h +++ b/ClockSet_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_CLOCKSET_FP_H #define __TPM2_CLOCKSET_FP_H -typedef struct { - UINT64 newTime; -} ClockSet_In; +typedef struct { UINT64 newTime; } ClockSet_In; -TPM_RC TPM2_ClockSet( - ClockSet_In *in // IN: input parameter list -); +TPM_RC TPM2_ClockSet(ClockSet_In *in // IN: input parameter list + ); -#endif // __TPM2_CLOCKSET_FP_H +#endif // __TPM2_CLOCKSET_FP_H diff --git a/CommandAudit_fp.h b/CommandAudit_fp.h index 93a5d43..ed5b38f 100644 --- a/CommandAudit_fp.h +++ b/CommandAudit_fp.h @@ -8,27 +8,20 @@ #define __TPM2_COMMANDAUDIT_FP_H TPMI_YES_NO CommandAuditCapGetCCList( - TPM_CC commandCode, // IN: start command code - UINT32 count, // IN: count of returned TPM_CC - TPML_CC *commandList // OUT: list of TPM_CC -); -BOOL CommandAuditClear( - TPM_CC commandCode // IN: command code - ); -void CommandAuditGetDigest( - TPM2B_DIGEST *digest // OUT: command digest -); -BOOL CommandAuditIsRequired( - TPM_CC commandCode // IN: command code - ); -void CommandAuditPreInstall_Init( - void - ); -BOOL CommandAuditSet( - TPM_CC commandCode // IN: command code -); + TPM_CC commandCode, // IN: start command code + UINT32 count, // IN: count of returned TPM_CC + TPML_CC *commandList // OUT: list of TPM_CC + ); +BOOL CommandAuditClear(TPM_CC commandCode // IN: command code + ); +void CommandAuditGetDigest(TPM2B_DIGEST *digest // OUT: command digest + ); +BOOL CommandAuditIsRequired(TPM_CC commandCode // IN: command code + ); +void CommandAuditPreInstall_Init(void); +BOOL CommandAuditSet(TPM_CC commandCode // IN: command code + ); -#endif // __TPM2_COMMANDAUDIT_FP_H -void CommandAuditStartup( - STARTUP_TYPE type // IN: start up type - ); +#endif // __TPM2_COMMANDAUDIT_FP_H +void CommandAuditStartup(STARTUP_TYPE type // IN: start up type + ); diff --git a/CommandCodeAttributes_fp.h b/CommandCodeAttributes_fp.h index 6bdc841..a0999cf 100644 --- a/CommandCodeAttributes_fp.h +++ b/CommandCodeAttributes_fp.h @@ -7,33 +7,25 @@ #ifndef __TPM2_COMMANDCODEATTRIBUTES_FP_H #define __TPM2_COMMANDCODEATTRIBUTES_FP_H -AUTH_ROLE CommandAuthRole( - TPM_CC commandCode, // IN: command code - UINT32 handleIndex // IN: handle index (zero based) - ); +AUTH_ROLE CommandAuthRole(TPM_CC commandCode, // IN: command code + UINT32 handleIndex // IN: handle index (zero based) + ); TPMI_YES_NO CommandCapGetCCList( - TPM_CC commandCode, // IN: start command code - UINT32 count, // IN: maximum count for number of entries in - // 'commandList' - TPML_CCA *commandList // OUT: list of TPMA_CC -); -BOOL CommandIsImplemented( - TPM_CC commandCode // IN: command code + TPM_CC commandCode, // IN: start command code + UINT32 count, // IN: maximum count for number of entries in 'commandList' + TPML_CCA *commandList // OUT: list of TPMA_CC + ); +BOOL CommandIsImplemented(TPM_CC commandCode // IN: command code ); -int DecryptSize( - TPM_CC commandCode // IN: commandCode - ); -int EncryptSize( - TPM_CC commandCode // IN: commandCode - ); -BOOL IsReadOperation( - TPM_CC command // IN: Command to check - ); -BOOL IsSessionAllowed( - TPM_CC commandCode // IN: the command to be checked - ); -BOOL IsWriteOperation( - TPM_CC command // IN: Command to check - ); +int DecryptSize(TPM_CC commandCode // IN: commandCode + ); +int EncryptSize(TPM_CC commandCode // IN: commandCode + ); +BOOL IsReadOperation(TPM_CC command // IN: Command to check + ); +BOOL IsSessionAllowed(TPM_CC commandCode // IN: the command to be checked + ); +BOOL IsWriteOperation(TPM_CC command // IN: Command to check + ); -#endif // __TPM2_COMMANDCODEATTRIBUTES_FP_H +#endif // __TPM2_COMMANDCODEATTRIBUTES_FP_H diff --git a/CommandDispatcher_fp.h b/CommandDispatcher_fp.h index d24e0f8..40e3f03 100644 --- a/CommandDispatcher_fp.h +++ b/CommandDispatcher_fp.h @@ -5,16 +5,20 @@ // Level 00 Revision 01.16 // October 30, 2014 -#ifndef _COMMANDDISPATCHER_FP_H_ -#define _COMMANDDISPATCHER_FP_H_ -TPM_RC -CommandDispatcher( - TPMI_ST_COMMAND_TAG tag, // IN: Input command tag - TPM_CC commandCode, // IN: Command code - INT32 *parmBufferSize, // IN: size of parameter buffer - BYTE *parmBufferStart, // IN: pointer to start of parameter buffer - TPM_HANDLE handles[], // IN: handle array - UINT32 *responseHandleSize,// OUT: size of handle buffer in response - UINT32 *respParmSize // OUT: size of parameter buffer in response - ); -#endif // _COMMANDDISPATCHER_FP_H_ +#ifndef _COMMANDDISPATCHER_FP_H_ +#define _COMMANDDISPATCHER_FP_H_ + +TPM_RC CommandDispatcher( + TPMI_ST_COMMAND_TAG tag, // IN: Input command tag + TPM_CC commandCode, // IN: Command code + INT32 *parmBufferSize, // IN: size of parameter buffer + BYTE *parmBufferStart, // IN: pointer to start of parameter + // buffer + TPM_HANDLE handles[], // IN: handle array + UINT32 *responseHandleSize, // OUT: size of handle buffer in + // response + UINT32 * + respParmSize // OUT: size of parameter buffer in response + ); + +#endif // _COMMANDDISPATCHER_FP_H_ diff --git a/Commit_fp.h b/Commit_fp.h index 0a40de3..c89ede3 100644 --- a/Commit_fp.h +++ b/Commit_fp.h @@ -8,22 +8,21 @@ #define __TPM2_COMMIT_FP_H typedef struct { - TPM2B_ECC_PARAMETER s2; - TPM2B_ECC_PARAMETER y2; - TPM2B_ECC_POINT P1; - TPMI_DH_OBJECT signHandle; + TPM2B_ECC_PARAMETER s2; + TPM2B_ECC_PARAMETER y2; + TPM2B_ECC_POINT P1; + TPMI_DH_OBJECT signHandle; } Commit_In; typedef struct { - TPM2B_ECC_POINT E; - TPM2B_ECC_POINT K; - TPM2B_ECC_POINT L; - UINT16 counter; + TPM2B_ECC_POINT E; + TPM2B_ECC_POINT K; + TPM2B_ECC_POINT L; + UINT16 counter; } Commit_Out; -TPM_RC TPM2_Commit( - Commit_In *in, // IN: input parameter list - Commit_Out *out // OUT: output parameter list -); +TPM_RC TPM2_Commit(Commit_In *in, // IN: input parameter list + Commit_Out *out // OUT: output parameter list + ); -#endif // __TPM2_COMMIT_FP_H +#endif // __TPM2_COMMIT_FP_H diff --git a/ContextLoad_fp.h b/ContextLoad_fp.h index a8bfd57..9c3838b 100644 --- a/ContextLoad_fp.h +++ b/ContextLoad_fp.h @@ -7,16 +7,12 @@ #ifndef __TPM2_CONTEXTLOAD_FP_H #define __TPM2_CONTEXTLOAD_FP_H -typedef struct { - TPMS_CONTEXT context; -} ContextLoad_In; +typedef struct { TPMS_CONTEXT context; } ContextLoad_In; -typedef struct { - TPMI_DH_OBJECT loadedHandle; -} ContextLoad_Out; +typedef struct { TPMI_DH_OBJECT loadedHandle; } ContextLoad_Out; -TPM_RC TPM2_ContextLoad( - ContextLoad_In *in, // IN: input parameter list - ContextLoad_Out *out // OUT: output parameter list +TPM_RC TPM2_ContextLoad(ContextLoad_In *in, // IN: input parameter list + ContextLoad_Out *out // OUT: output parameter list ); -#endif // __TPM2_CONTEXTLOAD_FP_H + +#endif // __TPM2_CONTEXTLOAD_FP_H diff --git a/ContextSave_fp.h b/ContextSave_fp.h index ba3dbfa..21f3c25 100644 --- a/ContextSave_fp.h +++ b/ContextSave_fp.h @@ -7,17 +7,12 @@ #ifndef __TPM2_CONTEXTSAVE_FP_H #define __TPM2_CONTEXTSAVE_FP_H -typedef struct { - TPMI_DH_OBJECT saveHandle; -} ContextSave_In; +typedef struct { TPMI_DH_OBJECT saveHandle; } ContextSave_In; -typedef struct { - TPMS_CONTEXT context; -} ContextSave_Out; +typedef struct { TPMS_CONTEXT context; } ContextSave_Out; -TPM_RC TPM2_ContextSave( - ContextSave_In *in, // IN: input parameter list - ContextSave_Out *out // OUT: output parameter list +TPM_RC TPM2_ContextSave(ContextSave_In *in, // IN: input parameter list + ContextSave_Out *out // OUT: output parameter list ); -#endif // __TPM2_CONTEXTSAVE_FP_H +#endif // __TPM2_CONTEXTSAVE_FP_H diff --git a/Context_spt_fp.h b/Context_spt_fp.h index d3659bc..4cdfe49 100644 --- a/Context_spt_fp.h +++ b/Context_spt_fp.h @@ -6,20 +6,18 @@ #ifndef __TPM2_CONTEXT_SPT_FP_H #define __TPM2_CONTEXT_SPT_FP_H -void ComputeContextIntegrity( - TPMS_CONTEXT *contextBlob, // IN: context blob - TPM2B_DIGEST *integrity // OUT: integrity +void ComputeContextIntegrity(TPMS_CONTEXT *contextBlob, // IN: context blob + TPM2B_DIGEST *integrity // OUT: integrity ); void ComputeContextProtectionKey( - TPMS_CONTEXT *contextBlob, // IN: context blob - TPM2B_SYM_KEY *symKey, // OUT: the symmetric key - TPM2B_IV *iv // OUT: the IV. - ); + TPMS_CONTEXT *contextBlob, // IN: context blob + TPM2B_SYM_KEY *symKey, // OUT: the symmetric key + TPM2B_IV *iv // OUT: the IV. + ); void SequenceDataImportExport( - OBJECT *object, // IN: the object containing the sequence data - OBJECT *exportObject, // IN/OUT: the object structure that will get - // the exported hash state - IMPORT_EXPORT direction - ); + OBJECT *object, // IN: the object containing the sequence data + OBJECT *exportObject, // IN/OUT: the object structure that will get the + // exported hash state + IMPORT_EXPORT direction); -#endif // __TPM2_CONTEXT_SPT_FP_H +#endif // __TPM2_CONTEXT_SPT_FP_H diff --git a/CpriCryptPri_fp.h b/CpriCryptPri_fp.h index 681b30e..5e8c618 100644 --- a/CpriCryptPri_fp.h +++ b/CpriCryptPri_fp.h @@ -7,14 +7,8 @@ #ifndef __TPM2_CPRICRYPTPRI_FP_H #define __TPM2_CPRICRYPTPRI_FP_H -LIB_EXPORT CRYPT_RESULT _cpri__InitCryptoUnits( - FAIL_FUNCTION failFunction - ); -LIB_EXPORT BOOL _cpri__Startup( - void - ); -LIB_EXPORT void _cpri__StopCryptoUnits( - void - ); +LIB_EXPORT CRYPT_RESULT _cpri__InitCryptoUnits(FAIL_FUNCTION failFunction); +LIB_EXPORT BOOL _cpri__Startup(void); +LIB_EXPORT void _cpri__StopCryptoUnits(void); -#endif // __TPM2_CPRICRYPTPRI_FP_H +#endif // __TPM2_CPRICRYPTPRI_FP_H diff --git a/CpriECC_fp.h b/CpriECC_fp.h index a9dd0b4..619ed0e 100644 --- a/CpriECC_fp.h +++ b/CpriECC_fp.h @@ -8,98 +8,89 @@ #define __TPM2_CPRIECC_FP_H LIB_EXPORT CRYPT_RESULT _cpri__C_2_2_KeyExchange( - TPMS_ECC_POINT *outZ1, // OUT: a computed point - TPMS_ECC_POINT *outZ2, // OUT: and optional second point - TPM_ECC_CURVE curveId, // IN: the curve for the computations - TPM_ALG_ID scheme, // IN: the key exchange scheme - TPM2B_ECC_PARAMETER *dsA, // IN: static private TPM key - TPM2B_ECC_PARAMETER *deA, // IN: ephemeral private TPM key - TPMS_ECC_POINT *QsB, // IN: static public party B key - TPMS_ECC_POINT *QeB // IN: ephemeral public party B key - ); + TPMS_ECC_POINT *outZ1, // OUT: a computed point + TPMS_ECC_POINT *outZ2, // OUT: and optional second point + TPM_ECC_CURVE curveId, // IN: the curve for the computations + TPM_ALG_ID scheme, // IN: the key exchange scheme + TPM2B_ECC_PARAMETER *dsA, // IN: static private TPM key + TPM2B_ECC_PARAMETER *deA, // IN: ephemeral private TPM key + TPMS_ECC_POINT *QsB, // IN: static public party B key + TPMS_ECC_POINT *QeB // IN: ephemeral public party B key + ); LIB_EXPORT CRYPT_RESULT _cpri__C_2_2_KeyExchange( - TPMS_ECC_POINT *outZ1, // OUT: a computed point - TPMS_ECC_POINT *outZ2, // OUT: and optional second point - TPM_ECC_CURVE curveId, // IN: the curve for the computations - TPM_ALG_ID scheme, // IN: the key exchange scheme - TPM2B_ECC_PARAMETER *dsA, // IN: static private TPM key - TPM2B_ECC_PARAMETER *deA, // IN: ephemeral private TPM key - TPMS_ECC_POINT *QsB, // IN: static public party B key - TPMS_ECC_POINT *QeB // IN: ephemeral public party B key - ); + TPMS_ECC_POINT *outZ1, // OUT: a computed point + TPMS_ECC_POINT *outZ2, // OUT: and optional second point + TPM_ECC_CURVE curveId, // IN: the curve for the computations + TPM_ALG_ID scheme, // IN: the key exchange scheme + TPM2B_ECC_PARAMETER *dsA, // IN: static private TPM key + TPM2B_ECC_PARAMETER *deA, // IN: ephemeral private TPM key + TPMS_ECC_POINT *QsB, // IN: static public party B key + TPMS_ECC_POINT *QeB // IN: ephemeral public party B key + ); LIB_EXPORT CRYPT_RESULT _cpri__EccCommitCompute( - TPMS_ECC_POINT *K, // OUT: [d]B or [r]Q - TPMS_ECC_POINT *L, // OUT: [r]B - TPMS_ECC_POINT *E, // OUT: [r]M - TPM_ECC_CURVE curveId, // IN: the curve for the computations - TPMS_ECC_POINT *M, // IN: M (optional) - TPMS_ECC_POINT *B, // IN: B (optional) - TPM2B_ECC_PARAMETER *d, // IN: d (required) - TPM2B_ECC_PARAMETER *r // IN: the computed r value (required) - ); -LIB_EXPORT UINT32 _cpri__EccGetCurveCount( - void - ); -LIB_EXPORT const ECC_CURVE * _cpri__EccGetParametersByCurveId( - TPM_ECC_CURVE curveId // IN: the curveID - ); + TPMS_ECC_POINT *K, // OUT: [d]B or [r]Q + TPMS_ECC_POINT *L, // OUT: [r]B + TPMS_ECC_POINT *E, // OUT: [r]M + TPM_ECC_CURVE curveId, // IN: the curve for the computations + TPMS_ECC_POINT *M, // IN: M (optional) + TPMS_ECC_POINT *B, // IN: B (optional) + TPM2B_ECC_PARAMETER *d, // IN: d (required) + TPM2B_ECC_PARAMETER *r // IN: the computed r value (required) + ); +LIB_EXPORT UINT32 _cpri__EccGetCurveCount(void); +LIB_EXPORT const ECC_CURVE *_cpri__EccGetParametersByCurveId( + TPM_ECC_CURVE curveId // IN: the curveID + ); LIB_EXPORT CRYPT_RESULT _cpri__EccPointMultiply( - TPMS_ECC_POINT *Rout, // OUT: the product point R - TPM_ECC_CURVE curveId, // IN: the curve to use - TPM2B_ECC_PARAMETER *dIn, // IN: value to multiply against the - // curve generator - TPMS_ECC_POINT *Qin, // IN: point Q - TPM2B_ECC_PARAMETER *uIn // IN: scalar value for the multiplier - // of Q - ); -LIB_EXPORT BOOL _cpri__EccIsPointOnCurve( - TPM_ECC_CURVE curveId, // IN: the curve selector - TPMS_ECC_POINT *Q // IN: the point. - ); + TPMS_ECC_POINT *Rout, // OUT: the product point R + TPM_ECC_CURVE curveId, // IN: the curve to use + TPM2B_ECC_PARAMETER * + dIn, // IN: value to multiply against the curve generator + TPMS_ECC_POINT *Qin, // IN: point Q + TPM2B_ECC_PARAMETER *uIn // IN: scalar value for the multiplier of Q + ); +LIB_EXPORT BOOL +_cpri__EccIsPointOnCurve(TPM_ECC_CURVE curveId, // IN: the curve selector + TPMS_ECC_POINT *Q // IN: the point. + ); LIB_EXPORT CRYPT_RESULT _cpri__GenerateKeyEcc( - TPMS_ECC_POINT *Qout, // OUT: the public point - TPM2B_ECC_PARAMETER *dOut, // OUT: the private scalar - TPM_ECC_CURVE curveId, // IN: the curve identifier - TPM_ALG_ID hashAlg, // IN: hash algorithm to use in the key - // generation process - TPM2B *seed, // IN: the seed to use - const char *label, // IN: A label for the generation - // process. - TPM2B *extra, // IN: Party 1 data for the KDF - UINT32 *counter // IN/OUT: Counter value to allow KDF - // iteration to be propagated across - // multiple functions - ); -LIB_EXPORT TPM_ECC_CURVE _cpri__GetCurveIdByIndex( - UINT16 i -); -LIB_EXPORT CRYPT_RESULT _cpri__GetEphemeralEcc( - TPMS_ECC_POINT *Qout, // OUT: the public point - TPM2B_ECC_PARAMETER *dOut, // OUT: the private scalar - TPM_ECC_CURVE curveId // IN: the curve for the key - ); + TPMS_ECC_POINT *Qout, // OUT: the public point + TPM2B_ECC_PARAMETER *dOut, // OUT: the private scalar + TPM_ECC_CURVE curveId, // IN: the curve identifier + TPM_ALG_ID + hashAlg, // IN: hash algorithm to use in the key generation process + TPM2B *seed, // IN: the seed to use + const char *label, // IN: A label for the generation process. + TPM2B *extra, // IN: Party 1 data for the KDF + UINT32 *counter // IN/OUT: Counter value to allow KDF iteration to be + // propagated across multiple functions + ); +LIB_EXPORT TPM_ECC_CURVE _cpri__GetCurveIdByIndex(UINT16 i); +LIB_EXPORT CRYPT_RESULT +_cpri__GetEphemeralEcc(TPMS_ECC_POINT *Qout, // OUT: the public point + TPM2B_ECC_PARAMETER *dOut, // OUT: the private scalar + TPM_ECC_CURVE curveId // IN: the curve for the key + ); LIB_EXPORT CRYPT_RESULT _cpri__SignEcc( - TPM2B_ECC_PARAMETER *rOut, // OUT: r component of the signature - TPM2B_ECC_PARAMETER *sOut, // OUT: s component of the signature - TPM_ALG_ID scheme, // IN: the scheme selector - TPM_ALG_ID hashAlg, // IN: the hash algorithm if need - TPM_ECC_CURVE curveId, // IN: the curve used in the signature - // process - TPM2B_ECC_PARAMETER *dIn, // IN: the private key - TPM2B *digest, // IN: the digest to sign - TPM2B_ECC_PARAMETER *kIn // IN: k for input - ); + TPM2B_ECC_PARAMETER *rOut, // OUT: r component of the signature + TPM2B_ECC_PARAMETER *sOut, // OUT: s component of the signature + TPM_ALG_ID scheme, // IN: the scheme selector + TPM_ALG_ID hashAlg, // IN: the hash algorithm if need + TPM_ECC_CURVE curveId, // IN: the curve used in the signature process + TPM2B_ECC_PARAMETER *dIn, // IN: the private key + TPM2B *digest, // IN: the digest to sign + TPM2B_ECC_PARAMETER *kIn // IN: k for input + ); LIB_EXPORT BOOL _cpri__EccStartup(void); LIB_EXPORT CRYPT_RESULT _cpri__ValidateSignatureEcc( - TPM2B_ECC_PARAMETER *rIn, // IN: r component of the signature - TPM2B_ECC_PARAMETER *sIn, // IN: s component of the signature - TPM_ALG_ID scheme, // IN: the scheme selector - TPM_ALG_ID hashAlg, // IN: the hash algorithm used (not used - // in all schemes) - TPM_ECC_CURVE curveId, // IN: the curve used in the signature - // process - TPMS_ECC_POINT *Qin, // IN: the public point of the key - TPM2B *digest // IN: the digest that was signed - ); + TPM2B_ECC_PARAMETER *rIn, // IN: r component of the signature + TPM2B_ECC_PARAMETER *sIn, // IN: s component of the signature + TPM_ALG_ID scheme, // IN: the scheme selector + TPM_ALG_ID + hashAlg, // IN: the hash algorithm used (not used in all schemes) + TPM_ECC_CURVE curveId, // IN: the curve used in the signature process + TPMS_ECC_POINT *Qin, // IN: the public point of the key + TPM2B *digest // IN: the digest that was signed + ); -#endif // __TPM2_CPRIECC_FP_H +#endif // __TPM2_CPRIECC_FP_H diff --git a/CpriHash_fp.h b/CpriHash_fp.h index 06047a9..8244927 100644 --- a/CpriHash_fp.h +++ b/CpriHash_fp.h @@ -7,102 +7,96 @@ #ifndef __TPM2_CPRIHASH_FP_H #define __TPM2_CPRIHASH_FP_H -LIB_EXPORT UINT16 _cpri__CompleteHash( - CPRI_HASH_STATE *hashState, // IN: the state of hash stack - UINT32 dOutSize, // IN: size of digest buffer - BYTE *dOut // OUT: hash digest -); -LIB_EXPORT UINT16 _cpri__CopyHashState ( - CPRI_HASH_STATE *out, // OUT: destination of the state - CPRI_HASH_STATE *in // IN: source of the state -); -LIB_EXPORT UINT16 _cpri__HashBlock( - TPM_ALG_ID hashAlg, // IN: The hash algorithm - UINT32 dataSize, // IN: size of buffer to hash - BYTE *data, // IN: the buffer to hash - UINT32 digestSize, // IN: size of the digest buffer - BYTE *digest // OUT: hash digest -); +LIB_EXPORT UINT16 +_cpri__CompleteHash(CPRI_HASH_STATE *hashState, // IN: the state of hash stack + UINT32 dOutSize, // IN: size of digest buffer + BYTE *dOut // OUT: hash digest + ); +LIB_EXPORT UINT16 +_cpri__CopyHashState(CPRI_HASH_STATE *out, // OUT: destination of the state + CPRI_HASH_STATE *in // IN: source of the state + ); +LIB_EXPORT UINT16 +_cpri__HashBlock(TPM_ALG_ID hashAlg, // IN: The hash algorithm + UINT32 dataSize, // IN: size of buffer to hash + BYTE *data, // IN: the buffer to hash + UINT32 digestSize, // IN: size of the digest buffer + BYTE *digest // OUT: hash digest + ); LIB_EXPORT BOOL _cpri__HashStartup(void); -LIB_EXPORT UINT16 _cpri__GetDigestSize( - TPM_ALG_ID hashAlg // IN: hash algorithm to look up -); -LIB_EXPORT UINT16 _cpri__GetHashDER( - TPM_ALG_ID hashAlg, // IN: the algorithm to look up - const BYTE **p -); -LIB_EXPORT UINT16 _cpri__KDFa( - TPM_ALG_ID hashAlg, // IN: hash algorithm used in HMAC - TPM2B *key, // IN: HMAC key - const char *label, // IN: a 0-byte terminated label used in KDF - TPM2B *contextU, // IN: context U - TPM2B *contextV, // IN: context V - UINT32 sizeInBits, // IN: size of generated key in bit - BYTE *keyStream, // OUT: key buffer - UINT32 *counterInOut, // IN/OUT: caller may provide the iteration - // counter for incremental operations to - // avoid large intermediate buffers. - BOOL once // IN: TRUE if only one iteration is performed - // FALSE if iteration count determined by - // "sizeInBits" -); LIB_EXPORT UINT16 -_cpri__KDFe( - TPM_ALG_ID hashAlg, // IN: hash algorithm used in HMAC - TPM2B *Z, // IN: Z - const char *label, // IN: a 0 terminated label using in KDF - TPM2B *partyUInfo, // IN: PartyUInfo - TPM2B *partyVInfo, // IN: PartyVInfo - UINT32 sizeInBits, // IN: size of generated key in bit - BYTE *keyStream // OUT: key buffer -); -LIB_EXPORT CRYPT_RESULT _cpri__MGF1( - UINT32 mSize, // IN: length of the mask to be produced - BYTE *mask, // OUT: buffer to receive the mask - TPM_ALG_ID hashAlg, // IN: hash to use - UINT32 sSize, // IN: size of the seed - BYTE *seed // IN: seed size -); -LIB_EXPORT UINT16 _cpri__StartHMAC( - TPM_ALG_ID hashAlg, // IN: the algorithm to use - BOOL sequence, // IN: indicates if the state should be - // saved - CPRI_HASH_STATE *state, // IN/OUT: the state buffer - UINT16 keySize, // IN: the size of the HMAC key - BYTE *key, // IN: the HMAC key - TPM2B *oPadKey // OUT: the key prepared for the oPad round -); -LIB_EXPORT UINT16 _cpri__StartHash( - TPM_ALG_ID hashAlg, // IN: hash algorithm - BOOL sequence, // IN: TRUE if the state should be saved - CPRI_HASH_STATE *hashState // OUT: the state of hash stack. -); +_cpri__GetDigestSize(TPM_ALG_ID hashAlg // IN: hash algorithm to look up + ); +LIB_EXPORT UINT16 +_cpri__GetHashDER(TPM_ALG_ID hashAlg, // IN: the algorithm to look up + const BYTE **p); +LIB_EXPORT UINT16 +_cpri__KDFa(TPM_ALG_ID hashAlg, // IN: hash algorithm used in HMAC + TPM2B *key, // IN: HMAC key + const char *label, // IN: a 0-byte terminated label used in KDF + TPM2B *contextU, // IN: context U + TPM2B *contextV, // IN: context V + UINT32 sizeInBits, // IN: size of generated key in bit + BYTE *keyStream, // OUT: key buffer + UINT32 *counterInOut, // IN/OUT: caller may provide the iteration + // counter for incremental operations to + // avoid large intermediate buffers. + BOOL once // IN: TRUE if only one iteration is performed FALSE if + // iteration count determined by "sizeInBits" + ); +LIB_EXPORT UINT16 +_cpri__KDFe(TPM_ALG_ID hashAlg, // IN: hash algorithm used in HMAC + TPM2B *Z, // IN: Z + const char *label, // IN: a 0 terminated label using in KDF + TPM2B *partyUInfo, // IN: PartyUInfo + TPM2B *partyVInfo, // IN: PartyVInfo + UINT32 sizeInBits, // IN: size of generated key in bit + BYTE *keyStream // OUT: key buffer + ); +LIB_EXPORT CRYPT_RESULT +_cpri__MGF1(UINT32 mSize, // IN: length of the mask to be produced + BYTE *mask, // OUT: buffer to receive the mask + TPM_ALG_ID hashAlg, // IN: hash to use + UINT32 sSize, // IN: size of the seed + BYTE *seed // IN: seed size + ); +LIB_EXPORT UINT16 +_cpri__StartHMAC(TPM_ALG_ID hashAlg, // IN: the algorithm to use + BOOL sequence, // IN: indicates if the state should be saved + CPRI_HASH_STATE *state, // IN/OUT: the state buffer + UINT16 keySize, // IN: the size of the HMAC key + BYTE *key, // IN: the HMAC key + TPM2B *oPadKey // OUT: the key prepared for the oPad round + ); +LIB_EXPORT UINT16 +_cpri__StartHash(TPM_ALG_ID hashAlg, // IN: hash algorithm + BOOL sequence, // IN: TRUE if the state should be saved + CPRI_HASH_STATE *hashState // OUT: the state of hash stack. + ); LIB_EXPORT void _cpri__UpdateHash( - CPRI_HASH_STATE *hashState, // IN: the hash context information - UINT32 dataSize, // IN: the size of data to be added to the - // digest - BYTE *data // IN: data to be hashed -); + CPRI_HASH_STATE *hashState, // IN: the hash context information + UINT32 dataSize, // IN: the size of data to be added to the digest + BYTE *data // IN: data to be hashed + ); -#endif // __TPM2_CPRIHASH_FP_H +#endif // __TPM2_CPRIHASH_FP_H LIB_EXPORT UINT16 _cpri__CompleteHMAC( - CPRI_HASH_STATE *hashState, // IN: the state of hash stack - TPM2B *oPadKey, // IN: the HMAC key in oPad format - UINT32 dOutSize, // IN: size of digest buffer - BYTE *dOut // OUT: hash digest - ); -LIB_EXPORT TPM_ALG_ID _cpri__GetContextAlg( - CPRI_HASH_STATE *hashState // IN: the hash context - ); -LIB_EXPORT TPM_ALG_ID _cpri__GetHashAlgByIndex( - UINT32 index // IN: the index - ); -LIB_EXPORT UINT16 _cpri__GetHashBlockSize( - TPM_ALG_ID hashAlg // IN: hash algorithm to look up - ); + CPRI_HASH_STATE *hashState, // IN: the state of hash stack + TPM2B *oPadKey, // IN: the HMAC key in oPad format + UINT32 dOutSize, // IN: size of digest buffer + BYTE *dOut // OUT: hash digest + ); +LIB_EXPORT TPM_ALG_ID +_cpri__GetContextAlg(CPRI_HASH_STATE *hashState // IN: the hash context + ); +LIB_EXPORT TPM_ALG_ID _cpri__GetHashAlgByIndex(UINT32 index // IN: the index + ); +LIB_EXPORT UINT16 +_cpri__GetHashBlockSize(TPM_ALG_ID hashAlg // IN: hash algorithm to look up + ); LIB_EXPORT void _cpri__ImportExportHashState( - CPRI_HASH_STATE *osslFmt, // IN/OUT: the hash state formated for use - // by openSSL - EXPORT_HASH_STATE *externalFmt, // IN/OUT: the exported hash state - IMPORT_EXPORT direction // - ); + CPRI_HASH_STATE * + osslFmt, // IN/OUT: the hash state formated for use by openSSL + EXPORT_HASH_STATE *externalFmt, // IN/OUT: the exported hash state + IMPORT_EXPORT direction // + ); diff --git a/CpriMisc_fp.h b/CpriMisc_fp.h index 1f7e314..f7eead4 100644 --- a/CpriMisc_fp.h +++ b/CpriMisc_fp.h @@ -7,18 +7,15 @@ #ifndef __TPM2_CPRIMISC_FP_H #define __TPM2_CPRIMISC_FP_H -BIGNUM *BnFrom2B( - BIGNUM *out, // OUT: The BIGNUM - const TPM2B *in // IN: the TPM2B to copy +BIGNUM *BnFrom2B(BIGNUM *out, // OUT: The BIGNUM + const TPM2B *in // IN: the TPM2B to copy ); -BOOL BnTo2B( - TPM2B *outVal, // OUT: place for the result - BIGNUM *inVal, // IN: number to convert - UINT16 size // IN: size of the output. +BOOL BnTo2B(TPM2B *outVal, // OUT: place for the result + BIGNUM *inVal, // IN: number to convert + UINT16 size // IN: size of the output. + ); +void Copy2B(TPM2B *out, // OUT: The TPM2B to receive the copy + TPM2B *in // IN: the TPM2B to copy ); -void Copy2B( - TPM2B *out, // OUT: The TPM2B to receive the copy - TPM2B *in // IN: the TPM2B to copy -); -#endif // __TPM2_CPRIMISC_FP_H +#endif // __TPM2_CPRIMISC_FP_H diff --git a/CpriRNG_fp.h b/CpriRNG_fp.h index 585101f..ca87b37 100644 --- a/CpriRNG_fp.h +++ b/CpriRNG_fp.h @@ -7,28 +7,19 @@ #ifndef __TPM2_CPRIRNG_FP_H #define __TPM2_CPRIRNG_FP_H -LIB_EXPORT CRYPT_RESULT _cpri__DrbgGetPutState( - GET_PUT direction, - int bufferSize, - BYTE *buffer - ); -LIB_EXPORT UINT16 _cpri__GenerateRandom( - INT32 randomSize, - BYTE *buffer - ); +LIB_EXPORT CRYPT_RESULT +_cpri__DrbgGetPutState(GET_PUT direction, int bufferSize, BYTE *buffer); +LIB_EXPORT UINT16 _cpri__GenerateRandom(INT32 randomSize, BYTE *buffer); LIB_EXPORT UINT16 _cpri__GenerateSeededRandom( - INT32 randomSize, // IN: the size of the request - BYTE *random, // OUT: receives the data - TPM_ALG_ID hashAlg, // IN: used by KDF version but not here - TPM2B *seed, // IN: the seed value - const char *label, // IN: a label string (optional) - TPM2B *partyU, // IN: other data (oprtional) - TPM2B *partyV // IN: still more (optional) - ); -LIB_EXPORT CRYPT_RESULT _cpri__StirRandom( - INT32 entropySize, - BYTE *entropy - ); + INT32 randomSize, // IN: the size of the request + BYTE *random, // OUT: receives the data + TPM_ALG_ID hashAlg, // IN: used by KDF version but not here + TPM2B *seed, // IN: the seed value + const char *label, // IN: a label string (optional) + TPM2B *partyU, // IN: other data (oprtional) + TPM2B *partyV // IN: still more (optional) + ); +LIB_EXPORT CRYPT_RESULT _cpri__StirRandom(INT32 entropySize, BYTE *entropy); LIB_EXPORT BOOL _cpri__RngStartup(void); -#endif // __TPM2_CPRIRNG_FP_H +#endif // __TPM2_CPRIRNG_FP_H diff --git a/CpriRSA_fp.h b/CpriRSA_fp.h index a8bb4ca..c066a77 100644 --- a/CpriRSA_fp.h +++ b/CpriRSA_fp.h @@ -8,67 +8,65 @@ #define __TPM2_CPRIRSA_FP_H LIB_EXPORT BOOL _cpri__RsaStartup(void); - -#endif // __TPM2_CPRIRSA_FP_H LIB_EXPORT CRYPT_RESULT _cpri__DecryptRSA( - UINT32 *dOutSize, // OUT: the size of the decrypted data - BYTE *dOut, // OUT: the decrypted data - RSA_KEY *key, // IN: the key to use for decryption - TPM_ALG_ID padType, // IN: the type of padding - UINT32 cInSize, // IN: the amount of data to decrypt - BYTE *cIn, // IN: the data to decrypt - TPM_ALG_ID hashAlg, // IN: in case this is needed for the scheme - const char *label // IN: in case it is needed for the scheme - ); -LIB_EXPORT CRYPT_RESULT _cpri__EncryptRSA( - UINT32 *cOutSize, // OUT: the size of the encrypted data - BYTE *cOut, // OUT: the encrypted data - RSA_KEY *key, // IN: the key to use for encryption - TPM_ALG_ID padType, // IN: the type of padding - UINT32 dInSize, // IN: the amount of data to encrypt - BYTE *dIn, // IN: the data to encrypt - TPM_ALG_ID hashAlg, // IN: in case this is needed - const char *label // IN: in case it is needed - ); + UINT32 *dOutSize, // OUT: the size of the decrypted data + BYTE *dOut, // OUT: the decrypted data + RSA_KEY *key, // IN: the key to use for decryption + TPM_ALG_ID padType, // IN: the type of padding + UINT32 cInSize, // IN: the amount of data to decrypt + BYTE *cIn, // IN: the data to decrypt + TPM_ALG_ID hashAlg, // IN: in case this is needed for the scheme + const char *label // IN: in case it is needed for the scheme + ); +LIB_EXPORT CRYPT_RESULT +_cpri__EncryptRSA(UINT32 *cOutSize, // OUT: the size of the encrypted data + BYTE *cOut, // OUT: the encrypted data + RSA_KEY *key, // IN: the key to use for encryption + TPM_ALG_ID padType, // IN: the type of padding + UINT32 dInSize, // IN: the amount of data to encrypt + BYTE *dIn, // IN: the data to encrypt + TPM_ALG_ID hashAlg, // IN: in case this is needed + const char *label // IN: in case it is needed + ); LIB_EXPORT CRYPT_RESULT _cpri__GenerateKeyRSA( - TPM2B *n, // OUT: The public modulu - TPM2B *p, // OUT: One of the prime factors of n - UINT16 keySizeInBits, // IN: Size of the public modulus in bit - UINT32 e, // IN: The public exponent - TPM_ALG_ID hashAlg, // IN: hash algorithm to use in the key - // generation proce - TPM2B *seed, // IN: the seed to use - const char *label, // IN: A label for the generation process. - TPM2B *extra, // IN: Party 1 data for the KDF - UINT32 *counter // IN/OUT: Counter value to allow KFD iteration - // to be propagated across multiple routine - ); -LIB_EXPORT CRYPT_RESULT _cpri__SignRSA( - UINT32 *sigOutSize, // OUT: size of signature - BYTE *sigOut, // OUT: signature - RSA_KEY *key, // IN: key to use - TPM_ALG_ID scheme, // IN: the scheme to use - TPM_ALG_ID hashAlg, // IN: hash algorithm for PKSC1v1_5 - UINT32 hInSize, // IN: size of digest to be signed - BYTE *hIn // IN: digest buffer - ); + TPM2B *n, // OUT: The public modulu + TPM2B *p, // OUT: One of the prime factors of n + UINT16 keySizeInBits, // IN: Size of the public modulus in bit + UINT32 e, // IN: The public exponent + TPM_ALG_ID + hashAlg, // IN: hash algorithm to use in the key generation proce + TPM2B *seed, // IN: the seed to use + const char *label, // IN: A label for the generation process. + TPM2B *extra, // IN: Party 1 data for the KDF + UINT32 *counter // IN/OUT: Counter value to allow KFD iteration to be + // propagated across multiple routine + ); +LIB_EXPORT CRYPT_RESULT +_cpri__SignRSA(UINT32 *sigOutSize, // OUT: size of signature + BYTE *sigOut, // OUT: signature + RSA_KEY *key, // IN: key to use + TPM_ALG_ID scheme, // IN: the scheme to use + TPM_ALG_ID hashAlg, // IN: hash algorithm for PKSC1v1_5 + UINT32 hInSize, // IN: size of digest to be signed + BYTE *hIn // IN: digest buffer + ); LIB_EXPORT CRYPT_RESULT _cpri__TestKeyRSA( - TPM2B *d, // OUT: the address to receive the private - // exponent - UINT32 exponent, // IN: the public modulu - TPM2B *publicKey, // IN/OUT: an input if only one prime is - // provided. an output if both primes are - // provided - TPM2B *prime1, // IN: a first prime - TPM2B *prime2 // IN: an optional second prime - ); + TPM2B *d, // OUT: the address to receive the private exponent + UINT32 exponent, // IN: the public modulu + TPM2B *publicKey, // IN/OUT: an input if only one prime is provided. an + // output if both primes are provided + TPM2B *prime1, // IN: a first prime + TPM2B *prime2 // IN: an optional second prime + ); LIB_EXPORT CRYPT_RESULT _cpri__ValidateSignatureRSA( - RSA_KEY *key, // IN: key to use - TPM_ALG_ID scheme, // IN: the scheme to use - TPM_ALG_ID hashAlg, // IN: hash algorithm - UINT32 hInSize, // IN: size of digest to be checked - BYTE *hIn, // IN: digest buffer - UINT32 sigInSize, // IN: size of signature - BYTE *sigIn, // IN: signature - UINT16 saltSize // IN: salt size for PSS - ); + RSA_KEY *key, // IN: key to use + TPM_ALG_ID scheme, // IN: the scheme to use + TPM_ALG_ID hashAlg, // IN: hash algorithm + UINT32 hInSize, // IN: size of digest to be checked + BYTE *hIn, // IN: digest buffer + UINT32 sigInSize, // IN: size of signature + BYTE *sigIn, // IN: signature + UINT16 saltSize // IN: salt size for PSS + ); + +#endif // __TPM2_CPRIRSA_FP_H diff --git a/CpriSym_fp.h b/CpriSym_fp.h index 6d4815a..3c1c3e5 100644 --- a/CpriSym_fp.h +++ b/CpriSym_fp.h @@ -8,47 +8,40 @@ #define __TPM2_CPRISYM_FP_H LIB_EXPORT CRYPT_RESULT _cpri__AESDecryptCBC( - BYTE *dOut, // OUT: the decrypted data - UINT32 keySizeInBits, // IN: key size in bit - BYTE *key, // IN: key buffer. The size of this buffer in - // bytes is (keySizeInBits + 7) / 8 - BYTE *iv, // IN/OUT: IV for decryption. The size of this - // buffer is 16 byte - UINT32 dInSize, // IN: data size - BYTE *dIn // IN: data buffer - ); -LIB_EXPORT CRYPT_RESULT _cpri__AESDecryptCFB( - BYTE *dOut, // OUT: the decrypted data - UINT32 keySizeInBits, // IN: key size in bit - BYTE *key, // IN: key buffer. The size of this buffer in - // bytes is (keySizeInBits + 7) / 8 - BYTE *iv, // IN/OUT: IV for decryption. - UINT32 dInSize, // IN: data size - BYTE *dIn // IN: data buffer - ); + BYTE *dOut, // OUT: the decrypted data + UINT32 keySizeInBits, // IN: key size in bit + BYTE *key, // IN: key buffer. The size of this buffer in bytes is + // (keySizeInBits + 7) / 8 + BYTE *iv, // IN/OUT: IV for decryption. The size of this buffer is 16 byte + UINT32 dInSize, // IN: data size + BYTE *dIn // IN: data buffer + ); +LIB_EXPORT CRYPT_RESULT +_cpri__AESDecryptCFB(BYTE *dOut, // OUT: the decrypted data + UINT32 keySizeInBits, // IN: key size in bit + BYTE *key, // IN: key buffer. The size of this buffer in + // bytes is (keySizeInBits + 7) / 8 + BYTE *iv, // IN/OUT: IV for decryption. + UINT32 dInSize, // IN: data size + BYTE *dIn // IN: data buffer + ); // // _cpri__AESDecryptCTR() // // Counter mode decryption uses the same algorithm as encryption. The // _cpri__AESDecryptCTR() function is implemented as a macro call to // _cpri__AESEncryptCTR(). -#define _cpri__AESDecryptCTR(dOut, keySize, key, iv, dInSize, dIn) \ - _cpri__AESEncryptCTR( \ - ((BYTE *)dOut), \ - ((UINT32)keySize), \ - ((BYTE *)key), \ - ((BYTE *)iv), \ - ((UINT32)dInSize), \ - ((BYTE *)dIn) \ - ) -LIB_EXPORT CRYPT_RESULT _cpri__AESDecryptECB( - BYTE *dOut, // OUT: the clear text data - UINT32 keySizeInBits, // IN: key size in bit - BYTE *key, // IN: key buffer. The size of this buffer in - // bytes is (keySizeInBits + 7) / 8 - UINT32 dInSize, // IN: data size - BYTE *dIn // IN: cipher text buffer - ); +#define _cpri__AESDecryptCTR(dOut, keySize, key, iv, dInSize, dIn) \ + _cpri__AESEncryptCTR(((BYTE *)dOut), ((UINT32)keySize), ((BYTE *)key), \ + ((BYTE *)iv), ((UINT32)dInSize), ((BYTE *)dIn)) +LIB_EXPORT CRYPT_RESULT +_cpri__AESDecryptECB(BYTE *dOut, // OUT: the clear text data + UINT32 keySizeInBits, // IN: key size in bit + BYTE *key, // IN: key buffer. The size of this buffer in + // bytes is (keySizeInBits + 7) / 8 + UINT32 dInSize, // IN: data size + BYTE *dIn // IN: cipher text buffer + ); // // _cpri__AESDecryptOFB() @@ -57,15 +50,9 @@ LIB_EXPORT CRYPT_RESULT _cpri__AESDecryptECB( // _cpri__AESDecryptOFB() function is implemented as a macro call to // _cpri__AESEncrytOFB(). // -#define _cpri__AESDecryptOFB(dOut,keySizeInBits, key, iv, dInSize, dIn) \ - _cpri__AESEncryptOFB ( \ - ((BYTE *)dOut), \ - ((UINT32)keySizeInBits), \ - ((BYTE *)key), \ - ((BYTE *)iv), \ - ((UINT32)dInSize), \ - ((BYTE *)dIn) \ - ) +#define _cpri__AESDecryptOFB(dOut, keySizeInBits, key, iv, dInSize, dIn) \ + _cpri__AESEncryptOFB(((BYTE *)dOut), ((UINT32)keySizeInBits), ((BYTE *)key), \ + ((BYTE *)iv), ((UINT32)dInSize), ((BYTE *)dIn)) // // _cpri__SM4DecryptCTR() @@ -74,15 +61,9 @@ LIB_EXPORT CRYPT_RESULT _cpri__AESDecryptECB( // _cpri__SM4DecryptCTR() function is implemented as a macro call to // _cpri__SM4EncryptCTR(). // -#define _cpri__SM4DecryptCTR(dOut, keySize, key, iv, dInSize, dIn) \ - _cpri__SM4EncryptCTR( \ - ((BYTE *)dOut), \ - ((UINT32)keySize), \ - ((BYTE *)key), \ - ((BYTE *)iv), \ - ((UINT32)dInSize), \ - ((BYTE *)dIn) \ - ) +#define _cpri__SM4DecryptCTR(dOut, keySize, key, iv, dInSize, dIn) \ + _cpri__SM4EncryptCTR(((BYTE *)dOut), ((UINT32)keySize), ((BYTE *)key), \ + ((BYTE *)iv), ((UINT32)dInSize), ((BYTE *)dIn)) // // _cpri__SM4DecryptOFB() @@ -91,66 +72,58 @@ LIB_EXPORT CRYPT_RESULT _cpri__AESDecryptECB( // _cpri__SM4DecryptOFB() function is implemented as a macro call to // _cpri__SM4EncrytOFB(). // -#define _cpri__SM4DecryptOFB(dOut,keySizeInBits, key, iv, dInSize, dIn) \ - _cpri__SM4EncryptOFB ( \ - ((BYTE *)dOut), \ - ((UINT32)keySizeInBits), \ - ((BYTE *)key), \ - ((BYTE *)iv), \ - ((UINT32)dInSize), \ - ((BYTE *)dIn) \ - ) +#define _cpri__SM4DecryptOFB(dOut, keySizeInBits, key, iv, dInSize, dIn) \ + _cpri__SM4EncryptOFB(((BYTE *)dOut), ((UINT32)keySizeInBits), ((BYTE *)key), \ + ((BYTE *)iv), ((UINT32)dInSize), ((BYTE *)dIn)) LIB_EXPORT CRYPT_RESULT _cpri__AESEncryptCBC( - BYTE *dOut, // OUT: - UINT32 keySizeInBits, // IN: key size in bit - BYTE *key, // IN: key buffer. The size of this buffer in - // bytes is (keySizeInBits + 7) / 8 - BYTE *iv, // IN/OUT: IV for decryption. - UINT32 dInSize, // IN: data size (is required to be a multiple - // of 16 bytes) - BYTE *dIn // IN: data buffer - ); -LIB_EXPORT CRYPT_RESULT _cpri__AESEncryptCFB( - BYTE *dOut, // OUT: the encrypted - UINT32 keySizeInBits, // IN: key size in bit - BYTE *key, // IN: key buffer. The size of this buffer in - // bytes is (keySizeInBits + 7) / 8 - BYTE *iv, // IN/OUT: IV for decryption. - UINT32 dInSize, // IN: data size - BYTE *dIn // IN: data buffer - ); -LIB_EXPORT CRYPT_RESULT _cpri__AESEncryptCTR( - BYTE *dOut, // OUT: the encrypted data - UINT32 keySizeInBits, // IN: key size in bit - BYTE *key, // IN: key buffer. The size of this buffer in - // bytes is (keySizeInBits + 7) / 8 - BYTE *iv, // IN/OUT: IV for decryption. - UINT32 dInSize, // IN: data size - BYTE *dIn // IN: data buffer - ); -LIB_EXPORT CRYPT_RESULT _cpri__AESEncryptECB( - BYTE *dOut, // OUT: encrypted data - UINT32 keySizeInBits, // IN: key size in bit - BYTE *key, // IN: key buffer. The size of this buffer in - // bytes is (keySizeInBits + 7) / 8 - UINT32 dInSize, // IN: data size - BYTE *dIn // IN: clear text buffer - ); + BYTE *dOut, // OUT: + UINT32 keySizeInBits, // IN: key size in bit + BYTE *key, // IN: key buffer. The size of this buffer in bytes is + // (keySizeInBits + 7) / 8 + BYTE *iv, // IN/OUT: IV for decryption. + UINT32 dInSize, // IN: data size (is required to be a multiple of 16 bytes) + BYTE *dIn // IN: data buffer + ); +LIB_EXPORT CRYPT_RESULT +_cpri__AESEncryptCFB(BYTE *dOut, // OUT: the encrypted + UINT32 keySizeInBits, // IN: key size in bit + BYTE *key, // IN: key buffer. The size of this buffer in + // bytes is (keySizeInBits + 7) / 8 + BYTE *iv, // IN/OUT: IV for decryption. + UINT32 dInSize, // IN: data size + BYTE *dIn // IN: data buffer + ); +LIB_EXPORT CRYPT_RESULT +_cpri__AESEncryptCTR(BYTE *dOut, // OUT: the encrypted data + UINT32 keySizeInBits, // IN: key size in bit + BYTE *key, // IN: key buffer. The size of this buffer in + // bytes is (keySizeInBits + 7) / 8 + BYTE *iv, // IN/OUT: IV for decryption. + UINT32 dInSize, // IN: data size + BYTE *dIn // IN: data buffer + ); +LIB_EXPORT CRYPT_RESULT +_cpri__AESEncryptECB(BYTE *dOut, // OUT: encrypted data + UINT32 keySizeInBits, // IN: key size in bit + BYTE *key, // IN: key buffer. The size of this buffer in + // bytes is (keySizeInBits + 7) / 8 + UINT32 dInSize, // IN: data size + BYTE *dIn // IN: clear text buffer + ); LIB_EXPORT CRYPT_RESULT _cpri__AESEncryptOFB( - BYTE *dOut, // OUT: the encrypted/decrypted data - UINT32 keySizeInBits, // IN: key size in bit - BYTE *key, // IN: key buffer. The size of this buffer in - // bytes is (keySizeInBits + 7) / 8 - BYTE *iv, // IN/OUT: IV for decryption. The size of this - // buffer is 16 byte - UINT32 dInSize, // IN: data size - BYTE *dIn // IN: data buffer - ); + BYTE *dOut, // OUT: the encrypted/decrypted data + UINT32 keySizeInBits, // IN: key size in bit + BYTE *key, // IN: key buffer. The size of this buffer in bytes is + // (keySizeInBits + 7) / 8 + BYTE *iv, // IN/OUT: IV for decryption. The size of this buffer is 16 byte + UINT32 dInSize, // IN: data size + BYTE *dIn // IN: data buffer + ); LIB_EXPORT INT16 _cpri__GetSymmetricBlockSize( - TPM_ALG_ID symmetricAlg, // IN: the symmetric algorithm - UINT16 keySizeInBits // IN: the key size - ); + TPM_ALG_ID symmetricAlg, // IN: the symmetric algorithm + UINT16 keySizeInBits // IN: the key size + ); LIB_EXPORT BOOL _cpri__SymStartup(void); -#endif // __TPM2_CPRISYM_FP_H +#endif // __TPM2_CPRISYM_FP_H diff --git a/CreatePrimary_fp.h b/CreatePrimary_fp.h index 5acef7f..2deb830 100644 --- a/CreatePrimary_fp.h +++ b/CreatePrimary_fp.h @@ -8,25 +8,24 @@ #define __TPM2_CREATEPRIMARY_FP_H typedef struct { - TPM2B_PUBLIC inPublic; - TPMI_DH_OBJECT primaryHandle; - TPML_PCR_SELECTION creationPCR; - TPM2B_DATA outsideInfo; - TPM2B_SENSITIVE_CREATE inSensitive; + TPM2B_PUBLIC inPublic; + TPMI_DH_OBJECT primaryHandle; + TPML_PCR_SELECTION creationPCR; + TPM2B_DATA outsideInfo; + TPM2B_SENSITIVE_CREATE inSensitive; } CreatePrimary_In; typedef struct { - TPM2B_PUBLIC outPublic; - TPM2B_CREATION_DATA creationData; - TPM2B_DIGEST creationHash; - TPMT_TK_CREATION creationTicket; - TPMI_DH_OBJECT objectHandle; - TPM2B_NAME name; + TPM2B_PUBLIC outPublic; + TPM2B_CREATION_DATA creationData; + TPM2B_DIGEST creationHash; + TPMT_TK_CREATION creationTicket; + TPMI_DH_OBJECT objectHandle; + TPM2B_NAME name; } CreatePrimary_Out; -TPM_RC TPM2_CreatePrimary( - CreatePrimary_In *in, // IN: input parameter list - CreatePrimary_Out *out // OUT: output parameter list +TPM_RC TPM2_CreatePrimary(CreatePrimary_In *in, // IN: input parameter list + CreatePrimary_Out *out // OUT: output parameter list ); -#endif // __TPM2_CREATEPRIMARY_FP_H +#endif // __TPM2_CREATEPRIMARY_FP_H diff --git a/Create_fp.h b/Create_fp.h index 2243bfb..5b63f22 100644 --- a/Create_fp.h +++ b/Create_fp.h @@ -8,24 +8,23 @@ #define __TPM2_CREATE_FP_H typedef struct { - TPM2B_PUBLIC inPublic; - TPMI_DH_OBJECT parentHandle; - TPML_PCR_SELECTION creationPCR; - TPM2B_DATA outsideInfo; - TPM2B_SENSITIVE_CREATE inSensitive; + TPM2B_PUBLIC inPublic; + TPMI_DH_OBJECT parentHandle; + TPML_PCR_SELECTION creationPCR; + TPM2B_DATA outsideInfo; + TPM2B_SENSITIVE_CREATE inSensitive; } Create_In; typedef struct { - TPM2B_PUBLIC outPublic; - TPM2B_CREATION_DATA creationData; - TPM2B_DIGEST creationHash; - TPMT_TK_CREATION creationTicket; - TPM2B_PRIVATE outPrivate; + TPM2B_PUBLIC outPublic; + TPM2B_CREATION_DATA creationData; + TPM2B_DIGEST creationHash; + TPMT_TK_CREATION creationTicket; + TPM2B_PRIVATE outPrivate; } Create_Out; -TPM_RC TPM2_Create( - Create_In *in, // IN: input parameter list - Create_Out *out // OUT: output parameter list +TPM_RC TPM2_Create(Create_In *in, // IN: input parameter list + Create_Out *out // OUT: output parameter list ); -#endif // __TPM2_CREATE_FP_H +#endif // __TPM2_CREATE_FP_H diff --git a/CryptSelfTest_fp.h b/CryptSelfTest_fp.h index 34c1376..77e8b42 100644 --- a/CryptSelfTest_fp.h +++ b/CryptSelfTest_fp.h @@ -8,18 +8,12 @@ #define __TPM2_CRYPTSELFTEST_FP_H TPM_RC CryptIncrementalSelfTest( - TPML_ALG *toTest, // IN: list of algorithms to be tested - TPML_ALG *toDoList // OUT: list of algorithms needing test - ); -void CryptInitializeToTest( - void -); -TPM_RC CryptSelfTest( - TPMI_YES_NO fullTest // IN: if full test is required - ); -TPM_RC CryptTestAlgorithm( - TPM_ALG_ID alg, - ALGORITHM_VECTOR *toTest -); + TPML_ALG *toTest, // IN: list of algorithms to be tested + TPML_ALG *toDoList // OUT: list of algorithms needing test + ); +void CryptInitializeToTest(void); +TPM_RC CryptSelfTest(TPMI_YES_NO fullTest // IN: if full test is required + ); +TPM_RC CryptTestAlgorithm(TPM_ALG_ID alg, ALGORITHM_VECTOR *toTest); -#endif // __TPM2_CRYPTSELFTEST_FP_H +#endif // __TPM2_CRYPTSELFTEST_FP_H diff --git a/CryptUtil_fp.h b/CryptUtil_fp.h index d2297c6..e2fdd76 100644 --- a/CryptUtil_fp.h +++ b/CryptUtil_fp.h @@ -8,86 +8,78 @@ #define __SOURCE_CRYPTUTIL_FP_H BOOL CryptAreKeySizesConsistent( - TPMT_PUBLIC *publicArea // IN: the public area to check -); + TPMT_PUBLIC *publicArea // IN: the public area to check + ); TPMI_YES_NO CryptCapGetECCCurve( - TPM_ECC_CURVE curveID, // IN: the starting ECC curve - UINT32 maxCount, // IN: count of returned curve - TPML_ECC_CURVE *curveList // OUT: ECC curve list -); -UINT32 CryptCapGetEccCurveNumber( - void - ); + TPM_ECC_CURVE curveID, // IN: the starting ECC curve + UINT32 maxCount, // IN: count of returned curve + TPML_ECC_CURVE *curveList // OUT: ECC curve list + ); +UINT32 CryptCapGetEccCurveNumber(void); UINT16 CryptCommit(void); -LIB_EXPORT int CryptCompare( - const UINT32 aSize, // IN: size of a - const BYTE *a, // IN: a buffer - const UINT32 bSize, // IN: size of b - const BYTE *b // IN: b buffer - ); +LIB_EXPORT int CryptCompare(const UINT32 aSize, // IN: size of a + const BYTE *a, // IN: a buffer + const UINT32 bSize, // IN: size of b + const BYTE *b // IN: b buffer + ); TPM_RC CryptCommitCompute( - TPMS_ECC_POINT *K, // OUT: [d]B - TPMS_ECC_POINT *L, // OUT: [r]B - TPMS_ECC_POINT *E, // OUT: [r]M - TPM_ECC_CURVE curveID, // IN: The curve for the computation - TPMS_ECC_POINT *M, // IN: M (P1) - TPMS_ECC_POINT *B, // IN: B (x2, y2) - TPM2B_ECC_PARAMETER *d, // IN: the private scalar - TPM2B_ECC_PARAMETER *r // IN: the computed r value - ); -int CryptCompareSigned( - UINT32 aSize, // IN: size of a - BYTE *a, // IN: a buffer - UINT32 bSize, // IN: size of b - BYTE *b // IN: b buffer - ); + TPMS_ECC_POINT *K, // OUT: [d]B + TPMS_ECC_POINT *L, // OUT: [r]B + TPMS_ECC_POINT *E, // OUT: [r]M + TPM_ECC_CURVE curveID, // IN: The curve for the computation + TPMS_ECC_POINT *M, // IN: M (P1) + TPMS_ECC_POINT *B, // IN: B (x2, y2) + TPM2B_ECC_PARAMETER *d, // IN: the private scalar + TPM2B_ECC_PARAMETER *r // IN: the computed r value + ); +int CryptCompareSigned(UINT32 aSize, // IN: size of a + BYTE *a, // IN: a buffer + UINT32 bSize, // IN: size of b + BYTE *b // IN: b buffer + ); void CryptComputeSymmetricUnique( - TPMI_ALG_HASH nameAlg, // IN: object name algorithm - TPMT_SENSITIVE *sensitive, // IN: sensitive area - TPM2B_DIGEST *unique // OUT: unique buffer - ); -LIB_EXPORT UINT16 CryptCompleteHMAC2B( - HMAC_STATE *hmacState, // IN: the state of HMAC stack - TPM2B *digest // OUT: HMAC - ); -LIB_EXPORT UINT16 CryptCompleteHash( - void *state, // IN: the state of hash stack - UINT16 digestSize, // IN: size of digest buffer - BYTE *digest // OUT: hash digest - ); + TPMI_ALG_HASH nameAlg, // IN: object name algorithm + TPMT_SENSITIVE *sensitive, // IN: sensitive area + TPM2B_DIGEST *unique // OUT: unique buffer + ); +LIB_EXPORT UINT16 +CryptCompleteHMAC2B(HMAC_STATE *hmacState, // IN: the state of HMAC stack + TPM2B *digest // OUT: HMAC + ); +LIB_EXPORT UINT16 +CryptCompleteHash(void *state, // IN: the state of hash stack + UINT16 digestSize, // IN: size of digest buffer + BYTE *digest // OUT: hash digest + ); UINT16 CryptCompleteHash2B( - void *state, // IN: the state of hash stack - TPM2B *digest // IN: the size of the buffer Out: requested - // number of byte -); + void *state, // IN: the state of hash stack + TPM2B *digest // IN: the size of the buffer Out: requested number of byte + ); TPM_RC CryptCreateObject( - TPM_HANDLE parentHandle, // IN/OUT: indication of the seed - // source - TPMT_PUBLIC *publicArea, // IN/OUT: public area - TPMS_SENSITIVE_CREATE *sensitiveCreate, // IN: sensitive creation - TPMT_SENSITIVE *sensitive // OUT: sensitive area -); -void CryptDrbgGetPutState( - GET_PUT direction // IN: Get from or put to DRBG -); + TPM_HANDLE parentHandle, // IN/OUT: indication of the seed source + TPMT_PUBLIC *publicArea, // IN/OUT: public area + TPMS_SENSITIVE_CREATE *sensitiveCreate, // IN: sensitive creation + TPMT_SENSITIVE *sensitive // OUT: sensitive area + ); +void CryptDrbgGetPutState(GET_PUT direction // IN: Get from or put to DRBG + ); TPM_RC CryptDecryptRSA( - UINT16 *dataOutSize, // OUT: size of plain text in byte - BYTE *dataOut, // OUT: plain text - OBJECT *rsaKey, // IN: internal RSA key - TPMT_RSA_DECRYPT *scheme, // IN: selects the padding scheme - UINT16 cipherInSize, // IN: size of cipher text in byte - BYTE *cipherIn, // IN: cipher text - const char *label // IN: a label, when needed -); + UINT16 *dataOutSize, // OUT: size of plain text in byte + BYTE *dataOut, // OUT: plain text + OBJECT *rsaKey, // IN: internal RSA key + TPMT_RSA_DECRYPT *scheme, // IN: selects the padding scheme + UINT16 cipherInSize, // IN: size of cipher text in byte + BYTE *cipherIn, // IN: cipher text + const char *label // IN: a label, when needed + ); TPM_RC CryptDivide( - TPM2B *numerator, // IN: numerator - TPM2B *denominator, // IN: denominator - TPM2B *quotient, // OUT: quotient = numerator / denominator. - TPM2B *remainder // OUT: numerator mod denominator. - ); -void CryptDrbgGetPutState( - GET_PUT direction // IN: Get from or put to DRBG -); + TPM2B *numerator, // IN: numerator + TPM2B *denominator, // IN: denominator + TPM2B *quotient, // OUT: quotient = numerator / denominator. + TPM2B *remainder // OUT: numerator mod denominator. + ); +void CryptDrbgGetPutState(GET_PUT direction // IN: Get from or put to DRBG + ); // // // 10.2.6.3 CryptEccGetKeySizeBytes() @@ -95,99 +87,90 @@ void CryptDrbgGetPutState( // This macro returns the size of the ECC key in bytes. It uses // CryptEccGetKeySizeInBits(). // -#define CryptEccGetKeySizeInBytes(curve) \ - ((CryptEccGetKeySizeInBits(curve)+7)/8) +#define CryptEccGetKeySizeInBytes(curve) \ + ((CryptEccGetKeySizeInBits(curve) + 7) / 8) TPM_RC CryptEcc2PhaseKeyExchange( - TPMS_ECC_POINT *outZ1, // OUT: the computed point - TPMS_ECC_POINT *outZ2, // OUT: optional second point - TPM_ALG_ID scheme, // IN: the key exchange scheme - TPM_ECC_CURVE curveId, // IN: the curve for the computation - TPM2B_ECC_PARAMETER *dsA, // IN: static private TPM key - TPM2B_ECC_PARAMETER *deA, // IN: ephemeral private TPM key - TPMS_ECC_POINT *QsB, // IN: static public party B key - TPMS_ECC_POINT *QeB // IN: ephemeral public party B key - ); + TPMS_ECC_POINT *outZ1, // OUT: the computed point + TPMS_ECC_POINT *outZ2, // OUT: optional second point + TPM_ALG_ID scheme, // IN: the key exchange scheme + TPM_ECC_CURVE curveId, // IN: the curve for the computation + TPM2B_ECC_PARAMETER *dsA, // IN: static private TPM key + TPM2B_ECC_PARAMETER *deA, // IN: ephemeral private TPM key + TPMS_ECC_POINT *QsB, // IN: static public party B key + TPMS_ECC_POINT *QeB // IN: ephemeral public party B key + ); TPM_RC CryptEncryptRSA( - UINT16 *cipherOutSize, // OUT: size of cipher text in byte - BYTE *cipherOut, // OUT: cipher text - OBJECT *rsaKey, // IN: internal RSA key - TPMT_RSA_DECRYPT *scheme, // IN: selects the padding scheme - UINT16 dataInSize, // IN: size of plain text in byte - BYTE *dataIn, // IN: plain text - const char *label // IN: an optional label - ); -TPM_ALG_ID CryptGetContextAlg( - void *state // IN: the context to check - ); -LIB_EXPORT TPM_ALG_ID CryptGetHashAlgByIndex( - UINT32 index // IN: the index + UINT16 *cipherOutSize, // OUT: size of cipher text in byte + BYTE *cipherOut, // OUT: cipher text + OBJECT *rsaKey, // IN: internal RSA key + TPMT_RSA_DECRYPT *scheme, // IN: selects the padding scheme + UINT16 dataInSize, // IN: size of plain text in byte + BYTE *dataIn, // IN: plain text + const char *label // IN: an optional label + ); +TPM_ALG_ID CryptGetContextAlg(void *state // IN: the context to check + ); +LIB_EXPORT TPM_ALG_ID CryptGetHashAlgByIndex(UINT32 index // IN: the index ); -LIB_EXPORT UINT16 CryptGetHashDigestSize( - TPM_ALG_ID hashAlg // IN: hash algorithm - ); -LIB_EXPORT const TPM2B * CryptEccGetParameter( - char p, // IN: the parameter selector - TPM_ECC_CURVE curveId // IN: the curve id - ); +LIB_EXPORT UINT16 +CryptGetHashDigestSize(TPM_ALG_ID hashAlg // IN: hash algorithm + ); +LIB_EXPORT const TPM2B *CryptEccGetParameter( + char p, // IN: the parameter selector + TPM_ECC_CURVE curveId // IN: the curve id + ); BOOL CryptEccGetParameters( - TPM_ECC_CURVE curveId, // IN: ECC curve ID - TPMS_ALGORITHM_DETAIL_ECC *parameters // OUT: ECC parameter - ); -TPM_RC CryptEccPointMultiply( - TPMS_ECC_POINT *pOut, // OUT: output point - TPM_ECC_CURVE curveId, // IN: curve selector - TPM2B_ECC_PARAMETER *dIn, // IN: public scalar - TPMS_ECC_POINT *pIn // IN: optional point + TPM_ECC_CURVE curveId, // IN: ECC curve ID + TPMS_ALGORITHM_DETAIL_ECC *parameters // OUT: ECC parameter + ); +TPM_RC CryptEccPointMultiply(TPMS_ECC_POINT *pOut, // OUT: output point + TPM_ECC_CURVE curveId, // IN: curve selector + TPM2B_ECC_PARAMETER *dIn, // IN: public scalar + TPMS_ECC_POINT *pIn // IN: optional point ); -BOOL CryptEccIsPointOnCurve( - TPM_ECC_CURVE curveID, // IN: ECC curve ID - TPMS_ECC_POINT *Q // IN: ECC point +BOOL CryptEccIsPointOnCurve(TPM_ECC_CURVE curveID, // IN: ECC curve ID + TPMS_ECC_POINT *Q // IN: ECC point ); -void CryptEndCommit( - UINT16 c // IN: the counter value of the commitment - ); +void CryptEndCommit(UINT16 c // IN: the counter value of the commitment + ); BOOL CryptGenerateR( - TPM2B_ECC_PARAMETER *r, // OUT: the generated random value - UINT16 *c, // IN/OUT: count value. - TPMI_ECC_CURVE curveID, // IN: the curve for the value - TPM2B_NAME *name // IN: optional name of a key to - // associate with 'r' -); -UINT16 CryptGenerateRandom( - UINT16 randomSize, // IN: size of random number - BYTE *buffer // OUT: buffer of random number -); + TPM2B_ECC_PARAMETER *r, // OUT: the generated random value + UINT16 *c, // IN/OUT: count value. + TPMI_ECC_CURVE curveID, // IN: the curve for the value + TPM2B_NAME *name // IN: optional name of a key to associate with 'r' + ); +UINT16 CryptGenerateRandom(UINT16 randomSize, // IN: size of random number + BYTE *buffer // OUT: buffer of random number + ); void CryptGenerateNewSymmetric( - TPMS_SENSITIVE_CREATE *sensitiveCreate, // IN: sensitive creation data - TPMT_SENSITIVE *sensitive, // OUT: sensitive area - TPM_ALG_ID hashAlg, // IN: hash algorithm for the KDF - TPM2B_SEED *seed, // IN: seed used in creation - TPM2B_NAME *name // IN: name of the object - ); -const TPMT_ECC_SCHEME * CryptGetCurveSignScheme( - TPM_ECC_CURVE curveId // IN: The curve selector -); -LIB_EXPORT UINT16 CryptGetHashDigestSize( - TPM_ALG_ID hashAlg // IN: hash algorithm - ); -TPMI_ALG_HASH CryptGetSignHashAlg( - TPMT_SIGNATURE *auth // IN: signature - ); + TPMS_SENSITIVE_CREATE *sensitiveCreate, // IN: sensitive creation data + TPMT_SENSITIVE *sensitive, // OUT: sensitive area + TPM_ALG_ID hashAlg, // IN: hash algorithm for the KDF + TPM2B_SEED *seed, // IN: seed used in creation + TPM2B_NAME *name // IN: name of the object + ); +const TPMT_ECC_SCHEME *CryptGetCurveSignScheme( + TPM_ECC_CURVE curveId // IN: The curve selector + ); +LIB_EXPORT UINT16 +CryptGetHashDigestSize(TPM_ALG_ID hashAlg // IN: hash algorithm + ); +TPMI_ALG_HASH CryptGetSignHashAlg(TPMT_SIGNATURE *auth // IN: signature + ); INT16 CryptGetSymmetricBlockSize( - TPMI_ALG_SYM algorithm, // IN: symmetric algorithm - UINT16 keySize // IN: key size in bit - ); -TPM_RC CryptGetTestResult( - TPM2B_MAX_BUFFER *outData // OUT: test result data -); -LIB_EXPORT UINT16 CryptHashBlock( - TPM_ALG_ID algId, // IN: the hash algorithm to use - UINT16 blockSize, // IN: size of the data block - BYTE *block, // IN: address of the block to hash - UINT16 retSize, // IN: size of the return buffer - BYTE *ret // OUT: address of the buffer - ); + TPMI_ALG_SYM algorithm, // IN: symmetric algorithm + UINT16 keySize // IN: key size in bit + ); +TPM_RC CryptGetTestResult(TPM2B_MAX_BUFFER *outData // OUT: test result data + ); +LIB_EXPORT UINT16 +CryptHashBlock(TPM_ALG_ID algId, // IN: the hash algorithm to use + UINT16 blockSize, // IN: size of the data block + BYTE *block, // IN: address of the block to hash + UINT16 retSize, // IN: size of the return buffer + BYTE *ret // OUT: address of the buffer + ); // // // @@ -199,20 +182,12 @@ LIB_EXPORT UINT16 CryptHashBlock( // once to FALSE so that KDFa() will iterate as many times as necessary to // generate sizeInBits number of bits. // -#define CryptKDFa(hashAlg, key, label, contextU, contextV, \ - sizeInBits, keyStream, counterInOut) \ - TEST_HASH(hashAlg); \ - _cpri__KDFa( \ - ((TPM_ALG_ID)hashAlg), \ - ((TPM2B *)key), \ - ((const char *)label), \ - ((TPM2B *)contextU), \ - ((TPM2B *)contextV), \ - ((UINT32)sizeInBits), \ - ((BYTE *)keyStream), \ - ((UINT32 *)counterInOut), \ - ((BOOL) FALSE) \ - ) +#define CryptKDFa(hashAlg, key, label, contextU, contextV, sizeInBits, \ + keyStream, counterInOut) \ + TEST_HASH(hashAlg); \ + _cpri__KDFa(((TPM_ALG_ID)hashAlg), ((TPM2B *)key), ((const char *)label), \ + ((TPM2B *)contextU), ((TPM2B *)contextV), ((UINT32)sizeInBits), \ + ((BYTE *)keyStream), ((UINT32 *)counterInOut), ((BOOL)FALSE)) // // @@ -224,20 +199,12 @@ LIB_EXPORT UINT16 CryptHashBlock( // call _cpri__KDFa() with once TRUE so that only one iteration is performed, // regardless of sizeInBits. // -#define CryptKDFaOnce(hashAlg, key, label, contextU, contextV, \ - sizeInBits, keyStream, counterInOut) \ - TEST_HASH(hashAlg); \ - _cpri__KDFa( \ - ((TPM_ALG_ID)hashAlg), \ - ((TPM2B *)key), \ - ((const char *)label), \ - ((TPM2B *)contextU), \ - ((TPM2B *)contextV), \ - ((UINT32)sizeInBits), \ - ((BYTE *)keyStream), \ - ((UINT32 *)counterInOut), \ - ((BOOL) TRUE) \ - ) +#define CryptKDFaOnce(hashAlg, key, label, contextU, contextV, sizeInBits, \ + keyStream, counterInOut) \ + TEST_HASH(hashAlg); \ + _cpri__KDFa(((TPM_ALG_ID)hashAlg), ((TPM2B *)key), ((const char *)label), \ + ((TPM2B *)contextU), ((TPM2B *)contextV), ((UINT32)sizeInBits), \ + ((BYTE *)keyStream), ((UINT32 *)counterInOut), ((BOOL)TRUE)) // // @@ -247,184 +214,157 @@ LIB_EXPORT UINT16 CryptHashBlock( // the TPM specification. In this implementation, this is a macro invocation // of _cpri__KDFe() in the hash module of the CryptoEngine(). // -#define CryptKDFe(hashAlg, Z, label, partyUInfo, partyVInfo, \ - sizeInBits, keyStream) \ - TEST_HASH(hashAlg); \ - _cpri__KDFe( \ - ((TPM_ALG_ID)hashAlg), \ - ((TPM2B *)Z), \ - ((const char *)label), \ - ((TPM2B *)partyUInfo), \ - ((TPM2B *)partyVInfo), \ - ((UINT32)sizeInBits), \ - ((BYTE *)keyStream) \ - ) +#define CryptKDFe(hashAlg, Z, label, partyUInfo, partyVInfo, sizeInBits, \ + keyStream) \ + TEST_HASH(hashAlg); \ + _cpri__KDFe(((TPM_ALG_ID)hashAlg), ((TPM2B *)Z), ((const char *)label), \ + ((TPM2B *)partyUInfo), ((TPM2B *)partyVInfo), \ + ((UINT32)sizeInBits), ((BYTE *)keyStream)) void CryptHashStateImportExport( - HASH_STATE *internalFmt, // IN: state to LIB_EXPORT - HASH_STATE *externalFmt, // OUT: exported state - IMPORT_EXPORT direction - ); -void CryptInitUnits( - void - ); -BOOL CryptIsAsymAlgorithm( - TPM_ALG_ID algID // IN: algorithm ID -); -BOOL CryptIsDecryptScheme( - TPMI_ALG_ASYM_SCHEME scheme - ); + HASH_STATE *internalFmt, // IN: state to LIB_EXPORT + HASH_STATE *externalFmt, // OUT: exported state + IMPORT_EXPORT direction); +void CryptInitUnits(void); +BOOL CryptIsAsymAlgorithm(TPM_ALG_ID algID // IN: algorithm ID + ); +BOOL CryptIsDecryptScheme(TPMI_ALG_ASYM_SCHEME scheme); BOOL CryptIsSchemeAnonymous( - TPM_ALG_ID scheme // IN: the scheme algorithm to test -); -BOOL CryptIsSignScheme( - TPMI_ALG_ASYM_SCHEME scheme - ); -BOOL CryptIsSplitSign( - TPM_ALG_ID scheme // IN: the algorithm selector - ); -TPM_RC CryptNewEccKey( - TPM_ECC_CURVE curveID, // IN: ECC curve - TPMS_ECC_POINT *publicPoint, // OUT: public point - TPM2B_ECC_PARAMETER *sensitive // OUT: private area + TPM_ALG_ID scheme // IN: the scheme algorithm to test + ); +BOOL CryptIsSignScheme(TPMI_ALG_ASYM_SCHEME scheme); +BOOL CryptIsSplitSign(TPM_ALG_ID scheme // IN: the algorithm selector + ); +TPM_RC CryptNewEccKey(TPM_ECC_CURVE curveID, // IN: ECC curve + TPMS_ECC_POINT *publicPoint, // OUT: public point + TPM2B_ECC_PARAMETER *sensitive // OUT: private area ); -BOOL CryptObjectIsPublicConsistent( - TPMT_PUBLIC *publicArea // IN: public area - ); -TPM_RC CryptObjectPublicPrivateMatch( - OBJECT *object // IN: the object to check - ); +BOOL CryptObjectIsPublicConsistent(TPMT_PUBLIC *publicArea // IN: public area + ); +TPM_RC CryptObjectPublicPrivateMatch(OBJECT *object // IN: the object to check + ); TPM_RC CryptParameterDecryption( - TPM_HANDLE handle, // IN: encrypted session handle - TPM2B *nonceCaller, // IN: nonce caller - UINT32 bufferSize, // IN: size of parameter buffer - UINT16 leadingSizeInByte, // IN: the size of the leading size field in - // byte - TPM2B_AUTH *extraKey, // IN: the authValue - BYTE *buffer // IN/OUT: parameter buffer to be decrypted - ); + TPM_HANDLE handle, // IN: encrypted session handle + TPM2B *nonceCaller, // IN: nonce caller + UINT32 bufferSize, // IN: size of parameter buffer + UINT16 + leadingSizeInByte, // IN: the size of the leading size field in byte + TPM2B_AUTH *extraKey, // IN: the authValue + BYTE *buffer // IN/OUT: parameter buffer to be decrypted + ); void CryptParameterEncryption( - TPM_HANDLE handle, // IN: encrypt session handle - TPM2B *nonceCaller, // IN: nonce caller - UINT16 leadingSizeInByte, // IN: the size of the leading size field in - // byte - TPM2B_AUTH *extraKey, // IN: additional key material other than - // session auth - BYTE *buffer // IN/OUT: parameter buffer to be encrypted - ); + TPM_HANDLE handle, // IN: encrypt session handle + TPM2B *nonceCaller, // IN: nonce caller + UINT16 leadingSizeInByte, // IN: the size of the leading size field in byte + TPM2B_AUTH * + extraKey, // IN: additional key material other than session auth + BYTE *buffer // IN/OUT: parameter buffer to be encrypted + ); TPM_RC CryptSecretDecrypt( - TPM_HANDLE tpmKey, // IN: decrypt key - TPM2B_NONCE *nonceCaller, // IN: nonceCaller. It is needed for - // symmetric decryption. For - // asymmetric decryption, this - // parameter is NULL - const char *label, // IN: a null-terminated string as L - TPM2B_ENCRYPTED_SECRET *secret, // IN: input secret - TPM2B_DATA *data // OUT: decrypted secret value -); + TPM_HANDLE tpmKey, // IN: decrypt key + TPM2B_NONCE *nonceCaller, // IN: nonceCaller. It is needed for symmetric + // decryption. For asymmetric decryption, this + // parameter is NULL + const char *label, // IN: a null-terminated string as L + TPM2B_ENCRYPTED_SECRET *secret, // IN: input secret + TPM2B_DATA *data // OUT: decrypted secret value + ); TPM_RC CryptSecretEncrypt( - TPMI_DH_OBJECT keyHandle, // IN: encryption key handle - const char *label, // IN: a null-terminated string as L - TPM2B_DATA *data, // OUT: secret value - TPM2B_ENCRYPTED_SECRET *secret // OUT: secret structure - ); -TPMT_RSA_DECRYPT* CryptSelectRSAScheme( - TPMI_DH_OBJECT rsaHandle, // IN: handle of sign key - TPMT_RSA_DECRYPT *scheme // IN: a sign or decrypt scheme - ); + TPMI_DH_OBJECT keyHandle, // IN: encryption key handle + const char *label, // IN: a null-terminated string as L + TPM2B_DATA *data, // OUT: secret value + TPM2B_ENCRYPTED_SECRET *secret // OUT: secret structure + ); +TPMT_RSA_DECRYPT *CryptSelectRSAScheme( + TPMI_DH_OBJECT rsaHandle, // IN: handle of sign key + TPMT_RSA_DECRYPT *scheme // IN: a sign or decrypt scheme + ); TPM_RC CryptSelectSignScheme( - TPMI_DH_OBJECT signHandle, // IN: handle of signing key - TPMT_SIG_SCHEME *scheme // IN/OUT: signing scheme -); -TPM_RC CryptSign( - TPMI_DH_OBJECT signHandle, // IN: The handle of sign key - TPMT_SIG_SCHEME *signScheme, // IN: sign scheme. - TPM2B_DIGEST *digest, // IN: The digest being signed - TPMT_SIGNATURE *signature // OUT: signature -); -LIB_EXPORT UINT16 CryptStartHMAC2B( - TPMI_ALG_HASH hashAlg, // IN: hash algorithm - TPM2B *key, // IN: HMAC key - HMAC_STATE *hmacState // OUT: the state of HMAC stack. It will be used - // in HMAC update and completion - ); -UINT16 CryptStartHMACSequence2B( - TPMI_ALG_HASH hashAlg, // IN: hash algorithm - TPM2B *key, // IN: HMAC key - HMAC_STATE *hmacState // OUT: the state of HMAC stack. It will be used - // in HMAC update and completion - ); -UINT16 CryptStartHashSequence( - TPMI_ALG_HASH hashAlg, // IN: hash algorithm - HASH_STATE *hashState // OUT: the state of hash stack. It will be used - // in hash update and completion - ); -void CryptStirRandom( - UINT32 entropySize, // IN: size of entropy buffer - BYTE *buffer // IN: entropy buffer - ); -void CryptStopUnits( - void - ); + TPMI_DH_OBJECT signHandle, // IN: handle of signing key + TPMT_SIG_SCHEME *scheme // IN/OUT: signing scheme + ); +TPM_RC CryptSign(TPMI_DH_OBJECT signHandle, // IN: The handle of sign key + TPMT_SIG_SCHEME *signScheme, // IN: sign scheme. + TPM2B_DIGEST *digest, // IN: The digest being signed + TPMT_SIGNATURE *signature // OUT: signature + ); +LIB_EXPORT UINT16 +CryptStartHMAC2B(TPMI_ALG_HASH hashAlg, // IN: hash algorithm + TPM2B *key, // IN: HMAC key + HMAC_STATE *hmacState // OUT: the state of HMAC stack. It will + // be used in HMAC update and completion + ); +UINT16 CryptStartHMACSequence2B(TPMI_ALG_HASH hashAlg, // IN: hash algorithm + TPM2B *key, // IN: HMAC key + HMAC_STATE *hmacState // OUT: the state of HMAC + // stack. It will be used + // in HMAC update and + // completion + ); +UINT16 CryptStartHashSequence(TPMI_ALG_HASH hashAlg, // IN: hash algorithm + HASH_STATE *hashState // OUT: the state of hash + // stack. It will be used + // in hash update and + // completion + ); +void CryptStirRandom(UINT32 entropySize, // IN: size of entropy buffer + BYTE *buffer // IN: entropy buffer + ); +void CryptStopUnits(void); void CryptSymmetricDecrypt( - BYTE *decrypted, - TPM_ALG_ID algorithm, // IN: algorithm for encryption - UINT16 keySizeInBits, // IN: key size in bit - TPMI_ALG_SYM_MODE mode, // IN: symmetric encryption mode - BYTE *key, // IN: encryption key - TPM2B_IV *ivIn, // IN/OUT: IV for next block - UINT32 dataSize, // IN: data size in byte - BYTE *data // IN/OUT: data buffer - ); + BYTE *decrypted, + TPM_ALG_ID algorithm, // IN: algorithm for encryption + UINT16 keySizeInBits, // IN: key size in bit + TPMI_ALG_SYM_MODE mode, // IN: symmetric encryption mode + BYTE *key, // IN: encryption key + TPM2B_IV *ivIn, // IN/OUT: IV for next block + UINT32 dataSize, // IN: data size in byte + BYTE *data // IN/OUT: data buffer + ); void CryptSymmetricEncrypt( - BYTE *encrypted, // OUT: the encrypted data - TPM_ALG_ID algorithm, // IN: algorithm for encryption - UINT16 keySizeInBits, // IN: key size in bit - TPMI_ALG_SYM_MODE mode, // IN: symmetric encryption mode - BYTE *key, // IN: encryption key - TPM2B_IV *ivIn, // IN/OUT: Input IV and output chaining - // value for the next block - UINT32 dataSize, // IN: data size in byte - BYTE *data // IN/OUT: data buffer - ); -UINT16 CryptStartHash( - TPMI_ALG_HASH hashAlg, // IN: hash algorithm - HASH_STATE *hashState // OUT: the state of hash stack. It will be used - // in hash update and completion -); -void CryptUpdateDigest( - void *digestState, // IN: the state of hash stack - UINT32 dataSize, // IN: the size of data - BYTE *data // IN: data to be hashed -); -LIB_EXPORT void CryptUpdateDigest2B( - void *digestState, // IN: the digest state - TPM2B *bIn // IN: 2B containing the data + BYTE *encrypted, // OUT: the encrypted data + TPM_ALG_ID algorithm, // IN: algorithm for encryption + UINT16 keySizeInBits, // IN: key size in bit + TPMI_ALG_SYM_MODE mode, // IN: symmetric encryption mode + BYTE *key, // IN: encryption key + TPM2B_IV *ivIn, // IN/OUT: Input IV and output chaining value for the + // next block + UINT32 dataSize, // IN: data size in byte + BYTE *data // IN/OUT: data buffer + ); +UINT16 CryptStartHash(TPMI_ALG_HASH hashAlg, // IN: hash algorithm + HASH_STATE *hashState // OUT: the state of hash stack. It + // will be used in hash update and + // completion + ); +void CryptUpdateDigest(void *digestState, // IN: the state of hash stack + UINT32 dataSize, // IN: the size of data + BYTE *data // IN: data to be hashed + ); +LIB_EXPORT void CryptUpdateDigest2B(void *digestState, // IN: the digest state + TPM2B *bIn // IN: 2B containing the data ); -void CryptUpdateDigestInt( - void *state, // IN: the state of hash stack - UINT32 intSize, // IN: the size of 'intValue' in byte - void *intValue // IN: integer value to be hashed +void CryptUpdateDigestInt(void *state, // IN: the state of hash stack + UINT32 intSize, // IN: the size of 'intValue' in byte + void *intValue // IN: integer value to be hashed ); -BOOL CryptUtilStartup( - STARTUP_TYPE type // IN: the startup type - ); +BOOL CryptUtilStartup(STARTUP_TYPE type // IN: the startup type + ); TPM_RC CryptVerifySignature( - TPMI_DH_OBJECT keyHandle, // IN: The handle of sign key - TPM2B_DIGEST *digest, // IN: The digest being validated - TPMT_SIGNATURE *signature // IN: signature - ); -void KDFa( - TPM_ALG_ID hash, // IN: hash algorithm used in HMAC - TPM2B *key, // IN: HMAC key - const char *label, // IN: a null-terminated label for KDF - TPM2B *contextU, // IN: context U - TPM2B *contextV, // IN: context V - UINT32 sizeInBits, // IN: size of generated key in bit - BYTE *keyStream, // OUT: key buffer - UINT32 *counterInOut // IN/OUT: caller may provide the iteration - // counter for incremental operations to - // avoid large intermediate buffers. -); + TPMI_DH_OBJECT keyHandle, // IN: The handle of sign key + TPM2B_DIGEST *digest, // IN: The digest being validated + TPMT_SIGNATURE *signature // IN: signature + ); +void KDFa(TPM_ALG_ID hash, // IN: hash algorithm used in HMAC + TPM2B *key, // IN: HMAC key + const char *label, // IN: a null-terminated label for KDF + TPM2B *contextU, // IN: context U + TPM2B *contextV, // IN: context V + UINT32 sizeInBits, // IN: size of generated key in bit + BYTE *keyStream, // OUT: key buffer + UINT32 *counterInOut // IN/OUT: caller may provide the iteration + // counter for incremental operations to avoid + // large intermediate buffers. + ); -#endif // __SOURCE_CRYPTUTIL_FP_H +#endif // __SOURCE_CRYPTUTIL_FP_H @@ -7,17 +7,11 @@ #ifndef __TPM2_DA_FP_H #define __TPM2_DA_FP_H -void DAPreInstall_Init( - void -); -void DARegisterFailure( - TPM_HANDLE handle // IN: handle for failure - ); -void DASelfHeal( - void - ); -void DAStartup( - STARTUP_TYPE type // IN: startup type - ); +void DAPreInstall_Init(void); +void DARegisterFailure(TPM_HANDLE handle // IN: handle for failure + ); +void DASelfHeal(void); +void DAStartup(STARTUP_TYPE type // IN: startup type + ); -#endif // __TPM2_DA_FP_H +#endif // __TPM2_DA_FP_H diff --git a/DictionaryAttackLockReset_fp.h b/DictionaryAttackLockReset_fp.h index 6d9cd6e..e57a0a9 100644 --- a/DictionaryAttackLockReset_fp.h +++ b/DictionaryAttackLockReset_fp.h @@ -7,6 +7,10 @@ #ifndef __TPM2_DICTIONARYATTACKLOCKRESET_FP_H #define __TPM2_DICTIONARYATTACKLOCKRESET_FP_H -typedef void DictionaryAttackLockReset_In; // Unused. +typedef void DictionaryAttackLockReset_In; // Unused. -#endif // __TPM2_DICTIONARYATTACKLOCKRESET_FP_H +TPM_RC TPM2_DictionaryAttackLockReset( + DictionaryAttackLockReset_In *in // IN: input parameter list + ); + +#endif // __TPM2_DICTIONARYATTACKLOCKRESET_FP_H diff --git a/DictionaryAttackParameters_fp.h b/DictionaryAttackParameters_fp.h index 542464e..42fda9a 100644 --- a/DictionaryAttackParameters_fp.h +++ b/DictionaryAttackParameters_fp.h @@ -8,16 +8,15 @@ #define __TPM2_DICTIONARYATTACKPARAMETERS_FP_H typedef struct { - UINT32 newMaxTries; // number of unexpired authorization - // failures before the TPM is in - // lockout - UINT32 newRecoveryTime;// time between authorization failures - // before failedTries is decremented - UINT32 lockoutRecovery;// time that must expire between + UINT32 newMaxTries; // number of unexpired authorization failures before the + // TPM is in lockout + UINT32 newRecoveryTime; // time between authorization failures before + // failedTries is decremented + UINT32 lockoutRecovery; // time that must expire between } DictionaryAttackParameters_In; TPM_RC TPM2_DictionaryAttackParameters( - DictionaryAttackParameters_In *in // IN: input parameter list -); + DictionaryAttackParameters_In *in // IN: input parameter list + ); -#endif // __TPM2_DICTIONARYATTACKPARAMETERS_FP_H +#endif // __TPM2_DICTIONARYATTACKPARAMETERS_FP_H diff --git a/Duplicate_fp.h b/Duplicate_fp.h index 8ad8fb8..4fc6b2f 100644 --- a/Duplicate_fp.h +++ b/Duplicate_fp.h @@ -7,21 +7,20 @@ #ifndef __TPM2_DUPLICATE_FP_H #define __TPM2_DUPLICATE_FP_H typedef struct { - TPMI_DH_OBJECT objectHandle; - TPMI_DH_OBJECT newParentHandle; - TPMT_SYM_DEF_OBJECT symmetricAlg; - TPM2B_DATA encryptionKeyIn; + TPMI_DH_OBJECT objectHandle; + TPMI_DH_OBJECT newParentHandle; + TPMT_SYM_DEF_OBJECT symmetricAlg; + TPM2B_DATA encryptionKeyIn; } Duplicate_In; typedef struct { - TPM2B_PRIVATE duplicate; - TPM2B_ENCRYPTED_SECRET outSymSeed; - TPM2B_DATA encryptionKeyOut; + TPM2B_PRIVATE duplicate; + TPM2B_ENCRYPTED_SECRET outSymSeed; + TPM2B_DATA encryptionKeyOut; } Duplicate_Out; -TPM_RC TPM2_Duplicate( - Duplicate_In *in, // IN: input parameter list - Duplicate_Out *out // OUT: output parameter list +TPM_RC TPM2_Duplicate(Duplicate_In *in, // IN: input parameter list + Duplicate_Out *out // OUT: output parameter list ); -#endif // __TPM2_DUPLICATE_FP_H +#endif // __TPM2_DUPLICATE_FP_H diff --git a/ECC_Parameters_fp.h b/ECC_Parameters_fp.h index 705ad3f..6a07977 100644 --- a/ECC_Parameters_fp.h +++ b/ECC_Parameters_fp.h @@ -7,17 +7,13 @@ #ifndef __TPM2_ECC_PARAMETERS_FP_H #define __TPM2_ECC_PARAMETERS_FP_H -typedef struct { - TPM_ECC_CURVE curveID; -} ECC_Parameters_In; +typedef struct { TPM_ECC_CURVE curveID; } ECC_Parameters_In; -typedef struct { - TPMS_ALGORITHM_DETAIL_ECC parameters; -} ECC_Parameters_Out; +typedef struct { TPMS_ALGORITHM_DETAIL_ECC parameters; } ECC_Parameters_Out; TPM_RC TPM2_ECC_Parameters( - ECC_Parameters_In *in, // IN: input parameter list - ECC_Parameters_Out *out // OUT: output parameter list - ); + ECC_Parameters_In *in, // IN: input parameter list + ECC_Parameters_Out *out // OUT: output parameter list + ); -#endif // __TPM2_ECC_PARAMETERS_FP_H +#endif // __TPM2_ECC_PARAMETERS_FP_H diff --git a/ECDH_KeyGen_fp.h b/ECDH_KeyGen_fp.h index 5096e91..9a4553d 100644 --- a/ECDH_KeyGen_fp.h +++ b/ECDH_KeyGen_fp.h @@ -7,18 +7,15 @@ #ifndef __TPM2_ECDH_KEYGEN_FP_H #define __TPM2_ECDH_KEYGEN_FP_H -typedef struct { - TPMI_DH_OBJECT keyHandle; -} ECDH_KeyGen_In; +typedef struct { TPMI_DH_OBJECT keyHandle; } ECDH_KeyGen_In; typedef struct { - TPM2B_ECC_POINT pubPoint; - TPM2B_ECC_POINT zPoint; + TPM2B_ECC_POINT pubPoint; + TPM2B_ECC_POINT zPoint; } ECDH_KeyGen_Out; -TPM_RC TPM2_ECDH_KeyGen( - ECDH_KeyGen_In *in, // IN: input parameter list - ECDH_KeyGen_Out *out // OUT: output parameter list +TPM_RC TPM2_ECDH_KeyGen(ECDH_KeyGen_In *in, // IN: input parameter list + ECDH_KeyGen_Out *out // OUT: output parameter list ); -#endif // __TPM2_ECDH_KEYGEN_FP_H +#endif // __TPM2_ECDH_KEYGEN_FP_H diff --git a/ECDH_ZGen_fp.h b/ECDH_ZGen_fp.h index 3670add..4a60c5b 100644 --- a/ECDH_ZGen_fp.h +++ b/ECDH_ZGen_fp.h @@ -8,17 +8,14 @@ #define __TPM2_ECDH_ZGEN_FP_H typedef struct { - TPMI_DH_OBJECT keyHandle; - TPM2B_ECC_POINT inPoint; + TPMI_DH_OBJECT keyHandle; + TPM2B_ECC_POINT inPoint; } ECDH_ZGen_In; -typedef struct { - TPM2B_ECC_POINT outPoint; -} ECDH_ZGen_Out; +typedef struct { TPM2B_ECC_POINT outPoint; } ECDH_ZGen_Out; -TPM_RC TPM2_ECDH_ZGen( - ECDH_ZGen_In *in, // IN: input parameter list - ECDH_ZGen_Out *out // OUT: output parameter list +TPM_RC TPM2_ECDH_ZGen(ECDH_ZGen_In *in, // IN: input parameter list + ECDH_ZGen_Out *out // OUT: output parameter list ); -#endif // __TPM2_ECDH_ZGEN_FP_H +#endif // __TPM2_ECDH_ZGEN_FP_H diff --git a/EC_Ephemeral_fp.h b/EC_Ephemeral_fp.h index b61153c..c30f7d8 100644 --- a/EC_Ephemeral_fp.h +++ b/EC_Ephemeral_fp.h @@ -7,18 +7,15 @@ #ifndef __TPM2_EC_EPHEMERAL_FP_H #define __TPM2_EC_EPHEMERAL_FP_H -typedef struct { - TPM_ECC_CURVE curveID; -} EC_Ephemeral_In; +typedef struct { TPM_ECC_CURVE curveID; } EC_Ephemeral_In; typedef struct { - UINT16 counter; - TPM2B_ECC_POINT Q; + UINT16 counter; + TPM2B_ECC_POINT Q; } EC_Ephemeral_Out; -TPM_RC TPM2_EC_Ephemeral( - EC_Ephemeral_In *in, // IN: input parameter list - EC_Ephemeral_Out *out // OUT: output parameter list +TPM_RC TPM2_EC_Ephemeral(EC_Ephemeral_In *in, // IN: input parameter list + EC_Ephemeral_Out *out // OUT: output parameter list ); -#endif // __TPM2_EC_EPHEMERAL_FP_H +#endif // __TPM2_EC_EPHEMERAL_FP_H diff --git a/EncryptDecrypt_fp.h b/EncryptDecrypt_fp.h index 9f9b7d0..0407b0e 100644 --- a/EncryptDecrypt_fp.h +++ b/EncryptDecrypt_fp.h @@ -8,21 +8,21 @@ #define __TPM2_ENCRYPTDECRYPT_FP_H typedef struct { - TPMI_DH_OBJECT keyHandle; - TPM_ALG_ID mode; - TPM2B_IV ivIn; - TPM2B_DATA inData; - TPMI_YES_NO decrypt; + TPMI_DH_OBJECT keyHandle; + TPM_ALG_ID mode; + TPM2B_IV ivIn; + TPM2B_DATA inData; + TPMI_YES_NO decrypt; } EncryptDecrypt_In; typedef struct { - TPM2B_IV ivOut; - TPM2B_DATA outData; + TPM2B_IV ivOut; + TPM2B_DATA outData; } EncryptDecrypt_Out; TPM_RC TPM2_EncryptDecrypt( - EncryptDecrypt_In *in, // IN: input parameter list - EncryptDecrypt_Out *out // OUT: output parameter list - ); + EncryptDecrypt_In *in, // IN: input parameter list + EncryptDecrypt_Out *out // OUT: output parameter list + ); -#endif // __TPM2_ENCRYPTDECRYPT_FP_H +#endif // __TPM2_ENCRYPTDECRYPT_FP_H diff --git a/Entity_fp.h b/Entity_fp.h index a180461..76856ea 100644 --- a/Entity_fp.h +++ b/Entity_fp.h @@ -8,23 +8,20 @@ #define __SOURCE_ENTITY_FP_H TPMI_ALG_HASH EntityGetAuthPolicy( - TPMI_DH_ENTITY handle, // IN: handle of entity - TPM2B_DIGEST *authPolicy // OUT: authPolicy of the entity - ); -UINT16 EntityGetAuthValue( - TPMI_DH_ENTITY handle, // IN: handle of entity - AUTH_VALUE *auth // OUT: authValue of the entity - ); + TPMI_DH_ENTITY handle, // IN: handle of entity + TPM2B_DIGEST *authPolicy // OUT: authPolicy of the entity + ); +UINT16 EntityGetAuthValue(TPMI_DH_ENTITY handle, // IN: handle of entity + AUTH_VALUE *auth // OUT: authValue of the entity + ); TPMI_RH_HIERARCHY EntityGetHierarchy( - TPMI_DH_ENTITY handle // IN :handle of entity -); -TPM_RC EntityGetLoadStatus( - TPM_HANDLE *handle, // IN/OUT: handle of the entity - TPM_CC commandCode // IN: the commmandCode - ); -UINT16 EntityGetName( - TPMI_DH_ENTITY handle, // IN: handle of entity - NAME *name // OUT: name of entity - ); + TPMI_DH_ENTITY handle // IN :handle of entity + ); +TPM_RC EntityGetLoadStatus(TPM_HANDLE *handle, // IN/OUT: handle of the entity + TPM_CC commandCode // IN: the commmandCode + ); +UINT16 EntityGetName(TPMI_DH_ENTITY handle, // IN: handle of entity + NAME *name // OUT: name of entity + ); -#endif // __SOURCE_ENTITY_FP_H +#endif // __SOURCE_ENTITY_FP_H diff --git a/EventSequenceComplete_fp.h b/EventSequenceComplete_fp.h index f2f6572..84722b6 100644 --- a/EventSequenceComplete_fp.h +++ b/EventSequenceComplete_fp.h @@ -8,21 +8,21 @@ #define __TPM2_EVENTSEQUENCECOMPLETE_FP_H typedef struct { - TPMI_DH_OBJECT sequenceHandle; - TPMI_DH_PCR pcrHandle; - TPM2B_DATA buffer; + TPMI_DH_OBJECT sequenceHandle; + TPMI_DH_PCR pcrHandle; + TPM2B_DATA buffer; } EventSequenceComplete_In; typedef struct { - struct { - UINT16 count; - TPMT_HA digests[HASH_COUNT]; - } results; + struct { + UINT16 count; + TPMT_HA digests[HASH_COUNT]; + } results; } EventSequenceComplete_Out; TPM_RC TPM2_EventSequenceComplete( - EventSequenceComplete_In *in, // IN: input parameter list - EventSequenceComplete_Out *out // OUT: output parameter list - ); + EventSequenceComplete_In *in, // IN: input parameter list + EventSequenceComplete_Out *out // OUT: output parameter list + ); -#endif // __TPM2_EVENTSEQUENCECOMPLETE_FP_H +#endif // __TPM2_EVENTSEQUENCECOMPLETE_FP_H diff --git a/EvictControl_fp.h b/EvictControl_fp.h index 903ac98..cb320c2 100644 --- a/EvictControl_fp.h +++ b/EvictControl_fp.h @@ -8,13 +8,12 @@ #define __TPM2_EVICTCONTROL_FP_H typedef struct { - TPMI_DH_OBJECT objectHandle; - TPMI_DH_OBJECT persistentHandle; - TPM_RH auth; + TPMI_DH_OBJECT objectHandle; + TPMI_DH_OBJECT persistentHandle; + TPM_RH auth; } EvictControl_In; -TPM_RC TPM2_EvictControl( - EvictControl_In *in // IN: input parameter list +TPM_RC TPM2_EvictControl(EvictControl_In *in // IN: input parameter list ); -#endif // __TPM2_EVICTCONTROL_FP_H +#endif // __TPM2_EVICTCONTROL_FP_H diff --git a/FlushContext_fp.h b/FlushContext_fp.h index 7eff4d6..d76c049 100644 --- a/FlushContext_fp.h +++ b/FlushContext_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_FLUSHCONTEXT_FP_H #define __TPM2_FLUSHCONTEXT_FP_H -typedef struct { - TPMI_DH_OBJECT flushHandle; -} FlushContext_In; +typedef struct { TPMI_DH_OBJECT flushHandle; } FlushContext_In; -TPM_RC TPM2_FlushContext( - FlushContext_In *in // IN: input parameter list -); +TPM_RC TPM2_FlushContext(FlushContext_In *in // IN: input parameter list + ); -#endif // __TPM2_FLUSHCONTEXT_FP_H +#endif // __TPM2_FLUSHCONTEXT_FP_H diff --git a/GetCapability_fp.h b/GetCapability_fp.h index d273d20..38ff4ff 100644 --- a/GetCapability_fp.h +++ b/GetCapability_fp.h @@ -8,19 +8,18 @@ #define __TPM2_GETCAPABILITY_FP_H typedef struct { - TPM_CAP capability; - UINT32 propertyCount; - UINT32 property; + TPM_CAP capability; + UINT32 propertyCount; + UINT32 property; } GetCapability_In; typedef struct { - TPMI_YES_NO moreData; - TPMS_CAPABILITY_DATA capabilityData; + TPMI_YES_NO moreData; + TPMS_CAPABILITY_DATA capabilityData; } GetCapability_Out; -TPM_RC TPM2_GetCapability( - GetCapability_In *in, // IN: input parameter list - GetCapability_Out *out // OUT: output parameter list -); +TPM_RC TPM2_GetCapability(GetCapability_In *in, // IN: input parameter list + GetCapability_Out *out // OUT: output parameter list + ); -#endif // __TPM2_GETCAPABILITY_FP_H +#endif // __TPM2_GETCAPABILITY_FP_H diff --git a/GetCommandAuditDigest_fp.h b/GetCommandAuditDigest_fp.h index 03433cf..7bc8f4c 100644 --- a/GetCommandAuditDigest_fp.h +++ b/GetCommandAuditDigest_fp.h @@ -8,19 +8,19 @@ #define __TPM2_GETCOMMANDAUDITDIGEST_FP_H typedef struct { - TPMI_DH_OBJECT signHandle; - TPMT_SIG_SCHEME inScheme; - TPM2B_DATA qualifyingData; + TPMI_DH_OBJECT signHandle; + TPMT_SIG_SCHEME inScheme; + TPM2B_DATA qualifyingData; } GetCommandAuditDigest_In; typedef struct { - TPM2B_ATTEST auditInfo; - TPMT_SIGNATURE signature; + TPM2B_ATTEST auditInfo; + TPMT_SIGNATURE signature; } GetCommandAuditDigest_Out; TPM_RC TPM2_GetCommandAuditDigest( - GetCommandAuditDigest_In *in, // IN: input parameter list - GetCommandAuditDigest_Out *out // OUT: output parameter list -); + GetCommandAuditDigest_In *in, // IN: input parameter list + GetCommandAuditDigest_Out *out // OUT: output parameter list + ); -#endif // __TPM2_GETCOMMANDAUDITDIGEST_FP_H +#endif // __TPM2_GETCOMMANDAUDITDIGEST_FP_H diff --git a/GetRandom_fp.h b/GetRandom_fp.h index d1d25f4..e2e7bc8 100644 --- a/GetRandom_fp.h +++ b/GetRandom_fp.h @@ -7,17 +7,12 @@ #ifndef __TPM2_GETRANDOM_FP_H #define __TPM2_GETRANDOM_FP_H -typedef struct { - UINT32 bytesRequested; -} GetRandom_In; +typedef struct { UINT32 bytesRequested; } GetRandom_In; -typedef struct { - TPM2B_DATA randomBytes; -} GetRandom_Out; +typedef struct { TPM2B_DATA randomBytes; } GetRandom_Out; -TPM_RC TPM2_GetRandom( - GetRandom_In *in, // IN: input parameter list - GetRandom_Out *out // OUT: output parameter list -); +TPM_RC TPM2_GetRandom(GetRandom_In *in, // IN: input parameter list + GetRandom_Out *out // OUT: output parameter list + ); -#endif // __TPM2_GETRANDOM_FP_H +#endif // __TPM2_GETRANDOM_FP_H diff --git a/GetSessionAuditDigest_fp.h b/GetSessionAuditDigest_fp.h index f59cb43..bd603ac 100644 --- a/GetSessionAuditDigest_fp.h +++ b/GetSessionAuditDigest_fp.h @@ -8,20 +8,20 @@ #define __TPM2_GETSESSIONAUDITDIGEST_FP_H typedef struct { - TPMI_DH_OBJECT signHandle; - TPMT_SIG_SCHEME inScheme; - TPM2B_DATA qualifyingData; - TPM_HANDLE sessionHandle; + TPMI_DH_OBJECT signHandle; + TPMT_SIG_SCHEME inScheme; + TPM2B_DATA qualifyingData; + TPM_HANDLE sessionHandle; } GetSessionAuditDigest_In; typedef struct { - TPM2B_ATTEST auditInfo; - TPMT_SIGNATURE signature; + TPM2B_ATTEST auditInfo; + TPMT_SIGNATURE signature; } GetSessionAuditDigest_Out; TPM_RC TPM2_GetSessionAuditDigest( - GetSessionAuditDigest_In *in, // IN: input parameter list - GetSessionAuditDigest_Out *out // OUT: output parameter list -); + GetSessionAuditDigest_In *in, // IN: input parameter list + GetSessionAuditDigest_Out *out // OUT: output parameter list + ); -#endif // __TPM2_GETSESSIONAUDITDIGEST_FP_H +#endif // __TPM2_GETSESSIONAUDITDIGEST_FP_H diff --git a/GetTestResult_fp.h b/GetTestResult_fp.h index c4ad3df..aaa50bd 100644 --- a/GetTestResult_fp.h +++ b/GetTestResult_fp.h @@ -8,12 +8,11 @@ #define __TPM2_GETTESTRESULT_FP_H typedef struct { - TPM_RC testResult; - TPM2B_MAX_BUFFER outData; + TPM_RC testResult; + TPM2B_MAX_BUFFER outData; } GetTestResult_Out; -TPM_RC TPM2_GetTestResult( - GetTestResult_Out *out // OUT: output parameter list +TPM_RC TPM2_GetTestResult(GetTestResult_Out *out // OUT: output parameter list ); -#endif // __TPM2_GETTESTRESULT_FP_H +#endif // __TPM2_GETTESTRESULT_FP_H diff --git a/GetTime_fp.h b/GetTime_fp.h index b46ad45..dba434e 100644 --- a/GetTime_fp.h +++ b/GetTime_fp.h @@ -8,19 +8,18 @@ #define __TPM2_GETTIME_FP_H typedef struct { - TPMI_DH_OBJECT signHandle; // IN: handle of signing object - TPMT_SIG_SCHEME inScheme; // IN/OUT: scheme to be used for signing - TPM2B_DATA qualifyingData; // IN: qualifying data + TPMI_DH_OBJECT signHandle; // IN: handle of signing object + TPMT_SIG_SCHEME inScheme; // IN/OUT: scheme to be used for signing + TPM2B_DATA qualifyingData; // IN: qualifying data } GetTime_In; typedef struct { - TPM2B_ATTEST timeInfo; - TPMT_SIGNATURE signature; + TPM2B_ATTEST timeInfo; + TPMT_SIGNATURE signature; } GetTime_Out; -TPM_RC TPM2_GetTime( - GetTime_In *in, // IN: input parameter list - GetTime_Out *out // OUT: output parameter list +TPM_RC TPM2_GetTime(GetTime_In *in, // IN: input parameter list + GetTime_Out *out // OUT: output parameter list ); -#endif // __TPM2_GETTIME_FP_H +#endif // __TPM2_GETTIME_FP_H diff --git a/HMAC_Start_fp.h b/HMAC_Start_fp.h index 981b54d..1dbc774 100644 --- a/HMAC_Start_fp.h +++ b/HMAC_Start_fp.h @@ -8,18 +8,15 @@ #define __TPM2_HMAC_START_FP_H typedef struct { - TPM_HANDLE handle; - TPM_ALG_ID hashAlg; - TPM2B_AUTH auth; + TPM_HANDLE handle; + TPM_ALG_ID hashAlg; + TPM2B_AUTH auth; } HMAC_Start_In; -typedef struct { - TPMI_DH_OBJECT sequenceHandle; -} HMAC_Start_Out; +typedef struct { TPMI_DH_OBJECT sequenceHandle; } HMAC_Start_Out; -TPM_RC TPM2_HMAC_Start( - HMAC_Start_In *in, // IN: input parameter list - HMAC_Start_Out *out // OUT: output parameter list +TPM_RC TPM2_HMAC_Start(HMAC_Start_In *in, // IN: input parameter list + HMAC_Start_Out *out // OUT: output parameter list ); -#endif // __TPM2_HMAC_START_FP_H +#endif // __TPM2_HMAC_START_FP_H @@ -8,18 +8,15 @@ #define __TPM2_HMAC_FP_H typedef struct { - TPMI_DH_OBJECT handle; - TPM_ALG_ID hashAlg; - TPM2B_DATA buffer; + TPMI_DH_OBJECT handle; + TPM_ALG_ID hashAlg; + TPM2B_DATA buffer; } HMAC_In; -typedef struct { - TPM2B_AUTH outHMAC; -} HMAC_Out; +typedef struct { TPM2B_AUTH outHMAC; } HMAC_Out; -TPM_RC TPM2_HMAC( - HMAC_In *in, // IN: input parameter list - HMAC_Out *out // OUT: output parameter list +TPM_RC TPM2_HMAC(HMAC_In *in, // IN: input parameter list + HMAC_Out *out // OUT: output parameter list ); -#endif // __TPM2_HMAC_FP_H +#endif // __TPM2_HMAC_FP_H diff --git a/HandleProcess_fp.h b/HandleProcess_fp.h index 0811773..cc04db5 100644 --- a/HandleProcess_fp.h +++ b/HandleProcess_fp.h @@ -5,18 +5,18 @@ // Level 00 Revision 01.16 // October 30, 2014 -#ifndef _HANDLEPROCESS_FP_H_ -#define _HANDLEPROCESS_FP_H_ -TPM_RC -ParseHandleBuffer( - TPM_CC commandCode, // IN: Command being processed - BYTE **handleBufferStart, // IN/OUT: command buffer where handles - // are located. Updated as handles - // are unmarshaled - INT32 *bufferRemainingSize, // IN/OUT: indicates the amount of data - // left in the command buffer. - // Updated as handles are unmarshaled - TPM_HANDLE handles[], // OUT: Array that receives the handles - UINT32 *handleCount // OUT: Receives the count of handles - ); -#endif // _HANDLEPROCESS_FP_H_ +#ifndef _HANDLEPROCESS_FP_H_ +#define _HANDLEPROCESS_FP_H_ + +TPM_RC ParseHandleBuffer( + TPM_CC commandCode, // IN: Command being processed + BYTE **handleBufferStart, // IN/OUT: command buffer where handles are + // located. Updated as handles are unmarshaled + INT32 *bufferRemainingSize, // IN/OUT: indicates the amount of data left + // in the command buffer. Updated as handles + // are unmarshaled + TPM_HANDLE handles[], // OUT: Array that receives the handles + UINT32 *handleCount // OUT: Receives the count of handles + ); + +#endif // _HANDLEPROCESS_FP_H_ diff --git a/Handle_fp.h b/Handle_fp.h index 8d7a27f..550368e 100644 --- a/Handle_fp.h +++ b/Handle_fp.h @@ -7,13 +7,12 @@ #ifndef __TPM2_HANDLE_FP_H #define __TPM2_HANDLE_FP_H -TPM_HT HandleGetType( - TPM_HANDLE handle // IN: a handle to be checked -); +TPM_HT HandleGetType(TPM_HANDLE handle // IN: a handle to be checked + ); TPMI_YES_NO PermanentCapGetHandles( - TPM_HANDLE handle, // IN: start handle - UINT32 count, // IN: count of returned handle - TPML_HANDLE *handleList // OUT: list of handle -); + TPM_HANDLE handle, // IN: start handle + UINT32 count, // IN: count of returned handle + TPML_HANDLE *handleList // OUT: list of handle + ); -#endif // __TPM2_HANDLE_FP_H +#endif // __TPM2_HANDLE_FP_H diff --git a/HashSequenceStart_fp.h b/HashSequenceStart_fp.h index 17ff32b..8e0697c 100644 --- a/HashSequenceStart_fp.h +++ b/HashSequenceStart_fp.h @@ -8,17 +8,15 @@ #define __TPM2_HASHSEQUENCESTART_FP_H typedef struct { - TPMI_ALG_HASH hashAlg; - TPM2B_AUTH auth; + TPMI_ALG_HASH hashAlg; + TPM2B_AUTH auth; } HashSequenceStart_In; -typedef struct { - TPMI_DH_OBJECT sequenceHandle; -} HashSequenceStart_Out; +typedef struct { TPMI_DH_OBJECT sequenceHandle; } HashSequenceStart_Out; TPM_RC TPM2_HashSequenceStart( - HashSequenceStart_In *in, // IN: input parameter list - HashSequenceStart_Out *out // OUT: output parameter list - ); + HashSequenceStart_In *in, // IN: input parameter list + HashSequenceStart_Out *out // OUT: output parameter list + ); -#endif // __TPM2_HASHSEQUENCESTART_FP_H +#endif // __TPM2_HASHSEQUENCESTART_FP_H @@ -8,19 +8,18 @@ #define __TPM2_HASH_FP_H typedef struct { - TPMI_ALG_HASH hashAlg; - TPMI_RH_HIERARCHY hierarchy; - TPM2B_DATA data; + TPMI_ALG_HASH hashAlg; + TPMI_RH_HIERARCHY hierarchy; + TPM2B_DATA data; } Hash_In; typedef struct { - TPM2B_DIGEST outHash; - TPMT_TK_HASHCHECK validation; + TPM2B_DIGEST outHash; + TPMT_TK_HASHCHECK validation; } Hash_Out; -TPM_RC TPM2_Hash( - Hash_In *in, // IN: input parameter list - Hash_Out *out // OUT: output parameter list +TPM_RC TPM2_Hash(Hash_In *in, // IN: input parameter list + Hash_Out *out // OUT: output parameter list ); -#endif // __TPM2_HASH_FP_H +#endif // __TPM2_HASH_FP_H diff --git a/HierarchyChangeAuth_fp.h b/HierarchyChangeAuth_fp.h index 15ee01c..67351e2 100644 --- a/HierarchyChangeAuth_fp.h +++ b/HierarchyChangeAuth_fp.h @@ -8,12 +8,12 @@ #define __TPM2_HIERARCHYCHANGEAUTH_FP_H typedef struct { - TPM_RH authHandle; - TPM2B_AUTH newAuth; + TPM_RH authHandle; + TPM2B_AUTH newAuth; } HierarchyChangeAuth_In; TPM_RC TPM2_HierarchyChangeAuth( - HierarchyChangeAuth_In *in // IN: input parameter list - ); + HierarchyChangeAuth_In *in // IN: input parameter list + ); -#endif // __TPM2_HIERARCHYCHANGEAUTH_FP_H +#endif // __TPM2_HIERARCHYCHANGEAUTH_FP_H diff --git a/HierarchyControl_fp.h b/HierarchyControl_fp.h index 3b55157..735aeb2 100644 --- a/HierarchyControl_fp.h +++ b/HierarchyControl_fp.h @@ -8,13 +8,13 @@ #define __TPM2_HIERARCHYCONTROL_FP_H typedef struct { - TPM_RH enable; - TPM_RH authHandle; - TPMI_YES_NO state; + TPM_RH enable; + TPM_RH authHandle; + TPMI_YES_NO state; } HierarchyControl_In; TPM_RC TPM2_HierarchyControl( - HierarchyControl_In *in // IN: input parameter list - ); + HierarchyControl_In *in // IN: input parameter list + ); -#endif // __TPM2_HIERARCHYCONTROL_FP_H +#endif // __TPM2_HIERARCHYCONTROL_FP_H diff --git a/Hierarchy_fp.h b/Hierarchy_fp.h index 9cc129c..469d0d7 100644 --- a/Hierarchy_fp.h +++ b/Hierarchy_fp.h @@ -8,19 +8,15 @@ #define __TPM2_HIERARCHY_FP_H TPM2B_SEED *HierarchyGetPrimarySeed( - TPMI_RH_HIERARCHY hierarchy // IN: hierarchy -); + TPMI_RH_HIERARCHY hierarchy // IN: hierarchy + ); TPM2B_AUTH *HierarchyGetProof( - TPMI_RH_HIERARCHY hierarchy // IN: hierarchy constant - ); -BOOL HierarchyIsEnabled( - TPMI_RH_HIERARCHY hierarchy // IN: hierarchy + TPMI_RH_HIERARCHY hierarchy // IN: hierarchy constant + ); +BOOL HierarchyIsEnabled(TPMI_RH_HIERARCHY hierarchy // IN: hierarchy ); -void HierarchyPreInstall_Init( - void - ); -void HierarchyStartup( - STARTUP_TYPE type // IN: start up type - ); +void HierarchyPreInstall_Init(void); +void HierarchyStartup(STARTUP_TYPE type // IN: start up type + ); -#endif // __TPM2_HIERARCHY_FP_H +#endif // __TPM2_HIERARCHY_FP_H diff --git a/Import_fp.h b/Import_fp.h index d198396..0ef235c 100644 --- a/Import_fp.h +++ b/Import_fp.h @@ -8,22 +8,19 @@ #define __TPM2_IMPORT_FP_H typedef struct { - TPM2B_PRIVATE duplicate; - TPMI_DH_OBJECT parentHandle; - TPM2B_PUBLIC objectPublic; - TPMT_SYM_DEF_OBJECT symmetricAlg; - TPM2B_DATA encryptionKey; - TPM2B_ENCRYPTED_SECRET inSymSeed; + TPM2B_PRIVATE duplicate; + TPMI_DH_OBJECT parentHandle; + TPM2B_PUBLIC objectPublic; + TPMT_SYM_DEF_OBJECT symmetricAlg; + TPM2B_DATA encryptionKey; + TPM2B_ENCRYPTED_SECRET inSymSeed; } Import_In; -typedef struct { - TPM2B_PRIVATE outPrivate; -} Import_Out; +typedef struct { TPM2B_PRIVATE outPrivate; } Import_Out; -TPM_RC TPM2_Import( - Import_In *in, // IN: input parameter list - Import_Out *out // OUT: output parameter list +TPM_RC TPM2_Import(Import_In *in, // IN: input parameter list + Import_Out *out // OUT: output parameter list ); -#endif // __TPM2_IMPORT_FP_H +#endif // __TPM2_IMPORT_FP_H diff --git a/IncrementalSelfTest_fp.h b/IncrementalSelfTest_fp.h index 2183b5b..186e949 100644 --- a/IncrementalSelfTest_fp.h +++ b/IncrementalSelfTest_fp.h @@ -7,17 +7,13 @@ #ifndef __TPM2_INCREMENTALSELFTEST_FP_H #define __TPM2_INCREMENTALSELFTEST_FP_H -typedef struct { - TPML_ALG toTest; -} IncrementalSelfTest_In; +typedef struct { TPML_ALG toTest; } IncrementalSelfTest_In; -typedef struct { - TPML_ALG toDoList; -} IncrementalSelfTest_Out; +typedef struct { TPML_ALG toDoList; } IncrementalSelfTest_Out; TPM_RC TPM2_IncrementalSelfTest( - IncrementalSelfTest_In *in, // IN: input parameter list - IncrementalSelfTest_Out *out // OUT: output parameter list - ); + IncrementalSelfTest_In *in, // IN: input parameter list + IncrementalSelfTest_Out *out // OUT: output parameter list + ); -#endif // __TPM2_INCREMENTALSELFTEST_FP_H +#endif // __TPM2_INCREMENTALSELFTEST_FP_H diff --git a/LoadExternal_fp.h b/LoadExternal_fp.h index 2301943..2d397c1 100644 --- a/LoadExternal_fp.h +++ b/LoadExternal_fp.h @@ -8,19 +8,18 @@ #define __TPM2_LOADEXTERNAL_FP_H typedef struct { - TPMI_RH_HIERARCHY hierarchy; - TPM2B_PUBLIC inPublic; - TPM2B_SENSITIVE inPrivate; + TPMI_RH_HIERARCHY hierarchy; + TPM2B_PUBLIC inPublic; + TPM2B_SENSITIVE inPrivate; } LoadExternal_In; typedef struct { - TPM2B_NAME name; - TPMI_DH_OBJECT objectHandle; + TPM2B_NAME name; + TPMI_DH_OBJECT objectHandle; } LoadExternal_Out; -TPM_RC TPM2_LoadExternal( - LoadExternal_In *in, // IN: input parameter list - LoadExternal_Out *out // OUT: output parameter list +TPM_RC TPM2_LoadExternal(LoadExternal_In *in, // IN: input parameter list + LoadExternal_Out *out // OUT: output parameter list ); -#endif // __TPM2_LOADEXTERNAL_FP_H +#endif // __TPM2_LOADEXTERNAL_FP_H @@ -8,19 +8,18 @@ #define __TPM2_LOAD_FP_H typedef struct { - TPM2B_PRIVATE inPrivate; - TPM2B_PUBLIC inPublic; - TPM_HANDLE parentHandle; + TPM2B_PRIVATE inPrivate; + TPM2B_PUBLIC inPublic; + TPM_HANDLE parentHandle; } Load_In; typedef struct { - TPM2B_NAME name; - TPMI_DH_OBJECT objectHandle; + TPM2B_NAME name; + TPMI_DH_OBJECT objectHandle; } Load_Out; -TPM_RC TPM2_Load( - Load_In *in, // IN: input parameter list - Load_Out *out // OUT: output parameter list +TPM_RC TPM2_Load(Load_In *in, // IN: input parameter list + Load_Out *out // OUT: output parameter list ); -#endif // __TPM2_LOAD_FP_H +#endif // __TPM2_LOAD_FP_H diff --git a/Locality_fp.h b/Locality_fp.h index 74de9c5..dfadab1 100644 --- a/Locality_fp.h +++ b/Locality_fp.h @@ -7,8 +7,7 @@ #ifndef __TPM2_LOCALITY_FP_H #define __TPM2_LOCALITY_FP_H -TPMA_LOCALITY LocalityGetAttributes( - UINT8 locality // IN: locality value - ); +TPMA_LOCALITY LocalityGetAttributes(UINT8 locality // IN: locality value + ); -#endif // __TPM2_LOCALITY_FP_H +#endif // __TPM2_LOCALITY_FP_H diff --git a/MakeCredential_fp.h b/MakeCredential_fp.h index 487246d..91eb478 100644 --- a/MakeCredential_fp.h +++ b/MakeCredential_fp.h @@ -8,19 +8,19 @@ #define __TPM2_MAKECREDENTIAL_FP_H typedef struct { - TPMI_DH_OBJECT handle; - TPM2B_DIGEST credential; - TPM2B_NAME objectName; + TPMI_DH_OBJECT handle; + TPM2B_DIGEST credential; + TPM2B_NAME objectName; } MakeCredential_In; typedef struct { - TPM2B_ID_OBJECT credentialBlob; - TPM2B_ENCRYPTED_SECRET secret; // OUT: secret structure + TPM2B_ID_OBJECT credentialBlob; + TPM2B_ENCRYPTED_SECRET secret; // OUT: secret structure } MakeCredential_Out; TPM_RC TPM2_MakeCredential( - MakeCredential_In *in, // IN: input parameter list - MakeCredential_Out *out // OUT: output parameter list - ); + MakeCredential_In *in, // IN: input parameter list + MakeCredential_Out *out // OUT: output parameter list + ); -#endif // __TPM2_MAKECREDENTIAL_FP_H +#endif // __TPM2_MAKECREDENTIAL_FP_H diff --git a/Manufacture_fp.h b/Manufacture_fp.h index 7d9f6a1..065ae52 100644 --- a/Manufacture_fp.h +++ b/Manufacture_fp.h @@ -8,8 +8,7 @@ #define __TPM2_MANUFACTURE_FP_H LIB_EXPORT int TPM_Manufacture( - BOOL firstTime // IN: indicates if this is the first call from - // main() - ); + BOOL firstTime // IN: indicates if this is the first call from main() + ); -#endif // __TPM2_MANUFACTURE_FP_H +#endif // __TPM2_MANUFACTURE_FP_H diff --git a/MathFunctions_fp.h b/MathFunctions_fp.h index c83fdfa..0e82ba5 100644 --- a/MathFunctions_fp.h +++ b/MathFunctions_fp.h @@ -7,47 +7,40 @@ #ifndef __TPM2_MATHFUNCTIONS_FP_H #define __TPM2_MATHFUNCTIONS_FP_H -LIB_EXPORT int _math__Comp( - const UINT32 aSize, // IN: size of a - const BYTE *a, // IN: a buffer - const UINT32 bSize, // IN: size of b - const BYTE *b // IN: b buffer - ); -LIB_EXPORT CRYPT_RESULT _math__Div( - const TPM2B *n, // IN: numerator - const TPM2B *d, // IN: denominator - TPM2B *q, // OUT: quotient - TPM2B *r // OUT: remainder +LIB_EXPORT int _math__Comp(const UINT32 aSize, // IN: size of a + const BYTE *a, // IN: a buffer + const UINT32 bSize, // IN: size of b + const BYTE *b // IN: b buffer + ); +LIB_EXPORT CRYPT_RESULT _math__Div(const TPM2B *n, // IN: numerator + const TPM2B *d, // IN: denominator + TPM2B *q, // OUT: quotient + TPM2B *r // OUT: remainder ); -LIB_EXPORT BOOL _math__IsPrime( - const UINT32 prime -); -LIB_EXPORT CRYPT_RESULT _math__ModExp( - UINT32 cSize, // IN: size of the result - BYTE *c, // OUT: results buffer - const UINT32 mSize, // IN: size of number to be exponentiated - const BYTE *m, // IN: number to be exponentiated - const UINT32 eSize, // IN: size of power - const BYTE *e, // IN: power - const UINT32 nSize, // IN: modulus size - const BYTE *n // IN: modulu -); -LIB_EXPORT UINT16 _math__Normalize2B( - TPM2B *b // IN/OUT: number to normalize -); -LIB_EXPORT int _math__sub( - const UINT32 aSize, // IN: size of a - const BYTE *a, // IN: a - const UINT32 bSize, // IN: size of b - const BYTE *b, // IN: b - UINT16 *cSize, // OUT: set to MAX(aSize, bSize) - BYTE *c // OUT: the difference -); -LIB_EXPORT int _math__uComp( - const UINT32 aSize, // IN: size of a - const BYTE *a, // IN: a - const UINT32 bSize, // IN: size of b - const BYTE *b // IN: b +LIB_EXPORT BOOL _math__IsPrime(const UINT32 prime); +LIB_EXPORT CRYPT_RESULT +_math__ModExp(UINT32 cSize, // IN: size of the result + BYTE *c, // OUT: results buffer + const UINT32 mSize, // IN: size of number to be exponentiated + const BYTE *m, // IN: number to be exponentiated + const UINT32 eSize, // IN: size of power + const BYTE *e, // IN: power + const UINT32 nSize, // IN: modulus size + const BYTE *n // IN: modulu + ); +LIB_EXPORT UINT16 _math__Normalize2B(TPM2B *b // IN/OUT: number to normalize + ); +LIB_EXPORT int _math__sub(const UINT32 aSize, // IN: size of a + const BYTE *a, // IN: a + const UINT32 bSize, // IN: size of b + const BYTE *b, // IN: b + UINT16 *cSize, // OUT: set to MAX(aSize, bSize) + BYTE *c // OUT: the difference + ); +LIB_EXPORT int _math__uComp(const UINT32 aSize, // IN: size of a + const BYTE *a, // IN: a + const UINT32 bSize, // IN: size of b + const BYTE *b // IN: b ); -#endif // __TPM2_MATHFUNCTIONS_FP_H +#endif // __TPM2_MATHFUNCTIONS_FP_H diff --git a/MemoryLib_fp.h b/MemoryLib_fp.h index de85708..aee0b54 100644 --- a/MemoryLib_fp.h +++ b/MemoryLib_fp.h @@ -4,47 +4,40 @@ * found in the LICENSE file. */ -#ifndef __MEMORYLIB_FP_H -#define __MEMORYLIB_FP_H +#ifndef __TPM2_MEMORYLIB_FP_H +#define __TPM2_MEMORYLIB_FP_H -BYTE * MemoryGetResponseBuffer( - TPM_CC command // Command that requires the buffer - ); -LIB_EXPORT BOOL Memory2BEqual( - const TPM2B *aIn, // IN: compare value - const TPM2B *bIn // IN: compare value -); -#define MemoryCopy(destination, source, size, destSize) \ - MemoryMove((destination), (source), (size), (destSize)) -LIB_EXPORT INT16 MemoryCopy2B( - TPM2B *dest, // OUT: receiving TPM2B - const TPM2B *source, // IN: source TPM2B - UINT16 dSize // IN: size of the receiving buffer -); -LIB_EXPORT void MemoryMove( - void *destination, // OUT: move destination - const void *source, // IN: move source - UINT32 size, // IN: number of octets to moved - UINT32 dSize // IN: size of the receive buffer +BYTE *MemoryGetResponseBuffer( + TPM_CC command // Command that requires the buffer + ); +LIB_EXPORT BOOL Memory2BEqual(const TPM2B *aIn, // IN: compare value + const TPM2B *bIn // IN: compare value + ); +#define MemoryCopy(destination, source, size, destSize) \ + MemoryMove((destination), (source), (size), (destSize)) +LIB_EXPORT INT16 MemoryCopy2B(TPM2B *dest, // OUT: receiving TPM2B + const TPM2B *source, // IN: source TPM2B + UINT16 dSize // IN: size of the receiving buffer + ); +LIB_EXPORT void MemoryMove(void *destination, // OUT: move destination + const void *source, // IN: move source + UINT32 size, // IN: number of octets to moved + UINT32 dSize // IN: size of the receive buffer ); -UINT16 MemoryRemoveTrailingZeros ( - TPM2B_AUTH *auth // IN/OUT: value to adjust -); -LIB_EXPORT void MemorySet( - void *destination, // OUT: memory destination - char value, // IN: fill value - UINT32 size // IN: number of octets to fill +UINT16 MemoryRemoveTrailingZeros(TPM2B_AUTH *auth // IN/OUT: value to adjust + ); +LIB_EXPORT void MemorySet(void *destination, // OUT: memory destination + char value, // IN: fill value + UINT32 size // IN: number of octets to fill ); - -#endif LIB_EXPORT void MemoryConcat2B( - TPM2B *aInOut, // IN/OUT: destination 2B - TPM2B *bIn, // IN: second 2B - UINT16 aSize // IN: The size of aInOut.buffer (max values for - // aInOut.size) - ); -LIB_EXPORT BOOL MemoryEqual( - const void *buffer1, // IN: compare buffer1 - const void *buffer2, // IN: compare buffer2 - UINT32 size // IN: size of bytes being compared - ); + TPM2B *aInOut, // IN/OUT: destination 2B + TPM2B *bIn, // IN: second 2B + UINT16 aSize // IN: The size of aInOut.buffer (max values for aInOut.size) + ); +LIB_EXPORT BOOL MemoryEqual(const void *buffer1, // IN: compare buffer1 + const void *buffer2, // IN: compare buffer2 + UINT32 size // IN: size of bytes being compared + ); + +#endif // __TPM2_MEMORYLIB_FP_H diff --git a/NV_Certify_fp.h b/NV_Certify_fp.h index 1753ea8..978cbf4 100644 --- a/NV_Certify_fp.h +++ b/NV_Certify_fp.h @@ -7,24 +7,22 @@ #ifndef __TPM2_NV_CERTIFY_FP_H #define __TPM2_NV_CERTIFY_FP_H typedef struct { - TPMI_RH_NV_INDEX nvIndex; - TPM_HANDLE authHandle; - UINT32 offset; - UINT16 size; - TPMI_DH_OBJECT signHandle; - TPMT_SIG_SCHEME inScheme; - TPM2B_DATA qualifyingData; + TPMI_RH_NV_INDEX nvIndex; + TPM_HANDLE authHandle; + UINT32 offset; + UINT16 size; + TPMI_DH_OBJECT signHandle; + TPMT_SIG_SCHEME inScheme; + TPM2B_DATA qualifyingData; } NV_Certify_In; typedef struct { - TPM2B_ATTEST certifyInfo; - TPMT_SIGNATURE signature; + TPM2B_ATTEST certifyInfo; + TPMT_SIGNATURE signature; } NV_Certify_Out; -TPM_RC TPM2_NV_Certify( - NV_Certify_In *in, // IN: input parameter list - NV_Certify_Out *out // OUT: output parameter list +TPM_RC TPM2_NV_Certify(NV_Certify_In *in, // IN: input parameter list + NV_Certify_Out *out // OUT: output parameter list ); -#endif // __TPM2_NV_CERTIFY_FP_H - +#endif // __TPM2_NV_CERTIFY_FP_H diff --git a/NV_ChangeAuth_fp.h b/NV_ChangeAuth_fp.h index 79b2c22..e5085bf 100644 --- a/NV_ChangeAuth_fp.h +++ b/NV_ChangeAuth_fp.h @@ -8,12 +8,10 @@ #define __TPM2_NV_CHANGEAUTH_FP_H typedef struct { - TPMI_RH_NV_INDEX nvIndex; - TPM2B_AUTH newAuth; + TPMI_RH_NV_INDEX nvIndex; + TPM2B_AUTH newAuth; } NV_ChangeAuth_In; -TPM_RC TPM2_NV_ChangeAuth( - NV_ChangeAuth_In *in -); +TPM_RC TPM2_NV_ChangeAuth(NV_ChangeAuth_In *in); -#endif // __TPM2_NV_CHANGEAUTH_FP_H +#endif // __TPM2_NV_CHANGEAUTH_FP_H diff --git a/NV_DefineSpace_fp.h b/NV_DefineSpace_fp.h index 87b6700..49d88df 100644 --- a/NV_DefineSpace_fp.h +++ b/NV_DefineSpace_fp.h @@ -8,13 +8,11 @@ #define __TPM2_NV_DEFINESPACE_FP_H typedef struct { - TPM_RH authHandle; - TPM2B_AUTH auth; - TPMS_NV_PUBLIC publicInfo; + TPM_RH authHandle; + TPM2B_AUTH auth; + TPMS_NV_PUBLIC publicInfo; } NV_DefineSpace_In; -TPM_RC TPM2_NV_DefineSpace( - NV_DefineSpace_In *in -); +TPM_RC TPM2_NV_DefineSpace(NV_DefineSpace_In *in); -#endif // __TPM2_NV_DEFINESPACE_FP_H +#endif // __TPM2_NV_DEFINESPACE_FP_H diff --git a/NV_Extend_fp.h b/NV_Extend_fp.h index c52bbbe..439010b 100644 --- a/NV_Extend_fp.h +++ b/NV_Extend_fp.h @@ -8,13 +8,12 @@ #define __TPM2_NV_EXTEND_FP_H typedef struct { - TPM_HANDLE authHandle; - TPM_HANDLE nvIndex; - TPM2B_DATA data; + TPM_HANDLE authHandle; + TPM_HANDLE nvIndex; + TPM2B_DATA data; } NV_Extend_In; -TPM_RC TPM2_NV_Extend( - NV_Extend_In *in // IN: input parameter list -); +TPM_RC TPM2_NV_Extend(NV_Extend_In *in // IN: input parameter list + ); -#endif // __TPM2_NV_EXTEND_FP_H +#endif // __TPM2_NV_EXTEND_FP_H diff --git a/NV_GlobalWriteLock_fp.h b/NV_GlobalWriteLock_fp.h index ce4942b..050d635 100644 --- a/NV_GlobalWriteLock_fp.h +++ b/NV_GlobalWriteLock_fp.h @@ -10,7 +10,7 @@ typedef void NV_GlobalWriteLock_In; TPM_RC TPM2_NV_GlobalWriteLock( - NV_GlobalWriteLock_In *in // IN: input parameter list -); + NV_GlobalWriteLock_In *in // IN: input parameter list + ); -#endif // __TPM2_NV_GLOBALWRITELOCK_FP_H +#endif // __TPM2_NV_GLOBALWRITELOCK_FP_H diff --git a/NV_Increment_fp.h b/NV_Increment_fp.h index 053f5dd..fe98395 100644 --- a/NV_Increment_fp.h +++ b/NV_Increment_fp.h @@ -8,12 +8,11 @@ #define __TPM2_NV_INCREMENT_FP_H typedef struct { - TPM_HANDLE authHandle; - TPMI_RH_NV_INDEX nvIndex; + TPM_HANDLE authHandle; + TPMI_RH_NV_INDEX nvIndex; } NV_Increment_In; -TPM_RC TPM2_NV_Increment( - NV_Increment_In *in // IN: input parameter list -); +TPM_RC TPM2_NV_Increment(NV_Increment_In *in // IN: input parameter list + ); -#endif // __TPM2_NV_INCREMENT_FP_H +#endif // __TPM2_NV_INCREMENT_FP_H diff --git a/NV_ReadLock_fp.h b/NV_ReadLock_fp.h index ac1285e..4ac0e32 100644 --- a/NV_ReadLock_fp.h +++ b/NV_ReadLock_fp.h @@ -8,12 +8,11 @@ #define __TPM2_NV_READLOCK_FP_H typedef struct { - TPMI_RH_NV_INDEX nvIndex; - TPM_HANDLE authHandle; + TPMI_RH_NV_INDEX nvIndex; + TPM_HANDLE authHandle; } NV_ReadLock_In; -TPM_RC TPM2_NV_ReadLock( - NV_ReadLock_In *in // IN: input parameter list -); +TPM_RC TPM2_NV_ReadLock(NV_ReadLock_In *in // IN: input parameter list + ); -#endif // __TPM2_NV_READLOCK_FP_H +#endif // __TPM2_NV_READLOCK_FP_H diff --git a/NV_ReadPublic_fp.h b/NV_ReadPublic_fp.h index f96fc59..08111fb 100644 --- a/NV_ReadPublic_fp.h +++ b/NV_ReadPublic_fp.h @@ -7,19 +7,15 @@ #ifndef __TPM2_NV_READPUBLIC_FP_H_ #define __TPM2_NV_READPUBLIC_FP_H_ -typedef struct { - TPMI_RH_NV_INDEX nvIndex; -} NV_ReadPublic_In; +typedef struct { TPMI_RH_NV_INDEX nvIndex; } NV_ReadPublic_In; typedef struct { - TPM2B_NAME nvName; - TPMS_NV_PUBLIC nvPublic; + TPM2B_NAME nvName; + TPMS_NV_PUBLIC nvPublic; } NV_ReadPublic_Out; +TPM_RC TPM2_NV_ReadPublic(NV_ReadPublic_In *in, // IN: input parameter list + NV_ReadPublic_Out *out // OUT: output parameter list + ); -TPM_RC TPM2_NV_ReadPublic( - NV_ReadPublic_In *in, // IN: input parameter list - NV_ReadPublic_Out *out // OUT: output parameter list -); - -#endif // __TPM2_NV_READPUBLIC_FP_H_ +#endif // __TPM2_NV_READPUBLIC_FP_H_ diff --git a/NV_Read_fp.h b/NV_Read_fp.h index 98844c6..a7cf6fb 100644 --- a/NV_Read_fp.h +++ b/NV_Read_fp.h @@ -8,19 +8,16 @@ #define __TPM2_NV_READ_FP_H typedef struct { - TPMI_RH_NV_INDEX nvIndex; - TPM_HANDLE authHandle; - UINT32 offset; - UINT16 size; + TPMI_RH_NV_INDEX nvIndex; + TPM_HANDLE authHandle; + UINT32 offset; + UINT16 size; } NV_Read_In; -typedef struct { - TPM2B_DATA data; -} NV_Read_Out; +typedef struct { TPM2B_DATA data; } NV_Read_Out; -TPM_RC TPM2_NV_Read( - NV_Read_In *in, // IN: input parameter list - NV_Read_Out *out // OUT: output parameter list -); +TPM_RC TPM2_NV_Read(NV_Read_In *in, // IN: input parameter list + NV_Read_Out *out // OUT: output parameter list + ); -#endif // __TPM2_NV_READ_FP_H +#endif // __TPM2_NV_READ_FP_H diff --git a/NV_SetBits_fp.h b/NV_SetBits_fp.h index 05bb601..161e2b4 100644 --- a/NV_SetBits_fp.h +++ b/NV_SetBits_fp.h @@ -8,13 +8,12 @@ #define __TPM2_NV_SETBITS_FP_H_ typedef struct { - TPM_HANDLE authHandle; - TPMI_RH_NV_INDEX nvIndex; - UINT64 bits; + TPM_HANDLE authHandle; + TPMI_RH_NV_INDEX nvIndex; + UINT64 bits; } NV_SetBits_In; -TPM_RC TPM2_NV_SetBits( - NV_SetBits_In *in // IN: input parameter list -); +TPM_RC TPM2_NV_SetBits(NV_SetBits_In *in // IN: input parameter list + ); -#endif // __TPM2_NV_SETBITS_FP_H_ +#endif // __TPM2_NV_SETBITS_FP_H_ diff --git a/NV_UndefineSpaceSpecial_fp.h b/NV_UndefineSpaceSpecial_fp.h index a714da7..661f580 100644 --- a/NV_UndefineSpaceSpecial_fp.h +++ b/NV_UndefineSpaceSpecial_fp.h @@ -7,12 +7,10 @@ #ifndef __TPM2_NV_UNDEFINESPACESPECIAL_FP_H_ #define __TPM2_NV_UNDEFINESPACESPECIAL_FP_H_ -typedef struct { - TPMI_RH_NV_INDEX nvIndex; -} NV_UndefineSpaceSpecial_In; +typedef struct { TPMI_RH_NV_INDEX nvIndex; } NV_UndefineSpaceSpecial_In; TPM_RC TPM2_NV_UndefineSpaceSpecial( - NV_UndefineSpaceSpecial_In *in // IN: input parameter list -); + NV_UndefineSpaceSpecial_In *in // IN: input parameter list + ); -#endif // __TPM2_NV_UNDEFINESPACESPECIAL_FP_H_ +#endif // __TPM2_NV_UNDEFINESPACESPECIAL_FP_H_ diff --git a/NV_UndefineSpace_fp.h b/NV_UndefineSpace_fp.h index 82d6db5..7071fdf 100644 --- a/NV_UndefineSpace_fp.h +++ b/NV_UndefineSpace_fp.h @@ -8,12 +8,12 @@ #define __TPM2_NV_UNDEFINESPACE_FP_H_ typedef struct { - TPM_HANDLE authHandle; - TPMI_RH_NV_INDEX nvIndex; + TPM_HANDLE authHandle; + TPMI_RH_NV_INDEX nvIndex; } NV_UndefineSpace_In; TPM_RC TPM2_NV_UndefineSpace( - NV_UndefineSpace_In *in // IN: input parameter list -); + NV_UndefineSpace_In *in // IN: input parameter list + ); -#endif // __TPM2_NV_UNDEFINESPACE_FP_H_ +#endif // __TPM2_NV_UNDEFINESPACE_FP_H_ diff --git a/NV_WriteLock_fp.h b/NV_WriteLock_fp.h index 3dccfbd..a5a493a 100644 --- a/NV_WriteLock_fp.h +++ b/NV_WriteLock_fp.h @@ -8,12 +8,11 @@ #define __TPM2_NV_WRITELOCK_FP_H_ typedef struct { - TPM_HANDLE authHandle; - TPMI_RH_NV_INDEX nvIndex; + TPM_HANDLE authHandle; + TPMI_RH_NV_INDEX nvIndex; } NV_WriteLock_In; -TPM_RC TPM2_NV_WriteLock( - NV_WriteLock_In *in // IN: input parameter list -); +TPM_RC TPM2_NV_WriteLock(NV_WriteLock_In *in // IN: input parameter list + ); -#endif // __TPM2_NV_WRITELOCK_FP_H_ +#endif // __TPM2_NV_WRITELOCK_FP_H_ diff --git a/NV_Write_fp.h b/NV_Write_fp.h index 295a9df..4a9df7d 100644 --- a/NV_Write_fp.h +++ b/NV_Write_fp.h @@ -8,14 +8,13 @@ #define __TPM2_NV_WRITE_FP_H_ typedef struct { - TPM_HANDLE authHandle; - TPMI_RH_NV_INDEX nvIndex; - TPM2B_DATA data; - UINT32 offset; + TPM_HANDLE authHandle; + TPMI_RH_NV_INDEX nvIndex; + TPM2B_DATA data; + UINT32 offset; } NV_Write_In; -TPM_RC TPM2_NV_Write( - NV_Write_In *in // IN: input parameter list -); +TPM_RC TPM2_NV_Write(NV_Write_In *in // IN: input parameter list + ); -#endif // __TPM2_NV_WRITE_FP_H_ +#endif // __TPM2_NV_WRITE_FP_H_ @@ -7,128 +7,86 @@ #ifndef __TPM2_NV_FP_H #define __TPM2_NV_FP_H -TPM_RC NvAddEvictObject( - TPMI_DH_OBJECT evictHandle, // IN: new evict handle - OBJECT *object // IN: object to be added +TPM_RC NvAddEvictObject(TPMI_DH_OBJECT evictHandle, // IN: new evict handle + OBJECT *object // IN: object to be added ); -UINT32 NvCapGetCounterAvail( - void - ); -UINT32 NvCapGetCounterNumber( - void - ); -UINT32 NvCapGetIndexNumber( - void - ); -UINT32 NvCapGetPersistentAvail( - void - ); -UINT32 NvCapGetPersistentNumber( - void - ); +UINT32 NvCapGetCounterAvail(void); +UINT32 NvCapGetCounterNumber(void); +UINT32 NvCapGetIndexNumber(void); +UINT32 NvCapGetPersistentAvail(void); +UINT32 NvCapGetPersistentNumber(void); void NvCheckState(void); -BOOL NvCommit( - void - ); +BOOL NvCommit(void); TPM_RC NvDefineIndex( - TPMS_NV_PUBLIC *publicArea, // IN: A template for an area to create. - TPM2B_AUTH *authValue // IN: The initial authorization value - ); -void NvDeleteEntity( - TPM_HANDLE handle // IN: handle of entity to be deleted + TPMS_NV_PUBLIC *publicArea, // IN: A template for an area to create. + TPM2B_AUTH *authValue // IN: The initial authorization value + ); +void NvDeleteEntity(TPM_HANDLE handle // IN: handle of entity to be deleted ); -void NvEntityStartup( - STARTUP_TYPE type // IN: start up type - ); +void NvEntityStartup(STARTUP_TYPE type // IN: start up type + ); void NvFlushHierarchy( - TPMI_RH_HIERARCHY hierarchy // IN: hierarchy to be flushed. -); -TPM_RC NvGetEvictObject( - TPM_HANDLE handle, // IN: handle - OBJECT *object // OUT: object data - ); -void NvGetIndexData( - TPMI_RH_NV_INDEX handle, // IN: handle - NV_INDEX *nvIndex, // IN: RAM image of index header - UINT32 offset, // IN: offset of NV data - UINT16 size, // IN: size of NV data - void *data // OUT: data buffer - ); -void NvGetIndexInfo( - TPMI_RH_NV_INDEX handle, // IN: handle - NV_INDEX *nvIndex // OUT: NV index structure + TPMI_RH_HIERARCHY hierarchy // IN: hierarchy to be flushed. + ); +TPM_RC NvGetEvictObject(TPM_HANDLE handle, // IN: handle + OBJECT *object // OUT: object data + ); +void NvGetIndexData(TPMI_RH_NV_INDEX handle, // IN: handle + NV_INDEX *nvIndex, // IN: RAM image of index header + UINT32 offset, // IN: offset of NV data + UINT16 size, // IN: size of NV data + void *data // OUT: data buffer ); -void NvGetIntIndexData( - TPMI_RH_NV_INDEX handle, // IN: handle - NV_INDEX *nvIndex, // IN: RAM image of NV Index header - UINT64 *data // IN: UINT64 pointer for counter or bit - ); -UINT16 NvGetName( - TPMI_RH_NV_INDEX handle, // IN: handle of the index - NAME *name // OUT: name of the index +void NvGetIndexInfo(TPMI_RH_NV_INDEX handle, // IN: handle + NV_INDEX *nvIndex // OUT: NV index structure + ); +void NvGetIntIndexData(TPMI_RH_NV_INDEX handle, // IN: handle + NV_INDEX *nvIndex, // IN: RAM image of NV Index header + UINT64 *data // IN: UINT64 pointer for counter or bit + ); +UINT16 NvGetName(TPMI_RH_NV_INDEX handle, // IN: handle of the index + NAME *name // OUT: name of the index ); TPMI_YES_NO NvCapGetIndex( - TPMI_DH_OBJECT handle, // IN: start handle - UINT32 count, // IN: maximum number of returned handle - TPML_HANDLE *handleList // OUT: list of handle -); + TPMI_DH_OBJECT handle, // IN: start handle + UINT32 count, // IN: maximum number of returned handle + TPML_HANDLE *handleList // OUT: list of handle + ); TPMI_YES_NO NvCapGetPersistent( - TPMI_DH_OBJECT handle, // IN: start handle - UINT32 count, // IN: maximum number of returned handle - TPML_HANDLE *handleList // OUT: list of handle -); -TPM_RC NvIndexIsAccessible( - TPMI_RH_NV_INDEX handle, // IN: handle - TPM_CC commandCode // IN: the command + TPMI_DH_OBJECT handle, // IN: start handle + UINT32 count, // IN: maximum number of returned handle + TPML_HANDLE *handleList // OUT: list of handle + ); +TPM_RC NvIndexIsAccessible(TPMI_RH_NV_INDEX handle, // IN: handle + TPM_CC commandCode // IN: the command ); -void NvInit( - void - ); -UINT64 NvInitialCounter( - void - ); -TPM_RC NvIsAvailable( - void -); -BOOL NvIsOwnerPersistentHandle( - TPM_HANDLE handle // IN: handle +void NvInit(void); +UINT64 NvInitialCounter(void); +TPM_RC NvIsAvailable(void); +BOOL NvIsOwnerPersistentHandle(TPM_HANDLE handle // IN: handle ); -BOOL NvIsPlatformPersistentHandle( - TPM_HANDLE handle // IN: handle +BOOL NvIsPlatformPersistentHandle(TPM_HANDLE handle // IN: handle ); -BOOL NvIsUndefinedIndex( - TPMI_RH_NV_INDEX handle // IN: handle - ); -BOOL NvPowerOn( - void - ); -void NvReadPersistent( - void - ); -void NvReadReserved( - NV_RESERVE type, // IN: type of reserved data - void *buffer // OUT: buffer receives the data. - ); -void NvSetGlobalLock( - void - ); -void NvStateSave( - void - ); -TPM_RC NvWriteIndexData( - TPMI_RH_NV_INDEX handle, // IN: handle - NV_INDEX *nvIndex, // IN: RAM copy of NV Index - UINT32 offset, // IN: offset of NV data - UINT32 size, // IN: size of NV data - void *data // OUT: data buffer - ); -TPM_RC NvWriteIndexInfo( - TPMI_RH_NV_INDEX handle, // IN: handle - NV_INDEX *nvIndex // IN: NV Index info to be written - ); -void NvWriteReserved( - NV_RESERVE type, // IN: type of reserved data - void *buffer // IN: data buffer +BOOL NvIsUndefinedIndex(TPMI_RH_NV_INDEX handle // IN: handle + ); +BOOL NvPowerOn(void); +void NvReadPersistent(void); +void NvReadReserved(NV_RESERVE type, // IN: type of reserved data + void *buffer // OUT: buffer receives the data. + ); +void NvSetGlobalLock(void); +void NvStateSave(void); +TPM_RC NvWriteIndexData(TPMI_RH_NV_INDEX handle, // IN: handle + NV_INDEX *nvIndex, // IN: RAM copy of NV Index + UINT32 offset, // IN: offset of NV data + UINT32 size, // IN: size of NV data + void *data // OUT: data buffer + ); +TPM_RC NvWriteIndexInfo(TPMI_RH_NV_INDEX handle, // IN: handle + NV_INDEX *nvIndex // IN: NV Index info to be written + ); +void NvWriteReserved(NV_RESERVE type, // IN: type of reserved data + void *buffer // IN: data buffer ); -#endif // __TPM2_NV_FP_H +#endif // __TPM2_NV_FP_H diff --git a/NV_spt_fp.h b/NV_spt_fp.h index de99935..021b0f5 100644 --- a/NV_spt_fp.h +++ b/NV_spt_fp.h @@ -8,14 +8,12 @@ #define __TPM2_NV_SPT_FP_H TPM_RC NvReadAccessChecks( - TPM_HANDLE authHandle, // IN: the handle that provided the - // authorization - TPM_HANDLE nvHandle // IN: the handle of the NV index to be written - ); + TPM_HANDLE authHandle, // IN: the handle that provided the authorization + TPM_HANDLE nvHandle // IN: the handle of the NV index to be written + ); TPM_RC NvWriteAccessChecks( - TPM_HANDLE authHandle, // IN: the handle that provided the - // authorization - TPM_HANDLE nvHandle // IN: the handle of the NV index to be written - ); + TPM_HANDLE authHandle, // IN: the handle that provided the authorization + TPM_HANDLE nvHandle // IN: the handle of the NV index to be written + ); -#endif // __TPM2_NV_SPT_FP_H +#endif // __TPM2_NV_SPT_FP_H diff --git a/ObjectChangeAuth_fp.h b/ObjectChangeAuth_fp.h index 40ed687..40d38a1 100644 --- a/ObjectChangeAuth_fp.h +++ b/ObjectChangeAuth_fp.h @@ -8,18 +8,16 @@ #define __TPM2_OBJECTCHANGEAUTH_FP_H_ typedef struct { - TPMI_DH_OBJECT objectHandle; - TPMI_DH_OBJECT parentHandle; - TPM2B_AUTH newAuth; + TPMI_DH_OBJECT objectHandle; + TPMI_DH_OBJECT parentHandle; + TPM2B_AUTH newAuth; } ObjectChangeAuth_In; -typedef struct { - TPM2B_PRIVATE outPrivate; -} ObjectChangeAuth_Out; +typedef struct { TPM2B_PRIVATE outPrivate; } ObjectChangeAuth_Out; TPM_RC TPM2_ObjectChangeAuth( - ObjectChangeAuth_In *in, // IN: input parameter list - ObjectChangeAuth_Out *out // OUT: output parameter list -); + ObjectChangeAuth_In *in, // IN: input parameter list + ObjectChangeAuth_Out *out // OUT: output parameter list + ); -#endif // __TPM2_OBJECTCHANGEAUTH_FP_H_ +#endif // __TPM2_OBJECTCHANGEAUTH_FP_H_ diff --git a/Object_fp.h b/Object_fp.h index b5def34..37756b8 100644 --- a/Object_fp.h +++ b/Object_fp.h @@ -7,111 +7,90 @@ #ifndef __TPM2_OBJECT_FP_H #define __TPM2_OBJECT_FP_H -BOOL AreAttributesForParent( - OBJECT *parentObject // IN: parent handle +BOOL AreAttributesForParent(OBJECT *parentObject // IN: parent handle ); -TPMI_YES_NO ObjectCapGetLoaded( - TPMI_DH_OBJECT handle, // IN: start handle - UINT32 count, // IN: count of returned handles - TPML_HANDLE *handleList // OUT: list of handle -); -UINT32 ObjectCapGetTransientAvail( - void - ); -void ObjectCleanupEvict( - void - ); -void ObjectComputeName( - TPMT_PUBLIC *publicArea, // IN: public area of an object - TPM2B_NAME *name // OUT: name of the object -); +TPMI_YES_NO ObjectCapGetLoaded(TPMI_DH_OBJECT handle, // IN: start handle + UINT32 count, // IN: count of returned handles + TPML_HANDLE *handleList // OUT: list of handle + ); +UINT32 ObjectCapGetTransientAvail(void); +void ObjectCleanupEvict(void); +void ObjectComputeName(TPMT_PUBLIC *publicArea, // IN: public area of an object + TPM2B_NAME *name // OUT: name of the object + ); void ObjectComputeQualifiedName( - TPM2B_NAME *parentQN, // IN: parent's qualified name - TPM_ALG_ID nameAlg, // IN: name hash - TPM2B_NAME *name, // IN: name of the object - TPM2B_NAME *qualifiedName // OUT: qualified name of the object - ); + TPM2B_NAME *parentQN, // IN: parent's qualified name + TPM_ALG_ID nameAlg, // IN: name hash + TPM2B_NAME *name, // IN: name of the object + TPM2B_NAME *qualifiedName // OUT: qualified name of the object + ); TPM_RC ObjectContextLoad( - OBJECT *object, // IN: object structure from saved context - TPMI_DH_OBJECT *handle // OUT: object handle - ); + OBJECT *object, // IN: object structure from saved context + TPMI_DH_OBJECT *handle // OUT: object handle + ); TPM_RC ObjectCreateEventSequence( - TPM2B_AUTH *auth, // IN: authValue - TPMI_DH_OBJECT *newHandle // OUT: sequence object handle - ); + TPM2B_AUTH *auth, // IN: authValue + TPMI_DH_OBJECT *newHandle // OUT: sequence object handle + ); TPM_RC ObjectCreateHMACSequence( - TPMI_ALG_HASH hashAlg, // IN: hash algorithm - TPM_HANDLE handle, // IN: the handle associated with sequence - // object - TPM2B_AUTH *auth, // IN: authValue - TPMI_DH_OBJECT *newHandle // OUT: HMAC sequence object handle - ); + TPMI_ALG_HASH hashAlg, // IN: hash algorithm + TPM_HANDLE handle, // IN: the handle associated with sequence object + TPM2B_AUTH *auth, // IN: authValue + TPMI_DH_OBJECT *newHandle // OUT: HMAC sequence object handle + ); TPM_RC ObjectCreateHashSequence( - TPMI_ALG_HASH hashAlg, // IN: hash algorithm - TPM2B_AUTH *auth, // IN: authValue - TPMI_DH_OBJECT *newHandle // OUT: sequence object handle - ); -TPMI_RH_HIERARCHY ObjectDataGetHierarchy( - OBJECT *object // IN :object -); + TPMI_ALG_HASH hashAlg, // IN: hash algorithm + TPM2B_AUTH *auth, // IN: authValue + TPMI_DH_OBJECT *newHandle // OUT: sequence object handle + ); +TPMI_RH_HIERARCHY ObjectDataGetHierarchy(OBJECT *object // IN :object + ); BOOL ObjectDataIsStorage( - TPMT_PUBLIC *publicArea // IN: public area of the object - ); -OBJECT* ObjectGet( - TPMI_DH_OBJECT handle // IN: handle of the object -); -TPMI_RH_HIERARCHY ObjectGetHierarchy( - TPMI_DH_OBJECT handle // IN :object handle - ); + TPMT_PUBLIC *publicArea // IN: public area of the object + ); +OBJECT *ObjectGet(TPMI_DH_OBJECT handle // IN: handle of the object + ); +TPMI_RH_HIERARCHY ObjectGetHierarchy(TPMI_DH_OBJECT handle // IN :object handle + ); TPMI_ALG_HASH ObjectGetNameAlg( - TPMI_DH_OBJECT handle // IN: handle of the object - ); -TPM_RC ObjectLoadEvict( - TPM_HANDLE *handle, // IN:OUT: evict object handle. If success, it - // will be replace by the loaded object handle - TPM_CC commandCode // IN: the command being processed + TPMI_DH_OBJECT handle // IN: handle of the object + ); +TPM_RC ObjectLoadEvict(TPM_HANDLE *handle, // IN:OUT: evict object handle. If + // success, it will be replace by + // the loaded object handle + TPM_CC commandCode // IN: the command being processed ); -void ObjectFlush( - TPMI_DH_OBJECT handle // IN: handle to be freed -); +void ObjectFlush(TPMI_DH_OBJECT handle // IN: handle to be freed + ); void ObjectFlushHierarchy( - TPMI_RH_HIERARCHY hierarchy // IN: hierarchy to be flush -); -OBJECT* ObjectGet( - TPMI_DH_OBJECT handle // IN: handle of the object -); -UINT16 ObjectGetName( - TPMI_DH_OBJECT handle, // IN: handle of the object - NAME *name // OUT: name of the object -); + TPMI_RH_HIERARCHY hierarchy // IN: hierarchy to be flush + ); +OBJECT *ObjectGet(TPMI_DH_OBJECT handle // IN: handle of the object + ); +UINT16 ObjectGetName(TPMI_DH_OBJECT handle, // IN: handle of the object + NAME *name // OUT: name of the object + ); void ObjectGetQualifiedName( - TPMI_DH_OBJECT handle, // IN: handle of the object - TPM2B_NAME *qualifiedName // OUT: qualified name of the object -); -BOOL ObjectIsPresent( - TPMI_DH_OBJECT handle // IN: handle to be checked + TPMI_DH_OBJECT handle, // IN: handle of the object + TPM2B_NAME *qualifiedName // OUT: qualified name of the object + ); +BOOL ObjectIsPresent(TPMI_DH_OBJECT handle // IN: handle to be checked ); -BOOL ObjectIsSequence( - OBJECT *object // IN: handle to be checked +BOOL ObjectIsSequence(OBJECT *object // IN: handle to be checked ); -BOOL ObjectIsStorage( - TPMI_DH_OBJECT handle // IN: object handle - ); +BOOL ObjectIsStorage(TPMI_DH_OBJECT handle // IN: object handle + ); TPM_RC ObjectLoad( - TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy to which the object belongs - TPMT_PUBLIC *publicArea, // IN: public area - TPMT_SENSITIVE *sensitive, // IN: sensitive area (may be null) - TPM2B_NAME *name, // IN: object's name (may be null) - TPM_HANDLE parentHandle, // IN: handle of parent - BOOL skipChecks, // IN: flag to indicate if it is OK to skip - // consistency checks. - TPMI_DH_OBJECT *handle // OUT: object handle -); -void ObjectStartup( - void - ); -void ObjectTerminateEvent( - void -); + TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy to which the object belongs + TPMT_PUBLIC *publicArea, // IN: public area + TPMT_SENSITIVE *sensitive, // IN: sensitive area (may be null) + TPM2B_NAME *name, // IN: object's name (may be null) + TPM_HANDLE parentHandle, // IN: handle of parent + BOOL skipChecks, // IN: flag to indicate if it is OK to skip consistency + // checks. + TPMI_DH_OBJECT *handle // OUT: object handle + ); +void ObjectStartup(void); +void ObjectTerminateEvent(void); -#endif // __TPM2_OBJECT_FP_H +#endif // __TPM2_OBJECT_FP_H diff --git a/Object_spt_fp.h b/Object_spt_fp.h index 3272d02..6b432a4 100644 --- a/Object_spt_fp.h +++ b/Object_spt_fp.h @@ -7,141 +7,126 @@ #ifndef __TPM2_OBJECT_SPT_FP_H #define __TPM2_OBJECT_SPT_FP_H -BOOL AreAttributesForParent( - OBJECT *parentObject // IN: parent handle -); +BOOL AreAttributesForParent(OBJECT *parentObject // IN: parent handle + ); TPM_RC CredentialToSecret( - TPM2B_ID_OBJECT *inIDObject, // IN: input credential blob - TPM2B_NAME *name, // IN: the name of the object - TPM2B_SEED *seed, // IN: an external seed. - TPM_HANDLE protector, // IN: The protector's handle - TPM2B_DIGEST *secret // OUT: secret information -); + TPM2B_ID_OBJECT *inIDObject, // IN: input credential blob + TPM2B_NAME *name, // IN: the name of the object + TPM2B_SEED *seed, // IN: an external seed. + TPM_HANDLE protector, // IN: The protector's handle + TPM2B_DIGEST *secret // OUT: secret information + ); TPM_RC DuplicateToSensitive( - TPM2B_PRIVATE *inPrivate, // IN: input private structure - TPM2B_NAME *name, // IN: the name of the object - TPM_HANDLE parentHandle, // IN: The parent's handle - TPM_ALG_ID nameAlg, // IN: hash algorithm in public area. - TPM2B_SEED *seed, // IN: an external seed may be provided. - // If external seed is provided with - // size of 0, no outer wrap is - // applied - TPMT_SYM_DEF_OBJECT *symDef, // IN: Symmetric key definition. If the - // symmetric key algorithm is NULL, - // no inner wrap is applied - TPM2B_DATA *innerSymKey, // IN: a symmetric key may be provided - // to decrypt the inner wrap of a - // duplication blob. - TPMT_SENSITIVE *sensitive // OUT: sensitive structure - ); + TPM2B_PRIVATE *inPrivate, // IN: input private structure + TPM2B_NAME *name, // IN: the name of the object + TPM_HANDLE parentHandle, // IN: The parent's handle + TPM_ALG_ID nameAlg, // IN: hash algorithm in public area. + TPM2B_SEED *seed, // IN: an external seed may be provided. If external + // seed is provided with size of 0, no outer wrap is + // applied + TPMT_SYM_DEF_OBJECT *symDef, // IN: Symmetric key definition. If the + // symmetric key algorithm is NULL, no inner + // wrap is applied + TPM2B_DATA *innerSymKey, // IN: a symmetric key may be provided to + // decrypt the inner wrap of a duplication blob. + TPMT_SENSITIVE *sensitive // OUT: sensitive structure + ); void FillInCreationData( - TPMI_DH_OBJECT parentHandle, // IN: handle of parent - TPMI_ALG_HASH nameHashAlg, // IN: name hash algorithm - TPML_PCR_SELECTION *creationPCR, // IN: PCR selection - TPM2B_DATA *outsideData, // IN: outside data - TPM2B_CREATION_DATA *outCreation, // OUT: creation data for output - TPM2B_DIGEST *creationDigest // OUT: creation digest -); -TPM2B_SEED* GetSeedForKDF( - TPM_HANDLE protectorHandle, // IN: the protector handle - TPM2B_SEED *seedIn // IN: the optional input seed - ); + TPMI_DH_OBJECT parentHandle, // IN: handle of parent + TPMI_ALG_HASH nameHashAlg, // IN: name hash algorithm + TPML_PCR_SELECTION *creationPCR, // IN: PCR selection + TPM2B_DATA *outsideData, // IN: outside data + TPM2B_CREATION_DATA *outCreation, // OUT: creation data for output + TPM2B_DIGEST *creationDigest // OUT: creation digest + ); +TPM2B_SEED *GetSeedForKDF( + TPM_HANDLE protectorHandle, // IN: the protector handle + TPM2B_SEED *seedIn // IN: the optional input seed + ); TPM_RC PrivateToSensitive( - TPM2B_PRIVATE *inPrivate, // IN: input private structure - TPM2B_NAME *name, // IN: the name of the object - TPM_HANDLE parentHandle, // IN: The parent's handle - TPM_ALG_ID nameAlg, // IN: hash algorithm in public area. It is - // passed separately because we only pass - // name, rather than the whole public area - // of the object. This parameter is used in - // the following two cases: 1. primary - // objects. 2. duplication blob with inner - // wrap. In other cases, this parameter - // will be ignored - TPMT_SENSITIVE *sensitive // OUT: sensitive structure - ); + TPM2B_PRIVATE *inPrivate, // IN: input private structure + TPM2B_NAME *name, // IN: the name of the object + TPM_HANDLE parentHandle, // IN: The parent's handle + TPM_ALG_ID nameAlg, // IN: hash algorithm in public area. It is passed + // separately because we only pass name, rather than + // the whole public area of the object. This parameter + // is used in the following two cases: 1. primary + // objects. 2. duplication blob with inner wrap. In + // other cases, this parameter will be ignored + TPMT_SENSITIVE *sensitive // OUT: sensitive structure + ); UINT16 ProduceOuterWrap( - TPM_HANDLE protector, // IN: The handle of the object that provides - // protection. For object, it is parent - // handle. For credential, it is the handle - // of encrypt object. - TPM2B_NAME *name, // IN: the name of the object - TPM_ALG_ID hashAlg, // IN: hash algorithm for outer wrap - TPM2B_SEED *seed, // IN: an external seed may be provided for - // duplication blob. For non duplication - // blob, this parameter should be NULL - BOOL useIV, // IN: indicate if an IV is used - UINT16 dataSize, // IN: the size of sensitive data, excluding the - // leading integrity buffer size or the - // optional iv size - BYTE *outerBuffer // IN/OUT: outer buffer with sensitive data in - // it - ); + TPM_HANDLE protector, // IN: The handle of the object that provides + // protection. For object, it is parent handle. For + // credential, it is the handle of encrypt object. + TPM2B_NAME *name, // IN: the name of the object + TPM_ALG_ID hashAlg, // IN: hash algorithm for outer wrap + TPM2B_SEED *seed, // IN: an external seed may be provided for duplication + // blob. For non duplication blob, this parameter + // should be NULL + BOOL useIV, // IN: indicate if an IV is used + UINT16 dataSize, // IN: the size of sensitive data, excluding the leading + // integrity buffer size or the optional iv size + BYTE *outerBuffer // IN/OUT: outer buffer with sensitive data in it + ); TPM_RC PublicAttributesValidation( - BOOL load, // IN: TRUE if load checks, FALSE if - // TPM2_Create() - TPMI_DH_OBJECT parentHandle, // IN: input parent handle - TPMT_PUBLIC *publicArea // IN: public area of the object -); + BOOL load, // IN: TRUE if load checks, FALSE if TPM2_Create() + TPMI_DH_OBJECT parentHandle, // IN: input parent handle + TPMT_PUBLIC *publicArea // IN: public area of the object + ); TPM_RC SchemeChecks( - BOOL load, // IN: TRUE if load checks, FALSE if - // TPM2_Create() - TPMI_DH_OBJECT parentHandle, // IN: input parent handle - TPMT_PUBLIC *publicArea // IN: public area of the object - ); + BOOL load, // IN: TRUE if load checks, FALSE if TPM2_Create() + TPMI_DH_OBJECT parentHandle, // IN: input parent handle + TPMT_PUBLIC *publicArea // IN: public area of the object + ); void SecretToCredential( - TPM2B_DIGEST *secret, // IN: secret information - TPM2B_NAME *name, // IN: the name of the object - TPM2B_SEED *seed, // IN: an external seed. - TPM_HANDLE protector, // IN: The protector's handle - TPM2B_ID_OBJECT *outIDObject // OUT: output credential - ); + TPM2B_DIGEST *secret, // IN: secret information + TPM2B_NAME *name, // IN: the name of the object + TPM2B_SEED *seed, // IN: an external seed. + TPM_HANDLE protector, // IN: The protector's handle + TPM2B_ID_OBJECT *outIDObject // OUT: output credential + ); void SensitiveToDuplicate( - TPMT_SENSITIVE *sensitive, // IN: sensitive structure - TPM2B_NAME *name, // IN: the name of the object - TPM_HANDLE parentHandle, // IN: The new parent's handle - TPM_ALG_ID nameAlg, // IN: hash algorithm in public area. It - // is passed separately because we - // only pass name, rather than the - // whole public area of the object. - TPM2B_SEED *seed, // IN: the external seed. If external - // seed is provided with size of 0, - // no outer wrap should be applied - // to duplication blob. - TPMT_SYM_DEF_OBJECT *symDef, // IN: Symmetric key definition. If the - // symmetric key algorithm is NULL, - // no inner wrap should be applied. - TPM2B_DATA *innerSymKey, // IN/OUT: a symmetric key may be - // provided to encrypt the inner - // wrap of a duplication blob. May - // be generated here if needed. - TPM2B_PRIVATE *outPrivate // OUT: output private structure - ); + TPMT_SENSITIVE *sensitive, // IN: sensitive structure + TPM2B_NAME *name, // IN: the name of the object + TPM_HANDLE parentHandle, // IN: The new parent's handle + TPM_ALG_ID nameAlg, // IN: hash algorithm in public area. It is passed + // separately because we only pass name, rather than + // the whole public area of the object. + TPM2B_SEED *seed, // IN: the external seed. If external seed is provided + // with size of 0, no outer wrap should be applied to + // duplication blob. + TPMT_SYM_DEF_OBJECT *symDef, // IN: Symmetric key definition. If the + // symmetric key algorithm is NULL, no inner + // wrap should be applied. + TPM2B_DATA *innerSymKey, // IN/OUT: a symmetric key may be provided to + // encrypt the inner wrap of a duplication blob. + // May be generated here if needed. + TPM2B_PRIVATE *outPrivate // OUT: output private structure + ); void SensitiveToPrivate( - TPMT_SENSITIVE *sensitive, // IN: sensitive structure - TPM2B_NAME *name, // IN: the name of the object - TPM_HANDLE parentHandle, // IN: The parent's handle - TPM_ALG_ID nameAlg, // IN: hash algorithm in public area. This - // parameter is used when parentHandle is - // NULL, in which case the object is - // temporary. - TPM2B_PRIVATE *outPrivate // OUT: output private structure -); + TPMT_SENSITIVE *sensitive, // IN: sensitive structure + TPM2B_NAME *name, // IN: the name of the object + TPM_HANDLE parentHandle, // IN: The parent's handle + TPM_ALG_ID nameAlg, // IN: hash algorithm in public area. This parameter + // is used when parentHandle is NULL, in which case + // the object is temporary. + TPM2B_PRIVATE *outPrivate // OUT: output private structure + ); TPM_RC UnwrapOuter( - TPM_HANDLE protector, // IN: The handle of the object that provides - // protection. For object, it is parent - // handle. For credential, it is the handle - // of encrypt object. - TPM2B_NAME *name, // IN: the name of the object - TPM_ALG_ID hashAlg, // IN: hash algorithm for outer wrap - TPM2B_SEED *seed, // IN: an external seed may be provided for - // duplication blob. For non duplication - // blob, this parameter should be NULL. - BOOL useIV, // IN: indicates if an IV is used - UINT16 dataSize, // IN: size of sensitive data in outerBuffer, - // including the leading integrity buffer - // size, and an optional iv area - BYTE *outerBuffer // IN/OUT: sensitive data - ); + TPM_HANDLE protector, // IN: The handle of the object that provides + // protection. For object, it is parent handle. For + // credential, it is the handle of encrypt object. + TPM2B_NAME *name, // IN: the name of the object + TPM_ALG_ID hashAlg, // IN: hash algorithm for outer wrap + TPM2B_SEED *seed, // IN: an external seed may be provided for duplication + // blob. For non duplication blob, this parameter + // should be NULL. + BOOL useIV, // IN: indicates if an IV is used + UINT16 dataSize, // IN: size of sensitive data in outerBuffer, including + // the leading integrity buffer size, and an optional iv + // area + BYTE *outerBuffer // IN/OUT: sensitive data + ); -#endif // __TPM2_OBJECT_SPT_FP_H +#endif // __TPM2_OBJECT_SPT_FP_H diff --git a/PCR_Allocate_fp.h b/PCR_Allocate_fp.h index ef0a71b..02cb996 100644 --- a/PCR_Allocate_fp.h +++ b/PCR_Allocate_fp.h @@ -7,20 +7,17 @@ #ifndef __TPM2_PCR_ALLOCATE_FP_H_ #define __TPM2_PCR_ALLOCATE_FP_H_ -typedef struct { - TPML_PCR_SELECTION pcrAllocation; -} PCR_Allocate_In; +typedef struct { TPML_PCR_SELECTION pcrAllocation; } PCR_Allocate_In; typedef struct { - UINT32 maxPCR; - UINT32 sizeNeeded; - UINT32 sizeAvailable; - TPMI_YES_NO allocationSuccess; + UINT32 maxPCR; + UINT32 sizeNeeded; + UINT32 sizeAvailable; + TPMI_YES_NO allocationSuccess; } PCR_Allocate_Out; -TPM_RC TPM2_PCR_Allocate( - PCR_Allocate_In *in, // IN: input parameter list - PCR_Allocate_Out *out // OUT: output parameter list -); +TPM_RC TPM2_PCR_Allocate(PCR_Allocate_In *in, // IN: input parameter list + PCR_Allocate_Out *out // OUT: output parameter list + ); -#endif // __TPM2_PCR_ALLOCATE_FP_H_ +#endif // __TPM2_PCR_ALLOCATE_FP_H_ diff --git a/PCR_Event_fp.h b/PCR_Event_fp.h index 385e75b..6db947b 100644 --- a/PCR_Event_fp.h +++ b/PCR_Event_fp.h @@ -8,17 +8,14 @@ #define __TPM2_PCR_EVENT_FP_H_ typedef struct { - TPM_RH pcrHandle; - TPM2B_DATA eventData; + TPM_RH pcrHandle; + TPM2B_DATA eventData; } PCR_Event_In; -typedef struct { - TPML_DIGEST digests; -} PCR_Event_Out; +typedef struct { TPML_DIGEST digests; } PCR_Event_Out; -TPM_RC TPM2_PCR_Event( - PCR_Event_In *in, // IN: input parameter list - PCR_Event_Out *out // OUT: output parameter list -); +TPM_RC TPM2_PCR_Event(PCR_Event_In *in, // IN: input parameter list + PCR_Event_Out *out // OUT: output parameter list + ); -#endif // __TPM2_PCR_EVENT_FP_H_ +#endif // __TPM2_PCR_EVENT_FP_H_ diff --git a/PCR_Extend_fp.h b/PCR_Extend_fp.h index e9e16d9..35b103a 100644 --- a/PCR_Extend_fp.h +++ b/PCR_Extend_fp.h @@ -8,12 +8,11 @@ #define __TPM2_PCR_EXTEND_FP_H_ typedef struct { - TPM_RH pcrHandle; - TPML_DIGEST digests; + TPM_RH pcrHandle; + TPML_DIGEST digests; } PCR_Extend_In; -TPM_RC TPM2_PCR_Extend( - PCR_Extend_In *in // IN: input parameter list -); +TPM_RC TPM2_PCR_Extend(PCR_Extend_In *in // IN: input parameter list + ); -#endif // __TPM2_PCR_EXTEND_FP_H_ +#endif // __TPM2_PCR_EXTEND_FP_H_ diff --git a/PCR_Read_fp.h b/PCR_Read_fp.h index 2787d7a..a1856ac 100644 --- a/PCR_Read_fp.h +++ b/PCR_Read_fp.h @@ -7,19 +7,16 @@ #ifndef __TPM2_PCR_READ_FP_H_ #define __TPM2_PCR_READ_FP_H_ -typedef struct { - TPML_PCR_SELECTION pcrSelectionIn; -} PCR_Read_In; +typedef struct { TPML_PCR_SELECTION pcrSelectionIn; } PCR_Read_In; typedef struct { - TPML_DIGEST pcrValues; - UINT32 pcrUpdateCounter; - TPML_PCR_SELECTION pcrSelectionOut; + TPML_DIGEST pcrValues; + UINT32 pcrUpdateCounter; + TPML_PCR_SELECTION pcrSelectionOut; } PCR_Read_Out; -TPM_RC TPM2_PCR_Read( - PCR_Read_In *in, // IN: input parameter list - PCR_Read_Out *out // OUT: output parameter list -); +TPM_RC TPM2_PCR_Read(PCR_Read_In *in, // IN: input parameter list + PCR_Read_Out *out // OUT: output parameter list + ); -#endif // __TPM2_PCR_READ_FP_H_ +#endif // __TPM2_PCR_READ_FP_H_ diff --git a/PCR_Reset_fp.h b/PCR_Reset_fp.h index 2ce9105..7d9a8b6 100644 --- a/PCR_Reset_fp.h +++ b/PCR_Reset_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_PCR_RESET_FP_H_ #define __TPM2_PCR_RESET_FP_H_ -typedef struct { - TPMI_DH_PCR pcrHandle; -} PCR_Reset_In; +typedef struct { TPMI_DH_PCR pcrHandle; } PCR_Reset_In; -TPM_RC TPM2_PCR_Reset( - PCR_Reset_In *in // IN: input parameter list -); +TPM_RC TPM2_PCR_Reset(PCR_Reset_In *in // IN: input parameter list + ); -#endif // __TPM2_PCR_RESET_FP_H_ +#endif // __TPM2_PCR_RESET_FP_H_ diff --git a/PCR_SetAuthPolicy_fp.h b/PCR_SetAuthPolicy_fp.h index 51728c9..ac3731a 100644 --- a/PCR_SetAuthPolicy_fp.h +++ b/PCR_SetAuthPolicy_fp.h @@ -8,13 +8,13 @@ #define __TPM2_PCR_SETAUTHPOLICY_FP_H_ typedef struct { - TPMI_DH_PCR pcrNum; - TPMI_ALG_HASH hashAlg; - TPM2B_DIGEST authPolicy; + TPMI_DH_PCR pcrNum; + TPMI_ALG_HASH hashAlg; + TPM2B_DIGEST authPolicy; } PCR_SetAuthPolicy_In; TPM_RC TPM2_PCR_SetAuthPolicy( - PCR_SetAuthPolicy_In *in // IN: input parameter list -); + PCR_SetAuthPolicy_In *in // IN: input parameter list + ); -#endif // __TPM2_PCR_SETAUTHPOLICY_FP_H_ +#endif // __TPM2_PCR_SETAUTHPOLICY_FP_H_ diff --git a/PCR_SetAuthValue_fp.h b/PCR_SetAuthValue_fp.h index ccf08e7..807a5b0 100644 --- a/PCR_SetAuthValue_fp.h +++ b/PCR_SetAuthValue_fp.h @@ -8,12 +8,12 @@ #define __TPM2_PCR_SETAUTHVALUE_FP_H_ typedef struct { - TPMI_DH_PCR pcrHandle; - TPM2B_DIGEST auth; + TPMI_DH_PCR pcrHandle; + TPM2B_DIGEST auth; } PCR_SetAuthValue_In; TPM_RC TPM2_PCR_SetAuthValue( - PCR_SetAuthValue_In *in // IN: input parameter list -); + PCR_SetAuthValue_In *in // IN: input parameter list + ); -#endif // __TPM2_PCR_SETAUTHVALUE_FP_H_ +#endif // __TPM2_PCR_SETAUTHVALUE_FP_H_ @@ -7,109 +7,88 @@ #ifndef __TPM2_PCR_FP_H #define __TPM2_PCR_FP_H -TPM_RC PCRAllocate( - TPML_PCR_SELECTION *allocate, // IN: required allocation - UINT32 *maxPCR, // OUT: Maximum number of PCR - UINT32 *sizeNeeded, // OUT: required space - UINT32 *sizeAvailable // OUT: available space - ); -BOOL PCRBelongsAuthGroup( - TPMI_DH_PCR handle, // IN: handle of PCR - UINT32 *groupIndex // OUT: group index if PCR belongs a - // group that allows authValue. If PCR - // does not belong to an auth group, - // the value in this parameter is - // invalid -); -BOOL PCRBelongsPolicyGroup( - TPMI_DH_PCR handle, // IN: handle of PCR - UINT32 *groupIndex // OUT: group index if PCR belongs a group that - // allows policy. If PCR does not belong to - // a policy group, the value in this - // parameter is invalid - ); +TPM_RC PCRAllocate(TPML_PCR_SELECTION *allocate, // IN: required allocation + UINT32 *maxPCR, // OUT: Maximum number of PCR + UINT32 *sizeNeeded, // OUT: required space + UINT32 *sizeAvailable // OUT: available space + ); +BOOL PCRBelongsAuthGroup(TPMI_DH_PCR handle, // IN: handle of PCR + UINT32 *groupIndex // OUT: group index if PCR belongs + // a group that allows authValue. + // If PCR does not belong to an + // auth group, the value in this + // parameter is invalid + ); +BOOL PCRBelongsPolicyGroup(TPMI_DH_PCR handle, // IN: handle of PCR + UINT32 *groupIndex // OUT: group index if PCR + // belongs a group that allows + // policy. If PCR does not belong + // to a policy group, the value + // in this parameter is invalid + ); TPMI_YES_NO PCRCapGetAllocation( - UINT32 count, // IN: count of return - TPML_PCR_SELECTION *pcrSelection // OUT: PCR allocation list -); -void PCRChanged( - TPM_HANDLE pcrHandle // IN: the handle of the PCR that changed. - ); + UINT32 count, // IN: count of return + TPML_PCR_SELECTION *pcrSelection // OUT: PCR allocation list + ); +void PCRChanged(TPM_HANDLE pcrHandle // IN: the handle of the PCR that changed. + ); void PCRComputeCurrentDigest( - TPMI_ALG_HASH hashAlg, // IN: hash algorithm to compute digest - TPML_PCR_SELECTION *selection, // IN/OUT: PCR selection (filtered on - // output) - TPM2B_DIGEST *digest // OUT: digest - ); -TPMI_ALG_HASH PCRGetAuthPolicy( - TPMI_DH_PCR handle, // IN: PCR handle - TPM2B_DIGEST *policy // OUT: policy of PCR + TPMI_ALG_HASH hashAlg, // IN: hash algorithm to compute digest + TPML_PCR_SELECTION * + selection, // IN/OUT: PCR selection (filtered on output) + TPM2B_DIGEST *digest // OUT: digest + ); +TPMI_ALG_HASH PCRGetAuthPolicy(TPMI_DH_PCR handle, // IN: PCR handle + TPM2B_DIGEST *policy // OUT: policy of PCR ); -TPMI_YES_NO PCRCapGetHandles( - TPMI_DH_PCR handle, // IN: start handle - UINT32 count, // IN: count of returned handle - TPML_HANDLE *handleList // OUT: list of handle -); +TPMI_YES_NO PCRCapGetHandles(TPMI_DH_PCR handle, // IN: start handle + UINT32 count, // IN: count of returned handle + TPML_HANDLE *handleList // OUT: list of handle + ); TPMI_YES_NO PCRCapGetProperties( - TPM_PT_PCR property, // IN: the starting PCR property - UINT32 count, // IN: count of returned propertie - TPML_TAGGED_PCR_PROPERTY *select // OUT: PCR select -); -void PCRGetAuthValue( - TPMI_DH_PCR handle, // IN: PCR handle - TPM2B_AUTH *auth // OUT: authValue of PCR + TPM_PT_PCR property, // IN: the starting PCR property + UINT32 count, // IN: count of returned propertie + TPML_TAGGED_PCR_PROPERTY *select // OUT: PCR select + ); +void PCRGetAuthValue(TPMI_DH_PCR handle, // IN: PCR handle + TPM2B_AUTH *auth // OUT: authValue of PCR ); -void PCRExtend( - TPMI_DH_PCR handle, // IN: PCR handle to be extended - TPMI_ALG_HASH hash, // IN: hash algorithm of PCR - UINT32 size, // IN: size of data to be extended - BYTE *data // IN: data to be extended +void PCRExtend(TPMI_DH_PCR handle, // IN: PCR handle to be extended + TPMI_ALG_HASH hash, // IN: hash algorithm of PCR + UINT32 size, // IN: size of data to be extended + BYTE *data // IN: data to be extended ); -void PCRResetDynamics( - void - ); +void PCRResetDynamics(void); void PcrDrtm( - const TPMI_DH_PCR pcrHandle, // IN: the index of the PCR to be - // modified - const TPMI_ALG_HASH hash, // IN: the bank identifier - const TPM2B_DIGEST *digest // IN: the digest to modify the PCR - ); -BOOL PcrIsAllocated ( - UINT32 pcr, // IN: The number of the PCR - TPMI_ALG_HASH hashAlg // IN: The PCR algorithm -); -BOOL PCRIsExtendAllowed( - TPMI_DH_PCR handle // IN: PCR handle to be extended + const TPMI_DH_PCR pcrHandle, // IN: the index of the PCR to be modified + const TPMI_ALG_HASH hash, // IN: the bank identifier + const TPM2B_DIGEST *digest // IN: the digest to modify the PCR + ); +BOOL PcrIsAllocated(UINT32 pcr, // IN: The number of the PCR + TPMI_ALG_HASH hashAlg // IN: The PCR algorithm + ); +BOOL PCRIsExtendAllowed(TPMI_DH_PCR handle // IN: PCR handle to be extended ); -BOOL PCRIsResetAllowed( - TPMI_DH_PCR handle // IN: PCR handle to be extended - ); -BOOL PCRIsStateSaved( - TPMI_DH_PCR handle // IN: PCR handle to be extended +BOOL PCRIsResetAllowed(TPMI_DH_PCR handle // IN: PCR handle to be extended + ); +BOOL PCRIsStateSaved(TPMI_DH_PCR handle // IN: PCR handle to be extended ); -BOOL PCRPolicyIsAvailable( - TPMI_DH_PCR handle // IN: PCR handle - ); +BOOL PCRPolicyIsAvailable(TPMI_DH_PCR handle // IN: PCR handle + ); void PCRRead( - TPML_PCR_SELECTION *selection, // IN/OUT: PCR selection (filtered on - // output) - TPML_DIGEST *digest, // OUT: digest - UINT32 *pcrCounter // OUT: the current value of PCR generation - // number - ); -void PCRSetValue( - TPM_HANDLE handle, // IN: the handle of the PCR to set - INT8 initialValue // IN: the value to set - ); -void PCRSimStart( - void - ); -void PCRStartup( - STARTUP_TYPE type, // IN: startup type - BYTE locality // IN: startup locality - ); -void PCRStateSave( - TPM_SU type // IN: startup type - ); + TPML_PCR_SELECTION * + selection, // IN/OUT: PCR selection (filtered on output) + TPML_DIGEST *digest, // OUT: digest + UINT32 *pcrCounter // OUT: the current value of PCR generation number + ); +void PCRSetValue(TPM_HANDLE handle, // IN: the handle of the PCR to set + INT8 initialValue // IN: the value to set + ); +void PCRSimStart(void); +void PCRStartup(STARTUP_TYPE type, // IN: startup type + BYTE locality // IN: startup locality + ); +void PCRStateSave(TPM_SU type // IN: startup type + ); -#endif // __TPM2_PCR_FP_H +#endif // __TPM2_PCR_FP_H diff --git a/PP_Commands_fp.h b/PP_Commands_fp.h index 5737042..93975b5 100644 --- a/PP_Commands_fp.h +++ b/PP_Commands_fp.h @@ -8,12 +8,11 @@ #define __TPM2_PP_COMMANDS_FP_H_ typedef struct { - TPML_CC setList; - TPML_CC clearList; + TPML_CC setList; + TPML_CC clearList; } PP_Commands_In; -TPM_RC TPM2_PP_Commands( - PP_Commands_In *in // IN: input parameter list -); +TPM_RC TPM2_PP_Commands(PP_Commands_In *in // IN: input parameter list + ); -#endif // __TPM2_PP_COMMANDS_FP_H_ +#endif // __TPM2_PP_COMMANDS_FP_H_ @@ -8,21 +8,16 @@ #define __TPM2_PP_FP_H TPMI_YES_NO PhysicalPresenceCapGetCCList( - TPM_CC commandCode, // IN: start command code - UINT32 count, // IN: count of returned TPM_CC - TPML_CC *commandList // OUT: list of TPM_CC -); -void PhysicalPresenceCommandClear( - TPM_CC commandCode // IN: command code - ); -void PhysicalPresenceCommandSet( - TPM_CC commandCode // IN: command code - ); -BOOL PhysicalPresenceIsRequired( - TPM_CC commandCode // IN: command code - ); -void PhysicalPresencePreInstall_Init( - void - ); + TPM_CC commandCode, // IN: start command code + UINT32 count, // IN: count of returned TPM_CC + TPML_CC *commandList // OUT: list of TPM_CC + ); +void PhysicalPresenceCommandClear(TPM_CC commandCode // IN: command code + ); +void PhysicalPresenceCommandSet(TPM_CC commandCode // IN: command code + ); +BOOL PhysicalPresenceIsRequired(TPM_CC commandCode // IN: command code + ); +void PhysicalPresencePreInstall_Init(void); -#endif // __TPM2_PP_FP_H +#endif // __TPM2_PP_FP_H diff --git a/PolicyAuthValue_fp.h b/PolicyAuthValue_fp.h index dc6fd28..88079b9 100644 --- a/PolicyAuthValue_fp.h +++ b/PolicyAuthValue_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_POLICYAUTHVALUE_FP_H_ #define __TPM2_POLICYAUTHVALUE_FP_H_ -typedef struct { - TPM_HANDLE policySession; -} PolicyAuthValue_In; +typedef struct { TPM_HANDLE policySession; } PolicyAuthValue_In; -TPM_RC TPM2_PolicyAuthValue( - PolicyAuthValue_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyAuthValue(PolicyAuthValue_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYAUTHVALUE_FP_H_ +#endif // __TPM2_POLICYAUTHVALUE_FP_H_ diff --git a/PolicyAuthorize_fp.h b/PolicyAuthorize_fp.h index 9df34bf..73e1a88 100644 --- a/PolicyAuthorize_fp.h +++ b/PolicyAuthorize_fp.h @@ -8,15 +8,14 @@ #define __TPM2_POLICYAUTHORIZE_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPM2B_NAME keySign; - TPM2B_DIGEST approvedPolicy; - TPM2B_NONCE policyRef; - TPMT_TK_VERIFIED checkTicket; + TPM_HANDLE policySession; + TPM2B_NAME keySign; + TPM2B_DIGEST approvedPolicy; + TPM2B_NONCE policyRef; + TPMT_TK_VERIFIED checkTicket; } PolicyAuthorize_In; -TPM_RC TPM2_PolicyAuthorize( - PolicyAuthorize_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyAuthorize(PolicyAuthorize_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYAUTHORIZE_FP_H_ +#endif // __TPM2_POLICYAUTHORIZE_FP_H_ diff --git a/PolicyCommandCode_fp.h b/PolicyCommandCode_fp.h index c1a56c1..bd0c58e 100644 --- a/PolicyCommandCode_fp.h +++ b/PolicyCommandCode_fp.h @@ -8,12 +8,12 @@ #define __TPM2_POLICYCOMMANDCODE_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPM_CC code; + TPM_HANDLE policySession; + TPM_CC code; } PolicyCommandCode_In; TPM_RC TPM2_PolicyCommandCode( - PolicyCommandCode_In *in // IN: input parameter list -); + PolicyCommandCode_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYCOMMANDCODE_FP_H_ +#endif // __TPM2_POLICYCOMMANDCODE_FP_H_ diff --git a/PolicyCounterTimer_fp.h b/PolicyCounterTimer_fp.h index 7a93fe4..5d45ed8 100644 --- a/PolicyCounterTimer_fp.h +++ b/PolicyCounterTimer_fp.h @@ -8,14 +8,14 @@ #define __TPM2_POLICYCOUNTERTIMER_FP_H_ typedef struct { - TPM_EO operation; - UINT16 offset; - TPM_HANDLE policySession; - TPM2B_TIME_INFO operandB; + TPM_EO operation; + UINT16 offset; + TPM_HANDLE policySession; + TPM2B_TIME_INFO operandB; } PolicyCounterTimer_In; TPM_RC TPM2_PolicyCounterTimer( - PolicyCounterTimer_In *in // IN: input parameter list -); + PolicyCounterTimer_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYCOUNTERTIMER_FP_H_ +#endif // __TPM2_POLICYCOUNTERTIMER_FP_H_ diff --git a/PolicyCpHash_fp.h b/PolicyCpHash_fp.h index fef41ea..cb290c1 100644 --- a/PolicyCpHash_fp.h +++ b/PolicyCpHash_fp.h @@ -8,12 +8,11 @@ #define __TPM2_POLICYCPHASH_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPM2B_DIGEST cpHashA; + TPM_HANDLE policySession; + TPM2B_DIGEST cpHashA; } PolicyCpHash_In; -TPM_RC TPM2_PolicyCpHash( - PolicyCpHash_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyCpHash(PolicyCpHash_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYCPHASH_FP_H_ +#endif // __TPM2_POLICYCPHASH_FP_H_ diff --git a/PolicyDuplicationSelect_fp.h b/PolicyDuplicationSelect_fp.h index 714aa9e..7ac7eef 100644 --- a/PolicyDuplicationSelect_fp.h +++ b/PolicyDuplicationSelect_fp.h @@ -8,14 +8,14 @@ #define __TPM2_POLICYDUPLICATIONSELECT_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPM2B_NAME objectName; - TPM2B_NAME newParentName; - TPMI_YES_NO includeObject; + TPM_HANDLE policySession; + TPM2B_NAME objectName; + TPM2B_NAME newParentName; + TPMI_YES_NO includeObject; } PolicyDuplicationSelect_In; TPM_RC TPM2_PolicyDuplicationSelect( - PolicyDuplicationSelect_In *in // IN: input parameter list -); + PolicyDuplicationSelect_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYDUPLICATIONSELECT_FP_H_ +#endif // __TPM2_POLICYDUPLICATIONSELECT_FP_H_ diff --git a/PolicyGetDigest_fp.h b/PolicyGetDigest_fp.h index 9c32a1d..de80f47 100644 --- a/PolicyGetDigest_fp.h +++ b/PolicyGetDigest_fp.h @@ -7,17 +7,13 @@ #ifndef __TPM2_POLICYGETDIGEST_FP_H_ #define __TPM2_POLICYGETDIGEST_FP_H_ -typedef struct { - TPM_HANDLE policySession; -} PolicyGetDigest_In; +typedef struct { TPM_HANDLE policySession; } PolicyGetDigest_In; -typedef struct { - TPM2B_DIGEST policyDigest; -} PolicyGetDigest_Out; +typedef struct { TPM2B_DIGEST policyDigest; } PolicyGetDigest_Out; TPM_RC TPM2_PolicyGetDigest( - PolicyGetDigest_In *in, // IN: input parameter list - PolicyGetDigest_Out *out // OUT: output parameter list -); + PolicyGetDigest_In *in, // IN: input parameter list + PolicyGetDigest_Out *out // OUT: output parameter list + ); -#endif // __TPM2_POLICYGETDIGEST_FP_H_ +#endif // __TPM2_POLICYGETDIGEST_FP_H_ diff --git a/PolicyLocality_fp.h b/PolicyLocality_fp.h index b366f73..59c6884 100644 --- a/PolicyLocality_fp.h +++ b/PolicyLocality_fp.h @@ -8,12 +8,11 @@ #define __TPM2_POLICYLOCALITY_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPMA_LOCALITY locality; + TPM_HANDLE policySession; + TPMA_LOCALITY locality; } PolicyLocality_In; -TPM_RC TPM2_PolicyLocality( - PolicyLocality_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyLocality(PolicyLocality_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYLOCALITY_FP_H_ +#endif // __TPM2_POLICYLOCALITY_FP_H_ diff --git a/PolicyNV_fp.h b/PolicyNV_fp.h index 5f6ee0a..9eaeb48 100644 --- a/PolicyNV_fp.h +++ b/PolicyNV_fp.h @@ -8,16 +8,15 @@ #define __TPM2_POLICYNV_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPMI_RH_NV_INDEX nvIndex; - TPM_HANDLE authHandle; - UINT32 offset; - TPM_EO operation; - TPM2B_DATA operandB; + TPM_HANDLE policySession; + TPMI_RH_NV_INDEX nvIndex; + TPM_HANDLE authHandle; + UINT32 offset; + TPM_EO operation; + TPM2B_DATA operandB; } PolicyNV_In; -TPM_RC TPM2_PolicyNV( - PolicyNV_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyNV(PolicyNV_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYNV_FP_H_ +#endif // __TPM2_POLICYNV_FP_H_ diff --git a/PolicyNameHash_fp.h b/PolicyNameHash_fp.h index b310aa5..42334c4 100644 --- a/PolicyNameHash_fp.h +++ b/PolicyNameHash_fp.h @@ -8,12 +8,11 @@ #define __TPM2_POLICYNAMEHASH_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPM2B_DIGEST nameHash; + TPM_HANDLE policySession; + TPM2B_DIGEST nameHash; } PolicyNameHash_In; -TPM_RC TPM2_PolicyNameHash( - PolicyNameHash_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyNameHash(PolicyNameHash_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYNAMEHASH_FP_H_ +#endif // __TPM2_POLICYNAMEHASH_FP_H_ diff --git a/PolicyNvWritten_fp.h b/PolicyNvWritten_fp.h index 1d0b4a1..bd9dbce 100644 --- a/PolicyNvWritten_fp.h +++ b/PolicyNvWritten_fp.h @@ -8,12 +8,11 @@ #define __TPM2_POLICYNVWRITTEN_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPMI_YES_NO writtenSet; + TPM_HANDLE policySession; + TPMI_YES_NO writtenSet; } PolicyNvWritten_In; -TPM_RC TPM2_PolicyNvWritten( - PolicyNvWritten_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyNvWritten(PolicyNvWritten_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYNVWRITTEN_FP_H_ +#endif // __TPM2_POLICYNVWRITTEN_FP_H_ diff --git a/PolicyOR_fp.h b/PolicyOR_fp.h index b555044..ef13b90 100644 --- a/PolicyOR_fp.h +++ b/PolicyOR_fp.h @@ -7,14 +7,12 @@ #ifndef __TPM2_POLICYOR_FP_H_ #define __TPM2_POLICYOR_FP_H_ - typedef struct { - TPM_HANDLE policySession; - TPML_DIGEST pHashList; + TPM_HANDLE policySession; + TPML_DIGEST pHashList; } PolicyOR_In; -TPM_RC TPM2_PolicyOR( - PolicyOR_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyOR(PolicyOR_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYOR_FP_H_ +#endif // __TPM2_POLICYOR_FP_H_ diff --git a/PolicyPCR_fp.h b/PolicyPCR_fp.h index e9f50cd..d46014b 100644 --- a/PolicyPCR_fp.h +++ b/PolicyPCR_fp.h @@ -8,13 +8,12 @@ #define __TPM2_POLICYPCR_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPML_PCR_SELECTION pcrs; - TPM2B_DIGEST pcrDigest; + TPM_HANDLE policySession; + TPML_PCR_SELECTION pcrs; + TPM2B_DIGEST pcrDigest; } PolicyPCR_In; -TPM_RC TPM2_PolicyPCR( - PolicyPCR_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyPCR(PolicyPCR_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYPCR_FP_H_ +#endif // __TPM2_POLICYPCR_FP_H_ diff --git a/PolicyPassword_fp.h b/PolicyPassword_fp.h index c83dd09..545b3b1 100644 --- a/PolicyPassword_fp.h +++ b/PolicyPassword_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_POLICYPASSWORD_FP_H_ #define __TPM2_POLICYPASSWORD_FP_H_ -typedef struct { - TPM_HANDLE policySession; -} PolicyPassword_In; +typedef struct { TPM_HANDLE policySession; } PolicyPassword_In; -TPM_RC TPM2_PolicyPassword( - PolicyPassword_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyPassword(PolicyPassword_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYPASSWORD_FP_H_ +#endif // __TPM2_POLICYPASSWORD_FP_H_ diff --git a/PolicyPhysicalPresence_fp.h b/PolicyPhysicalPresence_fp.h index 0f7b89b..2d05e50 100644 --- a/PolicyPhysicalPresence_fp.h +++ b/PolicyPhysicalPresence_fp.h @@ -7,12 +7,10 @@ #ifndef __TPM2_POLICYPHYSICALPRESENCE_FP_H_ #define __TPM2_POLICYPHYSICALPRESENCE_FP_H_ -typedef struct { - TPM_HANDLE policySession; -} PolicyPhysicalPresence_In; +typedef struct { TPM_HANDLE policySession; } PolicyPhysicalPresence_In; TPM_RC TPM2_PolicyPhysicalPresence( - PolicyPhysicalPresence_In *in // IN: input parameter list -); + PolicyPhysicalPresence_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYPHYSICALPRESENCE_FP_H_ +#endif // __TPM2_POLICYPHYSICALPRESENCE_FP_H_ diff --git a/PolicyRestart_fp.h b/PolicyRestart_fp.h index 0e4a370..ce4e0d2 100644 --- a/PolicyRestart_fp.h +++ b/PolicyRestart_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_POLICYRESTART_FP_H_ #define __TPM2_POLICYRESTART_FP_H_ -typedef struct { - TPM_HANDLE sessionHandle; -} PolicyRestart_In; +typedef struct { TPM_HANDLE sessionHandle; } PolicyRestart_In; -TPM_RC TPM2_PolicyRestart( - PolicyRestart_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyRestart(PolicyRestart_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYRESTART_FP_H_ +#endif // __TPM2_POLICYRESTART_FP_H_ diff --git a/PolicySecret_fp.h b/PolicySecret_fp.h index ea9cd9e..5286195 100644 --- a/PolicySecret_fp.h +++ b/PolicySecret_fp.h @@ -8,22 +8,21 @@ #define __TPM2_POLICYSECRET_FP_H_ typedef struct { - TPM_HANDLE policySession; - INT32 expiration; - TPM2B_NONCE policyRef; - TPM2B_DIGEST cpHashA; - TPM2B_NONCE nonceTPM; - TPMI_DH_ENTITY authHandle; + TPM_HANDLE policySession; + INT32 expiration; + TPM2B_NONCE policyRef; + TPM2B_DIGEST cpHashA; + TPM2B_NONCE nonceTPM; + TPMI_DH_ENTITY authHandle; } PolicySecret_In; typedef struct { - TPMT_TK_AUTH policyTicket; - TPM2B_DATA timeout; + TPMT_TK_AUTH policyTicket; + TPM2B_DATA timeout; } PolicySecret_Out; -TPM_RC TPM2_PolicySecret( - PolicySecret_In *in, // IN: input parameter list - PolicySecret_Out *out // OUT: output parameter list -); +TPM_RC TPM2_PolicySecret(PolicySecret_In *in, // IN: input parameter list + PolicySecret_Out *out // OUT: output parameter list + ); -#endif // __TPM2_POLICYSECRET_FP_H_ +#endif // __TPM2_POLICYSECRET_FP_H_ diff --git a/PolicySigned_fp.h b/PolicySigned_fp.h index fc9690d..50c474f 100644 --- a/PolicySigned_fp.h +++ b/PolicySigned_fp.h @@ -8,23 +8,22 @@ #define __TPM2_POLICYSIGNED_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPMI_DH_OBJECT authObject; - INT32 expiration; - TPM2B_NONCE policyRef; - TPM2B_DIGEST cpHashA; - TPM2B_NONCE nonceTPM; - TPMT_SIGNATURE auth; + TPM_HANDLE policySession; + TPMI_DH_OBJECT authObject; + INT32 expiration; + TPM2B_NONCE policyRef; + TPM2B_DIGEST cpHashA; + TPM2B_NONCE nonceTPM; + TPMT_SIGNATURE auth; } PolicySigned_In; typedef struct { - TPM2B_DATA timeout; - TPMT_TK_AUTH policyTicket; + TPM2B_DATA timeout; + TPMT_TK_AUTH policyTicket; } PolicySigned_Out; -TPM_RC TPM2_PolicySigned( - PolicySigned_In *in, // IN: input parameter list - PolicySigned_Out *out // OUT: output parameter list -); +TPM_RC TPM2_PolicySigned(PolicySigned_In *in, // IN: input parameter list + PolicySigned_Out *out // OUT: output parameter list + ); -#endif // __TPM2_POLICYSIGNED_FP_H_ +#endif // __TPM2_POLICYSIGNED_FP_H_ diff --git a/PolicyTicket_fp.h b/PolicyTicket_fp.h index 843223f..d3a2cc5 100644 --- a/PolicyTicket_fp.h +++ b/PolicyTicket_fp.h @@ -8,16 +8,15 @@ #define __TPM2_POLICYTICKET_FP_H_ typedef struct { - TPM_HANDLE policySession; - TPM2B_DATA timeout; - TPM2B_DIGEST cpHashA; - TPMT_TK_COMMON ticket; - TPM2B_NONCE policyRef; - TPM2B_NAME authName; + TPM_HANDLE policySession; + TPM2B_DATA timeout; + TPM2B_DIGEST cpHashA; + TPMT_TK_COMMON ticket; + TPM2B_NONCE policyRef; + TPM2B_NAME authName; } PolicyTicket_In; -TPM_RC TPM2_PolicyTicket( - PolicyTicket_In *in // IN: input parameter list -); +TPM_RC TPM2_PolicyTicket(PolicyTicket_In *in // IN: input parameter list + ); -#endif // __TPM2_POLICYTICKET_FP_H_ +#endif // __TPM2_POLICYTICKET_FP_H_ diff --git a/Policy_spt_fp.h b/Policy_spt_fp.h index c3bea78..8fd4944 100644 --- a/Policy_spt_fp.h +++ b/Policy_spt_fp.h @@ -8,22 +8,17 @@ #define __TPM2_POLICY_SPT_FP_H_ void PolicyContextUpdate( - TPM_CC commandCode, // IN: command code - TPM2B_NAME *name, // IN: name of entity - TPM2B_NONCE *ref, // IN: the reference data - TPM2B_DIGEST *cpHash, // IN: the cpHash (optional) - UINT64 policyTimeout, - SESSION *session // IN/OUT: policy session to be updated - ); -TPM_RC PolicyParameterChecks( - SESSION *session, - UINT64 authTimeout, - TPM2B_DIGEST *cpHashA, - TPM2B_NONCE *nonce, - TPM_RC nonceParameterNumber, - TPM_RC cpHashParameterNumber, - TPM_RC expirationParameterNumber - ); - -#endif // __TPM2_POLICY_SPT_FP_H_ + TPM_CC commandCode, // IN: command code + TPM2B_NAME *name, // IN: name of entity + TPM2B_NONCE *ref, // IN: the reference data + TPM2B_DIGEST *cpHash, // IN: the cpHash (optional) + UINT64 policyTimeout, + SESSION *session // IN/OUT: policy session to be updated + ); +TPM_RC PolicyParameterChecks(SESSION *session, UINT64 authTimeout, + TPM2B_DIGEST *cpHashA, TPM2B_NONCE *nonce, + TPM_RC nonceParameterNumber, + TPM_RC cpHashParameterNumber, + TPM_RC expirationParameterNumber); +#endif // __TPM2_POLICY_SPT_FP_H_ @@ -7,15 +7,8 @@ #ifndef __TPM2_POWER_FP_H #define __TPM2_POWER_FP_H -BOOL TPMIsStarted( - void - ); -void TPMInit( - void - ); -void TPMRegisterStartup( - void - ); - -#endif // __TPM2_POWER_FP_H +BOOL TPMIsStarted(void); +void TPMInit(void); +void TPMRegisterStartup(void); +#endif // __TPM2_POWER_FP_H diff --git a/PropertyCap_fp.h b/PropertyCap_fp.h index cb1c494..ef8f313 100644 --- a/PropertyCap_fp.h +++ b/PropertyCap_fp.h @@ -8,10 +8,9 @@ #define __TPM2_PROPERTYCAP_FP_H TPMI_YES_NO TPMCapGetProperties( - TPM_PT property, // IN: the starting TPM property - UINT32 count, // IN: maximum number of returned - // propertie - TPML_TAGGED_TPM_PROPERTY *propertyList // OUT: property list -); + TPM_PT property, // IN: the starting TPM property + UINT32 count, // IN: maximum number of returned propertie + TPML_TAGGED_TPM_PROPERTY *propertyList // OUT: property list + ); -#endif // __TPM2_PROPERTYCAP_FP_H +#endif // __TPM2_PROPERTYCAP_FP_H @@ -8,20 +8,19 @@ #define __TPM2_QUOTE_FP_H_ typedef struct { - TPMI_DH_OBJECT signHandle; - TPMT_SIG_SCHEME inScheme; - TPM2B_DATA qualifyingData; - TPML_PCR_SELECTION PCRselect; + TPMI_DH_OBJECT signHandle; + TPMT_SIG_SCHEME inScheme; + TPM2B_DATA qualifyingData; + TPML_PCR_SELECTION PCRselect; } Quote_In; typedef struct { - TPM2B_ATTEST quoted; - TPMT_SIGNATURE signature; + TPM2B_ATTEST quoted; + TPMT_SIGNATURE signature; } Quote_Out; -TPM_RC TPM2_Quote( - Quote_In *in, // IN: input parameter list - Quote_Out *out // OUT: output parameter list -); +TPM_RC TPM2_Quote(Quote_In *in, // IN: input parameter list + Quote_Out *out // OUT: output parameter list + ); -#endif // __TPM2_QUOTE_FP_H_ +#endif // __TPM2_QUOTE_FP_H_ diff --git a/RSAKeySieve_fp.h b/RSAKeySieve_fp.h index 6303111..a8ca1e2 100644 --- a/RSAKeySieve_fp.h +++ b/RSAKeySieve_fp.h @@ -8,22 +8,22 @@ #define __TPM2_RSAKEYSIEVE_FP_H LIB_EXPORT CRYPT_RESULT _cpri__GenerateKeyRSA( - TPM2B *n, // OUT: The public modulus - TPM2B *p, // OUT: One of the prime factors of n - UINT16 keySizeInBits, // IN: Size of the public modulus in bits - UINT32 e, // IN: The public exponent - TPM_ALG_ID hashAlg, // IN: hash algorithm to use in the key - // generation process - TPM2B *seed, // IN: the seed to use - const char *label, // IN: A label for the generation process. - TPM2B *extra, // IN: Party 1 data for the KDF - UINT32 *counter // IN/OUT: Counter value to allow KDF - // iteration to be propagated across - // multiple routines -#ifdef RSA_DEBUG //% - ,UINT16 primes, // IN: number of primes to test - UINT16 fieldSize // IN: the field size to use -#endif //% - ); + TPM2B *n, // OUT: The public modulus + TPM2B *p, // OUT: One of the prime factors of n + UINT16 keySizeInBits, // IN: Size of the public modulus in bits + UINT32 e, // IN: The public exponent + TPM_ALG_ID + hashAlg, // IN: hash algorithm to use in the key generation process + TPM2B *seed, // IN: the seed to use + const char *label, // IN: A label for the generation process. + TPM2B *extra, // IN: Party 1 data for the KDF + UINT32 *counter // IN/OUT: Counter value to allow KDF iteration to be + // propagated across multiple routines +#ifdef RSA_DEBUG + , + UINT16 primes, // IN: number of primes to test + UINT16 fieldSize // IN: the field size to use +#endif + ); -#endif // __TPM2_RSAKEYSIEVE_FP_H +#endif // __TPM2_RSAKEYSIEVE_FP_H diff --git a/RSA_Decrypt_fp.h b/RSA_Decrypt_fp.h index ef3996a..10aae0b 100644 --- a/RSA_Decrypt_fp.h +++ b/RSA_Decrypt_fp.h @@ -8,19 +8,16 @@ #define __TPM2_RSA_DECRYPT_FP_H_ typedef struct { - TPM_HANDLE keyHandle; - TPM2B_DATA cipherText; - TPM2B_DATA label; - TPMT_RSA_DECRYPT inScheme; + TPM_HANDLE keyHandle; + TPM2B_DATA cipherText; + TPM2B_DATA label; + TPMT_RSA_DECRYPT inScheme; } RSA_Decrypt_In; -typedef struct { - TPM2B_DATA message; -} RSA_Decrypt_Out; +typedef struct { TPM2B_DATA message; } RSA_Decrypt_Out; -TPM_RC TPM2_RSA_Decrypt( - RSA_Decrypt_In *in, // IN: input parameter list - RSA_Decrypt_Out *out // OUT: output parameter list -); +TPM_RC TPM2_RSA_Decrypt(RSA_Decrypt_In *in, // IN: input parameter list + RSA_Decrypt_Out *out // OUT: output parameter list + ); -#endif // __TPM2_RSA_DECRYPT_FP_H_ +#endif // __TPM2_RSA_DECRYPT_FP_H_ diff --git a/RSA_Encrypt_fp.h b/RSA_Encrypt_fp.h index 5965da5..f7ae6bf 100644 --- a/RSA_Encrypt_fp.h +++ b/RSA_Encrypt_fp.h @@ -8,19 +8,16 @@ #define __TPM2_RSA_ENCRYPT_FP_H_ typedef struct { - TPMI_DH_OBJECT keyHandle; - TPM2B_DATA label; - TPM2B_DATA message; - TPMT_RSA_DECRYPT inScheme; + TPMI_DH_OBJECT keyHandle; + TPM2B_DATA label; + TPM2B_DATA message; + TPMT_RSA_DECRYPT inScheme; } RSA_Encrypt_In; -typedef struct { - TPM2B_DATA outData; -} RSA_Encrypt_Out; +typedef struct { TPM2B_DATA outData; } RSA_Encrypt_Out; -TPM_RC TPM2_RSA_Encrypt( - RSA_Encrypt_In *in, // IN: input parameter list - RSA_Encrypt_Out *out // OUT: output parameter list -); +TPM_RC TPM2_RSA_Encrypt(RSA_Encrypt_In *in, // IN: input parameter list + RSA_Encrypt_Out *out // OUT: output parameter list + ); -#endif // __TPM2_RSA_ENCRYPT_FP_H_ +#endif // __TPM2_RSA_ENCRYPT_FP_H_ diff --git a/ReadClock_fp.h b/ReadClock_fp.h index 19e1dcb..4feeff9 100644 --- a/ReadClock_fp.h +++ b/ReadClock_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_READCLOCK_FP_H_ #define __TPM2_READCLOCK_FP_H_ -typedef struct { - TPMS_TIME_INFO currentTime; -} ReadClock_Out; +typedef struct { TPMS_TIME_INFO currentTime; } ReadClock_Out; -TPM_RC TPM2_ReadClock( - ReadClock_Out *out // OUT: output parameter list -); +TPM_RC TPM2_ReadClock(ReadClock_Out *out // OUT: output parameter list + ); -#endif // __TPM2_READCLOCK_FP_H_ +#endif // __TPM2_READCLOCK_FP_H_ diff --git a/ReadPublic_fp.h b/ReadPublic_fp.h index a77c765..ff5c4a1 100644 --- a/ReadPublic_fp.h +++ b/ReadPublic_fp.h @@ -7,19 +7,16 @@ #ifndef __TPM2_READPUBLIC_FP_H_ #define __TPM2_READPUBLIC_FP_H_ -typedef struct { - TPMI_DH_OBJECT objectHandle; -} ReadPublic_In; +typedef struct { TPMI_DH_OBJECT objectHandle; } ReadPublic_In; typedef struct { - TPM2B_PUBLIC outPublic; - TPM2B_NAME name; - TPM2B_NAME qualifiedName; + TPM2B_PUBLIC outPublic; + TPM2B_NAME name; + TPM2B_NAME qualifiedName; } ReadPublic_Out; -TPM_RC TPM2_ReadPublic( - ReadPublic_In *in, // IN: input parameter list - ReadPublic_Out *out // OUT: output parameter list -); +TPM_RC TPM2_ReadPublic(ReadPublic_In *in, // IN: input parameter list + ReadPublic_Out *out // OUT: output parameter list + ); -#endif // __TPM2_READPUBLIC_FP_H_ +#endif // __TPM2_READPUBLIC_FP_H_ diff --git a/Rewrap_fp.h b/Rewrap_fp.h index d5f3407..7912010 100644 --- a/Rewrap_fp.h +++ b/Rewrap_fp.h @@ -8,21 +8,20 @@ #define __TPM2_REWRAP_FP_H_ typedef struct { - TPM2B_PRIVATE inDuplicate; - TPM_RH newParent; - TPM_RH oldParent; - TPM2B_ENCRYPTED_SECRET inSymSeed; - TPM2B_NAME name; + TPM2B_PRIVATE inDuplicate; + TPM_RH newParent; + TPM_RH oldParent; + TPM2B_ENCRYPTED_SECRET inSymSeed; + TPM2B_NAME name; } Rewrap_In; typedef struct { - TPM2B_PRIVATE outDuplicate; - TPM2B_ENCRYPTED_SECRET outSymSeed; + TPM2B_PRIVATE outDuplicate; + TPM2B_ENCRYPTED_SECRET outSymSeed; } Rewrap_Out; -TPM_RC TPM2_Rewrap( - Rewrap_In *in, // IN: input parameter list - Rewrap_Out *out // OUT: output parameter list -); +TPM_RC TPM2_Rewrap(Rewrap_In *in, // IN: input parameter list + Rewrap_Out *out // OUT: output parameter list + ); -#endif // __TPM2_REWRAP_FP_H_ +#endif // __TPM2_REWRAP_FP_H_ diff --git a/SelfTest_fp.h b/SelfTest_fp.h index 6ba2e7f..3af4b7e 100644 --- a/SelfTest_fp.h +++ b/SelfTest_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_SELFTEST_FP_H_ #define __TPM2_SELFTEST_FP_H_ -typedef struct { - TPMI_YES_NO fullTest; -} SelfTest_In; +typedef struct { TPMI_YES_NO fullTest; } SelfTest_In; -TPM_RC TPM2_SelfTest( - SelfTest_In *in // IN: input parameter list -); +TPM_RC TPM2_SelfTest(SelfTest_In *in // IN: input parameter list + ); -#endif // __TPM2_SELFTEST_FP_H_ +#endif // __TPM2_SELFTEST_FP_H_ diff --git a/SequenceComplete_fp.h b/SequenceComplete_fp.h index 5e82c6c..ace09b2 100644 --- a/SequenceComplete_fp.h +++ b/SequenceComplete_fp.h @@ -8,19 +8,19 @@ #define __TPM2_SEQUENCECOMPLETE_FP_H_ typedef struct { - TPM_RH hierarchy; - TPMI_DH_OBJECT sequenceHandle; - TPM2B_DATA buffer; + TPM_RH hierarchy; + TPMI_DH_OBJECT sequenceHandle; + TPM2B_DATA buffer; } SequenceComplete_In; typedef struct { - TPMT_TK_HASHCHECK validation; - TPM2B_DIGEST result; + TPMT_TK_HASHCHECK validation; + TPM2B_DIGEST result; } SequenceComplete_Out; TPM_RC TPM2_SequenceComplete( - SequenceComplete_In *in, // IN: input parameter list - SequenceComplete_Out *out // OUT: output parameter list -); + SequenceComplete_In *in, // IN: input parameter list + SequenceComplete_Out *out // OUT: output parameter list + ); -#endif // __TPM2_SEQUENCECOMPLETE_FP_H_ +#endif // __TPM2_SEQUENCECOMPLETE_FP_H_ diff --git a/SequenceUpdate_fp.h b/SequenceUpdate_fp.h index 73f22e1..5db1638 100644 --- a/SequenceUpdate_fp.h +++ b/SequenceUpdate_fp.h @@ -8,12 +8,11 @@ #define __TPM2_SEQUENCEUPDATE_FP_H_ typedef struct { - TPMI_DH_OBJECT sequenceHandle; - TPM2B_DATA buffer; + TPMI_DH_OBJECT sequenceHandle; + TPM2B_DATA buffer; } SequenceUpdate_In; -TPM_RC TPM2_SequenceUpdate( - SequenceUpdate_In *in // IN: input parameter list -); +TPM_RC TPM2_SequenceUpdate(SequenceUpdate_In *in // IN: input parameter list + ); -#endif // __TPM2_SEQUENCEUPDATE_FP_H_ +#endif // __TPM2_SEQUENCEUPDATE_FP_H_ diff --git a/SessionProcess_fp.h b/SessionProcess_fp.h index fdfc274..ca1487f 100644 --- a/SessionProcess_fp.h +++ b/SessionProcess_fp.h @@ -8,30 +8,29 @@ #define __TPM2_SESSIONPROCESS_FP_H void BuildResponseSession( - TPM_ST tag, // IN: tag - TPM_CC commandCode, // IN: commandCode - UINT32 resHandleSize, // IN: size of response handle buffer - UINT32 resParmSize, // IN: size of response parameter buffer - UINT32 *resSessionSize // OUT: response session area - ); + TPM_ST tag, // IN: tag + TPM_CC commandCode, // IN: commandCode + UINT32 resHandleSize, // IN: size of response handle buffer + UINT32 resParmSize, // IN: size of response parameter buffer + UINT32 *resSessionSize // OUT: response session area + ); TPM_RC CheckAuthNoSession( - TPM_CC commandCode, // IN: Command Code - UINT32 handleNum, // IN: number of handles in command - TPM_HANDLE handles[], // IN: array of handle - BYTE *parmBufferStart, // IN: start of parameter buffer - UINT32 parmBufferSize // IN: size of parameter buffer - ); -BOOL IsDAExempted( - TPM_HANDLE handle // IN: entity handle - ); + TPM_CC commandCode, // IN: Command Code + UINT32 handleNum, // IN: number of handles in command + TPM_HANDLE handles[], // IN: array of handle + BYTE *parmBufferStart, // IN: start of parameter buffer + UINT32 parmBufferSize // IN: size of parameter buffer + ); +BOOL IsDAExempted(TPM_HANDLE handle // IN: entity handle + ); TPM_RC ParseSessionBuffer( - TPM_CC commandCode, // IN: Command code - UINT32 handleNum, // IN: number of element in handle array - TPM_HANDLE handles[], // IN: array of handle - BYTE *sessionBufferStart, // IN: start of session buffer - UINT32 sessionBufferSize, // IN: size of session buffer - BYTE *parmBufferStart, // IN: start of parameter buffer - UINT32 parmBufferSize // IN: size of parameter buffer - ); + TPM_CC commandCode, // IN: Command code + UINT32 handleNum, // IN: number of element in handle array + TPM_HANDLE handles[], // IN: array of handle + BYTE *sessionBufferStart, // IN: start of session buffer + UINT32 sessionBufferSize, // IN: size of session buffer + BYTE *parmBufferStart, // IN: start of parameter buffer + UINT32 parmBufferSize // IN: size of parameter buffer + ); -#endif // __TPM2_SESSIONPROCESS_FP_H +#endif // __TPM2_SESSIONPROCESS_FP_H diff --git a/Session_fp.h b/Session_fp.h index 7c6b6f9..16af3f7 100644 --- a/Session_fp.h +++ b/Session_fp.h @@ -7,72 +7,51 @@ #ifndef __TPM2_SESSION_FP_H #define __TPM2_SESSION_FP_H -UINT32 SessionCapGetActiveAvail( - void - ); -UINT32 SessionCapGetActiveNumber( - void - ); -TPMI_YES_NO SessionCapGetLoaded( - TPMI_SH_POLICY handle, // IN: start handle - UINT32 count, // IN: count of returned handle - TPML_HANDLE *handleList // OUT: list of handle -); -UINT32 SessionCapGetLoadedAvail( - void - ); -UINT32 SessionCapGetLoadedNumber( - void - ); -TPMI_YES_NO SessionCapGetSaved( - TPMI_SH_HMAC handle, // IN: start handle - UINT32 count, // IN: count of returned handle - TPML_HANDLE *handleList // OUT: list of handle -); +UINT32 SessionCapGetActiveAvail(void); +UINT32 SessionCapGetActiveNumber(void); +TPMI_YES_NO SessionCapGetLoaded(TPMI_SH_POLICY handle, // IN: start handle + UINT32 count, // IN: count of returned handle + TPML_HANDLE *handleList // OUT: list of handle + ); +UINT32 SessionCapGetLoadedAvail(void); +UINT32 SessionCapGetLoadedNumber(void); +TPMI_YES_NO SessionCapGetSaved(TPMI_SH_HMAC handle, // IN: start handle + UINT32 count, // IN: count of returned handle + TPML_HANDLE *handleList // OUT: list of handle + ); void SessionComputeBoundEntity( - TPMI_DH_ENTITY entityHandle, // IN: handle of entity - TPM2B_NAME *bind // OUT: binding value - ); + TPMI_DH_ENTITY entityHandle, // IN: handle of entity + TPM2B_NAME *bind // OUT: binding value + ); TPM_RC SessionContextLoad( - SESSION *session, // IN: session structure from saved context - TPM_HANDLE *handle // IN/OUT: session handle + SESSION *session, // IN: session structure from saved context + TPM_HANDLE *handle // IN/OUT: session handle + ); +TPM_RC SessionContextSave(TPM_HANDLE handle, // IN: session handle + CONTEXT_COUNTER *contextID // OUT: assigned contextID ); -TPM_RC SessionContextSave ( - TPM_HANDLE handle, // IN: session handle - CONTEXT_COUNTER *contextID // OUT: assigned contextID +TPM_RC SessionCreate(TPM_SE sessionType, // IN: the session type + TPMI_ALG_HASH authHash, // IN: the hash algorithm + TPM2B_NONCE *nonceCaller, // IN: initial nonceCaller + TPMT_SYM_DEF *symmetric, // IN: the symmetric algorithm + TPMI_DH_ENTITY bind, // IN: the bind object + TPM2B_DATA *seed, // IN: seed data + TPM_HANDLE *sessionHandle // OUT: the session handle + ); +void SessionFlush(TPM_HANDLE handle // IN: loaded or saved session handle + ); +SESSION *SessionGet(TPM_HANDLE handle // IN: session handle + ); +void SessionInitPolicyData(SESSION *session // IN: session handle ); -TPM_RC SessionCreate( - TPM_SE sessionType, // IN: the session type - TPMI_ALG_HASH authHash, // IN: the hash algorithm - TPM2B_NONCE *nonceCaller, // IN: initial nonceCaller - TPMT_SYM_DEF *symmetric, // IN: the symmetric algorithm - TPMI_DH_ENTITY bind, // IN: the bind object - TPM2B_DATA *seed, // IN: seed data - TPM_HANDLE *sessionHandle // OUT: the session handle - ); -void SessionFlush( - TPM_HANDLE handle // IN: loaded or saved session handle -); -SESSION *SessionGet( - TPM_HANDLE handle // IN: session handle -); -void SessionInitPolicyData( - SESSION *session // IN: session handle - ); -BOOL SessionIsLoaded( - TPM_HANDLE handle // IN: session handle +BOOL SessionIsLoaded(TPM_HANDLE handle // IN: session handle ); -BOOL SessionIsSaved( - TPM_HANDLE handle // IN: session handle +BOOL SessionIsSaved(TPM_HANDLE handle // IN: session handle ); -BOOL SessionPCRValueIsCurrent( - TPMI_SH_POLICY handle // IN: session handle - ); -void SessionResetPolicyData( - SESSION *session // IN: the session to reset - ); -void SessionStartup( - STARTUP_TYPE type - ); +BOOL SessionPCRValueIsCurrent(TPMI_SH_POLICY handle // IN: session handle + ); +void SessionResetPolicyData(SESSION *session // IN: the session to reset + ); +void SessionStartup(STARTUP_TYPE type); -#endif // __TPM2_SESSION_FP_H +#endif // __TPM2_SESSION_FP_H diff --git a/SetAlgorithmSet_fp.h b/SetAlgorithmSet_fp.h index e2d0ea7..13c58fe 100644 --- a/SetAlgorithmSet_fp.h +++ b/SetAlgorithmSet_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_SETALGORITHMSET_FP_H_ #define __TPM2_SETALGORITHMSET_FP_H_ -typedef struct { - UINT32 algorithmSet; -} SetAlgorithmSet_In; +typedef struct { UINT32 algorithmSet; } SetAlgorithmSet_In; -TPM_RC TPM2_SetAlgorithmSet( - SetAlgorithmSet_In *in // IN: input parameter list -); +TPM_RC TPM2_SetAlgorithmSet(SetAlgorithmSet_In *in // IN: input parameter list + ); -#endif // __TPM2_SETALGORITHMSET_FP_H_ +#endif // __TPM2_SETALGORITHMSET_FP_H_ diff --git a/SetCommandCodeAuditStatus_fp.h b/SetCommandCodeAuditStatus_fp.h index f8d3cff..e6befd7 100644 --- a/SetCommandCodeAuditStatus_fp.h +++ b/SetCommandCodeAuditStatus_fp.h @@ -8,13 +8,13 @@ #define __TPM2_SETCOMMANDCODEAUDITSTATUS_FP_H_ typedef struct { - TPML_CC clearList; - TPML_CC setList; - TPM_ALG_ID auditAlg; + TPML_CC clearList; + TPML_CC setList; + TPM_ALG_ID auditAlg; } SetCommandCodeAuditStatus_In; TPM_RC TPM2_SetCommandCodeAuditStatus( - SetCommandCodeAuditStatus_In *in // IN: input parameter list -); + SetCommandCodeAuditStatus_In *in // IN: input parameter list + ); -#endif // __TPM2_SETCOMMANDCODEAUDITSTATUS_FP_H_ +#endif // __TPM2_SETCOMMANDCODEAUDITSTATUS_FP_H_ diff --git a/SetPrimaryPolicy_fp.h b/SetPrimaryPolicy_fp.h index e344e05..c2c1c37 100644 --- a/SetPrimaryPolicy_fp.h +++ b/SetPrimaryPolicy_fp.h @@ -8,13 +8,13 @@ #define __TPM2_SETPRIMARYPOLICY_FP_H_ typedef struct { - TPM_RH authHandle; - TPM2B_DIGEST authPolicy; - TPMI_ALG_HASH hashAlg; + TPM_RH authHandle; + TPM2B_DIGEST authPolicy; + TPMI_ALG_HASH hashAlg; } SetPrimaryPolicy_In; TPM_RC TPM2_SetPrimaryPolicy( - SetPrimaryPolicy_In *in // IN: input parameter list -); + SetPrimaryPolicy_In *in // IN: input parameter list + ); -#endif // __TPM2_SETPRIMARYPOLICY_FP_H_ +#endif // __TPM2_SETPRIMARYPOLICY_FP_H_ diff --git a/Shutdown_fp.h b/Shutdown_fp.h index dcc6886..4a4b436 100644 --- a/Shutdown_fp.h +++ b/Shutdown_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_SHUTDOWN_FP_H_ #define __TPM2_SHUTDOWN_FP_H_ -typedef struct { - TPM_SU shutdownType; -} Shutdown_In; +typedef struct { TPM_SU shutdownType; } Shutdown_In; -TPM_RC TPM2_Shutdown( - Shutdown_In *in // IN: input parameter list -); +TPM_RC TPM2_Shutdown(Shutdown_In *in // IN: input parameter list + ); -#endif // __TPM2_SHUTDOWN_FP_H_ +#endif // __TPM2_SHUTDOWN_FP_H_ @@ -8,19 +8,16 @@ #define __TPM2_SIGN_FP_H_ typedef struct { - TPMI_DH_OBJECT keyHandle; - TPMT_SIG_SCHEME inScheme; - TPM2B_DIGEST digest; - TPMT_TK_COMMON validation; + TPMI_DH_OBJECT keyHandle; + TPMT_SIG_SCHEME inScheme; + TPM2B_DIGEST digest; + TPMT_TK_COMMON validation; } Sign_In; -typedef struct { - TPMT_SIGNATURE signature; -} Sign_Out; +typedef struct { TPMT_SIGNATURE signature; } Sign_Out; -TPM_RC TPM2_Sign( - Sign_In *in, // IN: input parameter list - Sign_Out *out // OUT: output parameter list -); +TPM_RC TPM2_Sign(Sign_In *in, // IN: input parameter list + Sign_Out *out // OUT: output parameter list + ); -#endif // __TPM2_SIGN_FP_H_ +#endif // __TPM2_SIGN_FP_H_ diff --git a/StartAuthSession_fp.h b/StartAuthSession_fp.h index d32d974..0959377 100644 --- a/StartAuthSession_fp.h +++ b/StartAuthSession_fp.h @@ -8,23 +8,23 @@ #define __TPM2_STARTAUTHSESSION_FP_H_ typedef struct { - TPM_HANDLE tpmKey; - TPM_SE sessionType; - TPMI_ALG_HASH authHash; - TPM2B_NONCE nonceCaller; - TPMT_SYM_DEF symmetric; - TPMI_DH_ENTITY bind; - TPM2B_ENCRYPTED_SECRET encryptedSalt; + TPM_HANDLE tpmKey; + TPM_SE sessionType; + TPMI_ALG_HASH authHash; + TPM2B_NONCE nonceCaller; + TPMT_SYM_DEF symmetric; + TPMI_DH_ENTITY bind; + TPM2B_ENCRYPTED_SECRET encryptedSalt; } StartAuthSession_In; typedef struct { - TPM2B_NONCE nonceTPM; - TPM_HANDLE sessionHandle; + TPM2B_NONCE nonceTPM; + TPM_HANDLE sessionHandle; } StartAuthSession_Out; TPM_RC TPM2_StartAuthSession( - StartAuthSession_In *in, // IN: input parameter buffer - StartAuthSession_Out *out // OUT: output parameter buffer -); + StartAuthSession_In *in, // IN: input parameter buffer + StartAuthSession_Out *out // OUT: output parameter buffer + ); -#endif // __TPM2_STARTAUTHSESSION_FP_H_ +#endif // __TPM2_STARTAUTHSESSION_FP_H_ diff --git a/Startup_fp.h b/Startup_fp.h index 5358658..56bd37d 100644 --- a/Startup_fp.h +++ b/Startup_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_STARTUP_FP_H_ #define __TPM2_STARTUP_FP_H_ -typedef struct { - TPM_SU startupType; -} Startup_In; +typedef struct { TPM_SU startupType; } Startup_In; -TPM_RC TPM2_Startup( - Startup_In *in // IN: input parameter list -); +TPM_RC TPM2_Startup(Startup_In *in // IN: input parameter list + ); -#endif // __TPM2_STARTUP_FP_H_ +#endif // __TPM2_STARTUP_FP_H_ diff --git a/StirRandom_fp.h b/StirRandom_fp.h index c1fa1c5..265bcaf 100644 --- a/StirRandom_fp.h +++ b/StirRandom_fp.h @@ -7,12 +7,9 @@ #ifndef __TPM2_STIRRANDOM_FP_H_ #define __TPM2_STIRRANDOM_FP_H_ -typedef struct { - TPM2B_DATA inData; -} StirRandom_In; +typedef struct { TPM2B_DATA inData; } StirRandom_In; -TPM_RC TPM2_StirRandom( - StirRandom_In *in // IN: input parameter list -); +TPM_RC TPM2_StirRandom(StirRandom_In *in // IN: input parameter list + ); -#endif // __TPM2_STIRRANDOM_FP_H_ +#endif // __TPM2_STIRRANDOM_FP_H_ diff --git a/TPM_Types.h b/TPM_Types.h index 7fd1f58..04ac364 100644 --- a/TPM_Types.h +++ b/TPM_Types.h @@ -17,16 +17,16 @@ /// /// A generic handle could be key, transport etc /// -typedef UINT32 TPM_HANDLE; +typedef UINT32 TPM_HANDLE; typedef UINT16 TPM_KEY_BITS; typedef UINT32 TPM_CAP; -#define MAX_CAP_DATA (MAX_CAP_BUFFER - sizeof(TPM_CAP) - sizeof(UINT32)) -#define MAX_CAP_ALGS (MAX_CAP_DATA / sizeof(TPMS_ALG_PROPERTY)) -#define MAX_CAP_CC (MAX_CAP_DATA / sizeof(TPM_CC)) -#define MAX_CAP_HANDLES (MAX_CAP_DATA / sizeof(TPM_HANDLE)) -#define MAX_ECC_CURVES (MAX_CAP_DATA / sizeof(TPM_ECC_CURVE)) +#define MAX_CAP_DATA (MAX_CAP_BUFFER - sizeof(TPM_CAP) - sizeof(UINT32)) +#define MAX_CAP_ALGS (MAX_CAP_DATA / sizeof(TPMS_ALG_PROPERTY)) +#define MAX_CAP_CC (MAX_CAP_DATA / sizeof(TPM_CC)) +#define MAX_CAP_HANDLES (MAX_CAP_DATA / sizeof(TPM_HANDLE)) +#define MAX_ECC_CURVES (MAX_CAP_DATA / sizeof(TPM_ECC_CURVE)) #define MAX_PCR_PROPERTIES (MAX_CAP_DATA / sizeof(TPMS_TAGGED_PCR_SELECT)) #define MAX_TPM_PROPERTIES (MAX_CAP_DATA / sizeof(TPMS_TAGGED_PROPERTY)) @@ -37,177 +37,178 @@ typedef UINT32 TPM_GENERATED; // Table 7 - TPM_ALG_ID Constants typedef UINT16 TPM_ALG_ID; // -// NOTE: Comment some algo which has same name as TPM1.2 (value is same, so not runtime issue) +// NOTE: Comment some algo which has same name as TPM1.2 (value is same, so not +// runtime issue) // // Table 15 - TPM_RC Constants (Actions) typedef UINT32 TPM_RC; -#define TPM_RC_SUCCESS (TPM_RC)(0x000) -#define TPM_RC_BAD_TAG (TPM_RC)(0x030) -#define RC_VER1 (TPM_RC)(0x100) -#define TPM_RC_INITIALIZE (TPM_RC)(RC_VER1 + 0x000) -#define TPM_RC_FAILURE (TPM_RC)(RC_VER1 + 0x001) -#define TPM_RC_SEQUENCE (TPM_RC)(RC_VER1 + 0x003) -#define TPM_RC_PRIVATE (TPM_RC)(RC_VER1 + 0x00B) -#define TPM_RC_HMAC (TPM_RC)(RC_VER1 + 0x019) -#define TPM_RC_DISABLED (TPM_RC)(RC_VER1 + 0x020) -#define TPM_RC_EXCLUSIVE (TPM_RC)(RC_VER1 + 0x021) -#define TPM_RC_AUTH_TYPE (TPM_RC)(RC_VER1 + 0x024) -#define TPM_RC_AUTH_MISSING (TPM_RC)(RC_VER1 + 0x025) -#define TPM_RC_POLICY (TPM_RC)(RC_VER1 + 0x026) -#define TPM_RC_PCR (TPM_RC)(RC_VER1 + 0x027) -#define TPM_RC_PCR_CHANGED (TPM_RC)(RC_VER1 + 0x028) -#define TPM_RC_UPGRADE (TPM_RC)(RC_VER1 + 0x02D) +#define TPM_RC_SUCCESS (TPM_RC)(0x000) +#define TPM_RC_BAD_TAG (TPM_RC)(0x030) +#define RC_VER1 (TPM_RC)(0x100) +#define TPM_RC_INITIALIZE (TPM_RC)(RC_VER1 + 0x000) +#define TPM_RC_FAILURE (TPM_RC)(RC_VER1 + 0x001) +#define TPM_RC_SEQUENCE (TPM_RC)(RC_VER1 + 0x003) +#define TPM_RC_PRIVATE (TPM_RC)(RC_VER1 + 0x00B) +#define TPM_RC_HMAC (TPM_RC)(RC_VER1 + 0x019) +#define TPM_RC_DISABLED (TPM_RC)(RC_VER1 + 0x020) +#define TPM_RC_EXCLUSIVE (TPM_RC)(RC_VER1 + 0x021) +#define TPM_RC_AUTH_TYPE (TPM_RC)(RC_VER1 + 0x024) +#define TPM_RC_AUTH_MISSING (TPM_RC)(RC_VER1 + 0x025) +#define TPM_RC_POLICY (TPM_RC)(RC_VER1 + 0x026) +#define TPM_RC_PCR (TPM_RC)(RC_VER1 + 0x027) +#define TPM_RC_PCR_CHANGED (TPM_RC)(RC_VER1 + 0x028) +#define TPM_RC_UPGRADE (TPM_RC)(RC_VER1 + 0x02D) #define TPM_RC_TOO_MANY_CONTEXTS (TPM_RC)(RC_VER1 + 0x02E) -#define TPM_RC_AUTH_UNAVAILABLE (TPM_RC)(RC_VER1 + 0x02F) -#define TPM_RC_REBOOT (TPM_RC)(RC_VER1 + 0x030) -#define TPM_RC_UNBALANCED (TPM_RC)(RC_VER1 + 0x031) -#define TPM_RC_COMMAND_SIZE (TPM_RC)(RC_VER1 + 0x042) -#define TPM_RC_COMMAND_CODE (TPM_RC)(RC_VER1 + 0x043) -#define TPM_RC_AUTHSIZE (TPM_RC)(RC_VER1 + 0x044) -#define TPM_RC_AUTH_CONTEXT (TPM_RC)(RC_VER1 + 0x045) -#define TPM_RC_NV_RANGE (TPM_RC)(RC_VER1 + 0x046) -#define TPM_RC_NV_SIZE (TPM_RC)(RC_VER1 + 0x047) -#define TPM_RC_NV_LOCKED (TPM_RC)(RC_VER1 + 0x048) -#define TPM_RC_NV_AUTHORIZATION (TPM_RC)(RC_VER1 + 0x049) -#define TPM_RC_NV_UNINITIALIZED (TPM_RC)(RC_VER1 + 0x04A) -#define TPM_RC_NV_SPACE (TPM_RC)(RC_VER1 + 0x04B) -#define TPM_RC_NV_DEFINED (TPM_RC)(RC_VER1 + 0x04C) -#define TPM_RC_BAD_CONTEXT (TPM_RC)(RC_VER1 + 0x050) -#define TPM_RC_CPHASH (TPM_RC)(RC_VER1 + 0x051) -#define TPM_RC_PARENT (TPM_RC)(RC_VER1 + 0x052) -#define TPM_RC_NEEDS_TEST (TPM_RC)(RC_VER1 + 0x053) -#define TPM_RC_NO_RESULT (TPM_RC)(RC_VER1 + 0x054) -#define TPM_RC_SENSITIVE (TPM_RC)(RC_VER1 + 0x055) -#define RC_MAX_FM0 (TPM_RC)(RC_VER1 + 0x07F) -#define RC_FMT1 (TPM_RC)(0x080) -#define TPM_RC_ASYMMETRIC (TPM_RC)(RC_FMT1 + 0x001) -#define TPM_RC_ATTRIBUTES (TPM_RC)(RC_FMT1 + 0x002) -#define TPM_RC_HASH (TPM_RC)(RC_FMT1 + 0x003) -#define TPM_RC_VALUE (TPM_RC)(RC_FMT1 + 0x004) -#define TPM_RC_HIERARCHY (TPM_RC)(RC_FMT1 + 0x005) -#define TPM_RC_KEY_SIZE (TPM_RC)(RC_FMT1 + 0x007) -#define TPM_RC_MGF (TPM_RC)(RC_FMT1 + 0x008) -#define TPM_RC_MODE (TPM_RC)(RC_FMT1 + 0x009) -#define TPM_RC_TYPE (TPM_RC)(RC_FMT1 + 0x00A) -#define TPM_RC_HANDLE (TPM_RC)(RC_FMT1 + 0x00B) -#define TPM_RC_KDF (TPM_RC)(RC_FMT1 + 0x00C) -#define TPM_RC_RANGE (TPM_RC)(RC_FMT1 + 0x00D) -#define TPM_RC_AUTH_FAIL (TPM_RC)(RC_FMT1 + 0x00E) -#define TPM_RC_NONCE (TPM_RC)(RC_FMT1 + 0x00F) -#define TPM_RC_PP (TPM_RC)(RC_FMT1 + 0x010) -#define TPM_RC_SCHEME (TPM_RC)(RC_FMT1 + 0x012) -#define TPM_RC_SIZE (TPM_RC)(RC_FMT1 + 0x015) -#define TPM_RC_SYMMETRIC (TPM_RC)(RC_FMT1 + 0x016) -#define TPM_RC_TAG (TPM_RC)(RC_FMT1 + 0x017) -#define TPM_RC_SELECTOR (TPM_RC)(RC_FMT1 + 0x018) -#define TPM_RC_INSUFFICIENT (TPM_RC)(RC_FMT1 + 0x01A) -#define TPM_RC_SIGNATURE (TPM_RC)(RC_FMT1 + 0x01B) -#define TPM_RC_KEY (TPM_RC)(RC_FMT1 + 0x01C) -#define TPM_RC_POLICY_FAIL (TPM_RC)(RC_FMT1 + 0x01D) -#define TPM_RC_INTEGRITY (TPM_RC)(RC_FMT1 + 0x01F) -#define TPM_RC_TICKET (TPM_RC)(RC_FMT1 + 0x020) -#define TPM_RC_RESERVED_BITS (TPM_RC)(RC_FMT1 + 0x021) -#define TPM_RC_BAD_AUTH (TPM_RC)(RC_FMT1 + 0x022) -#define TPM_RC_EXPIRED (TPM_RC)(RC_FMT1 + 0x023) -#define TPM_RC_POLICY_CC (TPM_RC)(RC_FMT1 + 0x024 ) -#define TPM_RC_BINDING (TPM_RC)(RC_FMT1 + 0x025) -#define TPM_RC_CURVE (TPM_RC)(RC_FMT1 + 0x026) -#define TPM_RC_ECC_POINT (TPM_RC)(RC_FMT1 + 0x027) -#define RC_WARN (TPM_RC)(0x900) -#define TPM_RC_CONTEXT_GAP (TPM_RC)(RC_WARN + 0x001) -#define TPM_RC_OBJECT_MEMORY (TPM_RC)(RC_WARN + 0x002) -#define TPM_RC_SESSION_MEMORY (TPM_RC)(RC_WARN + 0x003) -#define TPM_RC_MEMORY (TPM_RC)(RC_WARN + 0x004) -#define TPM_RC_SESSION_HANDLES (TPM_RC)(RC_WARN + 0x005) -#define TPM_RC_OBJECT_HANDLES (TPM_RC)(RC_WARN + 0x006) -#define TPM_RC_LOCALITY (TPM_RC)(RC_WARN + 0x007) -#define TPM_RC_YIELDED (TPM_RC)(RC_WARN + 0x008) -#define TPM_RC_CANCELED (TPM_RC)(RC_WARN + 0x009) -#define TPM_RC_TESTING (TPM_RC)(RC_WARN + 0x00A) -#define TPM_RC_REFERENCE_H0 (TPM_RC)(RC_WARN + 0x010) -#define TPM_RC_REFERENCE_H1 (TPM_RC)(RC_WARN + 0x011) -#define TPM_RC_REFERENCE_H2 (TPM_RC)(RC_WARN + 0x012) -#define TPM_RC_REFERENCE_H3 (TPM_RC)(RC_WARN + 0x013) -#define TPM_RC_REFERENCE_H4 (TPM_RC)(RC_WARN + 0x014) -#define TPM_RC_REFERENCE_H5 (TPM_RC)(RC_WARN + 0x015) -#define TPM_RC_REFERENCE_H6 (TPM_RC)(RC_WARN + 0x016) -#define TPM_RC_REFERENCE_S0 (TPM_RC)(RC_WARN + 0x018) -#define TPM_RC_REFERENCE_S1 (TPM_RC)(RC_WARN + 0x019) -#define TPM_RC_REFERENCE_S2 (TPM_RC)(RC_WARN + 0x01A) -#define TPM_RC_REFERENCE_S3 (TPM_RC)(RC_WARN + 0x01B) -#define TPM_RC_REFERENCE_S4 (TPM_RC)(RC_WARN + 0x01C) -#define TPM_RC_REFERENCE_S5 (TPM_RC)(RC_WARN + 0x01D) -#define TPM_RC_REFERENCE_S6 (TPM_RC)(RC_WARN + 0x01E) -#define TPM_RC_NV_RATE (TPM_RC)(RC_WARN + 0x020) -#define TPM_RC_LOCKOUT (TPM_RC)(RC_WARN + 0x021) -#define TPM_RC_RETRY (TPM_RC)(RC_WARN + 0x022) -#define TPM_RC_NV_UNAVAILABLE (TPM_RC)(RC_WARN + 0x023) -#define TPM_RC_NOT_USED (TPM_RC)(RC_WARN + 0x7F) -#define TPM_RC_H (TPM_RC)(0x000) -#define TPM_RC_P (TPM_RC)(0x040) -#define TPM_RC_S (TPM_RC)(0x800) -#define TPM_RC_1 (TPM_RC)(0x100) -#define TPM_RC_2 (TPM_RC)(0x200) -#define TPM_RC_3 (TPM_RC)(0x300) -#define TPM_RC_4 (TPM_RC)(0x400) -#define TPM_RC_5 (TPM_RC)(0x500) -#define TPM_RC_6 (TPM_RC)(0x600) -#define TPM_RC_7 (TPM_RC)(0x700) -#define TPM_RC_8 (TPM_RC)(0x800) -#define TPM_RC_9 (TPM_RC)(0x900) -#define TPM_RC_A (TPM_RC)(0xA00) -#define TPM_RC_B (TPM_RC)(0xB00) -#define TPM_RC_C (TPM_RC)(0xC00) -#define TPM_RC_D (TPM_RC)(0xD00) -#define TPM_RC_E (TPM_RC)(0xE00) -#define TPM_RC_F (TPM_RC)(0xF00) -#define TPM_RC_N_MASK (TPM_RC)(0xF00) +#define TPM_RC_AUTH_UNAVAILABLE (TPM_RC)(RC_VER1 + 0x02F) +#define TPM_RC_REBOOT (TPM_RC)(RC_VER1 + 0x030) +#define TPM_RC_UNBALANCED (TPM_RC)(RC_VER1 + 0x031) +#define TPM_RC_COMMAND_SIZE (TPM_RC)(RC_VER1 + 0x042) +#define TPM_RC_COMMAND_CODE (TPM_RC)(RC_VER1 + 0x043) +#define TPM_RC_AUTHSIZE (TPM_RC)(RC_VER1 + 0x044) +#define TPM_RC_AUTH_CONTEXT (TPM_RC)(RC_VER1 + 0x045) +#define TPM_RC_NV_RANGE (TPM_RC)(RC_VER1 + 0x046) +#define TPM_RC_NV_SIZE (TPM_RC)(RC_VER1 + 0x047) +#define TPM_RC_NV_LOCKED (TPM_RC)(RC_VER1 + 0x048) +#define TPM_RC_NV_AUTHORIZATION (TPM_RC)(RC_VER1 + 0x049) +#define TPM_RC_NV_UNINITIALIZED (TPM_RC)(RC_VER1 + 0x04A) +#define TPM_RC_NV_SPACE (TPM_RC)(RC_VER1 + 0x04B) +#define TPM_RC_NV_DEFINED (TPM_RC)(RC_VER1 + 0x04C) +#define TPM_RC_BAD_CONTEXT (TPM_RC)(RC_VER1 + 0x050) +#define TPM_RC_CPHASH (TPM_RC)(RC_VER1 + 0x051) +#define TPM_RC_PARENT (TPM_RC)(RC_VER1 + 0x052) +#define TPM_RC_NEEDS_TEST (TPM_RC)(RC_VER1 + 0x053) +#define TPM_RC_NO_RESULT (TPM_RC)(RC_VER1 + 0x054) +#define TPM_RC_SENSITIVE (TPM_RC)(RC_VER1 + 0x055) +#define RC_MAX_FM0 (TPM_RC)(RC_VER1 + 0x07F) +#define RC_FMT1 (TPM_RC)(0x080) +#define TPM_RC_ASYMMETRIC (TPM_RC)(RC_FMT1 + 0x001) +#define TPM_RC_ATTRIBUTES (TPM_RC)(RC_FMT1 + 0x002) +#define TPM_RC_HASH (TPM_RC)(RC_FMT1 + 0x003) +#define TPM_RC_VALUE (TPM_RC)(RC_FMT1 + 0x004) +#define TPM_RC_HIERARCHY (TPM_RC)(RC_FMT1 + 0x005) +#define TPM_RC_KEY_SIZE (TPM_RC)(RC_FMT1 + 0x007) +#define TPM_RC_MGF (TPM_RC)(RC_FMT1 + 0x008) +#define TPM_RC_MODE (TPM_RC)(RC_FMT1 + 0x009) +#define TPM_RC_TYPE (TPM_RC)(RC_FMT1 + 0x00A) +#define TPM_RC_HANDLE (TPM_RC)(RC_FMT1 + 0x00B) +#define TPM_RC_KDF (TPM_RC)(RC_FMT1 + 0x00C) +#define TPM_RC_RANGE (TPM_RC)(RC_FMT1 + 0x00D) +#define TPM_RC_AUTH_FAIL (TPM_RC)(RC_FMT1 + 0x00E) +#define TPM_RC_NONCE (TPM_RC)(RC_FMT1 + 0x00F) +#define TPM_RC_PP (TPM_RC)(RC_FMT1 + 0x010) +#define TPM_RC_SCHEME (TPM_RC)(RC_FMT1 + 0x012) +#define TPM_RC_SIZE (TPM_RC)(RC_FMT1 + 0x015) +#define TPM_RC_SYMMETRIC (TPM_RC)(RC_FMT1 + 0x016) +#define TPM_RC_TAG (TPM_RC)(RC_FMT1 + 0x017) +#define TPM_RC_SELECTOR (TPM_RC)(RC_FMT1 + 0x018) +#define TPM_RC_INSUFFICIENT (TPM_RC)(RC_FMT1 + 0x01A) +#define TPM_RC_SIGNATURE (TPM_RC)(RC_FMT1 + 0x01B) +#define TPM_RC_KEY (TPM_RC)(RC_FMT1 + 0x01C) +#define TPM_RC_POLICY_FAIL (TPM_RC)(RC_FMT1 + 0x01D) +#define TPM_RC_INTEGRITY (TPM_RC)(RC_FMT1 + 0x01F) +#define TPM_RC_TICKET (TPM_RC)(RC_FMT1 + 0x020) +#define TPM_RC_RESERVED_BITS (TPM_RC)(RC_FMT1 + 0x021) +#define TPM_RC_BAD_AUTH (TPM_RC)(RC_FMT1 + 0x022) +#define TPM_RC_EXPIRED (TPM_RC)(RC_FMT1 + 0x023) +#define TPM_RC_POLICY_CC (TPM_RC)(RC_FMT1 + 0x024) +#define TPM_RC_BINDING (TPM_RC)(RC_FMT1 + 0x025) +#define TPM_RC_CURVE (TPM_RC)(RC_FMT1 + 0x026) +#define TPM_RC_ECC_POINT (TPM_RC)(RC_FMT1 + 0x027) +#define RC_WARN (TPM_RC)(0x900) +#define TPM_RC_CONTEXT_GAP (TPM_RC)(RC_WARN + 0x001) +#define TPM_RC_OBJECT_MEMORY (TPM_RC)(RC_WARN + 0x002) +#define TPM_RC_SESSION_MEMORY (TPM_RC)(RC_WARN + 0x003) +#define TPM_RC_MEMORY (TPM_RC)(RC_WARN + 0x004) +#define TPM_RC_SESSION_HANDLES (TPM_RC)(RC_WARN + 0x005) +#define TPM_RC_OBJECT_HANDLES (TPM_RC)(RC_WARN + 0x006) +#define TPM_RC_LOCALITY (TPM_RC)(RC_WARN + 0x007) +#define TPM_RC_YIELDED (TPM_RC)(RC_WARN + 0x008) +#define TPM_RC_CANCELED (TPM_RC)(RC_WARN + 0x009) +#define TPM_RC_TESTING (TPM_RC)(RC_WARN + 0x00A) +#define TPM_RC_REFERENCE_H0 (TPM_RC)(RC_WARN + 0x010) +#define TPM_RC_REFERENCE_H1 (TPM_RC)(RC_WARN + 0x011) +#define TPM_RC_REFERENCE_H2 (TPM_RC)(RC_WARN + 0x012) +#define TPM_RC_REFERENCE_H3 (TPM_RC)(RC_WARN + 0x013) +#define TPM_RC_REFERENCE_H4 (TPM_RC)(RC_WARN + 0x014) +#define TPM_RC_REFERENCE_H5 (TPM_RC)(RC_WARN + 0x015) +#define TPM_RC_REFERENCE_H6 (TPM_RC)(RC_WARN + 0x016) +#define TPM_RC_REFERENCE_S0 (TPM_RC)(RC_WARN + 0x018) +#define TPM_RC_REFERENCE_S1 (TPM_RC)(RC_WARN + 0x019) +#define TPM_RC_REFERENCE_S2 (TPM_RC)(RC_WARN + 0x01A) +#define TPM_RC_REFERENCE_S3 (TPM_RC)(RC_WARN + 0x01B) +#define TPM_RC_REFERENCE_S4 (TPM_RC)(RC_WARN + 0x01C) +#define TPM_RC_REFERENCE_S5 (TPM_RC)(RC_WARN + 0x01D) +#define TPM_RC_REFERENCE_S6 (TPM_RC)(RC_WARN + 0x01E) +#define TPM_RC_NV_RATE (TPM_RC)(RC_WARN + 0x020) +#define TPM_RC_LOCKOUT (TPM_RC)(RC_WARN + 0x021) +#define TPM_RC_RETRY (TPM_RC)(RC_WARN + 0x022) +#define TPM_RC_NV_UNAVAILABLE (TPM_RC)(RC_WARN + 0x023) +#define TPM_RC_NOT_USED (TPM_RC)(RC_WARN + 0x7F) +#define TPM_RC_H (TPM_RC)(0x000) +#define TPM_RC_P (TPM_RC)(0x040) +#define TPM_RC_S (TPM_RC)(0x800) +#define TPM_RC_1 (TPM_RC)(0x100) +#define TPM_RC_2 (TPM_RC)(0x200) +#define TPM_RC_3 (TPM_RC)(0x300) +#define TPM_RC_4 (TPM_RC)(0x400) +#define TPM_RC_5 (TPM_RC)(0x500) +#define TPM_RC_6 (TPM_RC)(0x600) +#define TPM_RC_7 (TPM_RC)(0x700) +#define TPM_RC_8 (TPM_RC)(0x800) +#define TPM_RC_9 (TPM_RC)(0x900) +#define TPM_RC_A (TPM_RC)(0xA00) +#define TPM_RC_B (TPM_RC)(0xB00) +#define TPM_RC_C (TPM_RC)(0xC00) +#define TPM_RC_D (TPM_RC)(0xD00) +#define TPM_RC_E (TPM_RC)(0xE00) +#define TPM_RC_F (TPM_RC)(0xF00) +#define TPM_RC_N_MASK (TPM_RC)(0xF00) // Table 16 - TPM_CLOCK_ADJUST Constants typedef INT8 TPM_CLOCK_ADJUST; #define TPM_CLOCK_COARSE_SLOWER (TPM_CLOCK_ADJUST)(-3) #define TPM_CLOCK_MEDIUM_SLOWER (TPM_CLOCK_ADJUST)(-2) -#define TPM_CLOCK_FINE_SLOWER (TPM_CLOCK_ADJUST)(-1) -#define TPM_CLOCK_NO_CHANGE (TPM_CLOCK_ADJUST)(0) -#define TPM_CLOCK_FINE_FASTER (TPM_CLOCK_ADJUST)(1) +#define TPM_CLOCK_FINE_SLOWER (TPM_CLOCK_ADJUST)(-1) +#define TPM_CLOCK_NO_CHANGE (TPM_CLOCK_ADJUST)(0) +#define TPM_CLOCK_FINE_FASTER (TPM_CLOCK_ADJUST)(1) #define TPM_CLOCK_MEDIUM_FASTER (TPM_CLOCK_ADJUST)(2) #define TPM_CLOCK_COARSE_FASTER (TPM_CLOCK_ADJUST)(3) // Table 17 - TPM_EO Constants typedef UINT16 TPM_EO; -#define TPM_EO_EQ (TPM_EO)(0x0000) -#define TPM_EO_NEQ (TPM_EO)(0x0001) -#define TPM_EO_SIGNED_GT (TPM_EO)(0x0002) +#define TPM_EO_EQ (TPM_EO)(0x0000) +#define TPM_EO_NEQ (TPM_EO)(0x0001) +#define TPM_EO_SIGNED_GT (TPM_EO)(0x0002) #define TPM_EO_UNSIGNED_GT (TPM_EO)(0x0003) -#define TPM_EO_SIGNED_LT (TPM_EO)(0x0004) +#define TPM_EO_SIGNED_LT (TPM_EO)(0x0004) #define TPM_EO_UNSIGNED_LT (TPM_EO)(0x0005) -#define TPM_EO_SIGNED_GE (TPM_EO)(0x0006) +#define TPM_EO_SIGNED_GE (TPM_EO)(0x0006) #define TPM_EO_UNSIGNED_GE (TPM_EO)(0x0007) -#define TPM_EO_SIGNED_LE (TPM_EO)(0x0008) +#define TPM_EO_SIGNED_LE (TPM_EO)(0x0008) #define TPM_EO_UNSIGNED_LE (TPM_EO)(0x0009) -#define TPM_EO_BITSET (TPM_EO)(0x000A) -#define TPM_EO_BITCLEAR (TPM_EO)(0x000B) +#define TPM_EO_BITSET (TPM_EO)(0x000A) +#define TPM_EO_BITCLEAR (TPM_EO)(0x000B) // Table 18 - TPM_ST Constants typedef UINT16 TPM_ST; -#define TPM_ST_RSP_COMMAND (TPM_ST)(0x00C4) -#define TPM_ST_NULL (TPM_ST)(0X8000) -#define TPM_ST_NO_SESSIONS (TPM_ST)(0x8001) -#define TPM_ST_SESSIONS (TPM_ST)(0x8002) -#define TPM_ST_ATTEST_NV (TPM_ST)(0x8014) +#define TPM_ST_RSP_COMMAND (TPM_ST)(0x00C4) +#define TPM_ST_NULL (TPM_ST)(0X8000) +#define TPM_ST_NO_SESSIONS (TPM_ST)(0x8001) +#define TPM_ST_SESSIONS (TPM_ST)(0x8002) +#define TPM_ST_ATTEST_NV (TPM_ST)(0x8014) #define TPM_ST_ATTEST_COMMAND_AUDIT (TPM_ST)(0x8015) #define TPM_ST_ATTEST_SESSION_AUDIT (TPM_ST)(0x8016) -#define TPM_ST_ATTEST_CERTIFY (TPM_ST)(0x8017) -#define TPM_ST_ATTEST_QUOTE (TPM_ST)(0x8018) -#define TPM_ST_ATTEST_TIME (TPM_ST)(0x8019) -#define TPM_ST_ATTEST_CREATION (TPM_ST)(0x801A) -#define TPM_ST_CREATION (TPM_ST)(0x8021) -#define TPM_ST_VERIFIED (TPM_ST)(0x8022) -#define TPM_ST_AUTH_SECRET (TPM_ST)(0x8023) -#define TPM_ST_HASHCHECK (TPM_ST)(0x8024) -#define TPM_ST_AUTH_SIGNED (TPM_ST)(0x8025) -#define TPM_ST_FU_MANIFEST (TPM_ST)(0x8029) +#define TPM_ST_ATTEST_CERTIFY (TPM_ST)(0x8017) +#define TPM_ST_ATTEST_QUOTE (TPM_ST)(0x8018) +#define TPM_ST_ATTEST_TIME (TPM_ST)(0x8019) +#define TPM_ST_ATTEST_CREATION (TPM_ST)(0x801A) +#define TPM_ST_CREATION (TPM_ST)(0x8021) +#define TPM_ST_VERIFIED (TPM_ST)(0x8022) +#define TPM_ST_AUTH_SECRET (TPM_ST)(0x8023) +#define TPM_ST_HASHCHECK (TPM_ST)(0x8024) +#define TPM_ST_AUTH_SIGNED (TPM_ST)(0x8025) +#define TPM_ST_FU_MANIFEST (TPM_ST)(0x8029) // Table 19 - TPM_SU Constants typedef UINT16 TPM_SU; @@ -216,279 +217,279 @@ typedef UINT16 TPM_SU; // Table 20 - TPM_SE Constants typedef UINT8 TPM_SE; -#define TPM_SE_HMAC (TPM_SE)(0x00) +#define TPM_SE_HMAC (TPM_SE)(0x00) #define TPM_SE_POLICY (TPM_SE)(0x01) -#define TPM_SE_TRIAL (TPM_SE)(0x03) +#define TPM_SE_TRIAL (TPM_SE)(0x03) // Table 21 - TPM_CAP Constants typedef UINT32 TPM_CAP; -#define TPM_CAP_FIRST (TPM_CAP)(0x00000000) -#define TPM_CAP_ALGS (TPM_CAP)(0x00000000) -#define TPM_CAP_HANDLES (TPM_CAP)(0x00000001) -#define TPM_CAP_COMMANDS (TPM_CAP)(0x00000002) -#define TPM_CAP_PP_COMMANDS (TPM_CAP)(0x00000003) -#define TPM_CAP_AUDIT_COMMANDS (TPM_CAP)(0x00000004) -#define TPM_CAP_PCRS (TPM_CAP)(0x00000005) -#define TPM_CAP_TPM_PROPERTIES (TPM_CAP)(0x00000006) -#define TPM_CAP_PCR_PROPERTIES (TPM_CAP)(0x00000007) -#define TPM_CAP_ECC_CURVES (TPM_CAP)(0x00000008) -#define TPM_CAP_LAST (TPM_CAP)(0x00000008) +#define TPM_CAP_FIRST (TPM_CAP)(0x00000000) +#define TPM_CAP_ALGS (TPM_CAP)(0x00000000) +#define TPM_CAP_HANDLES (TPM_CAP)(0x00000001) +#define TPM_CAP_COMMANDS (TPM_CAP)(0x00000002) +#define TPM_CAP_PP_COMMANDS (TPM_CAP)(0x00000003) +#define TPM_CAP_AUDIT_COMMANDS (TPM_CAP)(0x00000004) +#define TPM_CAP_PCRS (TPM_CAP)(0x00000005) +#define TPM_CAP_TPM_PROPERTIES (TPM_CAP)(0x00000006) +#define TPM_CAP_PCR_PROPERTIES (TPM_CAP)(0x00000007) +#define TPM_CAP_ECC_CURVES (TPM_CAP)(0x00000008) +#define TPM_CAP_LAST (TPM_CAP)(0x00000008) #define TPM_CAP_VENDOR_PROPERTY (TPM_CAP)(0x00000100) // Table 22 - TPM_PT Constants typedef UINT32 TPM_PT; -#define TPM_PT_NONE (TPM_PT)(0x00000000) -#define PT_GROUP (TPM_PT)(0x00000100) -#define PT_FIXED (TPM_PT)(PT_GROUP * 1) -#define TPM_PT_FAMILY_INDICATOR (TPM_PT)(PT_FIXED + 0) -#define TPM_PT_LEVEL (TPM_PT)(PT_FIXED + 1) -#define TPM_PT_REVISION (TPM_PT)(PT_FIXED + 2) -#define TPM_PT_DAY_OF_YEAR (TPM_PT)(PT_FIXED + 3) -#define TPM_PT_YEAR (TPM_PT)(PT_FIXED + 4) -#define TPM_PT_MANUFACTURER (TPM_PT)(PT_FIXED + 5) -#define TPM_PT_VENDOR_STRING_1 (TPM_PT)(PT_FIXED + 6) -#define TPM_PT_VENDOR_STRING_2 (TPM_PT)(PT_FIXED + 7) -#define TPM_PT_VENDOR_STRING_3 (TPM_PT)(PT_FIXED + 8) -#define TPM_PT_VENDOR_STRING_4 (TPM_PT)(PT_FIXED + 9) -#define TPM_PT_VENDOR_TPM_TYPE (TPM_PT)(PT_FIXED + 10) -#define TPM_PT_FIRMWARE_VERSION_1 (TPM_PT)(PT_FIXED + 11) -#define TPM_PT_FIRMWARE_VERSION_2 (TPM_PT)(PT_FIXED + 12) -#define TPM_PT_INPUT_BUFFER (TPM_PT)(PT_FIXED + 13) -#define TPM_PT_HR_TRANSIENT_MIN (TPM_PT)(PT_FIXED + 14) -#define TPM_PT_HR_PERSISTENT_MIN (TPM_PT)(PT_FIXED + 15) -#define TPM_PT_HR_LOADED_MIN (TPM_PT)(PT_FIXED + 16) +#define TPM_PT_NONE (TPM_PT)(0x00000000) +#define PT_GROUP (TPM_PT)(0x00000100) +#define PT_FIXED (TPM_PT)(PT_GROUP * 1) +#define TPM_PT_FAMILY_INDICATOR (TPM_PT)(PT_FIXED + 0) +#define TPM_PT_LEVEL (TPM_PT)(PT_FIXED + 1) +#define TPM_PT_REVISION (TPM_PT)(PT_FIXED + 2) +#define TPM_PT_DAY_OF_YEAR (TPM_PT)(PT_FIXED + 3) +#define TPM_PT_YEAR (TPM_PT)(PT_FIXED + 4) +#define TPM_PT_MANUFACTURER (TPM_PT)(PT_FIXED + 5) +#define TPM_PT_VENDOR_STRING_1 (TPM_PT)(PT_FIXED + 6) +#define TPM_PT_VENDOR_STRING_2 (TPM_PT)(PT_FIXED + 7) +#define TPM_PT_VENDOR_STRING_3 (TPM_PT)(PT_FIXED + 8) +#define TPM_PT_VENDOR_STRING_4 (TPM_PT)(PT_FIXED + 9) +#define TPM_PT_VENDOR_TPM_TYPE (TPM_PT)(PT_FIXED + 10) +#define TPM_PT_FIRMWARE_VERSION_1 (TPM_PT)(PT_FIXED + 11) +#define TPM_PT_FIRMWARE_VERSION_2 (TPM_PT)(PT_FIXED + 12) +#define TPM_PT_INPUT_BUFFER (TPM_PT)(PT_FIXED + 13) +#define TPM_PT_HR_TRANSIENT_MIN (TPM_PT)(PT_FIXED + 14) +#define TPM_PT_HR_PERSISTENT_MIN (TPM_PT)(PT_FIXED + 15) +#define TPM_PT_HR_LOADED_MIN (TPM_PT)(PT_FIXED + 16) #define TPM_PT_ACTIVE_SESSIONS_MAX (TPM_PT)(PT_FIXED + 17) -#define TPM_PT_PCR_COUNT (TPM_PT)(PT_FIXED + 18) -#define TPM_PT_PCR_SELECT_MIN (TPM_PT)(PT_FIXED + 19) -#define TPM_PT_CONTEXT_GAP_MAX (TPM_PT)(PT_FIXED + 20) -#define TPM_PT_NV_COUNTERS_MAX (TPM_PT)(PT_FIXED + 22) -#define TPM_PT_NV_INDEX_MAX (TPM_PT)(PT_FIXED + 23) -#define TPM_PT_MEMORY (TPM_PT)(PT_FIXED + 24) -#define TPM_PT_CLOCK_UPDATE (TPM_PT)(PT_FIXED + 25) -#define TPM_PT_CONTEXT_HASH (TPM_PT)(PT_FIXED + 26) -#define TPM_PT_CONTEXT_SYM (TPM_PT)(PT_FIXED + 27) -#define TPM_PT_CONTEXT_SYM_SIZE (TPM_PT)(PT_FIXED + 28) -#define TPM_PT_ORDERLY_COUNT (TPM_PT)(PT_FIXED + 29) -#define TPM_PT_MAX_COMMAND_SIZE (TPM_PT)(PT_FIXED + 30) -#define TPM_PT_MAX_RESPONSE_SIZE (TPM_PT)(PT_FIXED + 31) -#define TPM_PT_MAX_DIGEST (TPM_PT)(PT_FIXED + 32) -#define TPM_PT_MAX_OBJECT_CONTEXT (TPM_PT)(PT_FIXED + 33) +#define TPM_PT_PCR_COUNT (TPM_PT)(PT_FIXED + 18) +#define TPM_PT_PCR_SELECT_MIN (TPM_PT)(PT_FIXED + 19) +#define TPM_PT_CONTEXT_GAP_MAX (TPM_PT)(PT_FIXED + 20) +#define TPM_PT_NV_COUNTERS_MAX (TPM_PT)(PT_FIXED + 22) +#define TPM_PT_NV_INDEX_MAX (TPM_PT)(PT_FIXED + 23) +#define TPM_PT_MEMORY (TPM_PT)(PT_FIXED + 24) +#define TPM_PT_CLOCK_UPDATE (TPM_PT)(PT_FIXED + 25) +#define TPM_PT_CONTEXT_HASH (TPM_PT)(PT_FIXED + 26) +#define TPM_PT_CONTEXT_SYM (TPM_PT)(PT_FIXED + 27) +#define TPM_PT_CONTEXT_SYM_SIZE (TPM_PT)(PT_FIXED + 28) +#define TPM_PT_ORDERLY_COUNT (TPM_PT)(PT_FIXED + 29) +#define TPM_PT_MAX_COMMAND_SIZE (TPM_PT)(PT_FIXED + 30) +#define TPM_PT_MAX_RESPONSE_SIZE (TPM_PT)(PT_FIXED + 31) +#define TPM_PT_MAX_DIGEST (TPM_PT)(PT_FIXED + 32) +#define TPM_PT_MAX_OBJECT_CONTEXT (TPM_PT)(PT_FIXED + 33) #define TPM_PT_MAX_SESSION_CONTEXT (TPM_PT)(PT_FIXED + 34) #define TPM_PT_PS_FAMILY_INDICATOR (TPM_PT)(PT_FIXED + 35) -#define TPM_PT_PS_LEVEL (TPM_PT)(PT_FIXED + 36) -#define TPM_PT_PS_REVISION (TPM_PT)(PT_FIXED + 37) -#define TPM_PT_PS_DAY_OF_YEAR (TPM_PT)(PT_FIXED + 38) -#define TPM_PT_PS_YEAR (TPM_PT)(PT_FIXED + 39) -#define TPM_PT_SPLIT_MAX (TPM_PT)(PT_FIXED + 40) -#define TPM_PT_TOTAL_COMMANDS (TPM_PT)(PT_FIXED + 41) -#define TPM_PT_LIBRARY_COMMANDS (TPM_PT)(PT_FIXED + 42) -#define TPM_PT_VENDOR_COMMANDS (TPM_PT)(PT_FIXED + 43) -#define PT_VAR (TPM_PT)(PT_GROUP * 2) -#define TPM_PT_PERMANENT (TPM_PT)(PT_VAR + 0) -#define TPM_PT_STARTUP_CLEAR (TPM_PT)(PT_VAR + 1) -#define TPM_PT_HR_NV_INDEX (TPM_PT)(PT_VAR + 2) -#define TPM_PT_HR_LOADED (TPM_PT)(PT_VAR + 3) -#define TPM_PT_HR_LOADED_AVAIL (TPM_PT)(PT_VAR + 4) -#define TPM_PT_HR_ACTIVE (TPM_PT)(PT_VAR + 5) -#define TPM_PT_HR_ACTIVE_AVAIL (TPM_PT)(PT_VAR + 6) -#define TPM_PT_HR_TRANSIENT_AVAIL (TPM_PT)(PT_VAR + 7) -#define TPM_PT_HR_PERSISTENT (TPM_PT)(PT_VAR + 8) +#define TPM_PT_PS_LEVEL (TPM_PT)(PT_FIXED + 36) +#define TPM_PT_PS_REVISION (TPM_PT)(PT_FIXED + 37) +#define TPM_PT_PS_DAY_OF_YEAR (TPM_PT)(PT_FIXED + 38) +#define TPM_PT_PS_YEAR (TPM_PT)(PT_FIXED + 39) +#define TPM_PT_SPLIT_MAX (TPM_PT)(PT_FIXED + 40) +#define TPM_PT_TOTAL_COMMANDS (TPM_PT)(PT_FIXED + 41) +#define TPM_PT_LIBRARY_COMMANDS (TPM_PT)(PT_FIXED + 42) +#define TPM_PT_VENDOR_COMMANDS (TPM_PT)(PT_FIXED + 43) +#define PT_VAR (TPM_PT)(PT_GROUP * 2) +#define TPM_PT_PERMANENT (TPM_PT)(PT_VAR + 0) +#define TPM_PT_STARTUP_CLEAR (TPM_PT)(PT_VAR + 1) +#define TPM_PT_HR_NV_INDEX (TPM_PT)(PT_VAR + 2) +#define TPM_PT_HR_LOADED (TPM_PT)(PT_VAR + 3) +#define TPM_PT_HR_LOADED_AVAIL (TPM_PT)(PT_VAR + 4) +#define TPM_PT_HR_ACTIVE (TPM_PT)(PT_VAR + 5) +#define TPM_PT_HR_ACTIVE_AVAIL (TPM_PT)(PT_VAR + 6) +#define TPM_PT_HR_TRANSIENT_AVAIL (TPM_PT)(PT_VAR + 7) +#define TPM_PT_HR_PERSISTENT (TPM_PT)(PT_VAR + 8) #define TPM_PT_HR_PERSISTENT_AVAIL (TPM_PT)(PT_VAR + 9) -#define TPM_PT_NV_COUNTERS (TPM_PT)(PT_VAR + 10) -#define TPM_PT_NV_COUNTERS_AVAIL (TPM_PT)(PT_VAR + 11) -#define TPM_PT_ALGORITHM_SET (TPM_PT)(PT_VAR + 12) -#define TPM_PT_LOADED_CURVES (TPM_PT)(PT_VAR + 13) -#define TPM_PT_LOCKOUT_COUNTER (TPM_PT)(PT_VAR + 14) -#define TPM_PT_MAX_AUTH_FAIL (TPM_PT)(PT_VAR + 15) -#define TPM_PT_LOCKOUT_INTERVAL (TPM_PT)(PT_VAR + 16) -#define TPM_PT_LOCKOUT_RECOVERY (TPM_PT)(PT_VAR + 17) -#define TPM_PT_NV_WRITE_RECOVERY (TPM_PT)(PT_VAR + 18) -#define TPM_PT_AUDIT_COUNTER_0 (TPM_PT)(PT_VAR + 19) -#define TPM_PT_AUDIT_COUNTER_1 (TPM_PT)(PT_VAR + 20) +#define TPM_PT_NV_COUNTERS (TPM_PT)(PT_VAR + 10) +#define TPM_PT_NV_COUNTERS_AVAIL (TPM_PT)(PT_VAR + 11) +#define TPM_PT_ALGORITHM_SET (TPM_PT)(PT_VAR + 12) +#define TPM_PT_LOADED_CURVES (TPM_PT)(PT_VAR + 13) +#define TPM_PT_LOCKOUT_COUNTER (TPM_PT)(PT_VAR + 14) +#define TPM_PT_MAX_AUTH_FAIL (TPM_PT)(PT_VAR + 15) +#define TPM_PT_LOCKOUT_INTERVAL (TPM_PT)(PT_VAR + 16) +#define TPM_PT_LOCKOUT_RECOVERY (TPM_PT)(PT_VAR + 17) +#define TPM_PT_NV_WRITE_RECOVERY (TPM_PT)(PT_VAR + 18) +#define TPM_PT_AUDIT_COUNTER_0 (TPM_PT)(PT_VAR + 19) +#define TPM_PT_AUDIT_COUNTER_1 (TPM_PT)(PT_VAR + 20) // Table 23 - TPM_PT_PCR Constants typedef UINT32 TPM_PT_PCR; -#define TPM_PT_PCR_FIRST (TPM_PT_PCR)(0x00000000) -#define TPM_PT_PCR_SAVE (TPM_PT_PCR)(0x00000000) -#define TPM_PT_PCR_EXTEND_L0 (TPM_PT_PCR)(0x00000001) -#define TPM_PT_PCR_RESET_L0 (TPM_PT_PCR)(0x00000002) -#define TPM_PT_PCR_EXTEND_L1 (TPM_PT_PCR)(0x00000003) -#define TPM_PT_PCR_RESET_L1 (TPM_PT_PCR)(0x00000004) -#define TPM_PT_PCR_EXTEND_L2 (TPM_PT_PCR)(0x00000005) -#define TPM_PT_PCR_RESET_L2 (TPM_PT_PCR)(0x00000006) -#define TPM_PT_PCR_EXTEND_L3 (TPM_PT_PCR)(0x00000007) -#define TPM_PT_PCR_RESET_L3 (TPM_PT_PCR)(0x00000008) -#define TPM_PT_PCR_EXTEND_L4 (TPM_PT_PCR)(0x00000009) -#define TPM_PT_PCR_RESET_L4 (TPM_PT_PCR)(0x0000000A) +#define TPM_PT_PCR_FIRST (TPM_PT_PCR)(0x00000000) +#define TPM_PT_PCR_SAVE (TPM_PT_PCR)(0x00000000) +#define TPM_PT_PCR_EXTEND_L0 (TPM_PT_PCR)(0x00000001) +#define TPM_PT_PCR_RESET_L0 (TPM_PT_PCR)(0x00000002) +#define TPM_PT_PCR_EXTEND_L1 (TPM_PT_PCR)(0x00000003) +#define TPM_PT_PCR_RESET_L1 (TPM_PT_PCR)(0x00000004) +#define TPM_PT_PCR_EXTEND_L2 (TPM_PT_PCR)(0x00000005) +#define TPM_PT_PCR_RESET_L2 (TPM_PT_PCR)(0x00000006) +#define TPM_PT_PCR_EXTEND_L3 (TPM_PT_PCR)(0x00000007) +#define TPM_PT_PCR_RESET_L3 (TPM_PT_PCR)(0x00000008) +#define TPM_PT_PCR_EXTEND_L4 (TPM_PT_PCR)(0x00000009) +#define TPM_PT_PCR_RESET_L4 (TPM_PT_PCR)(0x0000000A) #define TPM_PT_PCR_NO_INCREMENT (TPM_PT_PCR)(0x00000011) -#define TPM_PT_PCR_DRTM_RESET (TPM_PT_PCR)(0x00000012) -#define TPM_PT_PCR_POLICY (TPM_PT_PCR)(0x00000013) -#define TPM_PT_PCR_AUTH (TPM_PT_PCR)(0x00000014) -#define TPM_PT_PCR_LAST (TPM_PT_PCR)(0x00000014) +#define TPM_PT_PCR_DRTM_RESET (TPM_PT_PCR)(0x00000012) +#define TPM_PT_PCR_POLICY (TPM_PT_PCR)(0x00000013) +#define TPM_PT_PCR_AUTH (TPM_PT_PCR)(0x00000014) +#define TPM_PT_PCR_LAST (TPM_PT_PCR)(0x00000014) // Table 26 - TPM_HT Constants typedef UINT8 TPM_HT; -#define TPM_HT_PCR (TPM_HT)(0x00) -#define TPM_HT_NV_INDEX (TPM_HT)(0x01) -#define TPM_HT_HMAC_SESSION (TPM_HT)(0x02) +#define TPM_HT_PCR (TPM_HT)(0x00) +#define TPM_HT_NV_INDEX (TPM_HT)(0x01) +#define TPM_HT_HMAC_SESSION (TPM_HT)(0x02) #define TPM_HT_LOADED_SESSION (TPM_HT)(0x02) #define TPM_HT_POLICY_SESSION (TPM_HT)(0x03) #define TPM_HT_ACTIVE_SESSION (TPM_HT)(0x03) -#define TPM_HT_PERMANENT (TPM_HT)(0x40) -#define TPM_HT_TRANSIENT (TPM_HT)(0x80) -#define TPM_HT_PERSISTENT (TPM_HT)(0x81) +#define TPM_HT_PERMANENT (TPM_HT)(0x40) +#define TPM_HT_TRANSIENT (TPM_HT)(0x80) +#define TPM_HT_PERSISTENT (TPM_HT)(0x81) // Table 27 - TPM_RH Constants typedef UINT32 TPM_RH; -#define TPM_RH_FIRST (TPM_RH)(0x40000000) -#define TPM_RH_SRK (TPM_RH)(0x40000000) -#define TPM_RH_OWNER (TPM_RH)(0x40000001) -#define TPM_RH_REVOKE (TPM_RH)(0x40000002) -#define TPM_RH_TRANSPORT (TPM_RH)(0x40000003) -#define TPM_RH_OPERATOR (TPM_RH)(0x40000004) -#define TPM_RH_ADMIN (TPM_RH)(0x40000005) -#define TPM_RH_EK (TPM_RH)(0x40000006) -#define TPM_RH_NULL (TPM_RH)(0x40000007) -#define TPM_RH_UNASSIGNED (TPM_RH)(0x40000008) -#define TPM_RS_PW (TPM_RH)(0x40000009) -#define TPM_RH_LOCKOUT (TPM_RH)(0x4000000A) +#define TPM_RH_FIRST (TPM_RH)(0x40000000) +#define TPM_RH_SRK (TPM_RH)(0x40000000) +#define TPM_RH_OWNER (TPM_RH)(0x40000001) +#define TPM_RH_REVOKE (TPM_RH)(0x40000002) +#define TPM_RH_TRANSPORT (TPM_RH)(0x40000003) +#define TPM_RH_OPERATOR (TPM_RH)(0x40000004) +#define TPM_RH_ADMIN (TPM_RH)(0x40000005) +#define TPM_RH_EK (TPM_RH)(0x40000006) +#define TPM_RH_NULL (TPM_RH)(0x40000007) +#define TPM_RH_UNASSIGNED (TPM_RH)(0x40000008) +#define TPM_RS_PW (TPM_RH)(0x40000009) +#define TPM_RH_LOCKOUT (TPM_RH)(0x4000000A) #define TPM_RH_ENDORSEMENT (TPM_RH)(0x4000000B) -#define TPM_RH_PLATFORM (TPM_RH)(0x4000000C) +#define TPM_RH_PLATFORM (TPM_RH)(0x4000000C) #define TPM_RH_PLATFORM_NV (TPM_RH)(0x4000000D) -#define TPM_RH_LAST (TPM_RH)(0x4000000D) +#define TPM_RH_LAST (TPM_RH)(0x4000000D) // Table 28 - TPM_HC Constants typedef TPM_HANDLE TPM_HC; -#define HR_HANDLE_MASK (TPM_HC)(0x00FFFFFF) -#define HR_RANGE_MASK (TPM_HC)(0xFF000000) -#define HR_SHIFT (TPM_HC)(24) -#define HR_PCR (TPM_HC)((TPM_HC)TPM_HT_PCR << HR_SHIFT) -#define HR_HMAC_SESSION (TPM_HC)((TPM_HC)TPM_HT_HMAC_SESSION << HR_SHIFT) -#define HR_POLICY_SESSION (TPM_HC)((TPM_HC)TPM_HT_POLICY_SESSION << HR_SHIFT) -#define HR_TRANSIENT (TPM_HC)((TPM_HC)TPM_HT_TRANSIENT << HR_SHIFT) -#define HR_PERSISTENT (TPM_HC)((TPM_HC)TPM_HT_PERSISTENT << HR_SHIFT) -#define HR_NV_INDEX (TPM_HC)((TPM_HC)TPM_HT_NV_INDEX << HR_SHIFT) -#define HR_PERMANENT (TPM_HC)((TPM_HC)TPM_HT_PERMANENT << HR_SHIFT) -#define PCR_FIRST (TPM_HC)(HR_PCR + 0) -#define PCR_LAST (TPM_HC)(PCR_FIRST + IMPLEMENTATION_PCR - 1) -#define HMAC_SESSION_FIRST (TPM_HC)(HR_HMAC_SESSION + 0) -#define HMAC_SESSION_LAST (TPM_HC)(HMAC_SESSION_FIRST + MAX_ACTIVE_SESSIONS - 1) +#define HR_HANDLE_MASK (TPM_HC)(0x00FFFFFF) +#define HR_RANGE_MASK (TPM_HC)(0xFF000000) +#define HR_SHIFT (TPM_HC)(24) +#define HR_PCR (TPM_HC)((TPM_HC)TPM_HT_PCR << HR_SHIFT) +#define HR_HMAC_SESSION (TPM_HC)((TPM_HC)TPM_HT_HMAC_SESSION << HR_SHIFT) +#define HR_POLICY_SESSION (TPM_HC)((TPM_HC)TPM_HT_POLICY_SESSION << HR_SHIFT) +#define HR_TRANSIENT (TPM_HC)((TPM_HC)TPM_HT_TRANSIENT << HR_SHIFT) +#define HR_PERSISTENT (TPM_HC)((TPM_HC)TPM_HT_PERSISTENT << HR_SHIFT) +#define HR_NV_INDEX (TPM_HC)((TPM_HC)TPM_HT_NV_INDEX << HR_SHIFT) +#define HR_PERMANENT (TPM_HC)((TPM_HC)TPM_HT_PERMANENT << HR_SHIFT) +#define PCR_FIRST (TPM_HC)(HR_PCR + 0) +#define PCR_LAST (TPM_HC)(PCR_FIRST + IMPLEMENTATION_PCR - 1) +#define HMAC_SESSION_FIRST (TPM_HC)(HR_HMAC_SESSION + 0) +#define HMAC_SESSION_LAST (TPM_HC)(HMAC_SESSION_FIRST + MAX_ACTIVE_SESSIONS - 1) #define LOADED_SESSION_FIRST (TPM_HC)(HMAC_SESSION_FIRST) -#define LOADED_SESSION_LAST (TPM_HC)(HMAC_SESSION_LAST) +#define LOADED_SESSION_LAST (TPM_HC)(HMAC_SESSION_LAST) #define POLICY_SESSION_FIRST (TPM_HC)(HR_POLICY_SESSION + 0) -#define POLICY_SESSION_LAST (TPM_HC)(POLICY_SESSION_FIRST + MAX_ACTIVE_SESSIONS - 1) -#define TRANSIENT_FIRST (TPM_HC)(HR_TRANSIENT + 0) +#define POLICY_SESSION_LAST \ + (TPM_HC)(POLICY_SESSION_FIRST + MAX_ACTIVE_SESSIONS - 1) +#define TRANSIENT_FIRST (TPM_HC)(HR_TRANSIENT + 0) #define ACTIVE_SESSION_FIRST (TPM_HC)(POLICY_SESSION_FIRST) -#define ACTIVE_SESSION_LAST (TPM_HC)(POLICY_SESSION_LAST) -#define TRANSIENT_LAST (TPM_HC)(TRANSIENT_FIRST+MAX_LOADED_OBJECTS - 1) -#define PERSISTENT_FIRST (TPM_HC)(HR_PERSISTENT + 0) -#define PERSISTENT_LAST (TPM_HC)(PERSISTENT_FIRST + 0x00FFFFFF) -#define PLATFORM_PERSISTENT (TPM_HC)(PERSISTENT_FIRST + 0x00800000) -#define NV_INDEX_FIRST (TPM_HC)(HR_NV_INDEX + 0) -#define NV_INDEX_LAST (TPM_HC)(NV_INDEX_FIRST + 0x00FFFFFF) -#define PERMANENT_FIRST (TPM_HC)(TPM_RH_FIRST) -#define PERMANENT_LAST (TPM_HC)(TPM_RH_LAST) +#define ACTIVE_SESSION_LAST (TPM_HC)(POLICY_SESSION_LAST) +#define TRANSIENT_LAST (TPM_HC)(TRANSIENT_FIRST + MAX_LOADED_OBJECTS - 1) +#define PERSISTENT_FIRST (TPM_HC)(HR_PERSISTENT + 0) +#define PERSISTENT_LAST (TPM_HC)(PERSISTENT_FIRST + 0x00FFFFFF) +#define PLATFORM_PERSISTENT (TPM_HC)(PERSISTENT_FIRST + 0x00800000) +#define NV_INDEX_FIRST (TPM_HC)(HR_NV_INDEX + 0) +#define NV_INDEX_LAST (TPM_HC)(NV_INDEX_FIRST + 0x00FFFFFF) +#define PERMANENT_FIRST (TPM_HC)(TPM_RH_FIRST) +#define PERMANENT_LAST (TPM_HC)(TPM_RH_LAST) // 8 Attribute Structures // Table 29 - TPMA_ALGORITHM Bits typedef struct { - UINT32 asymmetric : 1; - UINT32 symmetric : 1; - UINT32 hash : 1; - UINT32 object : 1; - UINT32 reserved4_7 : 4; - UINT32 signing : 1; - UINT32 encrypting : 1; - UINT32 method : 1; + UINT32 asymmetric : 1; + UINT32 symmetric : 1; + UINT32 hash : 1; + UINT32 object : 1; + UINT32 reserved4_7 : 4; + UINT32 signing : 1; + UINT32 encrypting : 1; + UINT32 method : 1; UINT32 reserved11_31 : 21; } TPMA_ALGORITHM; // Table 30 - TPMA_OBJECT Bits typedef struct { - UINT32 reserved1 : 1; - UINT32 fixedTPM : 1; - UINT32 stClear : 1; - UINT32 reserved4 : 1; - UINT32 fixedParent : 1; - UINT32 sensitiveDataOrigin : 1; - UINT32 userWithAuth : 1; - UINT32 adminWithPolicy : 1; - UINT32 reserved8_9 : 2; - UINT32 noDA : 1; + UINT32 reserved1 : 1; + UINT32 fixedTPM : 1; + UINT32 stClear : 1; + UINT32 reserved4 : 1; + UINT32 fixedParent : 1; + UINT32 sensitiveDataOrigin : 1; + UINT32 userWithAuth : 1; + UINT32 adminWithPolicy : 1; + UINT32 reserved8_9 : 2; + UINT32 noDA : 1; UINT32 encryptedDuplication : 1; - UINT32 reserved12_15 : 4; - UINT32 restricted : 1; - UINT32 decrypt : 1; - UINT32 sign : 1; - UINT32 reserved19_31 : 13; + UINT32 reserved12_15 : 4; + UINT32 restricted : 1; + UINT32 decrypt : 1; + UINT32 sign : 1; + UINT32 reserved19_31 : 13; } TPMA_OBJECT; // Table 31 - TPMA_SESSION Bits typedef struct { UINT8 continueSession : 1; - UINT8 auditExclusive : 1; - UINT8 auditReset : 1; - UINT8 reserved3_4 : 2; - UINT8 decrypt : 1; - UINT8 encrypt : 1; - UINT8 audit : 1; + UINT8 auditExclusive : 1; + UINT8 auditReset : 1; + UINT8 reserved3_4 : 2; + UINT8 decrypt : 1; + UINT8 encrypt : 1; + UINT8 audit : 1; } TPMA_SESSION; - // Table 32 - TPMA_LOCALITY Bits // // NOTE: Use low case here to resolve conflict // typedef struct { - UINT8 locZero : 1; - UINT8 locOne : 1; - UINT8 locTwo : 1; + UINT8 locZero : 1; + UINT8 locOne : 1; + UINT8 locTwo : 1; UINT8 locThree : 1; - UINT8 locFour : 1; + UINT8 locFour : 1; UINT8 Extended : 3; } TPMA_LOCALITY; // Table 33 - TPMA_PERMANENT Bits typedef struct { - UINT32 ownerAuthSet : 1; + UINT32 ownerAuthSet : 1; UINT32 endorsementAuthSet : 1; - UINT32 lockoutAuthSet : 1; - UINT32 reserved3_7 : 5; - UINT32 disableClear : 1; - UINT32 inLockout : 1; - UINT32 tpmGeneratedEPS : 1; - UINT32 reserved11_31 : 21; + UINT32 lockoutAuthSet : 1; + UINT32 reserved3_7 : 5; + UINT32 disableClear : 1; + UINT32 inLockout : 1; + UINT32 tpmGeneratedEPS : 1; + UINT32 reserved11_31 : 21; } TPMA_PERMANENT; // Table 34 - TPMA_STARTUP_CLEAR Bits typedef struct { - UINT32 phEnable : 1; - UINT32 shEnable : 1; - UINT32 ehEnable : 1; - UINT32 phEnableNV : 1; + UINT32 phEnable : 1; + UINT32 shEnable : 1; + UINT32 ehEnable : 1; + UINT32 phEnableNV : 1; UINT32 reserved3_30 : 27; - UINT32 orderly : 1; + UINT32 orderly : 1; } TPMA_STARTUP_CLEAR; // Table 35 - TPMA_MEMORY Bits typedef struct { - UINT32 sharedRAM : 1; - UINT32 sharedNV : 1; + UINT32 sharedRAM : 1; + UINT32 sharedNV : 1; UINT32 objectCopiedToRam : 1; - UINT32 reserved3_31 : 29; + UINT32 reserved3_31 : 29; } TPMA_MEMORY; // Table 36 - TPMA_CC Bits typedef struct { - UINT32 commandIndex : 16; + UINT32 commandIndex : 16; UINT32 reserved16_21 : 6; - UINT32 nv : 1; - UINT32 extensive : 1; - UINT32 flushed : 1; - UINT32 cHandles : 3; - UINT32 rHandle : 1; - UINT32 V : 1; - UINT32 Res : 2; + UINT32 nv : 1; + UINT32 extensive : 1; + UINT32 flushed : 1; + UINT32 cHandles : 3; + UINT32 rHandle : 1; + UINT32 V : 1; + UINT32 Res : 2; } TPMA_CC; // Table 37 - TPMI_YES_NO Type @@ -554,7 +555,7 @@ typedef union { // Table 67 - TPMT_HA Structure typedef struct { TPMI_ALG_HASH hashAlg; - TPMU_HA digest; + TPMU_HA digest; } TPMT_HA; // Table 68 - TPM2B_DIGEST Structure @@ -580,7 +581,7 @@ TPM2B_TYPE(IV, MAX_SYM_BLOCK_SIZE); // Table 78 - TPMU_NAME Union typedef union { - TPMT_HA digest; + TPMT_HA digest; TPM_HANDLE handle; } TPMU_NAME; @@ -590,15 +591,15 @@ TPM2B_TYPE(NAME, sizeof(TPMU_NAME)); // Table 81 - TPMS_PCR_SELECTION Structure typedef struct { TPMI_ALG_HASH hash; - UINT8 sizeofSelect; - BYTE pcrSelect[PCR_SELECT_MAX]; + UINT8 sizeofSelect; + BYTE pcrSelect[PCR_SELECT_MAX]; } TPMS_PCR_SELECTION; // Table 84 - TPMT_TK_CREATION Structure typedef struct { - TPM_ST tag; + TPM_ST tag; TPMI_RH_HIERARCHY hierarchy; - TPM2B_DIGEST digest; + TPM2B_DIGEST digest; } TPMT_TK_COMMON; typedef TPMT_TK_COMMON TPMT_TK_CREATION; @@ -614,7 +615,7 @@ typedef TPMT_TK_COMMON TPMT_TK_HASHCHECK; // Table 88 - TPMS_ALG_PROPERTY Structure typedef struct { - TPM_ALG_ID alg; + TPM_ALG_ID alg; TPMA_ALGORITHM algProperties; } TPMS_ALG_PROPERTY; @@ -627,8 +628,8 @@ typedef struct { // Table 90 - TPMS_TAGGED_PCR_SELECT Structure typedef struct { TPM_PT tag; - UINT8 sizeofSelect; - BYTE pcrSelect[PCR_SELECT_MAX]; + UINT8 sizeofSelect; + BYTE pcrSelect[PCR_SELECT_MAX]; } TPMS_TAGGED_PCR_SELECT; // Table 91 - TPML_CC Structure @@ -639,88 +640,88 @@ typedef struct { // Table 92 - TPML_CCA Structure typedef struct { - UINT32 count; + UINT32 count; TPMA_CC commandAttributes[MAX_CAP_CC]; } TPML_CCA; // Table 93 - TPML_ALG Structure typedef struct { - UINT32 count; + UINT32 count; TPM_ALG_ID algorithms[MAX_ALG_LIST_SIZE]; } TPML_ALG; // Table 94 - TPML_HANDLE Structure typedef struct { - UINT32 count; + UINT32 count; TPM_HANDLE handle[MAX_CAP_HANDLES]; } TPML_HANDLE; // Table 95 - TPML_DIGEST Structure typedef struct { - UINT32 count; + UINT32 count; TPM2B_DIGEST digests[8]; } TPML_DIGEST; // Table 98 - TPML_PCR_SELECTION Structure typedef struct { - UINT32 count; + UINT32 count; TPMS_PCR_SELECTION pcrSelections[HASH_COUNT]; } TPML_PCR_SELECTION; // Table 99 - TPML_ALG_PROPERTY Structure typedef struct { - UINT32 count; + UINT32 count; TPMS_ALG_PROPERTY algProperties[MAX_CAP_ALGS]; } TPML_ALG_PROPERTY; // Table 100 - TPML_TAGGED_TPM_PROPERTY Structure typedef struct { - UINT32 count; + UINT32 count; TPMS_TAGGED_PROPERTY tpmProperty[MAX_TPM_PROPERTIES]; } TPML_TAGGED_TPM_PROPERTY; // Table 101 - TPML_TAGGED_PCR_PROPERTY Structure typedef struct { - UINT32 count; + UINT32 count; TPMS_TAGGED_PCR_SELECT pcrProperty[MAX_PCR_PROPERTIES]; } TPML_TAGGED_PCR_PROPERTY; // Table 102 - TPML_ECC_CURVE Structure typedef struct { - UINT32 count; + UINT32 count; TPM_ECC_CURVE eccCurves[MAX_ECC_CURVES]; } TPML_ECC_CURVE; // Table 103 - TPMU_CAPABILITIES Union typedef union { - TPML_ALG_PROPERTY algorithms; - TPML_HANDLE handles; - TPML_CCA command; - TPML_CC ppCommands; - TPML_CC auditCommands; - TPML_PCR_SELECTION assignedPCR; + TPML_ALG_PROPERTY algorithms; + TPML_HANDLE handles; + TPML_CCA command; + TPML_CC ppCommands; + TPML_CC auditCommands; + TPML_PCR_SELECTION assignedPCR; TPML_TAGGED_TPM_PROPERTY tpmProperties; TPML_TAGGED_PCR_PROPERTY pcrProperties; - TPML_ECC_CURVE eccCurves; + TPML_ECC_CURVE eccCurves; } TPMU_CAPABILITIES; // Table 104 - TPMS_CAPABILITY_DATA Structure typedef struct { - TPM_CAP capability; + TPM_CAP capability; TPMU_CAPABILITIES data; } TPMS_CAPABILITY_DATA; // Table 105 - TPMS_CLOCK_INFO Structure typedef struct { - UINT64 clock; - UINT32 resetCount; - UINT32 restartCount; + UINT64 clock; + UINT32 resetCount; + UINT32 restartCount; TPMI_YES_NO safe; } TPMS_CLOCK_INFO; // Table 106 - TPMS_TIME_INFO Structure typedef struct { - UINT64 time; + UINT64 time; TPMS_CLOCK_INFO clockInfo; } TPMS_TIME_INFO; @@ -729,7 +730,7 @@ TPM2B_TYPE(TIME_INFO, sizeof(TPMS_TIME_INFO)); // Table 107 - TPMS_TIME_ATTEST_INFO Structure typedef struct { TPMS_TIME_INFO time; - UINT64 firmwareVersion; + UINT64 firmwareVersion; } TPMS_TIME_ATTEST_INFO; // Table 108 - TPMS_CERTIFY_INFO Structure @@ -741,33 +742,33 @@ typedef struct { // Table 109 - TPMS_QUOTE_INFO Structure typedef struct { TPML_PCR_SELECTION pcrSelect; - TPM2B_DIGEST pcrDigest; + TPM2B_DIGEST pcrDigest; } TPMS_QUOTE_INFO; // Table 110 - TPMS_COMMAND_AUDIT_INFO Structure typedef struct { - UINT64 auditCounter; - TPM_ALG_ID digestAlg; + UINT64 auditCounter; + TPM_ALG_ID digestAlg; TPM2B_DIGEST auditDigest; TPM2B_DIGEST commandDigest; } TPMS_COMMAND_AUDIT_INFO; // Table 111 - TPMS_SESSION_AUDIT_INFO Structure typedef struct { - TPMI_YES_NO exclusiveSession; + TPMI_YES_NO exclusiveSession; TPM2B_DIGEST sessionDigest; } TPMS_SESSION_AUDIT_INFO; // Table 112 - TPMS_CREATION_INFO Structure typedef struct { - TPM2B_NAME objectName; + TPM2B_NAME objectName; TPM2B_DIGEST creationHash; } TPMS_CREATION_INFO; // Table 113 - TPMS_NV_CERTIFY_INFO Structure typedef struct { - TPM2B_NAME indexName; - UINT16 offset; + TPM2B_NAME indexName; + UINT16 offset; TPM2B_MAX_NV_BUFFER nvContents; } TPMS_NV_CERTIFY_INFO; @@ -776,24 +777,24 @@ typedef TPM_ST TPMI_ST_ATTEST; // Table 115 - TPMU_ATTEST Union typedef union { - TPMS_CERTIFY_INFO certify; - TPMS_CREATION_INFO creation; - TPMS_QUOTE_INFO quote; + TPMS_CERTIFY_INFO certify; + TPMS_CREATION_INFO creation; + TPMS_QUOTE_INFO quote; TPMS_COMMAND_AUDIT_INFO commandAudit; TPMS_SESSION_AUDIT_INFO sessionAudit; - TPMS_TIME_ATTEST_INFO time; - TPMS_NV_CERTIFY_INFO nv; + TPMS_TIME_ATTEST_INFO time; + TPMS_NV_CERTIFY_INFO nv; } TPMU_ATTEST; // Table 116 - TPMS_ATTEST Structure typedef struct { - TPM_GENERATED magic; - TPMI_ST_ATTEST type; - TPM2B_NAME qualifiedSigner; - TPM2B_DATA extraData; + TPM_GENERATED magic; + TPMI_ST_ATTEST type; + TPM2B_NAME qualifiedSigner; + TPM2B_DATA extraData; TPMS_CLOCK_INFO clockInfo; - UINT64 firmwareVersion; - TPMU_ATTEST attested; + UINT64 firmwareVersion; + TPMU_ATTEST attested; } TPMS_ATTEST; // Table 117 - TPM2B_ATTEST Structure @@ -809,8 +810,8 @@ typedef TPM_KEY_BITS TPMI_SM4_KEY_BITS; typedef union { TPMI_AES_KEY_BITS aes; TPMI_SM4_KEY_BITS SM4; - TPM_KEY_BITS sym; - TPMI_ALG_HASH xor; + TPM_KEY_BITS sym; + TPMI_ALG_HASH xor ; } TPMU_SYM_KEY_BITS; // Table 123 - TPMU_SYM_MODE Union @@ -822,16 +823,16 @@ typedef union { // Table 125 - TPMT_SYM_DEF Structure typedef struct { - TPMI_ALG_SYM algorithm; + TPMI_ALG_SYM algorithm; TPMU_SYM_KEY_BITS keyBits; - TPMU_SYM_MODE mode; + TPMU_SYM_MODE mode; } TPMT_SYM_DEF; // Table 126 - TPMT_SYM_DEF_OBJECT Structure typedef struct { TPMI_ALG_SYM_OBJECT algorithm; - TPMU_SYM_KEY_BITS keyBits; - TPMU_SYM_MODE mode; + TPMU_SYM_KEY_BITS keyBits; + TPMU_SYM_MODE mode; } TPMT_SYM_DEF_OBJECT; // Table 127 - TPM2B_SYM_KEY Structure @@ -842,22 +843,20 @@ TPM2B_TYPE(SENSITIVE_DATA, MAX_SYM_DATA); // Table 130 - TPMS_SENSITIVE_CREATE Structure typedef struct { - TPM2B_AUTH userAuth; + TPM2B_AUTH userAuth; TPM2B_SENSITIVE_DATA data; } TPMS_SENSITIVE_CREATE; // Table 131 - TPM2B_SENSITIVE_CREATE Structure typedef union { - struct { - UINT16 size; - TPMS_SENSITIVE_CREATE sensitive; - } t; + struct { + UINT16 size; + TPMS_SENSITIVE_CREATE sensitive; + } t; } TPM2B_SENSITIVE_CREATE; // Table 132 - TPMS_SCHEME_SIGHASH Structure -typedef struct { - TPMI_ALG_HASH hashAlg; -} TPMS_SCHEME_SIGHASH; +typedef struct { TPMI_ALG_HASH hashAlg; } TPMS_SCHEME_SIGHASH; // Table 133 - TPMI_ALG_KEYEDHASH_SCHEME Type typedef TPM_ALG_ID TPMI_ALG_KEYEDHASH_SCHEME; @@ -868,19 +867,19 @@ typedef TPMS_SCHEME_SIGHASH TPMS_SCHEME_HMAC; // Table 135 - TPMS_SCHEME_XOR Structure typedef struct { TPMI_ALG_HASH hashAlg; - TPMI_ALG_KDF kdf; + TPMI_ALG_KDF kdf; } TPMS_SCHEME_XOR; // Table 136 - TPMU_SCHEME_KEYEDHASH Union typedef union { TPMS_SCHEME_HMAC hmac; - TPMS_SCHEME_XOR xor; + TPMS_SCHEME_XOR xor ; } TPMU_SCHEME_KEYEDHASH; // Table 137 - TPMT_KEYEDHASH_SCHEME Structure typedef struct { TPMI_ALG_KEYEDHASH_SCHEME scheme; - TPMU_SCHEME_KEYEDHASH details; + TPMU_SCHEME_KEYEDHASH details; } TPMT_KEYEDHASH_SCHEME; // Table 138 - RSA_SIG_SCHEMES Types @@ -895,62 +894,52 @@ typedef TPMS_SCHEME_SIGHASH TPMS_SCHEME_ECSCHNORR; // Table 140 - TPMS_SCHEME_ECDAA Structure typedef struct { TPMI_ALG_HASH hashAlg; - UINT16 count; + UINT16 count; } TPMS_SCHEME_ECDAA; // Table 141 - TPMU_SIG_SCHEME Union typedef union { - TPMS_SCHEME_RSASSA rsassa; - TPMS_SCHEME_RSAPSS rsapss; - TPMS_SCHEME_ECDSA ecdsa; - TPMS_SCHEME_ECDAA ecdaa; + TPMS_SCHEME_RSASSA rsassa; + TPMS_SCHEME_RSAPSS rsapss; + TPMS_SCHEME_ECDSA ecdsa; + TPMS_SCHEME_ECDAA ecdaa; TPMS_SCHEME_ECSCHNORR ecSchnorr; - TPMS_SCHEME_HMAC hmac; - TPMS_SCHEME_SIGHASH any; + TPMS_SCHEME_HMAC hmac; + TPMS_SCHEME_SIGHASH any; } TPMU_SIG_SCHEME; // Table 142 - TPMT_SIG_SCHEME Structure typedef struct { TPMI_ALG_SIG_SCHEME scheme; - TPMU_SIG_SCHEME details; + TPMU_SIG_SCHEME details; } TPMT_SIG_SCHEME; // Table 143 - TPMS_SCHEME_OAEP Structure -typedef struct { - TPMI_ALG_HASH hashAlg; -} TPMS_SCHEME_OAEP; +typedef struct { TPMI_ALG_HASH hashAlg; } TPMS_SCHEME_OAEP; // Table 145 - TPMS_SCHEME_MGF1 Structure -typedef struct { - TPMI_ALG_HASH hashAlg; -} TPMS_SCHEME_MGF1; +typedef struct { TPMI_ALG_HASH hashAlg; } TPMS_SCHEME_MGF1; // Table 146 - TPMS_SCHEME_KDF1_SP800_56a Structure -typedef struct { - TPMI_ALG_HASH hashAlg; -} TPMS_SCHEME_KDF1_SP800_56a; +typedef struct { TPMI_ALG_HASH hashAlg; } TPMS_SCHEME_KDF1_SP800_56a; // Table 147 - TPMS_SCHEME_KDF2 Structure -typedef struct { - TPMI_ALG_HASH hashAlg; -} TPMS_SCHEME_KDF2; +typedef struct { TPMI_ALG_HASH hashAlg; } TPMS_SCHEME_KDF2; // Table 148 - TPMS_SCHEME_KDF1_SP800_108 Structure -typedef struct { - TPMI_ALG_HASH hashAlg; -} TPMS_SCHEME_KDF1_SP800_108; +typedef struct { TPMI_ALG_HASH hashAlg; } TPMS_SCHEME_KDF1_SP800_108; // Table 149 - TPMU_KDF_SCHEME Union typedef union { - TPMS_SCHEME_MGF1 mgf1; + TPMS_SCHEME_MGF1 mgf1; TPMS_SCHEME_KDF1_SP800_56a kdf1_SP800_56a; - TPMS_SCHEME_KDF2 kdf2; + TPMS_SCHEME_KDF2 kdf2; TPMS_SCHEME_KDF1_SP800_108 kdf1_sp800_108; } TPMU_KDF_SCHEME; // Table 150 - TPMT_KDF_SCHEME Structure typedef struct { - TPMI_ALG_KDF scheme; + TPMI_ALG_KDF scheme; TPMU_KDF_SCHEME details; } TPMT_KDF_SCHEME; @@ -959,19 +948,19 @@ typedef TPM_ALG_ID TPMI_ALG_ASYM_SCHEME; // Table 152 - TPMU_ASYM_SCHEME Union typedef union { - TPMS_SCHEME_RSASSA rsassa; - TPMS_SCHEME_RSAPSS rsapss; - TPMS_SCHEME_OAEP oaep; - TPMS_SCHEME_ECDSA ecdsa; - TPMS_SCHEME_ECDAA ecdaa; + TPMS_SCHEME_RSASSA rsassa; + TPMS_SCHEME_RSAPSS rsapss; + TPMS_SCHEME_OAEP oaep; + TPMS_SCHEME_ECDSA ecdsa; + TPMS_SCHEME_ECDAA ecdaa; TPMS_SCHEME_ECSCHNORR ecSchnorr; - TPMS_SCHEME_SIGHASH anySig; + TPMS_SCHEME_SIGHASH anySig; } TPMU_ASYM_SCHEME; // Table 153 - TPMT_ASYM_SCHEME Structure typedef struct { TPMI_ALG_ASYM_SCHEME scheme; - TPMU_ASYM_SCHEME details; + TPMU_ASYM_SCHEME details; } TPMT_ASYM_SCHEME; // Table 154 - TPMI_ALG_RSA_SCHEME Type @@ -980,7 +969,7 @@ typedef TPM_ALG_ID TPMI_ALG_RSA_SCHEME; // Table 155 - TPMT_RSA_SCHEME Structure typedef struct { TPMI_ALG_RSA_SCHEME scheme; - TPMU_ASYM_SCHEME details; + TPMU_ASYM_SCHEME details; } TPMT_RSA_SCHEME; // Table 156 - TPMI_ALG_RSA_DECRYPT Type @@ -989,7 +978,7 @@ typedef TPM_ALG_ID TPMI_ALG_RSA_DECRYPT; // Table 157 - TPMT_RSA_DECRYPT Structure typedef struct { TPMI_ALG_RSA_DECRYPT scheme; - TPMU_ASYM_SCHEME details; + TPMU_ASYM_SCHEME details; } TPMT_RSA_DECRYPT; // Table 158 - TPM2B_PUBLIC_KEY_RSA Structure @@ -999,7 +988,7 @@ TPM2B_TYPE(PUBLIC_KEY_RSA, MAX_RSA_KEY_BYTES); typedef TPM_KEY_BITS TPMI_RSA_KEY_BITS; // Table 160 - TPM2B_PRIVATE_KEY_RSA Structure -TPM2B_TYPE(PRIVATE_KEY_RSA, MAX_RSA_KEY_BYTES/2); +TPM2B_TYPE(PRIVATE_KEY_RSA, MAX_RSA_KEY_BYTES / 2); // Table 161 - TPM2B_ECC_PARAMETER Structure TPM2B_TYPE(ECC_PARAMETER, MAX_ECC_KEY_BYTES); @@ -1012,11 +1001,11 @@ typedef struct { // Table 163 -- TPM2B_ECC_POINT Structure <I/O> typedef union { - struct { - UINT16 size; - TPMS_ECC_POINT point; - } t; - TPM2B b; \ + struct { + UINT16 size; + TPMS_ECC_POINT point; + } t; + TPM2B b; } TPM2B_ECC_POINT; // Table 164 - TPMI_ALG_ECC_SCHEME Type @@ -1028,15 +1017,15 @@ typedef TPM_ECC_CURVE TPMI_ECC_CURVE; // Table 166 - TPMT_ECC_SCHEME Structure typedef struct { TPMI_ALG_ECC_SCHEME scheme; - TPMU_SIG_SCHEME details; + TPMU_SIG_SCHEME details; } TPMT_ECC_SCHEME; // Table 167 - TPMS_ALGORITHM_DETAIL_ECC Structure typedef struct { - TPM_ECC_CURVE curveID; - UINT16 keySize; - TPMT_KDF_SCHEME kdf; - TPMT_ECC_SCHEME sign; + TPM_ECC_CURVE curveID; + UINT16 keySize; + TPMT_KDF_SCHEME kdf; + TPMT_ECC_SCHEME sign; TPM2B_ECC_PARAMETER p; TPM2B_ECC_PARAMETER a; TPM2B_ECC_PARAMETER b; @@ -1048,19 +1037,19 @@ typedef struct { // Table 168 - TPMS_SIGNATURE_RSASSA Structure typedef struct { - TPMI_ALG_HASH hash; + TPMI_ALG_HASH hash; TPM2B_PUBLIC_KEY_RSA sig; } TPMS_SIGNATURE_RSASSA; // Table 169 - TPMS_SIGNATURE_RSAPSS Structure typedef struct { - TPMI_ALG_HASH hash; + TPMI_ALG_HASH hash; TPM2B_PUBLIC_KEY_RSA sig; } TPMS_SIGNATURE_RSAPSS; // Table 170 - TPMS_SIGNATURE_ECDSA Structure typedef struct { - TPMI_ALG_HASH hash; + TPMI_ALG_HASH hash; TPM2B_ECC_PARAMETER signatureR; TPM2B_ECC_PARAMETER signatureS; } TPMS_SIGNATURE_ECDSA; @@ -1069,18 +1058,18 @@ typedef struct { typedef union { TPMS_SIGNATURE_RSASSA rsassa; TPMS_SIGNATURE_RSAPSS rsapss; - TPMS_SIGNATURE_ECDSA ecdsa; - TPMS_SIGNATURE_ECDSA sm2; - TPMS_SIGNATURE_ECDSA ecdaa; - TPMS_SIGNATURE_ECDSA ecschnorr; - TPMT_HA hmac; - TPMS_SCHEME_SIGHASH any; + TPMS_SIGNATURE_ECDSA ecdsa; + TPMS_SIGNATURE_ECDSA sm2; + TPMS_SIGNATURE_ECDSA ecdaa; + TPMS_SIGNATURE_ECDSA ecschnorr; + TPMT_HA hmac; + TPMS_SCHEME_SIGHASH any; } TPMU_SIGNATURE; // Table 172 - TPMT_SIGNATURE Structure typedef struct { TPMI_ALG_SIG_SCHEME sigAlg; - TPMU_SIGNATURE signature; + TPMU_SIGNATURE signature; } TPMT_SIGNATURE; // Table 173 - TPMU_ENCRYPTED_SECRET Union @@ -1092,78 +1081,76 @@ typedef union { } TPMU_ENCRYPTED_SECRET; // Table 174 - TPM2B_ENCRYPTED_SECRET Structure -TPM2B_TYPE(ENCRYPTED_SECRET,sizeof(TPMU_ENCRYPTED_SECRET)); +TPM2B_TYPE(ENCRYPTED_SECRET, sizeof(TPMU_ENCRYPTED_SECRET)); // Table 175 - TPMI_ALG_PUBLIC Type typedef TPM_ALG_ID TPMI_ALG_PUBLIC; // Table 176 - TPMU_PUBLIC_ID Union typedef union { - TPM2B_DIGEST keyedHash; - TPM2B_DIGEST sym; + TPM2B_DIGEST keyedHash; + TPM2B_DIGEST sym; TPM2B_PUBLIC_KEY_RSA rsa; - TPMS_ECC_POINT ecc; + TPMS_ECC_POINT ecc; } TPMU_PUBLIC_ID; // Table 177 - TPMS_KEYEDHASH_PARMS Structure -typedef struct { - TPMT_KEYEDHASH_SCHEME scheme; -} TPMS_KEYEDHASH_PARMS; +typedef struct { TPMT_KEYEDHASH_SCHEME scheme; } TPMS_KEYEDHASH_PARMS; // Table 178 - TPMS_ASYM_PARMS Structure typedef struct { TPMT_SYM_DEF_OBJECT symmetric; - TPMT_ASYM_SCHEME scheme; + TPMT_ASYM_SCHEME scheme; } TPMS_ASYM_PARMS; // Table 179 - TPMS_RSA_PARMS Structure typedef struct { TPMT_SYM_DEF_OBJECT symmetric; - TPMT_RSA_SCHEME scheme; - TPMI_RSA_KEY_BITS keyBits; - UINT32 exponent; + TPMT_RSA_SCHEME scheme; + TPMI_RSA_KEY_BITS keyBits; + UINT32 exponent; } TPMS_RSA_PARMS; // Table 180 - TPMS_ECC_PARMS Structure typedef struct { TPMT_SYM_DEF_OBJECT symmetric; - TPMT_ECC_SCHEME scheme; - TPMI_ECC_CURVE curveID; - TPMT_KDF_SCHEME kdf; + TPMT_ECC_SCHEME scheme; + TPMI_ECC_CURVE curveID; + TPMT_KDF_SCHEME kdf; } TPMS_ECC_PARMS; // Table 181 - TPMU_PUBLIC_PARMS Union typedef union { TPMS_KEYEDHASH_PARMS keyedHashDetail; - TPMT_SYM_DEF_OBJECT symDetail; - TPMS_RSA_PARMS rsaDetail; - TPMS_ECC_PARMS eccDetail; - TPMS_ASYM_PARMS asymDetail; + TPMT_SYM_DEF_OBJECT symDetail; + TPMS_RSA_PARMS rsaDetail; + TPMS_ECC_PARMS eccDetail; + TPMS_ASYM_PARMS asymDetail; } TPMU_PUBLIC_PARMS; // Table 182 - TPMT_PUBLIC_PARMS Structure typedef struct { - TPMI_ALG_PUBLIC type; + TPMI_ALG_PUBLIC type; TPMU_PUBLIC_PARMS parameters; } TPMT_PUBLIC_PARMS; // Table 183 - TPMT_PUBLIC Structure typedef struct { - TPMI_ALG_PUBLIC type; - TPMI_ALG_HASH nameAlg; - TPMA_OBJECT objectAttributes; - TPM2B_DIGEST authPolicy; + TPMI_ALG_PUBLIC type; + TPMI_ALG_HASH nameAlg; + TPMA_OBJECT objectAttributes; + TPM2B_DIGEST authPolicy; TPMU_PUBLIC_PARMS parameters; - TPMU_PUBLIC_ID unique; + TPMU_PUBLIC_ID unique; } TPMT_PUBLIC; // Table 184 - TPM2B_PUBLIC Structure typedef union { - struct { - UINT16 size; - TPMT_PUBLIC publicArea; - } t; - TPM2B b; + struct { + UINT16 size; + TPMT_PUBLIC publicArea; + } t; + TPM2B b; } TPM2B_PUBLIC; // Table 185 - TPM2B_PRIVATE_VENDOR_SPECIFIC Structure @@ -1171,33 +1158,33 @@ TPM2B_TYPE(PRIVATE_VENDOR_SPECIFIC, PRIVATE_VENDOR_SPECIFIC_BYTES); // Table 186 - TPMU_SENSITIVE_COMPOSITE Union typedef union { - TPM2B_PRIVATE_KEY_RSA rsa; - TPM2B_ECC_PARAMETER ecc; - TPM2B_SENSITIVE_DATA bits; - TPM2B_SYM_KEY sym; + TPM2B_PRIVATE_KEY_RSA rsa; + TPM2B_ECC_PARAMETER ecc; + TPM2B_SENSITIVE_DATA bits; + TPM2B_SYM_KEY sym; TPM2B_PRIVATE_VENDOR_SPECIFIC any; } TPMU_SENSITIVE_COMPOSITE; // Table 187 - TPMT_SENSITIVE Structure typedef struct { - TPMI_ALG_PUBLIC sensitiveType; - TPM2B_AUTH authValue; - TPM2B_DIGEST seedValue; + TPMI_ALG_PUBLIC sensitiveType; + TPM2B_AUTH authValue; + TPM2B_DIGEST seedValue; TPMU_SENSITIVE_COMPOSITE sensitive; } TPMT_SENSITIVE; // Table 188 - TPM2B_SENSITIVE Structure typedef struct { - struct { - UINT16 size; - TPMT_SENSITIVE sensitiveArea; - } t; + struct { + UINT16 size; + TPMT_SENSITIVE sensitiveArea; + } t; } TPM2B_SENSITIVE; // Table 189 - _PRIVATE Structure typedef struct { - TPM2B_DIGEST integrityOuter; - TPM2B_DIGEST integrityInner; + TPM2B_DIGEST integrityOuter; + TPM2B_DIGEST integrityInner; TPMT_SENSITIVE sensitive; } _PRIVATE; @@ -1215,41 +1202,41 @@ TPM2B_TYPE(ID_OBJECT, sizeof(_ID_OBJECT)); // Table 195 - TPMA_NV Bits typedef struct { - UINT32 TPMA_NV_PPWRITE : 1; - UINT32 TPMA_NV_OWNERWRITE : 1; - UINT32 TPMA_NV_AUTHWRITE : 1; - UINT32 TPMA_NV_POLICYWRITE : 1; - UINT32 TPMA_NV_COUNTER : 1; - UINT32 TPMA_NV_BITS : 1; - UINT32 TPMA_NV_EXTEND : 1; - UINT32 reserved7_9 : 3; - UINT32 TPMA_NV_POLICY_DELETE : 1; - UINT32 TPMA_NV_WRITELOCKED : 1; - UINT32 TPMA_NV_WRITEALL : 1; - UINT32 TPMA_NV_WRITEDEFINE : 1; - UINT32 TPMA_NV_WRITE_STCLEAR : 1; - UINT32 TPMA_NV_GLOBALLOCK : 1; - UINT32 TPMA_NV_PPREAD : 1; - UINT32 TPMA_NV_OWNERREAD : 1; - UINT32 TPMA_NV_AUTHREAD : 1; - UINT32 TPMA_NV_POLICYREAD : 1; - UINT32 reserved20_24 : 5; - UINT32 TPMA_NV_NO_DA : 1; - UINT32 TPMA_NV_ORDERLY : 1; - UINT32 TPMA_NV_CLEAR_STCLEAR : 1; - UINT32 TPMA_NV_READLOCKED : 1; - UINT32 TPMA_NV_WRITTEN : 1; + UINT32 TPMA_NV_PPWRITE : 1; + UINT32 TPMA_NV_OWNERWRITE : 1; + UINT32 TPMA_NV_AUTHWRITE : 1; + UINT32 TPMA_NV_POLICYWRITE : 1; + UINT32 TPMA_NV_COUNTER : 1; + UINT32 TPMA_NV_BITS : 1; + UINT32 TPMA_NV_EXTEND : 1; + UINT32 reserved7_9 : 3; + UINT32 TPMA_NV_POLICY_DELETE : 1; + UINT32 TPMA_NV_WRITELOCKED : 1; + UINT32 TPMA_NV_WRITEALL : 1; + UINT32 TPMA_NV_WRITEDEFINE : 1; + UINT32 TPMA_NV_WRITE_STCLEAR : 1; + UINT32 TPMA_NV_GLOBALLOCK : 1; + UINT32 TPMA_NV_PPREAD : 1; + UINT32 TPMA_NV_OWNERREAD : 1; + UINT32 TPMA_NV_AUTHREAD : 1; + UINT32 TPMA_NV_POLICYREAD : 1; + UINT32 reserved20_24 : 5; + UINT32 TPMA_NV_NO_DA : 1; + UINT32 TPMA_NV_ORDERLY : 1; + UINT32 TPMA_NV_CLEAR_STCLEAR : 1; + UINT32 TPMA_NV_READLOCKED : 1; + UINT32 TPMA_NV_WRITTEN : 1; UINT32 TPMA_NV_PLATFORMCREATE : 1; - UINT32 TPMA_NV_READ_STCLEAR : 1; + UINT32 TPMA_NV_READ_STCLEAR : 1; } TPMA_NV; // Table 196 - TPMS_NV_PUBLIC Structure typedef struct { TPMI_RH_NV_INDEX nvIndex; - TPMI_ALG_HASH nameAlg; - TPMA_NV attributes; - TPM2B_DIGEST authPolicy; - UINT16 dataSize; + TPMI_ALG_HASH nameAlg; + TPMA_NV attributes; + TPM2B_DIGEST authPolicy; + UINT16 dataSize; } TPMS_NV_PUBLIC; // Table 198 - TPM2B_CONTEXT_SENSITIVE Structure @@ -1257,7 +1244,7 @@ TPM2B_TYPE(CONTEXT_SENSITIVE, MAX_CONTEXT_SIZE); // Table 199 - TPMS_CONTEXT_DATA Structure typedef struct { - TPM2B_DIGEST integrity; + TPM2B_DIGEST integrity; TPM2B_CONTEXT_SENSITIVE encrypted; } TPMS_CONTEXT_DATA; @@ -1266,9 +1253,9 @@ TPM2B_TYPE(CONTEXT_DATA, sizeof(TPMS_CONTEXT_DATA)); // Table 201 - TPMS_CONTEXT Structure typedef struct { - UINT64 sequence; - TPMI_DH_CONTEXT savedHandle; - TPMI_RH_HIERARCHY hierarchy; + UINT64 sequence; + TPMI_DH_CONTEXT savedHandle; + TPMI_RH_HIERARCHY hierarchy; TPM2B_CONTEXT_DATA contextBlob; } TPMS_CONTEXT; @@ -1277,171 +1264,171 @@ typedef struct { // Table 203 - TPMS_CREATION_DATA Structure typedef struct { TPML_PCR_SELECTION pcrSelect; - TPM2B_DIGEST pcrDigest; - TPMA_LOCALITY locality; - TPM_ALG_ID parentNameAlg; - TPM2B_NAME parentName; - TPM2B_NAME parentQualifiedName; - TPM2B_DATA outsideInfo; + TPM2B_DIGEST pcrDigest; + TPMA_LOCALITY locality; + TPM_ALG_ID parentNameAlg; + TPM2B_NAME parentName; + TPM2B_NAME parentQualifiedName; + TPM2B_DATA outsideInfo; } TPMS_CREATION_DATA; // Table 204 - TPM2B_CREATION_DATA Structure typedef union { - struct { - UINT16 size; - TPMS_CREATION_DATA creationData; - } t __attribute__((packed)); - TPM2B b; + struct { + UINT16 size; + TPMS_CREATION_DATA creationData; + } t __attribute__((packed)); + TPM2B b; } TPM2B_CREATION_DATA; // // Unknown defines to be investigated and resolved // enum { - RC_ActivateCredential_credentialBlob, - RC_ActivateCredential_keyHandle, - RC_ActivateCredential_secret, - RC_CertifyCreation_creationTicket, - RC_CertifyCreation_inScheme, - RC_CertifyCreation_signHandle, - RC_Certify_inScheme, - RC_Certify_signHandle, - RC_ClockSet_newTime, - RC_Commit_P1, - RC_Commit_s2, - RC_Commit_signHandle, - RC_Commit_y2, - RC_ContextLoad_context, - RC_CreatePrimary_inPublic, - RC_CreatePrimary_inSensitive, - RC_Create_inPublic, - RC_Create_inSensitive, - RC_Create_parentHandle, - RC_Duplicate_encryptionKeyIn, - RC_Duplicate_newParentHandle, - RC_Duplicate_objectHandle, - RC_Duplicate_symmetricAlg, - RC_ECC_Parameters_curveID, - RC_ECDH_KeyGen_keyHandle, - RC_ECDH_ZGen_keyHandle, - RC_ECDH_ZGen_inPoint, - RC_EncryptDecrypt_inData, - RC_EncryptDecrypt_ivIn, - RC_EncryptDecrypt_keyHandle, - RC_EncryptDecrypt_mode, - RC_EventSequenceComplete_sequenceHandle, - RC_EvictControl_objectHandle, - RC_EvictControl_persistentHandle, - RC_GetCapability_property, - RC_GetCommandAuditDigest_signHandle, - RC_GetCommandAuditDigest_inScheme, - RC_GetSessionAuditDigest_inScheme, - RC_GetSessionAuditDigest_sessionHandle, - RC_GetSessionAuditDigest_signHandle, - RC_GetTime_inScheme, - RC_GetTime_signHandle, - RC_HMAC_handle, - RC_HMAC_hashAlg, - RC_HMAC_Start_handle, - RC_HMAC_Start_hashAlg, - RC_HierarchyChangeAuth_newAuth, - RC_Import_duplicate, - RC_Import_encryptionKey, - RC_Import_inSymSeed, - RC_Import_objectPublic, - RC_Import_parentHandle, - RC_IncrementalSelfTest_toTest, - RC_Load_inPrivate, - RC_Load_inPublic, - RC_Load_parentHandle, - RC_LoadExternal_hierarchy, - RC_LoadExternal_inPublic, - RC_MakeCredential_credential, - RC_MakeCredential_handle, - RC_NV_Certify_signHandle, - RC_NV_Certify_inScheme, - RC_NV_ChangeAuth_newAuth, - RC_NV_DefineSpace_auth, - RC_NV_DefineSpace_authHandle, - RC_NV_DefineSpace_publicInfo, - RC_NV_Extend_nvIndex, - RC_NV_Increment_nvIndex, - RC_NV_ReadLock_nvIndex, - RC_NV_SetBits_nvIndex, - RC_NV_UndefineSpace_nvIndex, - RC_NV_UndefineSpaceSpecial_nvIndex, - RC_NV_WriteLock_nvIndex, - RC_ObjectChangeAuth_newAuth, - RC_ObjectChangeAuth_objectHandle, - RC_ObjectChangeAuth_parentHandle, - RC_PCR_SetAuthPolicy_authPolicy, - RC_PCR_SetAuthPolicy_pcrNum, - RC_PolicyAuthorize_approvedPolicy, - RC_PolicyAuthorize_checkTicket, - RC_PolicyAuthorize_keySign, - RC_PolicyCommandCode_code, - RC_PolicyCpHash_cpHashA, - RC_PolicyLocality_locality, - RC_PolicyNV_operandB, - RC_PolicyNameHash_nameHash, - RC_PolicyNvWritten_writtenSet, - RC_PolicyOR_pHashList, - RC_PolicyPCR_pcrDigest, - RC_PolicySecret_cpHashA, - RC_PolicySecret_expiration, - RC_PolicySecret_nonceTPM, - RC_PolicySigned_auth, - RC_PolicySigned_cpHashA, - RC_PolicySigned_expiration, - RC_PolicySigned_nonceTPM, - RC_PolicyTicket_cpHashA, - RC_PolicyTicket_policySession, - RC_PolicyTicket_ticket, - RC_PolicyTicket_timeout, - RC_Quote_inScheme, - RC_Quote_signHandle, - RC_RSA_Decrypt_inScheme, - RC_RSA_Decrypt_keyHandle, - RC_RSA_Decrypt_label, - RC_RSA_Encrypt_inScheme, - RC_RSA_Encrypt_keyHandle, - RC_RSA_Encrypt_label, - RC_Rewrap_inDuplicate, - RC_Rewrap_inSymSeed, - RC_Rewrap_newParent, - RC_Rewrap_oldParent, - RC_SequenceComplete_sequenceHandle, - RC_SequenceUpdate_sequenceHandle, - RC_SetCommandCodeAuditStatus_auditAlg, - RC_SetPrimaryPolicy_authPolicy, - RC_Shutdown_shutdownType, - RC_Sign_digest, - RC_Sign_inScheme, - RC_Sign_keyHandle, - RC_Sign_validation, - RC_StartAuthSession_bind, - RC_StartAuthSession_encryptedSalt, - RC_StartAuthSession_nonceCaller, - RC_StartAuthSession_symmetric, - RC_StartAuthSession_tpmKey, - RC_Startup_startupType, - RC_Unseal_itemHandle, - RC_VerifySignature_keyHandle, - RC_VerifySignature_signature, - RC_ZGen_2Phase_counter, - RC_ZGen_2Phase_inQeB, - RC_ZGen_2Phase_inQsB, - RC_ZGen_2Phase_inScheme, - RC_ZGen_2Phase_keyA, + RC_ActivateCredential_credentialBlob, + RC_ActivateCredential_keyHandle, + RC_ActivateCredential_secret, + RC_CertifyCreation_creationTicket, + RC_CertifyCreation_inScheme, + RC_CertifyCreation_signHandle, + RC_Certify_inScheme, + RC_Certify_signHandle, + RC_ClockSet_newTime, + RC_Commit_P1, + RC_Commit_s2, + RC_Commit_signHandle, + RC_Commit_y2, + RC_ContextLoad_context, + RC_CreatePrimary_inPublic, + RC_CreatePrimary_inSensitive, + RC_Create_inPublic, + RC_Create_inSensitive, + RC_Create_parentHandle, + RC_Duplicate_encryptionKeyIn, + RC_Duplicate_newParentHandle, + RC_Duplicate_objectHandle, + RC_Duplicate_symmetricAlg, + RC_ECC_Parameters_curveID, + RC_ECDH_KeyGen_keyHandle, + RC_ECDH_ZGen_keyHandle, + RC_ECDH_ZGen_inPoint, + RC_EncryptDecrypt_inData, + RC_EncryptDecrypt_ivIn, + RC_EncryptDecrypt_keyHandle, + RC_EncryptDecrypt_mode, + RC_EventSequenceComplete_sequenceHandle, + RC_EvictControl_objectHandle, + RC_EvictControl_persistentHandle, + RC_GetCapability_property, + RC_GetCommandAuditDigest_signHandle, + RC_GetCommandAuditDigest_inScheme, + RC_GetSessionAuditDigest_inScheme, + RC_GetSessionAuditDigest_sessionHandle, + RC_GetSessionAuditDigest_signHandle, + RC_GetTime_inScheme, + RC_GetTime_signHandle, + RC_HMAC_handle, + RC_HMAC_hashAlg, + RC_HMAC_Start_handle, + RC_HMAC_Start_hashAlg, + RC_HierarchyChangeAuth_newAuth, + RC_Import_duplicate, + RC_Import_encryptionKey, + RC_Import_inSymSeed, + RC_Import_objectPublic, + RC_Import_parentHandle, + RC_IncrementalSelfTest_toTest, + RC_Load_inPrivate, + RC_Load_inPublic, + RC_Load_parentHandle, + RC_LoadExternal_hierarchy, + RC_LoadExternal_inPublic, + RC_MakeCredential_credential, + RC_MakeCredential_handle, + RC_NV_Certify_signHandle, + RC_NV_Certify_inScheme, + RC_NV_ChangeAuth_newAuth, + RC_NV_DefineSpace_auth, + RC_NV_DefineSpace_authHandle, + RC_NV_DefineSpace_publicInfo, + RC_NV_Extend_nvIndex, + RC_NV_Increment_nvIndex, + RC_NV_ReadLock_nvIndex, + RC_NV_SetBits_nvIndex, + RC_NV_UndefineSpace_nvIndex, + RC_NV_UndefineSpaceSpecial_nvIndex, + RC_NV_WriteLock_nvIndex, + RC_ObjectChangeAuth_newAuth, + RC_ObjectChangeAuth_objectHandle, + RC_ObjectChangeAuth_parentHandle, + RC_PCR_SetAuthPolicy_authPolicy, + RC_PCR_SetAuthPolicy_pcrNum, + RC_PolicyAuthorize_approvedPolicy, + RC_PolicyAuthorize_checkTicket, + RC_PolicyAuthorize_keySign, + RC_PolicyCommandCode_code, + RC_PolicyCpHash_cpHashA, + RC_PolicyLocality_locality, + RC_PolicyNV_operandB, + RC_PolicyNameHash_nameHash, + RC_PolicyNvWritten_writtenSet, + RC_PolicyOR_pHashList, + RC_PolicyPCR_pcrDigest, + RC_PolicySecret_cpHashA, + RC_PolicySecret_expiration, + RC_PolicySecret_nonceTPM, + RC_PolicySigned_auth, + RC_PolicySigned_cpHashA, + RC_PolicySigned_expiration, + RC_PolicySigned_nonceTPM, + RC_PolicyTicket_cpHashA, + RC_PolicyTicket_policySession, + RC_PolicyTicket_ticket, + RC_PolicyTicket_timeout, + RC_Quote_inScheme, + RC_Quote_signHandle, + RC_RSA_Decrypt_inScheme, + RC_RSA_Decrypt_keyHandle, + RC_RSA_Decrypt_label, + RC_RSA_Encrypt_inScheme, + RC_RSA_Encrypt_keyHandle, + RC_RSA_Encrypt_label, + RC_Rewrap_inDuplicate, + RC_Rewrap_inSymSeed, + RC_Rewrap_newParent, + RC_Rewrap_oldParent, + RC_SequenceComplete_sequenceHandle, + RC_SequenceUpdate_sequenceHandle, + RC_SetCommandCodeAuditStatus_auditAlg, + RC_SetPrimaryPolicy_authPolicy, + RC_Shutdown_shutdownType, + RC_Sign_digest, + RC_Sign_inScheme, + RC_Sign_keyHandle, + RC_Sign_validation, + RC_StartAuthSession_bind, + RC_StartAuthSession_encryptedSalt, + RC_StartAuthSession_nonceCaller, + RC_StartAuthSession_symmetric, + RC_StartAuthSession_tpmKey, + RC_Startup_startupType, + RC_Unseal_itemHandle, + RC_VerifySignature_keyHandle, + RC_VerifySignature_signature, + RC_ZGen_2Phase_counter, + RC_ZGen_2Phase_inQeB, + RC_ZGen_2Phase_inQsB, + RC_ZGen_2Phase_inScheme, + RC_ZGen_2Phase_keyA, }; enum { - TPM_RCS_ATTRIBUTES, - TPM_RCS_HANDLE, - TPM_RCS_KEY, - TPM_RCS_SIZE, - TPM_RCS_TYPE, - TPM_RCS_VALUE, + TPM_RCS_ATTRIBUTES, + TPM_RCS_HANDLE, + TPM_RCS_KEY, + TPM_RCS_SIZE, + TPM_RCS_TYPE, + TPM_RCS_VALUE, }; -#endif // __TPM2_TPM_TYPES_H +#endif // __TPM2_TPM_TYPES_H diff --git a/TestParms_fp.h b/TestParms_fp.h index 819a34a..3215300 100644 --- a/TestParms_fp.h +++ b/TestParms_fp.h @@ -7,10 +7,9 @@ #ifndef __TPM2_TESTPARMS_FP_H_ #define __TPM2_TESTPARMS_FP_H_ -typedef void TestParms_In; // unused. +typedef void TestParms_In; // unused. -TPM_RC TPM2_TestParms( - TestParms_In *in // IN: input parameter list -); +TPM_RC TPM2_TestParms(TestParms_In *in // IN: input parameter list + ); -#endif // __TPM2_TESTPARMS_FP_H_ +#endif // __TPM2_TESTPARMS_FP_H_ diff --git a/Ticket_fp.h b/Ticket_fp.h index 6cb076d..78acbfa 100644 --- a/Ticket_fp.h +++ b/Ticket_fp.h @@ -8,35 +8,32 @@ #define __TPM2_TICKET_FP_H void TicketComputeAuth( - TPM_ST type, // IN: the type of ticket. - TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy constant for ticket - UINT64 timeout, // IN: timeout - TPM2B_DIGEST *cpHashA, // IN: input cpHashA - TPM2B_NONCE *policyRef, // IN: input policyRef - TPM2B_NAME *entityName, // IN: name of entity - TPMT_TK_AUTH *ticket // OUT: Created ticket - ); + TPM_ST type, // IN: the type of ticket. + TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy constant for ticket + UINT64 timeout, // IN: timeout + TPM2B_DIGEST *cpHashA, // IN: input cpHashA + TPM2B_NONCE *policyRef, // IN: input policyRef + TPM2B_NAME *entityName, // IN: name of entity + TPMT_TK_AUTH *ticket // OUT: Created ticket + ); void TicketComputeCreation( - TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy for ticket - TPM2B_NAME *name, // IN: object name - TPM2B_DIGEST *creation, // IN: creation hash - TPMT_TK_CREATION *ticket // OUT: created ticket -); + TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy for ticket + TPM2B_NAME *name, // IN: object name + TPM2B_DIGEST *creation, // IN: creation hash + TPMT_TK_CREATION *ticket // OUT: created ticket + ); void TicketComputeHashCheck( - TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy constant for ticket - TPM_ALG_ID hashAlg, // IN: the hash algorithm used to create - // 'digest' - TPM2B_DIGEST *digest, // IN: input digest - TPMT_TK_HASHCHECK *ticket // OUT: Created ticket - ); + TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy constant for ticket + TPM_ALG_ID hashAlg, // IN: the hash algorithm used to create 'digest' + TPM2B_DIGEST *digest, // IN: input digest + TPMT_TK_HASHCHECK *ticket // OUT: Created ticket + ); void TicketComputeVerified( - TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy constant for ticket - TPM2B_DIGEST *digest, // IN: digest - TPM2B_NAME *keyName, // IN: name of key that signed the value - TPMT_TK_VERIFIED *ticket // OUT: verified ticket - ); -BOOL TicketIsSafe( - TPM2B *buffer - ); + TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy constant for ticket + TPM2B_DIGEST *digest, // IN: digest + TPM2B_NAME *keyName, // IN: name of key that signed the value + TPMT_TK_VERIFIED *ticket // OUT: verified ticket + ); +BOOL TicketIsSafe(TPM2B *buffer); -#endif // __TPM2_TICKET_FP_H +#endif // __TPM2_TICKET_FP_H @@ -7,25 +7,16 @@ #ifndef __TPM2_TIME_FP_H #define __TPM2_TIME_FP_H -void TimeFillInfo( - TPMS_CLOCK_INFO *clockInfo -); -TPM_RC TimeGetRange( - UINT16 offset, // IN: offset in TPMS_TIME_INFO - UINT16 size, // IN: size of data - TIME_INFO *dataBuffer // OUT: result buffer - ); -void TimePowerOn( - void - ); -void TimeSetAdjustRate( - TPM_CLOCK_ADJUST adjust // IN: adjust constant -); -void TimeStartup( - STARTUP_TYPE type // IN: start up type - ); -void TimeUpdateToCurrent( - void - ); +void TimeFillInfo(TPMS_CLOCK_INFO *clockInfo); +TPM_RC TimeGetRange(UINT16 offset, // IN: offset in TPMS_TIME_INFO + UINT16 size, // IN: size of data + TIME_INFO *dataBuffer // OUT: result buffer + ); +void TimePowerOn(void); +void TimeSetAdjustRate(TPM_CLOCK_ADJUST adjust // IN: adjust constant + ); +void TimeStartup(STARTUP_TYPE type // IN: start up type + ); +void TimeUpdateToCurrent(void); -#endif // __TPM2_TIME_FP_H +#endif // __TPM2_TIME_FP_H diff --git a/TpmFail_fp.h b/TpmFail_fp.h index 03a2cd1..5509fa3 100644 --- a/TpmFail_fp.h +++ b/TpmFail_fp.h @@ -7,11 +7,11 @@ #ifndef __TPM2_TPMFAIL_FP_H #define __TPM2_TPMFAIL_FP_H -void TpmFailureMode ( - unsigned int inRequestSize, // IN: command buffer size - unsigned char *inRequest, // IN: command buffer - unsigned int *outResponseSize, // OUT: response buffer size - unsigned char **outResponse // OUT: response buffer -); +void TpmFailureMode( + unsigned int inRequestSize, // IN: command buffer size + unsigned char *inRequest, // IN: command buffer + unsigned int *outResponseSize, // OUT: response buffer size + unsigned char **outResponse // OUT: response buffer + ); -#endif // __TPM2_TPMFAIL_FP_H +#endif // __TPM2_TPMFAIL_FP_H diff --git a/Unique_fp.h b/Unique_fp.h index 5c89696..38a264a 100644 --- a/Unique_fp.h +++ b/Unique_fp.h @@ -7,10 +7,10 @@ #ifndef __TPM2_UNIQUE_FP_H_ #define __TPM2_UNIQUE_FP_H_ -LIB_EXPORT uint32_t _plat__GetUnique( - uint32_t which, // authorities (0) or details - uint32_t bSize, // size of the buffer - unsigned char *b // output buffer -); +LIB_EXPORT uint32_t +_plat__GetUnique(uint32_t which, // authorities (0) or details + uint32_t bSize, // size of the buffer + unsigned char *b // output buffer + ); -#endif // __TPM2_UNIQUE_FP_H_ +#endif // __TPM2_UNIQUE_FP_H_ diff --git a/Unseal_fp.h b/Unseal_fp.h index a3da750..cd1764c 100644 --- a/Unseal_fp.h +++ b/Unseal_fp.h @@ -7,17 +7,10 @@ #ifndef __TPM2_UNSEAL_FP_H_ #define __TPM2_UNSEAL_FP_H_ -typedef struct { - TPMI_DH_OBJECT itemHandle; -} Unseal_In; +typedef struct { TPMI_DH_OBJECT itemHandle; } Unseal_In; -typedef struct { - TPM2B_DATA outData; -} Unseal_Out; +typedef struct { TPM2B_DATA outData; } Unseal_Out; -TPM_RC TPM2_Unseal( - Unseal_In *in, - Unseal_Out *out -); +TPM_RC TPM2_Unseal(Unseal_In *in, Unseal_Out *out); -#endif // __TPM2_UNSEAL_FP_H_ +#endif // __TPM2_UNSEAL_FP_H_ diff --git a/VerifySignature_fp.h b/VerifySignature_fp.h index 3080139..d49bdc3 100644 --- a/VerifySignature_fp.h +++ b/VerifySignature_fp.h @@ -8,18 +8,16 @@ #define __TPM2_VERIFYSIGNATURE_FP_H_ typedef struct { - TPMI_DH_OBJECT keyHandle; - TPM2B_DIGEST digest; - TPMT_SIGNATURE signature; + TPMI_DH_OBJECT keyHandle; + TPM2B_DIGEST digest; + TPMT_SIGNATURE signature; } VerifySignature_In; -typedef struct { - TPMT_TK_VERIFIED validation; -} VerifySignature_Out; +typedef struct { TPMT_TK_VERIFIED validation; } VerifySignature_Out; TPM_RC TPM2_VerifySignature( - VerifySignature_In *in, // IN: input parameter list - VerifySignature_Out *out // OUT: output parameter list -); + VerifySignature_In *in, // IN: input parameter list + VerifySignature_Out *out // OUT: output parameter list + ); -#endif // __TPM2_VERIFYSIGNATURE_FP_H_ +#endif // __TPM2_VERIFYSIGNATURE_FP_H_ diff --git a/ZGen_2Phase_fp.h b/ZGen_2Phase_fp.h index fc432e3..0468226 100644 --- a/ZGen_2Phase_fp.h +++ b/ZGen_2Phase_fp.h @@ -8,21 +8,20 @@ #define __TPM2_ZGEN_2PHASE_FP_H_ typedef struct { - TPMI_DH_OBJECT keyA; - UINT16 counter; - TPM_ALG_ID inScheme; - TPM2B_ECC_POINT inQeB; - TPM2B_ECC_POINT inQsB; + TPMI_DH_OBJECT keyA; + UINT16 counter; + TPM_ALG_ID inScheme; + TPM2B_ECC_POINT inQeB; + TPM2B_ECC_POINT inQsB; } ZGen_2Phase_In; typedef struct { - TPM2B_ECC_POINT outZ1; - TPM2B_ECC_POINT outZ2; + TPM2B_ECC_POINT outZ1; + TPM2B_ECC_POINT outZ2; } ZGen_2Phase_Out; -TPM_RC TPM2_ZGen_2Phase( - ZGen_2Phase_In *in, // IN: input parameter list - ZGen_2Phase_Out *out // OUT: output parameter list -); +TPM_RC TPM2_ZGen_2Phase(ZGen_2Phase_In *in, // IN: input parameter list + ZGen_2Phase_Out *out // OUT: output parameter list + ); -#endif // __TPM2_ZGEN_2PHASE_FP_H_ +#endif // __TPM2_ZGEN_2PHASE_FP_H_ diff --git a/_TPM_Hash_Data_fp.h b/_TPM_Hash_Data_fp.h index 43749ae..c44f484 100644 --- a/_TPM_Hash_Data_fp.h +++ b/_TPM_Hash_Data_fp.h @@ -7,9 +7,8 @@ #ifndef __TPM2__TPM_HASH_DATA_FP_H #define __TPM2__TPM_HASH_DATA_FP_H -void _TPM_Hash_Data( - UINT32 dataSize, // IN: size of data to be extend - BYTE *data // IN: data buffer - ); +void _TPM_Hash_Data(UINT32 dataSize, // IN: size of data to be extend + BYTE *data // IN: data buffer + ); -#endif // __TPM2__TPM_HASH_DATA_FP_H +#endif // __TPM2__TPM_HASH_DATA_FP_H diff --git a/_TPM_Hash_End_fp.h b/_TPM_Hash_End_fp.h index e82f506..0b9e9fd 100644 --- a/_TPM_Hash_End_fp.h +++ b/_TPM_Hash_End_fp.h @@ -7,8 +7,6 @@ #ifndef __TPM2__TPM_HASH_END_FP_H #define __TPM2__TPM_HASH_END_FP_H -void _TPM_Hash_End( - void - ); +void _TPM_Hash_End(void); -#endif // __TPM2__TPM_HASH_END_FP_H +#endif // __TPM2__TPM_HASH_END_FP_H diff --git a/_TPM_Hash_Start_fp.h b/_TPM_Hash_Start_fp.h index 32cb84a..59acc3f 100644 --- a/_TPM_Hash_Start_fp.h +++ b/_TPM_Hash_Start_fp.h @@ -7,8 +7,6 @@ #ifndef __TPM2__TPM_HASH_START_FP_H #define __TPM2__TPM_HASH_START_FP_H -void _TPM_Hash_Start( - void - ); +void _TPM_Hash_Start(void); -#endif // __TPM2__TPM_HASH_START_FP_H +#endif // __TPM2__TPM_HASH_START_FP_H diff --git a/marshal_fp.h b/marshal_fp.h index 15932a6..34ff4b4 100644 --- a/marshal_fp.h +++ b/marshal_fp.h @@ -9,16 +9,16 @@ UINT16 Common_Marshal(void *source, BYTE **buffer, INT32 *size, UINT16 type_size); -TPM_RC Common_Unmarshal(void *source, BYTE **buffer, INT32 *size, - UINT16 type_size); +TPM_RC Common_Unmarshal(void *source, BYTE **buffer, INT32 *size, + UINT16 type_size); -#define MARSHAL_WRAPPER(name) \ - static inline UINT16 name##_Marshal(void *x, BYTE **y, INT32 *z) { \ - return Common_Marshal(x, y, z, sizeof(name)); \ - }\ - static inline TPM_RC name##_Unmarshal(void *x, BYTE **y, INT32 *z) { \ - return Common_Unmarshal(x, y, z, sizeof(name)); \ - } +#define MARSHAL_WRAPPER(name) \ + static inline UINT16 name##_Marshal(void *x, BYTE **y, INT32 *z) { \ + return Common_Marshal(x, y, z, sizeof(name)); \ + } \ + static inline TPM_RC name##_Unmarshal(void *x, BYTE **y, INT32 *z) { \ + return Common_Unmarshal(x, y, z, sizeof(name)); \ + } MARSHAL_WRAPPER(SESSION) MARSHAL_WRAPPER(TPM2B_AUTH) @@ -45,7 +45,7 @@ MARSHAL_WRAPPER(TPM_ST) MARSHAL_WRAPPER(UINT16) MARSHAL_WRAPPER(UINT32) -UINT16 TPMU_PUBLIC_PARMS_Marshal(TPMU_PUBLIC_PARMS *x, BYTE **y, - INT32 *z, TPMI_ALG_PUBLIC type); +UINT16 TPMU_PUBLIC_PARMS_Marshal(TPMU_PUBLIC_PARMS *x, BYTE **y, INT32 *z, + TPMI_ALG_PUBLIC type); -#endif // __TPM2_MARSHAL_FP_H +#endif // __TPM2_MARSHAL_FP_H |