diff fuhtark_test/include/winapi/msp.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/winapi/msp.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,251 @@
+/**
+ * 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 within this package.
+ */
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error This stub requires an updated version of <rpcndr.h>
+#endif
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif
+
+#ifndef __msp_h__
+#define __msp_h__
+
+#ifndef __ITPluggableTerminalEventSink_FWD_DEFINED__
+#define __ITPluggableTerminalEventSink_FWD_DEFINED__
+typedef struct ITPluggableTerminalEventSink ITPluggableTerminalEventSink;
+#endif
+
+#ifndef __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__
+#define __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__
+typedef struct ITPluggableTerminalEventSinkRegistration ITPluggableTerminalEventSinkRegistration;
+#endif
+
+#ifndef __ITMSPAddress_FWD_DEFINED__
+#define __ITMSPAddress_FWD_DEFINED__
+typedef struct ITMSPAddress ITMSPAddress;
+#endif
+
+#include "tapi3if.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef __MIDL_user_allocate_free_DEFINED__
+#define __MIDL_user_allocate_free_DEFINED__
+  void *__RPC_API MIDL_user_allocate(size_t);
+  void __RPC_API MIDL_user_free(void *);
+#endif
+
+  typedef long *MSP_HANDLE;
+
+  typedef enum __MIDL___MIDL_itf_msp_0000_0001 {
+    ADDRESS_TERMINAL_AVAILABLE = 0,ADDRESS_TERMINAL_UNAVAILABLE
+  } MSP_ADDRESS_EVENT;
+
+  typedef enum __MIDL___MIDL_itf_msp_0000_0002 {
+    CALL_NEW_STREAM = 0,CALL_STREAM_FAIL,CALL_TERMINAL_FAIL,
+    CALL_STREAM_NOT_USED,CALL_STREAM_ACTIVE,CALL_STREAM_INACTIVE
+  } MSP_CALL_EVENT;
+
+  typedef enum __MIDL___MIDL_itf_msp_0000_0003 {
+    CALL_CAUSE_UNKNOWN = 0,CALL_CAUSE_BAD_DEVICE,CALL_CAUSE_CONNECT_FAIL,
+    CALL_CAUSE_LOCAL_REQUEST,CALL_CAUSE_REMOTE_REQUEST,
+    CALL_CAUSE_MEDIA_TIMEOUT,CALL_CAUSE_MEDIA_RECOVERED,
+    CALL_CAUSE_QUALITY_OF_SERVICE
+  } MSP_CALL_EVENT_CAUSE;
+
+  typedef enum __MIDL___MIDL_itf_msp_0000_0004 {
+    ME_ADDRESS_EVENT = 0,ME_CALL_EVENT,ME_TSP_DATA,ME_PRIVATE_EVENT,
+    ME_ASR_TERMINAL_EVENT,ME_TTS_TERMINAL_EVENT,ME_FILE_TERMINAL_EVENT,
+    ME_TONE_TERMINAL_EVENT
+  } MSP_EVENT;
+
+  typedef struct __MIDL___MIDL_itf_msp_0000_0005 {
+    DWORD dwSize;
+    MSP_EVENT Event;
+    MSP_HANDLE hCall;
+    __MINGW_EXTENSION union {
+      struct {
+	MSP_ADDRESS_EVENT Type;
+	ITTerminal *pTerminal;
+      } MSP_ADDRESS_EVENT_INFO;
+      struct {
+	MSP_CALL_EVENT Type;
+	MSP_CALL_EVENT_CAUSE Cause;
+	ITStream *pStream;
+	ITTerminal *pTerminal;
+	HRESULT hrError;
+      } MSP_CALL_EVENT_INFO;
+      struct {
+	DWORD dwBufferSize;
+	BYTE pBuffer[1 ];
+      } MSP_TSP_DATA;
+      struct {
+	IDispatch *pEvent;
+	long lEventCode;
+      } MSP_PRIVATE_EVENT_INFO;
+      struct {
+	ITTerminal *pParentFileTerminal;
+	ITFileTrack *pFileTrack;
+	TERMINAL_MEDIA_STATE TerminalMediaState;
+	FT_STATE_EVENT_CAUSE ftecEventCause;
+	HRESULT hrErrorCode;
+      } MSP_FILE_TERMINAL_EVENT_INFO;
+      struct {
+	ITTerminal *pASRTerminal;
+	HRESULT hrErrorCode;
+      } MSP_ASR_TERMINAL_EVENT_INFO;
+      struct {
+	ITTerminal *pTTSTerminal;
+	HRESULT hrErrorCode;
+      } MSP_TTS_TERMINAL_EVENT_INFO;
+      struct {
+	ITTerminal *pToneTerminal;
+	HRESULT hrErrorCode;
+      } MSP_TONE_TERMINAL_EVENT_INFO;
+    };
+  } MSP_EVENT_INFO;
+
+  extern RPC_IF_HANDLE __MIDL_itf_msp_0000_v0_0_c_ifspec;
+  extern RPC_IF_HANDLE __MIDL_itf_msp_0000_v0_0_s_ifspec;
+
+#ifndef __ITPluggableTerminalEventSink_INTERFACE_DEFINED__
+#define __ITPluggableTerminalEventSink_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_ITPluggableTerminalEventSink;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct ITPluggableTerminalEventSink : public IUnknown {
+  public:
+    virtual HRESULT WINAPI FireEvent(const MSP_EVENT_INFO *pMspEventInfo) = 0;
+  };
+#else
+  typedef struct ITPluggableTerminalEventSinkVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalEventSink *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(ITPluggableTerminalEventSink *This);
+      ULONG (WINAPI *Release)(ITPluggableTerminalEventSink *This);
+      HRESULT (WINAPI *FireEvent)(ITPluggableTerminalEventSink *This,const MSP_EVENT_INFO *pMspEventInfo);
+    END_INTERFACE
+  } ITPluggableTerminalEventSinkVtbl;
+  struct ITPluggableTerminalEventSink {
+    CONST_VTBL struct ITPluggableTerminalEventSinkVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define ITPluggableTerminalEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ITPluggableTerminalEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ITPluggableTerminalEventSink_Release(This) (This)->lpVtbl->Release(This)
+#define ITPluggableTerminalEventSink_FireEvent(This,pMspEventInfo) (This)->lpVtbl->FireEvent(This,pMspEventInfo)
+#endif
+#endif
+  HRESULT WINAPI ITPluggableTerminalEventSink_FireEvent_Proxy(ITPluggableTerminalEventSink *This,const MSP_EVENT_INFO *pMspEventInfo);
+  void __RPC_STUB ITPluggableTerminalEventSink_FireEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __ITPluggableTerminalEventSinkRegistration_INTERFACE_DEFINED__
+#define __ITPluggableTerminalEventSinkRegistration_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_ITPluggableTerminalEventSinkRegistration;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct ITPluggableTerminalEventSinkRegistration : public IUnknown {
+  public:
+    virtual HRESULT WINAPI RegisterSink(ITPluggableTerminalEventSink *pEventSink) = 0;
+    virtual HRESULT WINAPI UnregisterSink(void) = 0;
+  };
+#else
+  typedef struct ITPluggableTerminalEventSinkRegistrationVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalEventSinkRegistration *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(ITPluggableTerminalEventSinkRegistration *This);
+      ULONG (WINAPI *Release)(ITPluggableTerminalEventSinkRegistration *This);
+      HRESULT (WINAPI *RegisterSink)(ITPluggableTerminalEventSinkRegistration *This,ITPluggableTerminalEventSink *pEventSink);
+      HRESULT (WINAPI *UnregisterSink)(ITPluggableTerminalEventSinkRegistration *This);
+    END_INTERFACE
+  } ITPluggableTerminalEventSinkRegistrationVtbl;
+  struct ITPluggableTerminalEventSinkRegistration {
+    CONST_VTBL struct ITPluggableTerminalEventSinkRegistrationVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define ITPluggableTerminalEventSinkRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ITPluggableTerminalEventSinkRegistration_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ITPluggableTerminalEventSinkRegistration_Release(This) (This)->lpVtbl->Release(This)
+#define ITPluggableTerminalEventSinkRegistration_RegisterSink(This,pEventSink) (This)->lpVtbl->RegisterSink(This,pEventSink)
+#define ITPluggableTerminalEventSinkRegistration_UnregisterSink(This) (This)->lpVtbl->UnregisterSink(This)
+#endif
+#endif
+  HRESULT WINAPI ITPluggableTerminalEventSinkRegistration_RegisterSink_Proxy(ITPluggableTerminalEventSinkRegistration *This,ITPluggableTerminalEventSink *pEventSink);
+  void __RPC_STUB ITPluggableTerminalEventSinkRegistration_RegisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI ITPluggableTerminalEventSinkRegistration_UnregisterSink_Proxy(ITPluggableTerminalEventSinkRegistration *This);
+  void __RPC_STUB ITPluggableTerminalEventSinkRegistration_UnregisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifndef __ITMSPAddress_INTERFACE_DEFINED__
+#define __ITMSPAddress_INTERFACE_DEFINED__
+  EXTERN_C const IID IID_ITMSPAddress;
+#if defined(__cplusplus) && !defined(CINTERFACE)
+  struct ITMSPAddress : public IUnknown {
+  public:
+    virtual HRESULT WINAPI Initialize(MSP_HANDLE hEvent) = 0;
+    virtual HRESULT WINAPI Shutdown(void) = 0;
+    virtual HRESULT WINAPI CreateMSPCall(MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl) = 0;
+    virtual HRESULT WINAPI ShutdownMSPCall(IUnknown *pStreamControl) = 0;
+    virtual HRESULT WINAPI ReceiveTSPData(IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize) = 0;
+    virtual HRESULT WINAPI GetEvent(DWORD *pdwSize,byte *pEventBuffer) = 0;
+  };
+#else
+  typedef struct ITMSPAddressVtbl {
+    BEGIN_INTERFACE
+      HRESULT (WINAPI *QueryInterface)(ITMSPAddress *This,REFIID riid,void **ppvObject);
+      ULONG (WINAPI *AddRef)(ITMSPAddress *This);
+      ULONG (WINAPI *Release)(ITMSPAddress *This);
+      HRESULT (WINAPI *Initialize)(ITMSPAddress *This,MSP_HANDLE hEvent);
+      HRESULT (WINAPI *Shutdown)(ITMSPAddress *This);
+      HRESULT (WINAPI *CreateMSPCall)(ITMSPAddress *This,MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl);
+      HRESULT (WINAPI *ShutdownMSPCall)(ITMSPAddress *This,IUnknown *pStreamControl);
+      HRESULT (WINAPI *ReceiveTSPData)(ITMSPAddress *This,IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize);
+      HRESULT (WINAPI *GetEvent)(ITMSPAddress *This,DWORD *pdwSize,byte *pEventBuffer);
+    END_INTERFACE
+  } ITMSPAddressVtbl;
+  struct ITMSPAddress {
+    CONST_VTBL struct ITMSPAddressVtbl *lpVtbl;
+  };
+#ifdef COBJMACROS
+#define ITMSPAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ITMSPAddress_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ITMSPAddress_Release(This) (This)->lpVtbl->Release(This)
+#define ITMSPAddress_Initialize(This,hEvent) (This)->lpVtbl->Initialize(This,hEvent)
+#define ITMSPAddress_Shutdown(This) (This)->lpVtbl->Shutdown(This)
+#define ITMSPAddress_CreateMSPCall(This,hCall,dwReserved,dwMediaType,pOuterUnknown,ppStreamControl) (This)->lpVtbl->CreateMSPCall(This,hCall,dwReserved,dwMediaType,pOuterUnknown,ppStreamControl)
+#define ITMSPAddress_ShutdownMSPCall(This,pStreamControl) (This)->lpVtbl->ShutdownMSPCall(This,pStreamControl)
+#define ITMSPAddress_ReceiveTSPData(This,pMSPCall,pBuffer,dwSize) (This)->lpVtbl->ReceiveTSPData(This,pMSPCall,pBuffer,dwSize)
+#define ITMSPAddress_GetEvent(This,pdwSize,pEventBuffer) (This)->lpVtbl->GetEvent(This,pdwSize,pEventBuffer)
+#endif
+#endif
+  HRESULT WINAPI ITMSPAddress_Initialize_Proxy(ITMSPAddress *This,MSP_HANDLE hEvent);
+  void __RPC_STUB ITMSPAddress_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI ITMSPAddress_Shutdown_Proxy(ITMSPAddress *This);
+  void __RPC_STUB ITMSPAddress_Shutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI ITMSPAddress_CreateMSPCall_Proxy(ITMSPAddress *This,MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl);
+  void __RPC_STUB ITMSPAddress_CreateMSPCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI ITMSPAddress_ShutdownMSPCall_Proxy(ITMSPAddress *This,IUnknown *pStreamControl);
+  void __RPC_STUB ITMSPAddress_ShutdownMSPCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI ITMSPAddress_ReceiveTSPData_Proxy(ITMSPAddress *This,IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize);
+  void __RPC_STUB ITMSPAddress_ReceiveTSPData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+  HRESULT WINAPI ITMSPAddress_GetEvent_Proxy(ITMSPAddress *This,DWORD *pdwSize,byte *pEventBuffer);
+  void __RPC_STUB ITMSPAddress_GetEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif