summaryrefslogtreecommitdiff
path: root/src/include/rpc_tcstp_tcs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/rpc_tcstp_tcs.h')
-rw-r--r--src/include/rpc_tcstp_tcs.h406
1 files changed, 406 insertions, 0 deletions
diff --git a/src/include/rpc_tcstp_tcs.h b/src/include/rpc_tcstp_tcs.h
new file mode 100644
index 0000000..57eab27
--- /dev/null
+++ b/src/include/rpc_tcstp_tcs.h
@@ -0,0 +1,406 @@
+
+/*
+ * Licensed Materials - Property of IBM
+ *
+ * trousers - An open source TCG Software Stack
+ *
+ * (C) Copyright International Business Machines Corp. 2004-2007
+ *
+ */
+
+#ifndef _RPC_TCSTP_TCS_H_
+#define _RPC_TCSTP_TCS_H_
+
+#include "rpc_tcstp.h"
+
+#define DECLARE_TCSTP_FUNC(x) \
+ TSS_RESULT tcs_wrap_##x(struct tcsd_thread_data *)
+/* Auth session, context and TPM caps support are always compiled in. TPM caps
+ * are necessary so that the TCSD can know what type of TPM its talking to */
+DECLARE_TCSTP_FUNC(OpenContext);
+DECLARE_TCSTP_FUNC(CloseContext);
+DECLARE_TCSTP_FUNC(OIAP);
+DECLARE_TCSTP_FUNC(OSAP);
+DECLARE_TCSTP_FUNC(GetCapability);
+DECLARE_TCSTP_FUNC(GetCapabilityOwner);
+DECLARE_TCSTP_FUNC(SetCapability);
+
+#ifdef TSS_BUILD_RANDOM
+DECLARE_TCSTP_FUNC(GetRandom);
+DECLARE_TCSTP_FUNC(StirRandom);
+#else
+#define tcs_wrap_GetRandom tcs_wrap_Error
+#define tcs_wrap_StirRandom tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_EK
+DECLARE_TCSTP_FUNC(CreateEndorsementKeyPair);
+DECLARE_TCSTP_FUNC(ReadPubek);
+DECLARE_TCSTP_FUNC(OwnerReadPubek);
+DECLARE_TCSTP_FUNC(DisablePubekRead);
+#ifdef TSS_BUILD_TSS12
+DECLARE_TCSTP_FUNC(CreateRevocableEndorsementKeyPair);
+DECLARE_TCSTP_FUNC(RevokeEndorsementKeyPair);
+#else
+#define tcs_wrap_CreateRevocableEndorsementKeyPair tcs_wrap_Error
+#define tcs_wrap_RevokeEndorsementKeyPair tcs_wrap_Error
+#endif
+#else
+#define tcs_wrap_CreateEndorsementKeyPair tcs_wrap_Error
+#define tcs_wrap_ReadPubek tcs_wrap_Error
+#define tcs_wrap_OwnerReadPubek tcs_wrap_Error
+#define tcs_wrap_DisablePubekRead tcs_wrap_Error
+#define tcs_wrap_CreateRevocableEndorsementKeyPair tcs_wrap_Error
+#define tcs_wrap_RevokeEndorsementKeyPair tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_KEY
+DECLARE_TCSTP_FUNC(EvictKey);
+DECLARE_TCSTP_FUNC(GetPubkey);
+DECLARE_TCSTP_FUNC(TerminateHandle);
+DECLARE_TCSTP_FUNC(LoadKeyByBlob);
+DECLARE_TCSTP_FUNC(CreateWrapKey);
+#ifdef TSS_BUILD_TSS12
+DECLARE_TCSTP_FUNC(KeyControlOwner);
+DECLARE_TCSTP_FUNC(OwnerReadInternalPub);
+#else
+#define tcs_wrap_KeyControlOwner tcs_wrap_Error
+#define tcs_wrap_OwnerReadInternalPub tcs_wrap_Error
+#endif
+#else
+#define tcs_wrap_EvictKey tcs_wrap_Error
+#define tcs_wrap_GetPubkey tcs_wrap_Error
+#define tcs_wrap_TerminateHandle tcs_wrap_Error
+#define tcs_wrap_LoadKeyByBlob tcs_wrap_Error
+#define tcs_wrap_CreateWrapKey tcs_wrap_Error
+#define tcs_wrap_KeyControlOwner tcs_wrap_Error
+
+#endif
+
+#ifdef TSS_BUILD_PCR_EXTEND
+DECLARE_TCSTP_FUNC(Extend);
+DECLARE_TCSTP_FUNC(PcrRead);
+DECLARE_TCSTP_FUNC(PcrReset);
+#else
+#define tcs_wrap_Extend tcs_wrap_Error
+#define tcs_wrap_PcrRead tcs_wrap_Error
+#define tcs_wrap_PcrReset tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_CAPS
+DECLARE_TCSTP_FUNC(TCSGetCapability);
+#else
+#define tcs_wrap_TCSGetCapability tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_OWN
+DECLARE_TCSTP_FUNC(TakeOwnership);
+DECLARE_TCSTP_FUNC(OwnerClear);
+#else
+#define tcs_wrap_TakeOwnership tcs_wrap_Error
+#define tcs_wrap_OwnerClear tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_PS
+DECLARE_TCSTP_FUNC(RegisterKey);
+DECLARE_TCSTP_FUNC(UnregisterKey);
+DECLARE_TCSTP_FUNC(GetRegisteredKeyBlob);
+DECLARE_TCSTP_FUNC(LoadKeyByUUID);
+DECLARE_TCSTP_FUNC(GetRegisteredKeyByPublicInfo);
+DECLARE_TCSTP_FUNC(EnumRegisteredKeys);
+DECLARE_TCSTP_FUNC(EnumRegisteredKeys2);
+#else
+#define tcs_wrap_RegisterKey tcs_wrap_Error
+#define tcs_wrap_UnregisterKey tcs_wrap_Error
+#define tcs_wrap_GetRegisteredKeyBlob tcs_wrap_Error
+#define tcs_wrap_LoadKeyByUUID tcs_wrap_Error
+#define tcs_wrap_GetRegisteredKeyByPublicInfo tcs_wrap_Error
+#define tcs_wrap_EnumRegisteredKeys tcs_wrap_Error
+#define tcs_wrap_EnumRegisteredKeys2 tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_SIGN
+DECLARE_TCSTP_FUNC(Sign);
+#else
+#define tcs_wrap_Sign tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_DIR
+DECLARE_TCSTP_FUNC(DirWriteAuth);
+DECLARE_TCSTP_FUNC(DirRead);
+#else
+#define tcs_wrap_DirWriteAuth tcs_wrap_Error
+#define tcs_wrap_DirRead tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_SEAL
+DECLARE_TCSTP_FUNC(Seal);
+DECLARE_TCSTP_FUNC(UnSeal);
+#else
+#define tcs_wrap_Seal tcs_wrap_Error
+#define tcs_wrap_UnSeal tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_SEALX
+DECLARE_TCSTP_FUNC(Sealx);
+#else
+#define tcs_wrap_Sealx tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_BIND
+DECLARE_TCSTP_FUNC(UnBind);
+#else
+#define tcs_wrap_UnBind tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_CHANGEAUTH
+DECLARE_TCSTP_FUNC(ChangeAuth);
+DECLARE_TCSTP_FUNC(ChangeAuthOwner);
+#else
+#define tcs_wrap_ChangeAuth tcs_wrap_Error
+#define tcs_wrap_ChangeAuthOwner tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_QUOTE
+DECLARE_TCSTP_FUNC(Quote);
+#else
+#define tcs_wrap_Quote tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_QUOTE2
+DECLARE_TCSTP_FUNC(Quote2);
+#else
+#define tcs_wrap_Quote2 tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_PCR_EVENTS
+DECLARE_TCSTP_FUNC(LogPcrEvent);
+DECLARE_TCSTP_FUNC(GetPcrEvent);
+DECLARE_TCSTP_FUNC(GetPcrEventsByPcr);
+DECLARE_TCSTP_FUNC(GetPcrEventLog);
+#else
+#define tcs_wrap_LogPcrEvent tcs_wrap_Error
+#define tcs_wrap_GetPcrEvent tcs_wrap_Error
+#define tcs_wrap_GetPcrEventsByPcr tcs_wrap_Error
+#define tcs_wrap_GetPcrEventLog tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_SELFTEST
+DECLARE_TCSTP_FUNC(SelfTestFull);
+DECLARE_TCSTP_FUNC(CertifySelfTest);
+DECLARE_TCSTP_FUNC(GetTestResult);
+#else
+#define tcs_wrap_SelfTestFull tcs_wrap_Error
+#define tcs_wrap_CertifySelfTest tcs_wrap_Error
+#define tcs_wrap_GetTestResult tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_ADMIN
+DECLARE_TCSTP_FUNC(DisableOwnerClear);
+DECLARE_TCSTP_FUNC(ForceClear);
+DECLARE_TCSTP_FUNC(DisableForceClear);
+DECLARE_TCSTP_FUNC(PhysicalEnable);
+DECLARE_TCSTP_FUNC(PhysicalSetDeactivated);
+DECLARE_TCSTP_FUNC(SetOwnerInstall);
+DECLARE_TCSTP_FUNC(OwnerSetDisable);
+DECLARE_TCSTP_FUNC(PhysicalDisable);
+DECLARE_TCSTP_FUNC(PhysicalPresence);
+DECLARE_TCSTP_FUNC(SetTempDeactivated);
+#ifdef TSS_BUILD_TSS12
+DECLARE_TCSTP_FUNC(SetTempDeactivated2);
+DECLARE_TCSTP_FUNC(ResetLockValue);
+#else
+#define tcs_wrap_SetTempDeactivated2 tcs_wrap_Error
+#define tcs_wrap_ResetLockValue tcs_wrap_Error
+#endif
+#else
+#define tcs_wrap_DisableOwnerClear tcs_wrap_Error
+#define tcs_wrap_ForceClear tcs_wrap_Error
+#define tcs_wrap_DisableForceClear tcs_wrap_Error
+#define tcs_wrap_PhysicalEnable tcs_wrap_Error
+#define tcs_wrap_PhysicalSetDeactivated tcs_wrap_Error
+#define tcs_wrap_SetOwnerInstall tcs_wrap_Error
+#define tcs_wrap_OwnerSetDisable tcs_wrap_Error
+#define tcs_wrap_PhysicalDisable tcs_wrap_Error
+#define tcs_wrap_PhysicalPresence tcs_wrap_Error
+#define tcs_wrap_SetTempDeactivated tcs_wrap_Error
+#define tcs_wrap_SetTempDeactivated2 tcs_wrap_Error
+#define tcs_wrap_ResetLockValue tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_CERTIFY
+DECLARE_TCSTP_FUNC(CertifyKey);
+#else
+#define tcs_wrap_CertifyKey tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_AIK
+DECLARE_TCSTP_FUNC(MakeIdentity);
+DECLARE_TCSTP_FUNC(ActivateIdentity);
+#ifdef TSS_BUILD_TSS12
+DECLARE_TCSTP_FUNC(GetCredential);
+#else
+#define tcs_wrap_GetCredential tcs_wrap_Error
+#endif
+#else
+#define tcs_wrap_MakeIdentity tcs_wrap_Error
+#define tcs_wrap_ActivateIdentity tcs_wrap_Error
+#define tcs_wrap_GetCredential tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_MIGRATION
+DECLARE_TCSTP_FUNC(CreateMigrationBlob);
+DECLARE_TCSTP_FUNC(ConvertMigrationBlob);
+DECLARE_TCSTP_FUNC(AuthorizeMigrationKey);
+#else
+#define tcs_wrap_CreateMigrationBlob tcs_wrap_Error
+#define tcs_wrap_ConvertMigrationBlob tcs_wrap_Error
+#define tcs_wrap_AuthorizeMigrationKey tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_MAINT
+DECLARE_TCSTP_FUNC(KillMaintenanceFeature);
+DECLARE_TCSTP_FUNC(CreateMaintenanceArchive);
+DECLARE_TCSTP_FUNC(LoadMaintenanceArchive);
+DECLARE_TCSTP_FUNC(LoadManuMaintPub);
+DECLARE_TCSTP_FUNC(ReadManuMaintPub);
+#else
+#define tcs_wrap_KillMaintenanceFeature tcs_wrap_Error
+#define tcs_wrap_CreateMaintenanceArchive tcs_wrap_Error
+#define tcs_wrap_LoadMaintenanceArchive tcs_wrap_Error
+#define tcs_wrap_LoadManuMaintPub tcs_wrap_Error
+#define tcs_wrap_ReadManuMaintPub tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_DAA
+DECLARE_TCSTP_FUNC(DaaJoin);
+DECLARE_TCSTP_FUNC(DaaSign);
+#else
+#define tcs_wrap_DaaJoin tcs_wrap_Error
+#define tcs_wrap_DaaSign tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_NV
+DECLARE_TCSTP_FUNC(NV_DefineOrReleaseSpace);
+DECLARE_TCSTP_FUNC(NV_WriteValue);
+DECLARE_TCSTP_FUNC(NV_WriteValueAuth);
+DECLARE_TCSTP_FUNC(NV_ReadValue);
+DECLARE_TCSTP_FUNC(NV_ReadValueAuth);
+#else
+#define tcs_wrap_NV_DefineOrReleaseSpace tcs_wrap_Error
+#define tcs_wrap_NV_WriteValue tcs_wrap_Error
+#define tcs_wrap_NV_WriteValueAuth tcs_wrap_Error
+#define tcs_wrap_NV_ReadValue tcs_wrap_Error
+#define tcs_wrap_NV_ReadValueAuth tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_COUNTER
+DECLARE_TCSTP_FUNC(ReadCounter);
+DECLARE_TCSTP_FUNC(CreateCounter);
+DECLARE_TCSTP_FUNC(IncrementCounter);
+DECLARE_TCSTP_FUNC(ReleaseCounter);
+DECLARE_TCSTP_FUNC(ReleaseCounterOwner);
+#else
+#define tcs_wrap_ReadCounter tcs_wrap_Error
+#define tcs_wrap_CreateCounter tcs_wrap_Error
+#define tcs_wrap_IncrementCounter tcs_wrap_Error
+#define tcs_wrap_ReleaseCounter tcs_wrap_Error
+#define tcs_wrap_ReleaseCounterOwner tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_TICK
+DECLARE_TCSTP_FUNC(ReadCurrentTicks);
+DECLARE_TCSTP_FUNC(TickStampBlob);
+#else
+#define tcs_wrap_ReadCurrentTicks tcs_wrap_Error
+#define tcs_wrap_TickStampBlob tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_TRANSPORT
+DECLARE_TCSTP_FUNC(EstablishTransport);
+DECLARE_TCSTP_FUNC(ExecuteTransport);
+DECLARE_TCSTP_FUNC(ReleaseTransportSigned);
+#else
+#define tcs_wrap_EstablishTransport tcs_wrap_Error
+#define tcs_wrap_ExecuteTransport tcs_wrap_Error
+#define tcs_wrap_ReleaseTransportSigned tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_AUDIT
+DECLARE_TCSTP_FUNC(SetOrdinalAuditStatus);
+DECLARE_TCSTP_FUNC(GetAuditDigest);
+DECLARE_TCSTP_FUNC(GetAuditDigestSigned);
+#else
+#define tcs_wrap_SetOrdinalAuditStatus tcs_wrap_Error
+#define tcs_wrap_GetAuditDigest tcs_wrap_Error
+#define tcs_wrap_GetAuditDigestSigned tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_TSS12
+DECLARE_TCSTP_FUNC(SetOperatorAuth);
+DECLARE_TCSTP_FUNC(FlushSpecific);
+#else
+#define tcs_wrap_SetOperatorAuth tcs_wrap_Error
+#define tcs_wrap_FlushSpecific tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_DELEGATION
+DECLARE_TCSTP_FUNC(Delegate_Manage);
+DECLARE_TCSTP_FUNC(Delegate_CreateKeyDelegation);
+DECLARE_TCSTP_FUNC(Delegate_CreateOwnerDelegation);
+DECLARE_TCSTP_FUNC(Delegate_LoadOwnerDelegation);
+DECLARE_TCSTP_FUNC(Delegate_ReadTable);
+DECLARE_TCSTP_FUNC(Delegate_UpdateVerificationCount);
+DECLARE_TCSTP_FUNC(Delegate_VerifyDelegation);
+DECLARE_TCSTP_FUNC(DSAP);
+#else
+#define tcs_wrap_Delegate_Manage tcs_wrap_Error
+#define tcs_wrap_Delegate_CreateKeyDelegation tcs_wrap_Error
+#define tcs_wrap_Delegate_CreateOwnerDelegation tcs_wrap_Error
+#define tcs_wrap_Delegate_LoadOwnerDelegation tcs_wrap_Error
+#define tcs_wrap_Delegate_ReadTable tcs_wrap_Error
+#define tcs_wrap_Delegate_UpdateVerificationCount tcs_wrap_Error
+#define tcs_wrap_Delegate_VerifyDelegation tcs_wrap_Error
+#define tcs_wrap_DSAP tcs_wrap_Error
+#endif
+
+#ifdef TSS_BUILD_CMK
+DECLARE_TCSTP_FUNC(CMK_SetRestrictions);
+DECLARE_TCSTP_FUNC(CMK_ApproveMA);
+DECLARE_TCSTP_FUNC(CMK_CreateKey);
+DECLARE_TCSTP_FUNC(CMK_CreateTicket);
+DECLARE_TCSTP_FUNC(CMK_CreateBlob);
+DECLARE_TCSTP_FUNC(CMK_ConvertMigration);
+#else
+#define tcs_wrap_CMK_SetRestrictions tcs_wrap_Error
+#define tcs_wrap_CMK_ApproveMA tcs_wrap_Error
+#define tcs_wrap_CMK_CreateKey tcs_wrap_Error
+#define tcs_wrap_CMK_CreateTicket tcs_wrap_Error
+#define tcs_wrap_CMK_CreateBlob tcs_wrap_Error
+#define tcs_wrap_CMK_ConvertMigration tcs_wrap_Error
+#endif
+
+DECLARE_TCSTP_FUNC(dispatchCommand);
+
+void LoadBlob_Auth_Special(UINT64 *, BYTE *, TPM_AUTH *);
+void UnloadBlob_Auth_Special(UINT64 *, BYTE *, TPM_AUTH *);
+void LoadBlob_KM_KEYINFO(UINT64 *, BYTE *, TSS_KM_KEYINFO *);
+void LoadBlob_KM_KEYINFO2(UINT64 *, BYTE *, TSS_KM_KEYINFO2 *);
+void UnloadBlob_KM_KEYINFO(UINT64 *, BYTE *, TSS_KM_KEYINFO *);
+void UnloadBlob_KM_KEYINFO2(UINT64 *, BYTE *, TSS_KM_KEYINFO2 *);
+void LoadBlob_LOADKEY_INFO(UINT64 *, BYTE *, TCS_LOADKEY_INFO *);
+void UnloadBlob_LOADKEY_INFO(UINT64 *, BYTE *, TCS_LOADKEY_INFO *);
+void LoadBlob_PCR_EVENT(UINT64 *, BYTE *, TSS_PCR_EVENT *);
+TSS_RESULT UnloadBlob_PCR_EVENT(UINT64 *, BYTE *, TSS_PCR_EVENT *);
+int setData(TCSD_PACKET_TYPE, unsigned int, void *, int, struct tcsd_comm_data *);
+UINT32 getData(TCSD_PACKET_TYPE, unsigned int, void *, int, struct tcsd_comm_data *);
+void initData(struct tcsd_comm_data *, int);
+int recv_from_socket(int, void *, int);
+int send_to_socket(int, void *, int);
+TSS_RESULT getTCSDPacket(struct tcsd_thread_data *);
+
+MUTEX_DECLARE_EXTERN(tcsp_lock);
+
+#endif
+
+