1 2 /* 3 * Licensed Materials - Property of IBM 4 * 5 * trousers - An open source TCG Software Stack 6 * 7 * (C) Copyright International Business Machines Corp. 2004-2007 8 * 9 */ 10 11 #ifndef _RPC_TCSTP_TSP_H_ 12 #define _RPC_TCSTP_TSP_H_ 13 14 #include "hosttable.h" 15 #include "rpc_tcstp.h" 16 #include "tcsd_wrap.h" 17 #include "tcsd.h" 18 19 int setData(TCSD_PACKET_TYPE,int,void *,int,struct tcsd_comm_data *); 20 UINT32 getData(TCSD_PACKET_TYPE,int,void *,int,struct tcsd_comm_data *); 21 void initData(struct tcsd_comm_data *, int); 22 TSS_RESULT sendTCSDPacket(struct host_table_entry *); 23 TSS_RESULT send_init(struct host_table_entry *); 24 TSS_RESULT tcs_sendit(struct host_table_entry *); 25 26 /* Underlying socket-related calls */ 27 TSS_RESULT get_socket(struct host_table_entry *hte, int *sd); 28 29 /* Context commands always included */ 30 TSS_RESULT RPC_OpenContext_TP(struct host_table_entry *, UINT32 *, TCS_CONTEXT_HANDLE *); 31 TSS_RESULT RPC_CloseContext_TP(struct host_table_entry *); 32 TSS_RESULT RPC_FreeMemory_TP(struct host_table_entry *,BYTE *); 33 34 #ifdef TSS_BUILD_AUTH 35 TSS_RESULT RPC_OIAP_TP(struct host_table_entry *,TCS_AUTHHANDLE *,TCPA_NONCE *); 36 TSS_RESULT RPC_OSAP_TP(struct host_table_entry *,TCPA_ENTITY_TYPE,UINT32,TCPA_NONCE*,TCS_AUTHHANDLE *,TCPA_NONCE *,TCPA_NONCE *); 37 #else 38 #define RPC_OIAP_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 39 #define RPC_OSAP_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 40 #endif 41 42 #ifdef TSS_BUILD_PCR_EVENTS 43 TSS_RESULT RPC_LogPcrEvent_TP(struct host_table_entry *,TSS_PCR_EVENT,UINT32 *); 44 TSS_RESULT RPC_GetPcrEvent_TP(struct host_table_entry *,UINT32,UINT32 *,TSS_PCR_EVENT **); 45 TSS_RESULT RPC_GetPcrEventLog_TP(struct host_table_entry *,UINT32 *,TSS_PCR_EVENT **); 46 TSS_RESULT RPC_GetPcrEventsByPcr_TP(struct host_table_entry *,UINT32,UINT32,UINT32 *,TSS_PCR_EVENT **); 47 #else 48 #define RPC_LogPcrEvent_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 49 #define RPC_GetPcrEvent_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 50 #define RPC_GetPcrEventLog_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 51 #define RPC_GetPcrEventsByPcr_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 52 #endif 53 54 #ifdef TSS_BUILD_PS 55 TSS_RESULT RPC_GetRegisteredKeyByPublicInfo_TP(struct host_table_entry * tcsContext,TCPA_ALGORITHM_ID algID,UINT32,BYTE *,UINT32 *,BYTE **); 56 TSS_RESULT RPC_RegisterKey_TP(struct host_table_entry *,TSS_UUID,TSS_UUID,UINT32,BYTE *,UINT32,BYTE *); 57 TSS_RESULT RPC_UnregisterKey_TP(struct host_table_entry *,TSS_UUID); 58 TSS_RESULT RPC_EnumRegisteredKeys_TP(struct host_table_entry *,TSS_UUID *,UINT32 *,TSS_KM_KEYINFO **); 59 TSS_RESULT RPC_EnumRegisteredKeys2_TP(struct host_table_entry *,TSS_UUID *,UINT32 *,TSS_KM_KEYINFO2 **); 60 TSS_RESULT RPC_GetRegisteredKey_TP(struct host_table_entry *,TSS_UUID,TSS_KM_KEYINFO **); 61 TSS_RESULT RPC_GetRegisteredKeyBlob_TP(struct host_table_entry *,TSS_UUID,UINT32 *,BYTE **); 62 TSS_RESULT RPC_LoadKeyByUUID_TP(struct host_table_entry *,TSS_UUID,TCS_LOADKEY_INFO *,TCS_KEY_HANDLE *); 63 #else 64 #define RPC_GetRegisteredKeyByPublicInfo_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 65 #define RPC_RegisterKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 66 #define RPC_UnregisterKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 67 #define RPC_EnumRegisteredKeys_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 68 #define RPC_EnumRegisteredKeys2_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 69 #define RPC_GetRegisteredKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 70 #define RPC_GetRegisteredKeyBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 71 #define RPC_LoadKeyByUUID_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 72 #endif 73 74 #ifdef TSS_BUILD_KEY 75 TSS_RESULT RPC_LoadKeyByBlob_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,TPM_AUTH *,TCS_KEY_HANDLE *,TCS_KEY_HANDLE *); 76 TSS_RESULT RPC_EvictKey_TP(struct host_table_entry *,TCS_KEY_HANDLE); 77 TSS_RESULT RPC_CreateWrapKey_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_ENCAUTH *,TCPA_ENCAUTH *,UINT32,BYTE *,UINT32 *,BYTE **,TPM_AUTH *); 78 TSS_RESULT RPC_GetPubKey_TP(struct host_table_entry *,TCS_KEY_HANDLE,TPM_AUTH *,UINT32 *,BYTE **); 79 TSS_RESULT RPC_TerminateHandle_TP(struct host_table_entry *,TCS_AUTHHANDLE); 80 TSS_RESULT RPC_OwnerReadInternalPub_TP(struct host_table_entry *, TCS_KEY_HANDLE, TPM_AUTH *, UINT32 *, BYTE **); 81 #ifdef TSS_BUILD_TSS12 82 TSS_RESULT RPC_KeyControlOwner_TP(struct host_table_entry *, TCS_KEY_HANDLE, UINT32, BYTE *, UINT32, TSS_BOOL, TPM_AUTH *, TSS_UUID *); 83 #else 84 #define RPC_KeyControlOwner_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 85 #endif 86 #else 87 #define RPC_LoadKeyByBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 88 #define RPC_EvictKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 89 #define RPC_CreateWrapKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 90 #define RPC_GetPubKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 91 #define RPC_TerminateHandle_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 92 #define RPC_OwnerReadInternalPub_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 93 #define RPC_KeyControlOwner_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 94 #endif 95 96 #ifdef TSS_BUILD_AIK 97 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 **); 98 TSS_RESULT RPC_GetCredential_TP(struct host_table_entry *,UINT32 ,UINT32 ,UINT32 *,BYTE **); 99 TSS_RESULT RPC_ActivateTPMIdentity_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,TPM_AUTH *,TPM_AUTH *,UINT32 *,BYTE **); 100 #else 101 #define RPC_MakeIdentity_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 102 #define RPC_GetCredential_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 103 #define RPC_ActivateTPMIdentity_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 104 #endif 105 106 #ifdef TSS_BUILD_ADMIN 107 TSS_RESULT RPC_SetOwnerInstall_TP(struct host_table_entry *,TSS_BOOL); 108 TSS_RESULT RPC_DisableOwnerClear_TP(struct host_table_entry *,TPM_AUTH *); 109 TSS_RESULT RPC_ForceClear_TP(struct host_table_entry * hContext); 110 TSS_RESULT RPC_DisableForceClear_TP(struct host_table_entry * hContext); 111 TSS_RESULT RPC_PhysicalDisable_TP(struct host_table_entry * hContext); 112 TSS_RESULT RPC_PhysicalEnable_TP(struct host_table_entry * hContext); 113 TSS_RESULT RPC_PhysicalSetDeactivated_TP(struct host_table_entry *,TSS_BOOL); 114 TSS_RESULT RPC_PhysicalPresence_TP(struct host_table_entry *,TCPA_PHYSICAL_PRESENCE); 115 TSS_RESULT RPC_SetTempDeactivated_TP(struct host_table_entry * hContext); 116 #ifdef TSS_BUILD_TSS12 117 TSS_RESULT RPC_SetTempDeactivated2_TP(struct host_table_entry *, TPM_AUTH *); 118 #else 119 #define RPC_SetTempDeactivated2_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 120 #endif 121 TSS_RESULT RPC_FieldUpgrade_TP(struct host_table_entry *,UINT32,BYTE *,UINT32 *,BYTE **,TPM_AUTH *); 122 TSS_RESULT RPC_SetRedirection_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,UINT32,TPM_AUTH *); 123 TSS_RESULT RPC_OwnerSetDisable_TP(struct host_table_entry *,TSS_BOOL,TPM_AUTH *); 124 TSS_RESULT RPC_ResetLockValue_TP(struct host_table_entry *, TPM_AUTH *); 125 #else 126 #define RPC_SetOwnerInstall_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 127 #define RPC_DisableOwnerClear_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 128 #define RPC_ForceClear_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 129 #define RPC_DisableForceClear_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 130 #define RPC_PhysicalDisable_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 131 #define RPC_PhysicalEnable_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 132 #define RPC_PhysicalSetDeactivated_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 133 #define RPC_PhysicalPresence_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 134 #define RPC_SetTempDeactivated_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 135 #define RPC_SetTempDeactivated2_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 136 #define RPC_FieldUpgrade_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 137 #define RPC_SetRedirection_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 138 #define RPC_OwnerSetDisable_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 139 #define RPC_ResetLockValue_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 140 #endif 141 142 #ifdef TSS_BUILD_OWN 143 TSS_RESULT RPC_TakeOwnership_TP(struct host_table_entry *,UINT16,UINT32,BYTE *,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 144 TSS_RESULT RPC_OwnerClear_TP(struct host_table_entry *,TPM_AUTH *); 145 #else 146 #define RPC_TakeOwnership_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 147 #define RPC_OwnerClear_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 148 #endif 149 150 #ifdef TSS_BUILD_CHANGEAUTH 151 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 **); 152 TSS_RESULT RPC_ChangeAuthOwner_TP(struct host_table_entry *,TCPA_PROTOCOL_ID,TCPA_ENCAUTH *,TCPA_ENTITY_TYPE,TPM_AUTH *); 153 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 *); 154 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 *); 155 #else 156 #define RPC_ChangeAuth_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 157 #define RPC_ChangeAuthOwner_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 158 #define RPC_ChangeAuthAsymStart_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 159 #define RPC_ChangeAuthAsymFinish_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 160 #endif 161 162 #ifdef TSS_BUILD_PCR_EXTEND 163 TSS_RESULT RPC_Extend_TP(struct host_table_entry *,TCPA_PCRINDEX,TCPA_DIGEST,TCPA_PCRVALUE *); 164 TSS_RESULT RPC_PcrRead_TP(struct host_table_entry *,TCPA_PCRINDEX,TCPA_PCRVALUE *); 165 TSS_RESULT RPC_PcrReset_TP(struct host_table_entry *,UINT32,BYTE *); 166 #else 167 #define RPC_Extend_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 168 #define RPC_PcrRead_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 169 #define RPC_PcrReset_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 170 #endif 171 172 #ifdef TSS_BUILD_QUOTE 173 TSS_RESULT RPC_Quote_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_NONCE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **); 174 #else 175 #define RPC_Quote_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 176 #endif 177 178 #ifdef TSS_BUILD_QUOTE2 179 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 **); 180 #else 181 #define RPC_Quote2_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 182 #endif 183 184 #ifdef TSS_BUILD_DIR 185 TSS_RESULT RPC_DirWriteAuth_TP(struct host_table_entry *,TCPA_DIRINDEX,TCPA_DIRVALUE *,TPM_AUTH *); 186 TSS_RESULT RPC_DirRead_TP(struct host_table_entry *,TCPA_DIRINDEX,TCPA_DIRVALUE *); 187 #else 188 #define RPC_DirWriteAuth_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 189 #define RPC_DirRead_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 190 #endif 191 192 #ifdef TSS_BUILD_SEAL 193 TSS_RESULT RPC_Seal_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_ENCAUTH *,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 194 TSS_RESULT RPC_Unseal_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,TPM_AUTH *,TPM_AUTH *,UINT32 *,BYTE **); 195 #else 196 #define RPC_Seal_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 197 #define RPC_Unseal_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 198 #endif 199 200 #ifdef TSS_BUILD_SEALX 201 TSS_RESULT RPC_Sealx_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_ENCAUTH *,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 202 #else 203 #define RPC_Sealx_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 204 #endif 205 206 #ifdef TSS_BUILD_BIND 207 TSS_RESULT RPC_UnBind_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 208 #else 209 #define RPC_UnBind_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 210 #endif 211 212 #ifdef TSS_BUILD_MIGRATION 213 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 **); 214 TSS_RESULT RPC_ConvertMigrationBlob_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 215 TSS_RESULT RPC_AuthorizeMigrationKey_TP(struct host_table_entry *,TCPA_MIGRATE_SCHEME,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 216 #else 217 #define RPC_CreateMigrationBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 218 #define RPC_ConvertMigrationBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 219 #define RPC_AuthorizeMigrationKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 220 #endif 221 222 #ifdef TSS_BUILD_CERTIFY 223 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 **); 224 #else 225 #define RPC_CertifyKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 226 #endif 227 228 #ifdef TSS_BUILD_SIGN 229 TSS_RESULT RPC_Sign_TP(struct host_table_entry *,TCS_KEY_HANDLE,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 230 #else 231 #define RPC_Sign_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 232 #endif 233 234 #ifdef TSS_BUILD_RANDOM 235 TSS_RESULT RPC_GetRandom_TP(struct host_table_entry *,UINT32,BYTE **); 236 TSS_RESULT RPC_StirRandom_TP(struct host_table_entry *,UINT32,BYTE *); 237 #else 238 #define RPC_GetRandom_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 239 #define RPC_StirRandom_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 240 #endif 241 242 #ifdef TSS_BUILD_CAPS_TPM 243 TSS_RESULT RPC_GetTPMCapability_TP(struct host_table_entry *,TCPA_CAPABILITY_AREA,UINT32,BYTE *,UINT32 *,BYTE **); 244 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 **); 245 TSS_RESULT RPC_GetCapabilityOwner_TP(struct host_table_entry *,TPM_AUTH *,TCPA_VERSION *,UINT32 *,UINT32 *); 246 TSS_RESULT RPC_SetCapability_TP(struct host_table_entry *,TCPA_CAPABILITY_AREA,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *); 247 #else 248 #define RPC_GetTPMCapability_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 249 #define RPC_GetCapabilitySigned_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 250 #define RPC_GetCapabilityOwner_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 251 #define RPC_SetCapability_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 252 #endif 253 254 #ifdef TSS_BUILD_CAPS 255 TSS_RESULT RPC_GetCapability_TP(struct host_table_entry *,TCPA_CAPABILITY_AREA,UINT32,BYTE *,UINT32 *,BYTE **); 256 #else 257 #define RPC_GetCapability_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 258 #endif 259 260 #ifdef TSS_BUILD_EK 261 TSS_RESULT RPC_CreateEndorsementKeyPair_TP(struct host_table_entry *,TCPA_NONCE,UINT32,BYTE *,UINT32 *,BYTE **,TCPA_DIGEST *); 262 TSS_RESULT RPC_ReadPubek_TP(struct host_table_entry *,TCPA_NONCE,UINT32 *,BYTE **,TCPA_DIGEST *); 263 TSS_RESULT RPC_OwnerReadPubek_TP(struct host_table_entry *,TPM_AUTH *,UINT32 *,BYTE **); 264 TSS_RESULT RPC_DisablePubekRead_TP(struct host_table_entry *,TPM_AUTH *); 265 #ifdef TSS_BUILD_TSS12 266 TSS_RESULT RPC_CreateRevocableEndorsementKeyPair_TP(struct host_table_entry *,TPM_NONCE,UINT32,BYTE *,TSS_BOOL,TPM_DIGEST *,UINT32 *,BYTE **,TPM_DIGEST *); 267 TSS_RESULT RPC_RevokeEndorsementKeyPair_TP(struct host_table_entry *,TPM_DIGEST *); 268 #else 269 #define RPC_CreateRevocableEndorsementKeyPair_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 270 #define RPC_RevokeEndorsementKeyPair_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 271 #endif 272 #else 273 #define RPC_DisablePubekRead_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 274 #define RPC_CreateEndorsementKeyPair_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 275 #define RPC_ReadPubek_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 276 #define RPC_OwnerReadPubek_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 277 #define RPC_CreateRevocableEndorsementKeyPair_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 278 #define RPC_RevokeEndorsementKeyPair_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 279 #endif 280 281 #ifdef TSS_BUILD_SELFTEST 282 TSS_RESULT RPC_SelfTestFull_TP(struct host_table_entry * hContext); 283 TSS_RESULT RPC_CertifySelfTest_TP(struct host_table_entry *,TCS_KEY_HANDLE,TCPA_NONCE,TPM_AUTH *,UINT32 *,BYTE **); 284 TSS_RESULT RPC_GetTestResult_TP(struct host_table_entry *,UINT32 *,BYTE **); 285 #else 286 #define RPC_SelfTestFull_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 287 #define RPC_CertifySelfTest_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 288 #define RPC_GetTestResult_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 289 #endif 290 291 #ifdef TSS_BUILD_MAINT 292 TSS_RESULT RPC_CreateMaintenanceArchive_TP(struct host_table_entry *,TSS_BOOL,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **); 293 TSS_RESULT RPC_LoadMaintenanceArchive_TP(struct host_table_entry *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 294 TSS_RESULT RPC_KillMaintenanceFeature_TP(struct host_table_entry *,TPM_AUTH *); 295 TSS_RESULT RPC_LoadManuMaintPub_TP(struct host_table_entry *,TCPA_NONCE,UINT32,BYTE *,TCPA_DIGEST *); 296 TSS_RESULT RPC_ReadManuMaintPub_TP(struct host_table_entry *,TCPA_NONCE,TCPA_DIGEST *); 297 #else 298 #define RPC_CreateMaintenanceArchive_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 299 #define RPC_LoadMaintenanceArchive_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 300 #define RPC_KillMaintenanceFeature_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 301 #define RPC_LoadManuMaintPub_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 302 #define RPC_ReadManuMaintPub_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 303 #endif 304 305 #ifdef TSS_BUILD_DAA 306 TSS_RESULT RPC_DaaJoin_TP(struct host_table_entry *,TPM_HANDLE,BYTE,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 307 TSS_RESULT RPC_DaaSign_TP(struct host_table_entry *,TPM_HANDLE,BYTE,UINT32,BYTE *,UINT32,BYTE *,TPM_AUTH *,UINT32 *,BYTE **); 308 #else 309 #define RPC_DaaJoin_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 310 #define RPC_DaaSign_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 311 #endif 312 313 #ifdef TSS_BUILD_COUNTER 314 TSS_RESULT RPC_ReadCounter_TP(struct host_table_entry *,TSS_COUNTER_ID,TPM_COUNTER_VALUE *); 315 TSS_RESULT RPC_CreateCounter_TP(struct host_table_entry *,UINT32,BYTE *,TPM_ENCAUTH,TPM_AUTH *,TSS_COUNTER_ID *,TPM_COUNTER_VALUE *); 316 TSS_RESULT RPC_IncrementCounter_TP(struct host_table_entry *,TSS_COUNTER_ID,TPM_AUTH *,TPM_COUNTER_VALUE *); 317 TSS_RESULT RPC_ReleaseCounter_TP(struct host_table_entry *,TSS_COUNTER_ID,TPM_AUTH *); 318 TSS_RESULT RPC_ReleaseCounterOwner_TP(struct host_table_entry *,TSS_COUNTER_ID,TPM_AUTH *); 319 #else 320 #define RPC_ReadCounter_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 321 #define RPC_CreateCounter_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 322 #define RPC_IncrementCounter_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 323 #define RPC_ReleaseCounter_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 324 #define RPC_ReleaseCounterOwner_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 325 #endif 326 327 #ifdef TSS_BUILD_TICK 328 TSS_RESULT RPC_ReadCurrentTicks_TP(struct host_table_entry *,UINT32 *,BYTE **); 329 TSS_RESULT RPC_TickStampBlob_TP(struct host_table_entry *,TCS_KEY_HANDLE,TPM_NONCE *,TPM_DIGEST *,TPM_AUTH *,UINT32 *,BYTE **,UINT32 *,BYTE **); 330 #else 331 #define RPC_ReadCurrentTicks_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 332 #define RPC_TickStampBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 333 #endif 334 335 #ifdef TSS_BUILD_TRANSPORT 336 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*); 337 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**); 338 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**); 339 #else 340 #define RPC_EstablishTransport_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 341 #define RPC_ExecuteTransport_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 342 #define RPC_ReleaseTransportSigned_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 343 #endif 344 345 #ifdef TSS_BUILD_NV 346 TSS_RESULT RPC_NV_DefineOrReleaseSpace_TP(struct host_table_entry *hte, UINT32, BYTE *, TCPA_ENCAUTH, TPM_AUTH *); 347 TSS_RESULT RPC_NV_WriteValue_TP(struct host_table_entry *hte, TSS_NV_INDEX, UINT32, UINT32, BYTE *, TPM_AUTH *); 348 TSS_RESULT RPC_NV_WriteValueAuth_TP(struct host_table_entry *hte, TSS_NV_INDEX, UINT32, UINT32, BYTE *, TPM_AUTH *); 349 TSS_RESULT RPC_NV_ReadValue_TP(struct host_table_entry *hte, TSS_NV_INDEX, UINT32, UINT32 *, TPM_AUTH *, BYTE **); 350 TSS_RESULT RPC_NV_ReadValueAuth_TP(struct host_table_entry *hte, TSS_NV_INDEX, UINT32, UINT32 *, TPM_AUTH *, BYTE **); 351 #else 352 #define RPC_NV_DefineOrReleaseSpace_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 353 #define RPC_NV_WriteValue_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 354 #define RPC_NV_WriteValueAuth_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 355 #define RPC_NV_ReadValue_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 356 #define RPC_NV_ReadValueAuth_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 357 #endif 358 359 #ifdef TSS_BUILD_AUDIT 360 TSS_RESULT RPC_SetOrdinalAuditStatus_TP(struct host_table_entry *hte, TPM_AUTH *, UINT32, TSS_BOOL); 361 TSS_RESULT RPC_GetAuditDigest_TP(struct host_table_entry *hte, UINT32, TPM_DIGEST *, UINT32 *, BYTE **, TSS_BOOL *, UINT32 *, UINT32 **); 362 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 **); 363 #else 364 #define RPC_SetOrdinalAuditStatus_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 365 #define RPC_GetAuditDigest_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 366 #define RPC_GetAuditDigestSigned_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 367 #endif 368 369 #ifdef TSS_BUILD_TSS12 370 TSS_RESULT RPC_SetOperatorAuth_TP(struct host_table_entry *hte, TCPA_SECRET *); 371 TSS_RESULT RPC_FlushSpecific_TP(struct host_table_entry *hte, TCS_HANDLE, TPM_RESOURCE_TYPE); 372 #else 373 #define RPC_SetOperatorAuth_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 374 #define RPC_FlushSpecific_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 375 #endif 376 377 #ifdef TSS_BUILD_DELEGATION 378 TSS_RESULT RPC_Delegate_Manage_TP(struct host_table_entry *hte, TPM_FAMILY_ID, TPM_FAMILY_OPERATION, UINT32, BYTE *, TPM_AUTH *, UINT32 *, BYTE **); 379 TSS_RESULT RPC_Delegate_CreateKeyDelegation_TP(struct host_table_entry *hte, TCS_KEY_HANDLE, UINT32, BYTE *, TPM_ENCAUTH *, TPM_AUTH *, UINT32 *, BYTE **); 380 TSS_RESULT RPC_Delegate_CreateOwnerDelegation_TP(struct host_table_entry *hte, TSS_BOOL, UINT32, BYTE *, TPM_ENCAUTH *, TPM_AUTH *, UINT32 *, BYTE **); 381 TSS_RESULT RPC_Delegate_LoadOwnerDelegation_TP(struct host_table_entry *hte, TPM_DELEGATE_INDEX, UINT32, BYTE *, TPM_AUTH *); 382 TSS_RESULT RPC_Delegate_ReadTable_TP(struct host_table_entry *hte, UINT32 *, BYTE **, UINT32 *, BYTE **); 383 TSS_RESULT RPC_Delegate_UpdateVerificationCount_TP(struct host_table_entry *hte, UINT32, BYTE *, TPM_AUTH *, UINT32 *, BYTE **); 384 TSS_RESULT RPC_Delegate_VerifyDelegation_TP(struct host_table_entry *hte, UINT32, BYTE *); 385 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 *); 386 #else 387 #define RPC_Delegate_Manage_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 388 #define RPC_Delegate_CreateKeyDelegation_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 389 #define RPC_Delegate_CreateOwnerDelegation_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 390 #define RPC_Delegate_LoadOwnerDelegation_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 391 #define RPC_Delegate_ReadTable_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 392 #define RPC_Delegate_UpdateVerificationCount_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 393 #define RPC_Delegate_VerifyDelegation_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 394 #define RPC_DSAP_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 395 #endif 396 397 #ifdef TSS_BUILD_CMK 398 TSS_RESULT RPC_CMK_SetRestrictions_TP(struct host_table_entry *hte, TSS_CMK_DELEGATE, TPM_AUTH *); 399 TSS_RESULT RPC_CMK_ApproveMA_TP(struct host_table_entry *hte, TPM_DIGEST, TPM_AUTH *, TPM_HMAC *); 400 TSS_RESULT RPC_CMK_CreateKey_TP(struct host_table_entry *hte, TCS_KEY_HANDLE, TPM_ENCAUTH *, TPM_HMAC *, TPM_DIGEST *, UINT32 *, BYTE **, TPM_AUTH *); 401 TSS_RESULT RPC_CMK_CreateTicket_TP(struct host_table_entry *hte, UINT32, BYTE *, TPM_DIGEST, UINT32, BYTE *, TPM_AUTH *, TPM_HMAC *); 402 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 **); 403 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 **); 404 #else 405 #define RPC_CMK_SetRestrictions_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 406 #define RPC_CMK_ApproveMA_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 407 #define RPC_CMK_CreateKey_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 408 #define RPC_CMK_CreateTicket_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 409 #define RPC_CMK_CreateBlob_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 410 #define RPC_CMK_ConvertMigration_TP(...) TSPERR(TSS_E_INTERNAL_ERROR) 411 #endif 412 413 #endif 414