1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 
7 #ifndef _INC_TBS
8 #define _INC_TBS
9 
10 #if (_WIN32_WINNT >= 0x0600)
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16   typedef UINT32 TBS_RESULT;
17 
18   typedef enum _TBS_COMMAND_LOCALITY {
19     TBS_COMMAND_LOCALITY_ZERO = 0,
20     TBS_COMMAND_LOCALITY_ONE,
21     TBS_COMMAND_LOCALITY_TWO,
22     TBS_COMMAND_LOCALITY_THREE,
23     TBS_COMMAND_LOCALITY_FOUR
24   } TBS_COMMAND_LOCALITY;
25 
26   typedef enum _TBS_COMMAND_PRIORITY {
27     TBS_COMMAND_PRIORITY_LOW = 100,
28     TBS_COMMAND_PRIORITY_NORMAL = 200,
29     TBS_COMMAND_PRIORITY_HIGH = 300,
30     TBS_COMMAND_PRIORITY_SYSTEM = 400,
31     TBS_COMMAND_PRIORITY_MAX = 0x80000000
32   } TBS_COMMAND_PRIORITY;
33 
34   typedef struct _TBS_CONTEXT_PARAMS {
35     UINT32 version;
36   } TBS_CONTEXT_PARAMS;
37 
38   typedef LPVOID TBS_HCONTEXT;
39 
40   TBS_RESULT WINAPI Tbsi_Context_Create(const TBS_CONTEXT_PARAMS *pContextParams,TBS_HCONTEXT *phContext);
41   TBS_RESULT WINAPI Tbsi_Get_TCG_Log(TBS_HCONTEXT hContext,BYTE *pOutputBuf,UINT32 *pOutputBufLen);
42   TBS_RESULT WINAPI Tbsi_Physical_Presence_Command(TBS_HCONTEXT hContext,const BYTE *pInputBuf,UINT32 InputBufLen,BYTE *pOutputBuf,UINT32 *pOutputBufLen);
43   TBS_RESULT WINAPI Tbsip_Cancel_Commands(TBS_HCONTEXT hContext);
44   TBS_RESULT WINAPI Tbsip_Context_Close(TBS_HCONTEXT hContext);
45   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);
46 
47 #ifdef __cplusplus
48 }
49 #endif
50 
51 #endif /*(_WIN32_WINNT >= 0x0600)*/
52 #endif /*_INC_TBH*/
53