1723e4046Schristos 2723e4046Schristos /* 3723e4046Schristos * Licensed Materials - Property of IBM 4723e4046Schristos * 5723e4046Schristos * trousers - An open source TCG Software Stack 6723e4046Schristos * 7723e4046Schristos * (C) Copyright International Business Machines Corp. 2004-2007 8723e4046Schristos * 9723e4046Schristos */ 10723e4046Schristos 11723e4046Schristos #ifndef _RPC_TCSTP_TSP_H_ 12723e4046Schristos #define _RPC_TCSTP_TSP_H_ 13723e4046Schristos 14723e4046Schristos #include "hosttable.h" 15723e4046Schristos #include "rpc_tcstp.h" 16723e4046Schristos #include "tcsd_wrap.h" 17723e4046Schristos #include "tcsd.h" 18723e4046Schristos 19723e4046Schristos int setData(TCSD_PACKET_TYPE,int,void *,int,struct tcsd_comm_data *); 20723e4046Schristos UINT32 getData(TCSD_PACKET_TYPE,int,void *,int,struct tcsd_comm_data *); 21723e4046Schristos void initData(struct tcsd_comm_data *, int); 22723e4046Schristos TSS_RESULT sendTCSDPacket(struct host_table_entry *); 23723e4046Schristos TSS_RESULT send_init(struct host_table_entry *); 24723e4046Schristos TSS_RESULT tcs_sendit(struct host_table_entry *); 25*0861b331Schristos 26*0861b331Schristos /* Underlying socket-related calls */ 27*0861b331Schristos TSS_RESULT get_socket(struct host_table_entry *hte, int *sd); 28723e4046Schristos 29723e4046Schristos /* Context commands always included */ 30723e4046Schristos TSS_RESULT RPC_OpenContext_TP(struct host_table_entry *, UINT32 *, TCS_CONTEXT_HANDLE *); 31723e4046Schristos TSS_RESULT RPC_CloseContext_TP(struct host_table_entry *); 32723e4046Schristos TSS_RESULT RPC_FreeMemory_TP(struct host_table_entry *,BYTE *); 33723e4046Schristos 34723e4046Schristos #ifdef TSS_BUILD_AUTH 35723e4046Schristos TSS_RESULT RPC_OIAP_TP(struct host_table_entry *,TCS_AUTHHANDLE *,TCPA_NONCE *); 36723e4046Schristos TSS_RESULT RPC_OSAP_TP(struct host_table_entry *,TCPA_ENTITY_TYPE,UINT32,TCPA_NONCE*,TCS_AUTHHANDLE *,TCPA_NONCE *,TCPA_NONCE *); 37723e4046Schristos #else 38723e4046Schristos #define RPC_OIAP_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 39723e4046Schristos #define RPC_OSAP_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 40723e4046Schristos #endif 41723e4046Schristos 42723e4046Schristos #ifdef TSS_BUILD_PCR_EVENTS 43723e4046Schristos TSS_RESULT RPC_LogPcrEvent_TP(struct host_table_entry *,TSS_PCR_EVENT,UINT32 *); 44723e4046Schristos TSS_RESULT RPC_GetPcrEvent_TP(struct host_table_entry *,UINT32,UINT32 *,TSS_PCR_EVENT **); 45723e4046Schristos TSS_RESULT RPC_GetPcrEventLog_TP(struct host_table_entry *,UINT32 *,TSS_PCR_EVENT **); 46723e4046Schristos TSS_RESULT RPC_GetPcrEventsByPcr_TP(struct host_table_entry *,UINT32,UINT32,UINT32 *,TSS_PCR_EVENT **); 47723e4046Schristos #else 48723e4046Schristos #define RPC_LogPcrEvent_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 49723e4046Schristos #define RPC_GetPcrEvent_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 50723e4046Schristos #define RPC_GetPcrEventLog_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 51723e4046Schristos #define RPC_GetPcrEventsByPcr_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 52723e4046Schristos #endif 53723e4046Schristos 54723e4046Schristos #ifdef TSS_BUILD_PS 55723e4046Schristos TSS_RESULT RPC_GetRegisteredKeyByPublicInfo_TP(struct host_table_entry * tcsContext,TCPA_ALGORITHM_ID algID,UINT32,BYTE *,UINT32 *,BYTE **); 56723e4046Schristos TSS_RESULT RPC_RegisterKey_TP(struct host_table_entry *,TSS_UUID,TSS_UUID,UINT32,BYTE *,UINT32,BYTE *); 57723e4046Schristos TSS_RESULT RPC_UnregisterKey_TP(struct host_table_entry *,TSS_UUID); 58723e4046Schristos TSS_RESULT RPC_EnumRegisteredKeys_TP(struct host_table_entry *,TSS_UUID *,UINT32 *,TSS_KM_KEYINFO **); 59723e4046Schristos TSS_RESULT RPC_EnumRegisteredKeys2_TP(struct host_table_entry *,TSS_UUID *,UINT32 *,TSS_KM_KEYINFO2 **); 60723e4046Schristos TSS_RESULT RPC_GetRegisteredKey_TP(struct host_table_entry *,TSS_UUID,TSS_KM_KEYINFO **); 61723e4046Schristos TSS_RESULT RPC_GetRegisteredKeyBlob_TP(struct host_table_entry *,TSS_UUID,UINT32 *,BYTE **); 62723e4046Schristos TSS_RESULT RPC_LoadKeyByUUID_TP(struct host_table_entry *,TSS_UUID,TCS_LOADKEY_INFO *,TCS_KEY_HANDLE *); 63723e4046Schristos #else 64723e4046Schristos #define RPC_GetRegisteredKeyByPublicInfo_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 65723e4046Schristos #define RPC_RegisterKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 66723e4046Schristos #define RPC_UnregisterKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 67723e4046Schristos #define RPC_EnumRegisteredKeys_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 68723e4046Schristos #define RPC_EnumRegisteredKeys2_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 69723e4046Schristos #define RPC_GetRegisteredKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 70723e4046Schristos #define RPC_GetRegisteredKeyBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 71723e4046Schristos #define RPC_LoadKeyByUUID_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 72723e4046Schristos #endif 73723e4046Schristos 74723e4046Schristos #ifdef TSS_BUILD_KEY 75723e4046Schristos TSS_RESULT RPC_LoadKeyByBlob_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,TPM_AUTH *,TCS_KEY_HANDLE *,TCS_KEY_HANDLE *); 76723e4046Schristos TSS_RESULT RPC_EvictKey_TP(struct host_table_entry *,TCS_KEY_HANDLE); 77723e4046Schristos TSS_RESULT RPC_CreateWrapKey_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_ENCAUTH *,TCPA_ENCAUTH *,UINT32,BYTE *,UINT32 *,BYTE **,TPM_AUTH *); 78723e4046Schristos TSS_RESULT RPC_GetPubKey_TP(struct host_table_entry *,TCS_KEY_HANDLE,TPM_AUTH *,UINT32 *,BYTE **); 79723e4046Schristos TSS_RESULT RPC_TerminateHandle_TP(struct host_table_entry *,TCS_AUTHHANDLE); 80723e4046Schristos TSS_RESULT RPC_OwnerReadInternalPub_TP(struct host_table_entry *, TCS_KEY_HANDLE, TPM_AUTH *, UINT32 *, BYTE **); 81723e4046Schristos #ifdef TSS_BUILD_TSS12 82723e4046Schristos TSS_RESULT RPC_KeyControlOwner_TP(struct host_table_entry *, TCS_KEY_HANDLE, UINT32, BYTE *, UINT32, TSS_BOOL, TPM_AUTH *, TSS_UUID *); 83723e4046Schristos #else 84723e4046Schristos #define RPC_KeyControlOwner_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 85723e4046Schristos #endif 86723e4046Schristos #else 87723e4046Schristos #define RPC_LoadKeyByBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 88723e4046Schristos #define RPC_EvictKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 89723e4046Schristos #define RPC_CreateWrapKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 90723e4046Schristos #define RPC_GetPubKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 91723e4046Schristos #define RPC_TerminateHandle_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 92723e4046Schristos #define RPC_OwnerReadInternalPub_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 93723e4046Schristos #define RPC_KeyControlOwner_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 94723e4046Schristos #endif 95723e4046Schristos 96723e4046Schristos #ifdef TSS_BUILD_AIK 97723e4046Schristos TSS_RESULT RPC_MakeIdentity_TP(struct host_table_entry *,TCPA_ENCAUTH,TCPA_CHOSENID_HASH,UINT32,BYTE *,TPM_AUTH *,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **,UINT32 *,BYTE **,UINT32 *,BYTE **,UINT32 *,BYTE **); 98723e4046Schristos TSS_RESULT RPC_GetCredential_TP(struct host_table_entry *,UINT32 ,UINT32 ,UINT32 *,BYTE **); 99723e4046Schristos TSS_RESULT RPC_ActivateTPMIdentity_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,TPM_AUTH *,TPM_AUTH *,UINT32 *,BYTE **); 100723e4046Schristos #else 101723e4046Schristos #define RPC_MakeIdentity_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 102723e4046Schristos #define RPC_GetCredential_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 103723e4046Schristos #define RPC_ActivateTPMIdentity_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 104723e4046Schristos #endif 105723e4046Schristos 106723e4046Schristos #ifdef TSS_BUILD_ADMIN 107723e4046Schristos TSS_RESULT RPC_SetOwnerInstall_TP(struct host_table_entry *,TSS_BOOL); 108723e4046Schristos TSS_RESULT RPC_DisableOwnerClear_TP(struct host_table_entry *,TPM_AUTH *); 109723e4046Schristos TSS_RESULT RPC_ForceClear_TP(struct host_table_entry * hContext); 110723e4046Schristos TSS_RESULT RPC_DisableForceClear_TP(struct host_table_entry * hContext); 111723e4046Schristos TSS_RESULT RPC_PhysicalDisable_TP(struct host_table_entry * hContext); 112723e4046Schristos TSS_RESULT RPC_PhysicalEnable_TP(struct host_table_entry * hContext); 113723e4046Schristos TSS_RESULT RPC_PhysicalSetDeactivated_TP(struct host_table_entry *,TSS_BOOL); 114723e4046Schristos TSS_RESULT RPC_PhysicalPresence_TP(struct host_table_entry *,TCPA_PHYSICAL_PRESENCE); 115723e4046Schristos TSS_RESULT RPC_SetTempDeactivated_TP(struct host_table_entry * hContext); 116723e4046Schristos #ifdef TSS_BUILD_TSS12 117723e4046Schristos TSS_RESULT RPC_SetTempDeactivated2_TP(struct host_table_entry *, TPM_AUTH *); 118723e4046Schristos #else 119723e4046Schristos #define RPC_SetTempDeactivated2_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 120723e4046Schristos #endif 121723e4046Schristos TSS_RESULT RPC_FieldUpgrade_TP(struct host_table_entry *,UINT32,BYTE *,UINT32 *,BYTE **,TPM_AUTH *); 122723e4046Schristos TSS_RESULT RPC_SetRedirection_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,UINT32,TPM_AUTH *); 123723e4046Schristos TSS_RESULT RPC_OwnerSetDisable_TP(struct host_table_entry *,TSS_BOOL,TPM_AUTH *); 124723e4046Schristos TSS_RESULT RPC_ResetLockValue_TP(struct host_table_entry *, TPM_AUTH *); 125723e4046Schristos #else 126723e4046Schristos #define RPC_SetOwnerInstall_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 127723e4046Schristos #define RPC_DisableOwnerClear_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 128723e4046Schristos #define RPC_ForceClear_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 129723e4046Schristos #define RPC_DisableForceClear_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 130723e4046Schristos #define RPC_PhysicalDisable_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 131723e4046Schristos #define RPC_PhysicalEnable_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 132723e4046Schristos #define RPC_PhysicalSetDeactivated_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 133723e4046Schristos #define RPC_PhysicalPresence_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 134723e4046Schristos #define RPC_SetTempDeactivated_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 135723e4046Schristos #define RPC_SetTempDeactivated2_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 136723e4046Schristos #define RPC_FieldUpgrade_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 137723e4046Schristos #define RPC_SetRedirection_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 138723e4046Schristos #define RPC_OwnerSetDisable_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 139723e4046Schristos #define RPC_ResetLockValue_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 140723e4046Schristos #endif 141723e4046Schristos 142723e4046Schristos #ifdef TSS_BUILD_OWN 143723e4046Schristos TSS_RESULT RPC_TakeOwnership_TP(struct host_table_entry *,UINT16,UINT32,BYTE *,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 144723e4046Schristos TSS_RESULT RPC_OwnerClear_TP(struct host_table_entry *,TPM_AUTH *); 145723e4046Schristos #else 146723e4046Schristos #define RPC_TakeOwnership_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 147723e4046Schristos #define RPC_OwnerClear_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 148723e4046Schristos #endif 149723e4046Schristos 150723e4046Schristos #ifdef TSS_BUILD_CHANGEAUTH 151723e4046Schristos TSS_RESULT RPC_ChangeAuth_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_PROTOCOL_ID,TCPA_ENCAUTH *,TCPA_ENTITY_TYPE,UINT32,BYTE *,TPM_AUTH *,TPM_AUTH *,UINT32 *,BYTE **); 152723e4046Schristos TSS_RESULT RPC_ChangeAuthOwner_TP(struct host_table_entry *,TCPA_PROTOCOL_ID,TCPA_ENCAUTH *,TCPA_ENTITY_TYPE,TPM_AUTH *); 153723e4046Schristos TSS_RESULT RPC_ChangeAuthAsymStart_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_NONCE,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **,UINT32 *,BYTE **,TCS_KEY_HANDLE *); 154723e4046Schristos TSS_RESULT RPC_ChangeAuthAsymFinish_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCS_KEY_HANDLE,TCPA_ENTITY_TYPE,TCPA_HMAC,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **,TCPA_SALT_NONCE *,TCPA_DIGEST *); 155723e4046Schristos #else 156723e4046Schristos #define RPC_ChangeAuth_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 157723e4046Schristos #define RPC_ChangeAuthOwner_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 158723e4046Schristos #define RPC_ChangeAuthAsymStart_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 159723e4046Schristos #define RPC_ChangeAuthAsymFinish_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 160723e4046Schristos #endif 161723e4046Schristos 162723e4046Schristos #ifdef TSS_BUILD_PCR_EXTEND 163723e4046Schristos TSS_RESULT RPC_Extend_TP(struct host_table_entry *,TCPA_PCRINDEX,TCPA_DIGEST,TCPA_PCRVALUE *); 164723e4046Schristos TSS_RESULT RPC_PcrRead_TP(struct host_table_entry *,TCPA_PCRINDEX,TCPA_PCRVALUE *); 165723e4046Schristos TSS_RESULT RPC_PcrReset_TP(struct host_table_entry *,UINT32,BYTE *); 166723e4046Schristos #else 167723e4046Schristos #define RPC_Extend_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 168723e4046Schristos #define RPC_PcrRead_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 169723e4046Schristos #define RPC_PcrReset_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 170723e4046Schristos #endif 171723e4046Schristos 172723e4046Schristos #ifdef TSS_BUILD_QUOTE 173723e4046Schristos TSS_RESULT RPC_Quote_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_NONCE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **); 174723e4046Schristos #else 175723e4046Schristos #define RPC_Quote_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 176723e4046Schristos #endif 177723e4046Schristos 178723e4046Schristos #ifdef TSS_BUILD_QUOTE2 179723e4046Schristos TSS_RESULT RPC_Quote2_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_NONCE *,UINT32,BYTE *,TSS_BOOL,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **,UINT32 *,BYTE **); 180723e4046Schristos #else 181723e4046Schristos #define RPC_Quote2_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 182723e4046Schristos #endif 183723e4046Schristos 184723e4046Schristos #ifdef TSS_BUILD_DIR 185723e4046Schristos TSS_RESULT RPC_DirWriteAuth_TP(struct host_table_entry *,TCPA_DIRINDEX,TCPA_DIRVALUE *,TPM_AUTH *); 186723e4046Schristos TSS_RESULT RPC_DirRead_TP(struct host_table_entry *,TCPA_DIRINDEX,TCPA_DIRVALUE *); 187723e4046Schristos #else 188723e4046Schristos #define RPC_DirWriteAuth_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 189723e4046Schristos #define RPC_DirRead_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 190723e4046Schristos #endif 191723e4046Schristos 192723e4046Schristos #ifdef TSS_BUILD_SEAL 193723e4046Schristos TSS_RESULT RPC_Seal_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_ENCAUTH *,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 194723e4046Schristos TSS_RESULT RPC_Unseal_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,TPM_AUTH *,TPM_AUTH *,UINT32 *,BYTE **); 195723e4046Schristos #else 196723e4046Schristos #define RPC_Seal_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 197723e4046Schristos #define RPC_Unseal_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 198723e4046Schristos #endif 199723e4046Schristos 200723e4046Schristos #ifdef TSS_BUILD_SEALX 201723e4046Schristos TSS_RESULT RPC_Sealx_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_ENCAUTH *,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 202723e4046Schristos #else 203723e4046Schristos #define RPC_Sealx_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 204723e4046Schristos #endif 205723e4046Schristos 206723e4046Schristos #ifdef TSS_BUILD_BIND 207723e4046Schristos TSS_RESULT RPC_UnBind_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 208723e4046Schristos #else 209723e4046Schristos #define RPC_UnBind_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 210723e4046Schristos #endif 211723e4046Schristos 212723e4046Schristos #ifdef TSS_BUILD_MIGRATION 213723e4046Schristos TSS_RESULT RPC_CreateMigrationBlob_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_MIGRATE_SCHEME,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **); 214723e4046Schristos TSS_RESULT RPC_ConvertMigrationBlob_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 215723e4046Schristos TSS_RESULT RPC_AuthorizeMigrationKey_TP(struct host_table_entry *,TCPA_MIGRATE_SCHEME,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 216723e4046Schristos #else 217723e4046Schristos #define RPC_CreateMigrationBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 218723e4046Schristos #define RPC_ConvertMigrationBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 219723e4046Schristos #define RPC_AuthorizeMigrationKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 220723e4046Schristos #endif 221723e4046Schristos 222723e4046Schristos #ifdef TSS_BUILD_CERTIFY 223723e4046Schristos TSS_RESULT RPC_CertifyKey_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCS_KEY_HANDLE,TPM_NONCE *,TPM_AUTH *,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **); 224723e4046Schristos #else 225723e4046Schristos #define RPC_CertifyKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 226723e4046Schristos #endif 227723e4046Schristos 228723e4046Schristos #ifdef TSS_BUILD_SIGN 229723e4046Schristos TSS_RESULT RPC_Sign_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 230723e4046Schristos #else 231723e4046Schristos #define RPC_Sign_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 232723e4046Schristos #endif 233723e4046Schristos 234723e4046Schristos #ifdef TSS_BUILD_RANDOM 235723e4046Schristos TSS_RESULT RPC_GetRandom_TP(struct host_table_entry *,UINT32,BYTE **); 236723e4046Schristos TSS_RESULT RPC_StirRandom_TP(struct host_table_entry *,UINT32,BYTE *); 237723e4046Schristos #else 238723e4046Schristos #define RPC_GetRandom_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 239723e4046Schristos #define RPC_StirRandom_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 240723e4046Schristos #endif 241723e4046Schristos 242723e4046Schristos #ifdef TSS_BUILD_CAPS_TPM 243723e4046Schristos TSS_RESULT RPC_GetTPMCapability_TP(struct host_table_entry *,TCPA_CAPABILITY_AREA,UINT32,BYTE *,UINT32 *,BYTE **); 244723e4046Schristos TSS_RESULT RPC_GetCapabilitySigned_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_NONCE,TCPA_CAPABILITY_AREA,UINT32,BYTE *,TPM_AUTH *,TCPA_VERSION *,UINT32 *,BYTE **,UINT32 *,BYTE **); 245723e4046Schristos TSS_RESULT RPC_GetCapabilityOwner_TP(struct host_table_entry *,TPM_AUTH *,TCPA_VERSION *,UINT32 *,UINT32 *); 246723e4046Schristos TSS_RESULT RPC_SetCapability_TP(struct host_table_entry *,TCPA_CAPABILITY_AREA,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *); 247723e4046Schristos #else 248723e4046Schristos #define RPC_GetTPMCapability_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 249723e4046Schristos #define RPC_GetCapabilitySigned_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 250723e4046Schristos #define RPC_GetCapabilityOwner_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 251723e4046Schristos #define RPC_SetCapability_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 252723e4046Schristos #endif 253723e4046Schristos 254723e4046Schristos #ifdef TSS_BUILD_CAPS 255723e4046Schristos TSS_RESULT RPC_GetCapability_TP(struct host_table_entry *,TCPA_CAPABILITY_AREA,UINT32,BYTE *,UINT32 *,BYTE **); 256723e4046Schristos #else 257723e4046Schristos #define RPC_GetCapability_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 258723e4046Schristos #endif 259723e4046Schristos 260723e4046Schristos #ifdef TSS_BUILD_EK 261723e4046Schristos TSS_RESULT RPC_CreateEndorsementKeyPair_TP(struct host_table_entry *,TCPA_NONCE,UINT32,BYTE *,UINT32 *,BYTE **,TCPA_DIGEST *); 262723e4046Schristos TSS_RESULT RPC_ReadPubek_TP(struct host_table_entry *,TCPA_NONCE,UINT32 *,BYTE **,TCPA_DIGEST *); 263723e4046Schristos TSS_RESULT RPC_OwnerReadPubek_TP(struct host_table_entry *,TPM_AUTH *,UINT32 *,BYTE **); 264723e4046Schristos TSS_RESULT RPC_DisablePubekRead_TP(struct host_table_entry *,TPM_AUTH *); 265723e4046Schristos #ifdef TSS_BUILD_TSS12 266723e4046Schristos TSS_RESULT RPC_CreateRevocableEndorsementKeyPair_TP(struct host_table_entry *,TPM_NONCE,UINT32,BYTE *,TSS_BOOL,TPM_DIGEST *,UINT32 *,BYTE **,TPM_DIGEST *); 267723e4046Schristos TSS_RESULT RPC_RevokeEndorsementKeyPair_TP(struct host_table_entry *,TPM_DIGEST *); 268723e4046Schristos #else 269723e4046Schristos #define RPC_CreateRevocableEndorsementKeyPair_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 270723e4046Schristos #define RPC_RevokeEndorsementKeyPair_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 271723e4046Schristos #endif 272723e4046Schristos #else 273723e4046Schristos #define RPC_DisablePubekRead_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 274723e4046Schristos #define RPC_CreateEndorsementKeyPair_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 275723e4046Schristos #define RPC_ReadPubek_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 276723e4046Schristos #define RPC_OwnerReadPubek_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 277723e4046Schristos #define RPC_CreateRevocableEndorsementKeyPair_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 278723e4046Schristos #define RPC_RevokeEndorsementKeyPair_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 279723e4046Schristos #endif 280723e4046Schristos 281723e4046Schristos #ifdef TSS_BUILD_SELFTEST 282723e4046Schristos TSS_RESULT RPC_SelfTestFull_TP(struct host_table_entry * hContext); 283723e4046Schristos TSS_RESULT RPC_CertifySelfTest_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_NONCE,TPM_AUTH *,UINT32 *,BYTE **); 284723e4046Schristos TSS_RESULT RPC_GetTestResult_TP(struct host_table_entry *,UINT32 *,BYTE **); 285723e4046Schristos #else 286723e4046Schristos #define RPC_SelfTestFull_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 287723e4046Schristos #define RPC_CertifySelfTest_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 288723e4046Schristos #define RPC_GetTestResult_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 289723e4046Schristos #endif 290723e4046Schristos 291723e4046Schristos #ifdef TSS_BUILD_MAINT 292723e4046Schristos TSS_RESULT RPC_CreateMaintenanceArchive_TP(struct host_table_entry *,TSS_BOOL,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **); 293723e4046Schristos TSS_RESULT RPC_LoadMaintenanceArchive_TP(struct host_table_entry *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 294723e4046Schristos TSS_RESULT RPC_KillMaintenanceFeature_TP(struct host_table_entry *,TPM_AUTH *); 295723e4046Schristos TSS_RESULT RPC_LoadManuMaintPub_TP(struct host_table_entry *,TCPA_NONCE,UINT32,BYTE *,TCPA_DIGEST *); 296723e4046Schristos TSS_RESULT RPC_ReadManuMaintPub_TP(struct host_table_entry *,TCPA_NONCE,TCPA_DIGEST *); 297723e4046Schristos #else 298723e4046Schristos #define RPC_CreateMaintenanceArchive_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 299723e4046Schristos #define RPC_LoadMaintenanceArchive_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 300723e4046Schristos #define RPC_KillMaintenanceFeature_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 301723e4046Schristos #define RPC_LoadManuMaintPub_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 302723e4046Schristos #define RPC_ReadManuMaintPub_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 303723e4046Schristos #endif 304723e4046Schristos 305723e4046Schristos #ifdef TSS_BUILD_DAA 306723e4046Schristos TSS_RESULT RPC_DaaJoin_TP(struct host_table_entry *,TPM_HANDLE,BYTE,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 307723e4046Schristos TSS_RESULT RPC_DaaSign_TP(struct host_table_entry *,TPM_HANDLE,BYTE,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 308723e4046Schristos #else 309723e4046Schristos #define RPC_DaaJoin_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 310723e4046Schristos #define RPC_DaaSign_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 311723e4046Schristos #endif 312723e4046Schristos 313723e4046Schristos #ifdef TSS_BUILD_COUNTER 314723e4046Schristos TSS_RESULT RPC_ReadCounter_TP(struct host_table_entry *,TSS_COUNTER_ID,TPM_COUNTER_VALUE *); 315723e4046Schristos TSS_RESULT RPC_CreateCounter_TP(struct host_table_entry *,UINT32,BYTE *,TPM_ENCAUTH,TPM_AUTH *,TSS_COUNTER_ID *,TPM_COUNTER_VALUE *); 316723e4046Schristos TSS_RESULT RPC_IncrementCounter_TP(struct host_table_entry *,TSS_COUNTER_ID,TPM_AUTH *,TPM_COUNTER_VALUE *); 317723e4046Schristos TSS_RESULT RPC_ReleaseCounter_TP(struct host_table_entry *,TSS_COUNTER_ID,TPM_AUTH *); 318723e4046Schristos TSS_RESULT RPC_ReleaseCounterOwner_TP(struct host_table_entry *,TSS_COUNTER_ID,TPM_AUTH *); 319723e4046Schristos #else 320723e4046Schristos #define RPC_ReadCounter_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 321723e4046Schristos #define RPC_CreateCounter_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 322723e4046Schristos #define RPC_IncrementCounter_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 323723e4046Schristos #define RPC_ReleaseCounter_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 324723e4046Schristos #define RPC_ReleaseCounterOwner_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 325723e4046Schristos #endif 326723e4046Schristos 327723e4046Schristos #ifdef TSS_BUILD_TICK 328723e4046Schristos TSS_RESULT RPC_ReadCurrentTicks_TP(struct host_table_entry *,UINT32 *,BYTE **); 329723e4046Schristos TSS_RESULT RPC_TickStampBlob_TP(struct host_table_entry *,TCS_KEY_HANDLE,TPM_NONCE *,TPM_DIGEST *,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **); 330723e4046Schristos #else 331723e4046Schristos #define RPC_ReadCurrentTicks_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 332723e4046Schristos #define RPC_TickStampBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 333723e4046Schristos #endif 334723e4046Schristos 335723e4046Schristos #ifdef TSS_BUILD_TRANSPORT 336723e4046Schristos TSS_RESULT RPC_EstablishTransport_TP(struct host_table_entry *, UINT32, TCS_KEY_HANDLE, UINT32, BYTE*, UINT32, BYTE*, TPM_AUTH*, TPM_MODIFIER_INDICATOR*, TCS_HANDLE*, UINT32*, BYTE**, TPM_NONCE*); 337723e4046Schristos TSS_RESULT RPC_ExecuteTransport_TP(struct host_table_entry *,TPM_COMMAND_CODE, UINT32, BYTE*, UINT32*, TCS_HANDLE**, TPM_AUTH*, TPM_AUTH*, TPM_AUTH*, UINT64*, TPM_MODIFIER_INDICATOR*, TPM_RESULT*, UINT32*, BYTE**); 338723e4046Schristos TSS_RESULT RPC_ReleaseTransportSigned_TP(struct host_table_entry *, TCS_KEY_HANDLE, TPM_NONCE *, TPM_AUTH*, TPM_AUTH*, TPM_MODIFIER_INDICATOR*, UINT32*, BYTE**, UINT32*, BYTE**); 339723e4046Schristos #else 340723e4046Schristos #define RPC_EstablishTransport_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 341723e4046Schristos #define RPC_ExecuteTransport_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 342723e4046Schristos #define RPC_ReleaseTransportSigned_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 343723e4046Schristos #endif 344723e4046Schristos 345723e4046Schristos #ifdef TSS_BUILD_NV 346723e4046Schristos TSS_RESULT RPC_NV_DefineOrReleaseSpace_TP(struct host_table_entry *hte, UINT32, BYTE *, TCPA_ENCAUTH, TPM_AUTH *); 347723e4046Schristos TSS_RESULT RPC_NV_WriteValue_TP(struct host_table_entry *hte, TSS_NV_INDEX, UINT32, UINT32, BYTE *, TPM_AUTH *); 348723e4046Schristos TSS_RESULT RPC_NV_WriteValueAuth_TP(struct host_table_entry *hte, TSS_NV_INDEX, UINT32, UINT32, BYTE *, TPM_AUTH *); 349723e4046Schristos TSS_RESULT RPC_NV_ReadValue_TP(struct host_table_entry *hte, TSS_NV_INDEX, UINT32, UINT32 *, TPM_AUTH *, BYTE **); 350723e4046Schristos TSS_RESULT RPC_NV_ReadValueAuth_TP(struct host_table_entry *hte, TSS_NV_INDEX, UINT32, UINT32 *, TPM_AUTH *, BYTE **); 351723e4046Schristos #else 352723e4046Schristos #define RPC_NV_DefineOrReleaseSpace_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 353723e4046Schristos #define RPC_NV_WriteValue_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 354723e4046Schristos #define RPC_NV_WriteValueAuth_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 355723e4046Schristos #define RPC_NV_ReadValue_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 356723e4046Schristos #define RPC_NV_ReadValueAuth_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 357723e4046Schristos #endif 358723e4046Schristos 359723e4046Schristos #ifdef TSS_BUILD_AUDIT 360723e4046Schristos TSS_RESULT RPC_SetOrdinalAuditStatus_TP(struct host_table_entry *hte, TPM_AUTH *, UINT32, TSS_BOOL); 361723e4046Schristos TSS_RESULT RPC_GetAuditDigest_TP(struct host_table_entry *hte, UINT32, TPM_DIGEST *, UINT32 *, BYTE **, TSS_BOOL *, UINT32 *, UINT32 **); 362723e4046Schristos TSS_RESULT RPC_GetAuditDigestSigned_TP(struct host_table_entry *hte, TCS_KEY_HANDLE, TSS_BOOL, TPM_NONCE *, TPM_AUTH *, UINT32 *, BYTE **, TPM_DIGEST *, TPM_DIGEST *, UINT32 *, BYTE **); 363723e4046Schristos #else 364723e4046Schristos #define RPC_SetOrdinalAuditStatus_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 365723e4046Schristos #define RPC_GetAuditDigest_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 366723e4046Schristos #define RPC_GetAuditDigestSigned_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 367723e4046Schristos #endif 368723e4046Schristos 369723e4046Schristos #ifdef TSS_BUILD_TSS12 370723e4046Schristos TSS_RESULT RPC_SetOperatorAuth_TP(struct host_table_entry *hte, TCPA_SECRET *); 371723e4046Schristos TSS_RESULT RPC_FlushSpecific_TP(struct host_table_entry *hte, TCS_HANDLE, TPM_RESOURCE_TYPE); 372723e4046Schristos #else 373723e4046Schristos #define RPC_SetOperatorAuth_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 374723e4046Schristos #define RPC_FlushSpecific_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 375723e4046Schristos #endif 376723e4046Schristos 377723e4046Schristos #ifdef TSS_BUILD_DELEGATION 378723e4046Schristos TSS_RESULT RPC_Delegate_Manage_TP(struct host_table_entry *hte, TPM_FAMILY_ID, TPM_FAMILY_OPERATION, UINT32, BYTE *, TPM_AUTH *, UINT32 *, BYTE **); 379723e4046Schristos TSS_RESULT RPC_Delegate_CreateKeyDelegation_TP(struct host_table_entry *hte, TCS_KEY_HANDLE, UINT32, BYTE *, TPM_ENCAUTH *, TPM_AUTH *, UINT32 *, BYTE **); 380723e4046Schristos TSS_RESULT RPC_Delegate_CreateOwnerDelegation_TP(struct host_table_entry *hte, TSS_BOOL, UINT32, BYTE *, TPM_ENCAUTH *, TPM_AUTH *, UINT32 *, BYTE **); 381723e4046Schristos TSS_RESULT RPC_Delegate_LoadOwnerDelegation_TP(struct host_table_entry *hte, TPM_DELEGATE_INDEX, UINT32, BYTE *, TPM_AUTH *); 382723e4046Schristos TSS_RESULT RPC_Delegate_ReadTable_TP(struct host_table_entry *hte, UINT32 *, BYTE **, UINT32 *, BYTE **); 383723e4046Schristos TSS_RESULT RPC_Delegate_UpdateVerificationCount_TP(struct host_table_entry *hte, UINT32, BYTE *, TPM_AUTH *, UINT32 *, BYTE **); 384723e4046Schristos TSS_RESULT RPC_Delegate_VerifyDelegation_TP(struct host_table_entry *hte, UINT32, BYTE *); 385723e4046Schristos TSS_RESULT RPC_DSAP_TP(struct host_table_entry *hte, TPM_ENTITY_TYPE, TCS_KEY_HANDLE, TPM_NONCE *, UINT32, BYTE *, TCS_AUTHHANDLE *, TPM_NONCE *, TPM_NONCE *); 386723e4046Schristos #else 387723e4046Schristos #define RPC_Delegate_Manage_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 388723e4046Schristos #define RPC_Delegate_CreateKeyDelegation_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 389723e4046Schristos #define RPC_Delegate_CreateOwnerDelegation_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 390723e4046Schristos #define RPC_Delegate_LoadOwnerDelegation_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 391723e4046Schristos #define RPC_Delegate_ReadTable_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 392723e4046Schristos #define RPC_Delegate_UpdateVerificationCount_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 393723e4046Schristos #define RPC_Delegate_VerifyDelegation_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 394723e4046Schristos #define RPC_DSAP_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 395723e4046Schristos #endif 396723e4046Schristos 397723e4046Schristos #ifdef TSS_BUILD_CMK 398723e4046Schristos TSS_RESULT RPC_CMK_SetRestrictions_TP(struct host_table_entry *hte, TSS_CMK_DELEGATE, TPM_AUTH *); 399723e4046Schristos TSS_RESULT RPC_CMK_ApproveMA_TP(struct host_table_entry *hte, TPM_DIGEST, TPM_AUTH *, TPM_HMAC *); 400723e4046Schristos TSS_RESULT RPC_CMK_CreateKey_TP(struct host_table_entry *hte, TCS_KEY_HANDLE, TPM_ENCAUTH *, TPM_HMAC *, TPM_DIGEST *, UINT32 *, BYTE **, TPM_AUTH *); 401723e4046Schristos TSS_RESULT RPC_CMK_CreateTicket_TP(struct host_table_entry *hte, UINT32, BYTE *, TPM_DIGEST, UINT32, BYTE *, TPM_AUTH *, TPM_HMAC *); 402723e4046Schristos TSS_RESULT RPC_CMK_CreateBlob_TP(struct host_table_entry *hte, TCS_KEY_HANDLE, TSS_MIGRATE_SCHEME, UINT32, BYTE *, TPM_DIGEST, UINT32, BYTE *, UINT32, BYTE *, UINT32, BYTE *, UINT32, BYTE *, TPM_AUTH *, UINT32 *, BYTE **, UINT32 *, BYTE **); 403723e4046Schristos TSS_RESULT RPC_CMK_ConvertMigration_TP(struct host_table_entry *hte, TCS_KEY_HANDLE, TPM_CMK_AUTH, TPM_HMAC, UINT32, BYTE *, UINT32, BYTE *, UINT32, BYTE *, TPM_AUTH *, UINT32 *, BYTE **); 404723e4046Schristos #else 405723e4046Schristos #define RPC_CMK_SetRestrictions_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 406723e4046Schristos #define RPC_CMK_ApproveMA_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 407723e4046Schristos #define RPC_CMK_CreateKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 408723e4046Schristos #define RPC_CMK_CreateTicket_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 409723e4046Schristos #define RPC_CMK_CreateBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 410723e4046Schristos #define RPC_CMK_ConvertMigration_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 411723e4046Schristos #endif 412723e4046Schristos 413723e4046Schristos #endif 414