| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the w64 mingw-runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| |
| #ifndef _INC_TBS |
| #define _INC_TBS |
| |
| #if (_WIN32_WINNT >= 0x0600) |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* TODO: Not clear, but RESULT types have normally LONG type. */ |
| typedef UINT32 TBS_RESULT; |
| |
| typedef enum _TBS_COMMAND_LOCALITY { |
| TBS_COMMAND_LOCALITY_ZERO = 0, |
| TBS_COMMAND_LOCALITY_ONE, |
| TBS_COMMAND_LOCALITY_TWO, |
| TBS_COMMAND_LOCALITY_THREE, |
| TBS_COMMAND_LOCALITY_FOUR |
| } TBS_COMMAND_LOCALITY; |
| |
| typedef enum _TBS_COMMAND_PRIORITY { |
| TBS_COMMAND_PRIORITY_LOW = 100, |
| TBS_COMMAND_PRIORITY_NORMAL = 200, |
| TBS_COMMAND_PRIORITY_HIGH = 300, |
| TBS_COMMAND_PRIORITY_SYSTEM = 400, |
| TBS_COMMAND_PRIORITY_MAX = 0x80000000 |
| } TBS_COMMAND_PRIORITY; |
| |
| typedef struct _TBS_CONTEXT_PARAMS { |
| UINT32 version; |
| } TBS_CONTEXT_PARAMS; |
| |
| typedef LPVOID TBS_HCONTEXT; |
| |
| #define TBS_SUCCESS 0U |
| #define TBS_E_INTERNAL_ERROR 0x80284001U |
| #define TBS_E_BAD_PARAMETER 0x80284002U |
| #define TBS_E_INVALID_OUTPUT_POINTER 0x80284003U |
| #define TBS_E_INSUFFICIENT_BUFFER 0x80284005U |
| #define TBS_E_IOERROR 0x80284006U |
| #define TBS_E_INVALID_CONTEXT_PARAM 0x80284007U |
| #define TBS_E_SERVICE_NOT_RUNNING 0x80284008U |
| #define TBS_E_TOO_MANY_TBS_CONTEXTS 0x80284009U |
| #define TBS_E_SERVICE_START_PENDING 0x8028400BU |
| #define TBS_E_BUFFER_TOO_LARGE 0x8028400EU |
| #define TBS_E_TPM_NOT_FOUND 0x8028400FU |
| #define TBS_E_SERVICE_DISABLED 0x80284010U |
| #define TBS_E_DEACTIVATED 0x80284016U |
| |
| TBS_RESULT WINAPI Tbsi_Context_Create(const TBS_CONTEXT_PARAMS *pContextParams,TBS_HCONTEXT *phContext); |
| TBS_RESULT WINAPI Tbsi_Get_TCG_Log(TBS_HCONTEXT hContext,BYTE *pOutputBuf,UINT32 *pOutputBufLen); |
| TBS_RESULT WINAPI Tbsi_Physical_Presence_Command(TBS_HCONTEXT hContext,const BYTE *pInputBuf,UINT32 InputBufLen,BYTE *pOutputBuf,UINT32 *pOutputBufLen); |
| TBS_RESULT WINAPI Tbsip_Cancel_Commands(TBS_HCONTEXT hContext); |
| TBS_RESULT WINAPI Tbsip_Context_Close(TBS_HCONTEXT hContext); |
| TBS_RESULT WINAPI Tbsip_Submit_Command(TBS_HCONTEXT hContext,TBS_COMMAND_LOCALITY locality,TBS_COMMAND_PRIORITY priority,const BYTE *pCommandBuf,UINT32 commandBufLen,BYTE *pResultBuf,UINT32 *pResultBufLen); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /*(_WIN32_WINNT >= 0x0600)*/ |
| #endif /*_INC_TBH*/ |