Home | History | Annotate | Download | only in include
      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 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      8 #endif
      9 
     10 #include "rpc.h"
     11 #include "rpcndr.h"
     12 
     13 #ifndef __RPCNDR_H_VERSION__
     14 #error This stub requires an updated version of <rpcndr.h>
     15 #endif
     16 
     17 #ifndef COM_NO_WINDOWS_H
     18 #include "windows.h"
     19 #include "ole2.h"
     20 #endif
     21 
     22 #ifndef __msp_h__
     23 #define __msp_h__
     24 
     25 #ifndef __ITPluggableTerminalEventSink_FWD_DEFINED__
     26 #define __ITPluggableTerminalEventSink_FWD_DEFINED__
     27 typedef struct ITPluggableTerminalEventSink ITPluggableTerminalEventSink;
     28 #endif
     29 
     30 #ifndef __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__
     31 #define __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__
     32 typedef struct ITPluggableTerminalEventSinkRegistration ITPluggableTerminalEventSinkRegistration;
     33 #endif
     34 
     35 #ifndef __ITMSPAddress_FWD_DEFINED__
     36 #define __ITMSPAddress_FWD_DEFINED__
     37 typedef struct ITMSPAddress ITMSPAddress;
     38 #endif
     39 
     40 #include "tapi3if.h"
     41 
     42 #ifdef __cplusplus
     43 extern "C" {
     44 #endif
     45 
     46 #ifndef __MIDL_user_allocate_free_DEFINED__
     47 #define __MIDL_user_allocate_free_DEFINED__
     48   void *__RPC_API MIDL_user_allocate(size_t);
     49   void __RPC_API MIDL_user_free(void *);
     50 #endif
     51 
     52   typedef __LONG32 *MSP_HANDLE;
     53 
     54   typedef enum __MIDL___MIDL_itf_msp_0000_0001 {
     55     ADDRESS_TERMINAL_AVAILABLE = 0,ADDRESS_TERMINAL_UNAVAILABLE
     56   } MSP_ADDRESS_EVENT;
     57 
     58   typedef enum __MIDL___MIDL_itf_msp_0000_0002 {
     59     CALL_NEW_STREAM = 0,CALL_STREAM_FAIL,CALL_TERMINAL_FAIL,
     60     CALL_STREAM_NOT_USED,CALL_STREAM_ACTIVE,CALL_STREAM_INACTIVE
     61   } MSP_CALL_EVENT;
     62 
     63   typedef enum __MIDL___MIDL_itf_msp_0000_0003 {
     64     CALL_CAUSE_UNKNOWN = 0,CALL_CAUSE_BAD_DEVICE,CALL_CAUSE_CONNECT_FAIL,
     65     CALL_CAUSE_LOCAL_REQUEST,CALL_CAUSE_REMOTE_REQUEST,
     66     CALL_CAUSE_MEDIA_TIMEOUT,CALL_CAUSE_MEDIA_RECOVERED,
     67     CALL_CAUSE_QUALITY_OF_SERVICE
     68   } MSP_CALL_EVENT_CAUSE;
     69 
     70   typedef enum __MIDL___MIDL_itf_msp_0000_0004 {
     71     ME_ADDRESS_EVENT = 0,ME_CALL_EVENT,ME_TSP_DATA,ME_PRIVATE_EVENT,
     72     ME_ASR_TERMINAL_EVENT,ME_TTS_TERMINAL_EVENT,ME_FILE_TERMINAL_EVENT,
     73     ME_TONE_TERMINAL_EVENT
     74   } MSP_EVENT;
     75 
     76   typedef struct __MIDL___MIDL_itf_msp_0000_0005 {
     77     DWORD dwSize;
     78     MSP_EVENT Event;
     79     MSP_HANDLE hCall;
     80     __C89_NAMELESS union {
     81       struct {
     82 	MSP_ADDRESS_EVENT Type;
     83 	ITTerminal *pTerminal;
     84       } MSP_ADDRESS_EVENT_INFO;
     85       struct {
     86 	MSP_CALL_EVENT Type;
     87 	MSP_CALL_EVENT_CAUSE Cause;
     88 	ITStream *pStream;
     89 	ITTerminal *pTerminal;
     90 	HRESULT hrError;
     91       } MSP_CALL_EVENT_INFO;
     92       struct {
     93 	DWORD dwBufferSize;
     94 	BYTE pBuffer[1 ];
     95       } MSP_TSP_DATA;
     96       struct {
     97 	IDispatch *pEvent;
     98 	__LONG32 lEventCode;
     99       } MSP_PRIVATE_EVENT_INFO;
    100       struct {
    101 	ITTerminal *pParentFileTerminal;
    102 	ITFileTrack *pFileTrack;
    103 	TERMINAL_MEDIA_STATE TerminalMediaState;
    104 	FT_STATE_EVENT_CAUSE ftecEventCause;
    105 	HRESULT hrErrorCode;
    106       } MSP_FILE_TERMINAL_EVENT_INFO;
    107       struct {
    108 	ITTerminal *pASRTerminal;
    109 	HRESULT hrErrorCode;
    110       } MSP_ASR_TERMINAL_EVENT_INFO;
    111       struct {
    112 	ITTerminal *pTTSTerminal;
    113 	HRESULT hrErrorCode;
    114       } MSP_TTS_TERMINAL_EVENT_INFO;
    115       struct {
    116 	ITTerminal *pToneTerminal;
    117 	HRESULT hrErrorCode;
    118       } MSP_TONE_TERMINAL_EVENT_INFO;
    119     };
    120   } MSP_EVENT_INFO;
    121 
    122   extern RPC_IF_HANDLE __MIDL_itf_msp_0000_v0_0_c_ifspec;
    123   extern RPC_IF_HANDLE __MIDL_itf_msp_0000_v0_0_s_ifspec;
    124 
    125 #ifndef __ITPluggableTerminalEventSink_INTERFACE_DEFINED__
    126 #define __ITPluggableTerminalEventSink_INTERFACE_DEFINED__
    127   EXTERN_C const IID IID_ITPluggableTerminalEventSink;
    128 #if defined(__cplusplus) && !defined(CINTERFACE)
    129   struct ITPluggableTerminalEventSink : public IUnknown {
    130   public:
    131     virtual HRESULT WINAPI FireEvent(const MSP_EVENT_INFO *pMspEventInfo) = 0;
    132   };
    133 #else
    134   typedef struct ITPluggableTerminalEventSinkVtbl {
    135     BEGIN_INTERFACE
    136       HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalEventSink *This,REFIID riid,void **ppvObject);
    137       ULONG (WINAPI *AddRef)(ITPluggableTerminalEventSink *This);
    138       ULONG (WINAPI *Release)(ITPluggableTerminalEventSink *This);
    139       HRESULT (WINAPI *FireEvent)(ITPluggableTerminalEventSink *This,const MSP_EVENT_INFO *pMspEventInfo);
    140     END_INTERFACE
    141   } ITPluggableTerminalEventSinkVtbl;
    142   struct ITPluggableTerminalEventSink {
    143     CONST_VTBL struct ITPluggableTerminalEventSinkVtbl *lpVtbl;
    144   };
    145 #ifdef COBJMACROS
    146 #define ITPluggableTerminalEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    147 #define ITPluggableTerminalEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
    148 #define ITPluggableTerminalEventSink_Release(This) (This)->lpVtbl->Release(This)
    149 #define ITPluggableTerminalEventSink_FireEvent(This,pMspEventInfo) (This)->lpVtbl->FireEvent(This,pMspEventInfo)
    150 #endif
    151 #endif
    152   HRESULT WINAPI ITPluggableTerminalEventSink_FireEvent_Proxy(ITPluggableTerminalEventSink *This,const MSP_EVENT_INFO *pMspEventInfo);
    153   void __RPC_STUB ITPluggableTerminalEventSink_FireEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    154 #endif
    155 
    156 #ifndef __ITPluggableTerminalEventSinkRegistration_INTERFACE_DEFINED__
    157 #define __ITPluggableTerminalEventSinkRegistration_INTERFACE_DEFINED__
    158   EXTERN_C const IID IID_ITPluggableTerminalEventSinkRegistration;
    159 #if defined(__cplusplus) && !defined(CINTERFACE)
    160   struct ITPluggableTerminalEventSinkRegistration : public IUnknown {
    161   public:
    162     virtual HRESULT WINAPI RegisterSink(ITPluggableTerminalEventSink *pEventSink) = 0;
    163     virtual HRESULT WINAPI UnregisterSink(void) = 0;
    164   };
    165 #else
    166   typedef struct ITPluggableTerminalEventSinkRegistrationVtbl {
    167     BEGIN_INTERFACE
    168       HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalEventSinkRegistration *This,REFIID riid,void **ppvObject);
    169       ULONG (WINAPI *AddRef)(ITPluggableTerminalEventSinkRegistration *This);
    170       ULONG (WINAPI *Release)(ITPluggableTerminalEventSinkRegistration *This);
    171       HRESULT (WINAPI *RegisterSink)(ITPluggableTerminalEventSinkRegistration *This,ITPluggableTerminalEventSink *pEventSink);
    172       HRESULT (WINAPI *UnregisterSink)(ITPluggableTerminalEventSinkRegistration *This);
    173     END_INTERFACE
    174   } ITPluggableTerminalEventSinkRegistrationVtbl;
    175   struct ITPluggableTerminalEventSinkRegistration {
    176     CONST_VTBL struct ITPluggableTerminalEventSinkRegistrationVtbl *lpVtbl;
    177   };
    178 #ifdef COBJMACROS
    179 #define ITPluggableTerminalEventSinkRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    180 #define ITPluggableTerminalEventSinkRegistration_AddRef(This) (This)->lpVtbl->AddRef(This)
    181 #define ITPluggableTerminalEventSinkRegistration_Release(This) (This)->lpVtbl->Release(This)
    182 #define ITPluggableTerminalEventSinkRegistration_RegisterSink(This,pEventSink) (This)->lpVtbl->RegisterSink(This,pEventSink)
    183 #define ITPluggableTerminalEventSinkRegistration_UnregisterSink(This) (This)->lpVtbl->UnregisterSink(This)
    184 #endif
    185 #endif
    186   HRESULT WINAPI ITPluggableTerminalEventSinkRegistration_RegisterSink_Proxy(ITPluggableTerminalEventSinkRegistration *This,ITPluggableTerminalEventSink *pEventSink);
    187   void __RPC_STUB ITPluggableTerminalEventSinkRegistration_RegisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    188   HRESULT WINAPI ITPluggableTerminalEventSinkRegistration_UnregisterSink_Proxy(ITPluggableTerminalEventSinkRegistration *This);
    189   void __RPC_STUB ITPluggableTerminalEventSinkRegistration_UnregisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    190 #endif
    191 
    192 #ifndef __ITMSPAddress_INTERFACE_DEFINED__
    193 #define __ITMSPAddress_INTERFACE_DEFINED__
    194   EXTERN_C const IID IID_ITMSPAddress;
    195 #if defined(__cplusplus) && !defined(CINTERFACE)
    196   struct ITMSPAddress : public IUnknown {
    197   public:
    198     virtual HRESULT WINAPI Initialize(MSP_HANDLE hEvent) = 0;
    199     virtual HRESULT WINAPI Shutdown(void) = 0;
    200     virtual HRESULT WINAPI CreateMSPCall(MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl) = 0;
    201     virtual HRESULT WINAPI ShutdownMSPCall(IUnknown *pStreamControl) = 0;
    202     virtual HRESULT WINAPI ReceiveTSPData(IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize) = 0;
    203     virtual HRESULT WINAPI GetEvent(DWORD *pdwSize,byte *pEventBuffer) = 0;
    204   };
    205 #else
    206   typedef struct ITMSPAddressVtbl {
    207     BEGIN_INTERFACE
    208       HRESULT (WINAPI *QueryInterface)(ITMSPAddress *This,REFIID riid,void **ppvObject);
    209       ULONG (WINAPI *AddRef)(ITMSPAddress *This);
    210       ULONG (WINAPI *Release)(ITMSPAddress *This);
    211       HRESULT (WINAPI *Initialize)(ITMSPAddress *This,MSP_HANDLE hEvent);
    212       HRESULT (WINAPI *Shutdown)(ITMSPAddress *This);
    213       HRESULT (WINAPI *CreateMSPCall)(ITMSPAddress *This,MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl);
    214       HRESULT (WINAPI *ShutdownMSPCall)(ITMSPAddress *This,IUnknown *pStreamControl);
    215       HRESULT (WINAPI *ReceiveTSPData)(ITMSPAddress *This,IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize);
    216       HRESULT (WINAPI *GetEvent)(ITMSPAddress *This,DWORD *pdwSize,byte *pEventBuffer);
    217     END_INTERFACE
    218   } ITMSPAddressVtbl;
    219   struct ITMSPAddress {
    220     CONST_VTBL struct ITMSPAddressVtbl *lpVtbl;
    221   };
    222 #ifdef COBJMACROS
    223 #define ITMSPAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    224 #define ITMSPAddress_AddRef(This) (This)->lpVtbl->AddRef(This)
    225 #define ITMSPAddress_Release(This) (This)->lpVtbl->Release(This)
    226 #define ITMSPAddress_Initialize(This,hEvent) (This)->lpVtbl->Initialize(This,hEvent)
    227 #define ITMSPAddress_Shutdown(This) (This)->lpVtbl->Shutdown(This)
    228 #define ITMSPAddress_CreateMSPCall(This,hCall,dwReserved,dwMediaType,pOuterUnknown,ppStreamControl) (This)->lpVtbl->CreateMSPCall(This,hCall,dwReserved,dwMediaType,pOuterUnknown,ppStreamControl)
    229 #define ITMSPAddress_ShutdownMSPCall(This,pStreamControl) (This)->lpVtbl->ShutdownMSPCall(This,pStreamControl)
    230 #define ITMSPAddress_ReceiveTSPData(This,pMSPCall,pBuffer,dwSize) (This)->lpVtbl->ReceiveTSPData(This,pMSPCall,pBuffer,dwSize)
    231 #define ITMSPAddress_GetEvent(This,pdwSize,pEventBuffer) (This)->lpVtbl->GetEvent(This,pdwSize,pEventBuffer)
    232 #endif
    233 #endif
    234   HRESULT WINAPI ITMSPAddress_Initialize_Proxy(ITMSPAddress *This,MSP_HANDLE hEvent);
    235   void __RPC_STUB ITMSPAddress_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    236   HRESULT WINAPI ITMSPAddress_Shutdown_Proxy(ITMSPAddress *This);
    237   void __RPC_STUB ITMSPAddress_Shutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    238   HRESULT WINAPI ITMSPAddress_CreateMSPCall_Proxy(ITMSPAddress *This,MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl);
    239   void __RPC_STUB ITMSPAddress_CreateMSPCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    240   HRESULT WINAPI ITMSPAddress_ShutdownMSPCall_Proxy(ITMSPAddress *This,IUnknown *pStreamControl);
    241   void __RPC_STUB ITMSPAddress_ShutdownMSPCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    242   HRESULT WINAPI ITMSPAddress_ReceiveTSPData_Proxy(ITMSPAddress *This,IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize);
    243   void __RPC_STUB ITMSPAddress_ReceiveTSPData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    244   HRESULT WINAPI ITMSPAddress_GetEvent_Proxy(ITMSPAddress *This,DWORD *pdwSize,byte *pEventBuffer);
    245   void __RPC_STUB ITMSPAddress_GetEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    246 #endif
    247 
    248 #ifdef __cplusplus
    249 }
    250 #endif
    251 #endif
    252