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__
 27typedef struct ITPluggableTerminalEventSink ITPluggableTerminalEventSink;
 28#endif
 29
 30#ifndef __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__
 31#define __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__
 32typedef struct ITPluggableTerminalEventSinkRegistration ITPluggableTerminalEventSinkRegistration;
 33#endif
 34
 35#ifndef __ITMSPAddress_FWD_DEFINED__
 36#define __ITMSPAddress_FWD_DEFINED__
 37typedef struct ITMSPAddress ITMSPAddress;
 38#endif
 39
 40#include "tapi3if.h"
 41
 42#ifdef __cplusplus
 43extern "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