#if defined(__cplusplus) extern "C" { #endif typedef BOOL TBS_BOOL; typedef UINT32 TBS_RESULT; typedef void *TBS_HCONTEXT; typedef UINT32 TBS_COMMAND_PRIORITY; typedef UINT32 TBS_COMMAND_LOCALITY; #define TBS_CONTEXT_VERSION_ONE 1 #define TBS_COMMAND_PRIORITY_LOW 100 #define TBS_COMMAND_PRIORITY_NORMAL 200 #define TBS_COMMAND_PRIORITY_HIGH 300 #define TBS_COMMAND_PRIORITY_SYSTEM 400 #define TBS_COMMAND_PRIORITY_MAX 0x80000000 #define TBS_COMMAND_LOCALITY_ZERO 0 #define TBS_COMMAND_LOCALITY_ONE 1 #define TBS_COMMAND_LOCALITY_TWO 2 #define TBS_COMMAND_LOCALITY_THREE 3 #define TBS_COMMAND_LOCALITY_FOUR 4 #define TBS_SUCCESS S_OK #define TBS_IN_OUT_BUF_SIZE_MAX 4096 typedef struct tdTBS_CONTEXT_PARAMS { UINT32 version; } TBS_CONTEXT_PARAMS; TBS_RESULT WINAPI Tbsi_Context_Create( __in const TBS_CONTEXT_PARAMS* pContextParams, __out TBS_HCONTEXT* phContext); TBS_RESULT WINAPI Tbsip_Context_Close( __in TBS_HCONTEXT hContext); TBS_RESULT WINAPI Tbsip_Submit_Command( __in TBS_HCONTEXT hContext, __in TBS_COMMAND_LOCALITY Locality, __in TBS_COMMAND_PRIORITY Priority, __in_bcount(CommandBufLen) const BYTE* pCommandBuf, __in UINT32 CommandBufLen, __out_bcount(*pResultBufLen) BYTE* pResultBuf, __inout UINT32* pResultBufLen); TBS_RESULT WINAPI Tbsip_Cancel_Commands( __in TBS_HCONTEXT hContext); TBS_RESULT WINAPI Tbsi_Physical_Presence_Command( __in TBS_HCONTEXT hContext, __in_bcount(InputBufLen) const BYTE* pInputBuf, __in UINT32 InputBufLen, __in_bcount(*pOutputBufLen) PBYTE pOutputBuf, __in PUINT32 pOutputBufLen); #if defined(__cplusplus) } #endif