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 TSPI_H
  7#define TSPI_H
  8
  9#include <windows.h>
 10#include "tapi.h"
 11
 12#ifdef __cplusplus
 13extern "C" {
 14#endif
 15
 16#ifndef DECLARE_OPAQUE
 17#define DECLARE_OPAQUE(name) struct name##__ { int unused; }; typedef const struct name##__ *name
 18#endif
 19
 20#ifndef TSPIAPI
 21#define TSPIAPI WINAPI
 22#endif
 23
 24  DECLARE_OPAQUE(HDRVCALL);
 25  DECLARE_OPAQUE(HDRVLINE);
 26  DECLARE_OPAQUE(HDRVPHONE);
 27  DECLARE_OPAQUE(HDRVMSPLINE);
 28  DECLARE_OPAQUE(HDRVDIALOGINSTANCE);
 29
 30  typedef HDRVCALL *LPHDRVCALL;
 31  typedef HDRVLINE *LPHDRVLINE;
 32  typedef HDRVPHONE *LPHDRVPHONE;
 33  typedef HDRVDIALOGINSTANCE *LPHDRVDIALOGINSTANCE;
 34  typedef HDRVMSPLINE *LPHDRVMSPLINE;
 35
 36  DECLARE_OPAQUE(HTAPICALL);
 37  DECLARE_OPAQUE(HTAPILINE);
 38  DECLARE_OPAQUE(HTAPIPHONE);
 39  DECLARE_OPAQUE32(HTAPIDIALOGINSTANCE);
 40  DECLARE_OPAQUE32(HTAPIMSPLINE);
 41
 42  typedef HTAPICALL *LPHTAPICALL;
 43  typedef HTAPILINE *LPHTAPILINE;
 44  typedef HTAPIPHONE *LPHTAPIPHONE;
 45  typedef HTAPIDIALOGINSTANCE *LPHTAPIDIALOGINSTANCE;
 46  typedef HTAPIMSPLINE *LPHTAPIMSPLINE;
 47
 48  DECLARE_OPAQUE(HPROVIDER);
 49  typedef HPROVIDER *LPHPROVIDER;
 50
 51  typedef DWORD DRV_REQUESTID;
 52
 53  typedef void (CALLBACK *ASYNC_COMPLETION)(DRV_REQUESTID dwRequestID,LONG lResult);
 54  typedef void (CALLBACK *LINEEVENT)(HTAPILINE htLine,HTAPICALL htCall,DWORD dwMsg,DWORD_PTR dwParam1,DWORD_PTR dwParam2,DWORD_PTR dwParam3);
 55  typedef void (CALLBACK *PHONEEVENT)(HTAPIPHONE htPhone,DWORD dwMsg,DWORD_PTR dwParam1,DWORD_PTR dwParam2,DWORD_PTR dwParam3);
 56  typedef LONG (CALLBACK *TUISPIDLLCALLBACK)(DWORD_PTR dwObjectID,DWORD dwObjectType,LPVOID lpParams,DWORD dwSize);
 57
 58  typedef struct tuispicreatedialoginstanceparams_tag {
 59    DRV_REQUESTID dwRequestID;
 60    HDRVDIALOGINSTANCE hdDlgInst;
 61    HTAPIDIALOGINSTANCE htDlgInst;
 62    LPCWSTR lpszUIDLLName;
 63    LPVOID lpParams;
 64    DWORD dwSize;
 65  } TUISPICREATEDIALOGINSTANCEPARAMS,*LPTUISPICREATEDIALOGINSTANCEPARAMS;
 66
 67#define LINEQOSSTRUCT_KEY ((DWORD)'LQSK')
 68
 69  typedef struct LINEQOSSERVICELEVEL_tag {
 70    DWORD dwMediaMode;
 71    DWORD dwQOSServiceLevel;
 72  } LINEQOSSERVICELEVEL,*LPLINEQOSSERVICELEVEL;
 73
 74  typedef struct LINECALLQOSINFO_tag {
 75    DWORD dwKey;
 76    DWORD dwTotalSize;
 77    DWORD dwQOSRequestType;
 78    __C89_NAMELESS union {
 79      struct {
 80	DWORD dwNumServiceLevelEntries;
 81	LINEQOSSERVICELEVEL LineQOSServiceLevel[1];
 82      } SetQOSServiceLevel;
 83    };
 84  } LINECALLQOSINFO,*LPLINECALLQOSINFO;
 85
 86  EXTERN_C const CLSID TAPIPROTOCOL_PSTN;
 87  EXTERN_C const CLSID TAPIPROTOCOL_H323;
 88  EXTERN_C const CLSID TAPIPROTOCOL_Multicast;
 89
 90#define TSPI_MESSAGE_BASE 500
 91#define LINE_NEWCALL ((__LONG32) TSPI_MESSAGE_BASE + 0)
 92#define LINE_CALLDEVSPECIFIC ((__LONG32) TSPI_MESSAGE_BASE + 1)
 93#define LINE_CALLDEVSPECIFICFEATURE ((__LONG32) TSPI_MESSAGE_BASE + 2)
 94#define LINE_CREATEDIALOGINSTANCE ((__LONG32) TSPI_MESSAGE_BASE + 3)
 95#define LINE_SENDDIALOGINSTANCEDATA ((__LONG32) TSPI_MESSAGE_BASE + 4)
 96#define LINE_SENDMSPDATA ((__LONG32) TSPI_MESSAGE_BASE + 5)
 97#define LINE_QOSINFO ((__LONG32) TSPI_MESSAGE_BASE + 6)
 98
 99#define LINETSPIOPTION_NONREENTRANT 0x00000001
100
101#define TUISPIDLL_OBJECT_LINEID __MSABI_LONG(1)
102#define TUISPIDLL_OBJECT_PHONEID __MSABI_LONG(2)
103#define TUISPIDLL_OBJECT_PROVIDERID __MSABI_LONG(3)
104#define TUISPIDLL_OBJECT_DIALOGINSTANCE __MSABI_LONG(4)
105
106#define PRIVATEOBJECT_NONE 0x00000001
107#define PRIVATEOBJECT_CALLID 0x00000002
108#define PRIVATEOBJECT_LINE 0x00000003
109#define PRIVATEOBJECT_CALL 0x00000004
110#define PRIVATEOBJECT_PHONE 0x00000005
111#define PRIVATEOBJECT_ADDRESS 0x00000006
112
113#define LINEQOSREQUESTTYPE_SERVICELEVEL 0x00000001
114
115#define LINEQOSSERVICELEVEL_NEEDED 0x00000001
116#define LINEQOSSERVICELEVEL_IFAVAILABLE 0x00000002
117#define LINEQOSSERVICELEVEL_BESTEFFORT 0x00000003
118
119#define LINEEQOSINFO_NOQOS 0x00000001
120#define LINEEQOSINFO_ADMISSIONFAILURE 0x00000002
121#define LINEEQOSINFO_POLICYFAILURE 0x00000003
122#define LINEEQOSINFO_GENERICERROR 0x00000004
123
124  LONG WINAPI TSPI_lineAccept(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCSTR lpsUserUserInfo,DWORD dwSize);
125  LONG WINAPI TSPI_lineAddToConference(DRV_REQUESTID dwRequestID,HDRVCALL hdConfCall,HDRVCALL hdConsultCall);
126  LONG WINAPI TSPI_lineAnswer(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCSTR lpsUserUserInfo,DWORD dwSize);
127  LONG WINAPI TSPI_lineBlindTransfer(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode);
128  LONG WINAPI TSPI_lineClose(HDRVLINE hdLine);
129  LONG WINAPI TSPI_lineCloseCall(HDRVCALL hdCall);
130  LONG WINAPI TSPI_lineCompleteCall(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPDWORD lpdwCompletionID,DWORD dwCompletionMode,DWORD dwMessageID);
131  LONG WINAPI TSPI_lineCompleteTransfer(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,HDRVCALL hdConsultCall,HTAPICALL htConfCall,LPHDRVCALL lphdConfCall,DWORD dwTransferMode);
132  LONG WINAPI TSPI_lineConditionalMediaDetection(HDRVLINE hdLine,DWORD dwMediaModes,LPLINECALLPARAMS const lpCallParams);
133  LONG WINAPI TSPI_lineDevSpecific(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwAddressID,HDRVCALL hdCall,LPVOID lpParams,DWORD dwSize);
134  LONG WINAPI TSPI_lineDevSpecificFeature(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwFeature,LPVOID lpParams,DWORD dwSize);
135  LONG WINAPI TSPI_lineDial(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode);
136  LONG WINAPI TSPI_lineDrop(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCSTR lpsUserUserInfo,DWORD dwSize);
137  LONG WINAPI TSPI_lineDropOnClose(HDRVCALL hdCall);
138  LONG WINAPI TSPI_lineDropNoOwner(HDRVCALL hdCall);
139  LONG WINAPI TSPI_lineForward(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD bAllAddresses,DWORD dwAddressID,LPLINEFORWARDLIST const lpForwardList,DWORD dwNumRingsNoAnswer,HTAPICALL htConsultCall,LPHDRVCALL lphdConsultCall,LPLINECALLPARAMS const lpCallParams);
140  LONG WINAPI TSPI_lineGatherDigits(HDRVCALL hdCall,DWORD dwEndToEndID,DWORD dwDigitModes,LPWSTR lpsDigits,DWORD dwNumDigits,LPCWSTR lpszTerminationDigits,DWORD dwFirstDigitTimeout,DWORD dwInterDigitTimeout);
141  LONG WINAPI TSPI_lineGenerateDigits(HDRVCALL hdCall,DWORD dwEndToEndID,DWORD dwDigitMode,LPCWSTR lpszDigits,DWORD dwDuration);
142  LONG WINAPI TSPI_lineGenerateTone(HDRVCALL hdCall,DWORD dwEndToEndID,DWORD dwToneMode,DWORD dwDuration,DWORD dwNumTones,LPLINEGENERATETONE const lpTones);
143  LONG WINAPI TSPI_lineGetAddressCaps(DWORD dwDeviceID,DWORD dwAddressID,DWORD dwTSPIVersion,DWORD dwExtVersion,LPLINEADDRESSCAPS lpAddressCaps);
144  LONG WINAPI TSPI_lineGetAddressID(HDRVLINE hdLine,LPDWORD lpdwAddressID,DWORD dwAddressMode,LPCWSTR lpsAddress,DWORD dwSize);
145  LONG WINAPI TSPI_lineGetAddressStatus(HDRVLINE hdLine,DWORD dwAddressID,LPLINEADDRESSSTATUS lpAddressStatus);
146  LONG WINAPI TSPI_lineGetCallAddressID(HDRVCALL hdCall,LPDWORD lpdwAddressID);
147  LONG WINAPI TSPI_lineGetCallHubTracking(HDRVLINE hdLine,LPLINECALLHUBTRACKINGINFO lpTrackingInfo);
148  LONG WINAPI TSPI_lineGetCallIDs(HDRVCALL hdCall,LPDWORD lpdwAddressID,LPDWORD lpdwCallID,LPDWORD lpdwRelatedCallID);
149  LONG WINAPI TSPI_lineGetCallInfo(HDRVCALL hdCall,LPLINECALLINFO lpCallInfo);
150  LONG WINAPI TSPI_lineGetCallStatus(HDRVCALL hdCall,LPLINECALLSTATUS lpCallStatus);
151  LONG WINAPI TSPI_lineGetDevCaps(DWORD dwDeviceID,DWORD dwTSPIVersion,DWORD dwExtVersion,LPLINEDEVCAPS lpLineDevCaps);
152  LONG WINAPI TSPI_lineGetDevConfig(DWORD dwDeviceID,LPVARSTRING lpDeviceConfig,LPCWSTR lpszDeviceClass);
153  LONG WINAPI TSPI_lineGetExtensionID(DWORD dwDeviceID,DWORD dwTSPIVersion,LPLINEEXTENSIONID lpExtensionID);
154  LONG WINAPI TSPI_lineGetIcon(DWORD dwDeviceID,LPCWSTR lpszDeviceClass,LPHICON lphIcon);
155  LONG WINAPI TSPI_lineGetID(HDRVLINE hdLine,DWORD dwAddressID,HDRVCALL hdCall,DWORD dwSelect,LPVARSTRING lpDeviceID,LPCWSTR lpszDeviceClass,HANDLE hTargetProcess);
156  LONG WINAPI TSPI_lineGetLineDevStatus(HDRVLINE hdLine,LPLINEDEVSTATUS lpLineDevStatus);
157  LONG WINAPI TSPI_lineGetNumAddressIDs(HDRVLINE hdLine,LPDWORD lpdwNumAddressIDs);
158  LONG WINAPI TSPI_lineHold(DRV_REQUESTID dwRequestID,HDRVCALL hdCall);
159  LONG WINAPI TSPI_lineMakeCall(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,HTAPICALL htCall,LPHDRVCALL lphdCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode,LPLINECALLPARAMS const lpCallParams);
160  LONG WINAPI TSPI_lineMonitorDigits(HDRVCALL hdCall,DWORD dwDigitModes);
161  LONG WINAPI TSPI_lineMonitorMedia(HDRVCALL hdCall,DWORD dwMediaModes);
162  LONG WINAPI TSPI_lineMonitorTones(HDRVCALL hdCall,DWORD dwToneListID,LPLINEMONITORTONE const lpToneList,DWORD dwNumEntries);
163  LONG WINAPI TSPI_lineNegotiateExtVersion(DWORD dwDeviceID,DWORD dwTSPIVersion,DWORD dwLowVersion,DWORD dwHighVersion,LPDWORD lpdwExtVersion);
164  LONG WINAPI TSPI_lineNegotiateTSPIVersion(DWORD dwDeviceID,DWORD dwLowVersion,DWORD dwHighVersion,LPDWORD lpdwTSPIVersion);
165  LONG WINAPI TSPI_lineOpen(DWORD dwDeviceID,HTAPILINE htLine,LPHDRVLINE lphdLine,DWORD dwTSPIVersion,LINEEVENT lpfnEventProc);
166  LONG WINAPI TSPI_linePark(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,DWORD dwParkMode,LPCWSTR lpszDirAddress,LPVARSTRING lpNonDirAddress);
167  LONG WINAPI TSPI_linePickup(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwAddressID,HTAPICALL htCall,LPHDRVCALL lphdCall,LPCWSTR lpszDestAddress,LPCWSTR lpszGroupID);
168  LONG WINAPI TSPI_linePrepareAddToConference(DRV_REQUESTID dwRequestID,HDRVCALL hdConfCall,HTAPICALL htConsultCall,LPHDRVCALL lphdConsultCall,LPLINECALLPARAMS const lpCallParams);
169  LONG WINAPI TSPI_lineRedirect(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode);
170  LONG WINAPI TSPI_lineReleaseUserUserInfo(DRV_REQUESTID dwRequestID,HDRVCALL hdCall);
171  LONG WINAPI TSPI_lineRemoveFromConference(DRV_REQUESTID dwRequestID,HDRVCALL hdCall);
172  LONG WINAPI TSPI_lineSecureCall(DRV_REQUESTID dwRequestID,HDRVCALL hdCall);
173  LONG WINAPI TSPI_lineSelectExtVersion(HDRVLINE hdLine,DWORD dwExtVersion);
174  LONG WINAPI TSPI_lineSendUserUserInfo(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCSTR lpsUserUserInfo,DWORD dwSize);
175  LONG WINAPI TSPI_lineSetAppSpecific(HDRVCALL hdCall,DWORD dwAppSpecific);
176  LONG WINAPI TSPI_lineSetCallData(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPVOID lpCallData,DWORD dwSize);
177  LONG WINAPI TSPI_lineSetCallHubTracking(HDRVLINE hdLine,LPLINECALLHUBTRACKINGINFO lpTrackingInfo);
178  LONG WINAPI TSPI_lineSetCallParams(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,DWORD dwBearerMode,DWORD dwMinRate,DWORD dwMaxRate,LPLINEDIALPARAMS const lpDialParams);
179  LONG WINAPI TSPI_lineSetCallQualityOfService(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPVOID lpSendingFlowspec,DWORD dwSendingFlowspecSize,LPVOID lpReceivingFlowspec,DWORD dwReceivingFlowspecSize);
180  LONG WINAPI TSPI_lineSetCallTreatment(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,DWORD dwTreatment);
181  LONG WINAPI TSPI_lineSetCurrentLocation(DWORD dwLocation);
182  LONG WINAPI TSPI_lineSetDefaultMediaDetection(HDRVLINE hdLine,DWORD dwMediaModes);
183  LONG WINAPI TSPI_lineSetDevConfig(DWORD dwDeviceID,LPVOID const lpDeviceConfig,DWORD dwSize,LPCWSTR lpszDeviceClass);
184  LONG WINAPI TSPI_lineSetLineDevStatus(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwStatusToChange,DWORD fStatus);
185  LONG WINAPI TSPI_lineSetMediaControl(HDRVLINE hdLine,DWORD dwAddressID,HDRVCALL hdCall,DWORD dwSelect,LPLINEMEDIACONTROLDIGIT const lpDigitList,DWORD dwDigitNumEntries,LPLINEMEDIACONTROLMEDIA const lpMediaList,DWORD dwMediaNumEntries,LPLINEMEDIACONTROLTONE const lpToneList,DWORD dwToneNumEntries,LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,DWORD dwCallStateNumEntries);
186  LONG WINAPI TSPI_lineSetMediaMode(HDRVCALL hdCall,DWORD dwMediaMode);
187  LONG WINAPI TSPI_lineSetStatusMessages(HDRVLINE hdLine,DWORD dwLineStates,DWORD dwAddressStates);
188  LONG WINAPI TSPI_lineSetTerminal(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwAddressID,HDRVCALL hdCall,DWORD dwSelect,DWORD dwTerminalModes,DWORD dwTerminalID,DWORD bEnable);
189  LONG WINAPI TSPI_lineSetupConference(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,HDRVLINE hdLine,HTAPICALL htConfCall,LPHDRVCALL lphdConfCall,HTAPICALL htConsultCall,LPHDRVCALL lphdConsultCall,DWORD dwNumParties,LPLINECALLPARAMS const lpCallParams);
190  LONG WINAPI TSPI_lineSetupTransfer(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,HTAPICALL htConsultCall,LPHDRVCALL lphdConsultCall,LPLINECALLPARAMS const lpCallParams);
191  LONG WINAPI TSPI_lineSwapHold(DRV_REQUESTID dwRequestID,HDRVCALL hdActiveCall,HDRVCALL hdHeldCall);
192  LONG WINAPI TSPI_lineUncompleteCall(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwCompletionID);
193  LONG WINAPI TSPI_lineUnhold(DRV_REQUESTID dwRequestID,HDRVCALL hdCall);
194  LONG WINAPI TSPI_lineUnpark(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwAddressID,HTAPICALL htCall,LPHDRVCALL lphdCall,LPCWSTR lpszDestAddress);
195  LONG WINAPI TSPI_phoneClose(HDRVPHONE hdPhone);
196  LONG WINAPI TSPI_phoneDevSpecific(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,LPVOID lpParams,DWORD dwSize);
197  LONG WINAPI TSPI_phoneGetButtonInfo(HDRVPHONE hdPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO lpButtonInfo);
198  LONG WINAPI TSPI_phoneGetData(HDRVPHONE hdPhone,DWORD dwDataID,LPVOID lpData,DWORD dwSize);
199  LONG WINAPI TSPI_phoneGetDevCaps(DWORD dwDeviceID,DWORD dwTSPIVersion,DWORD dwExtVersion,LPPHONECAPS lpPhoneCaps);
200  LONG WINAPI TSPI_phoneGetDisplay(HDRVPHONE hdPhone,LPVARSTRING lpDisplay);
201  LONG WINAPI TSPI_phoneGetExtensionID(DWORD dwDeviceID,DWORD dwTSPIVersion,LPPHONEEXTENSIONID lpExtensionID);
202  LONG WINAPI TSPI_phoneGetGain(HDRVPHONE hdPhone,DWORD dwHookSwitchDev,LPDWORD lpdwGain);
203  LONG WINAPI TSPI_phoneGetHookSwitch(HDRVPHONE hdPhone,LPDWORD lpdwHookSwitchDevs);
204  LONG WINAPI TSPI_phoneGetIcon(DWORD dwDeviceID,LPCWSTR lpszDeviceClass,LPHICON lphIcon);
205  LONG WINAPI TSPI_phoneGetID(HDRVPHONE hdPhone,LPVARSTRING lpDeviceID,LPCWSTR lpszDeviceClass,HANDLE hTargetProcess);
206  LONG WINAPI TSPI_phoneGetLamp(HDRVPHONE hdPhone,DWORD dwButtonLampID,LPDWORD lpdwLampMode);
207  LONG WINAPI TSPI_phoneGetRing(HDRVPHONE hdPhone,LPDWORD lpdwRingMode,LPDWORD lpdwVolume);
208  LONG WINAPI TSPI_phoneGetStatus(HDRVPHONE hdPhone,LPPHONESTATUS lpPhoneStatus);
209  LONG WINAPI TSPI_phoneGetVolume(HDRVPHONE hdPhone,DWORD dwHookSwitchDev,LPDWORD lpdwVolume);
210  LONG WINAPI TSPI_phoneNegotiateExtVersion(DWORD dwDeviceID,DWORD dwTSPIVersion,DWORD dwLowVersion,DWORD dwHighVersion,LPDWORD lpdwExtVersion);
211  LONG WINAPI TSPI_phoneNegotiateTSPIVersion(DWORD dwDeviceID,DWORD dwLowVersion,DWORD dwHighVersion,LPDWORD lpdwTSPIVersion);
212  LONG WINAPI TSPI_phoneOpen(DWORD dwDeviceID,HTAPIPHONE htPhone,LPHDRVPHONE lphdPhone,DWORD dwTSPIVersion,PHONEEVENT lpfnEventProc);
213  LONG WINAPI TSPI_phoneSelectExtVersion(HDRVPHONE hdPhone,DWORD dwExtVersion);
214  LONG WINAPI TSPI_phoneSetButtonInfo(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO const lpButtonInfo);
215  LONG WINAPI TSPI_phoneSetData(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwDataID,LPVOID const lpData,DWORD dwSize);
216  LONG WINAPI TSPI_phoneSetDisplay(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwRow,DWORD dwColumn,LPCWSTR lpsDisplay,DWORD dwSize);
217  LONG WINAPI TSPI_phoneSetGain(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwHookSwitchDev,DWORD dwGain);
218  LONG WINAPI TSPI_phoneSetHookSwitch(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwHookSwitchDevs,DWORD dwHookSwitchMode);
219  LONG WINAPI TSPI_phoneSetLamp(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwButtonLampID,DWORD dwLampMode);
220  LONG WINAPI TSPI_phoneSetRing(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwRingMode,DWORD dwVolume);
221  LONG WINAPI TSPI_phoneSetStatusMessages(HDRVPHONE hdPhone,DWORD dwPhoneStates,DWORD dwButtonModes,DWORD dwButtonStates);
222  LONG WINAPI TSPI_phoneSetVolume(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwHookSwitchDev,DWORD dwVolume);
223  LONG WINAPI TSPI_providerConfig(HWND hwndOwner,DWORD dwPermanentProviderID);
224  LONG WINAPI TSPI_providerCreateLineDevice(DWORD_PTR dwTempID,DWORD dwDeviceID);
225  LONG WINAPI TSPI_providerCreatePhoneDevice(DWORD_PTR dwTempID,DWORD dwDeviceID);
226  LONG WINAPI TSPI_providerEnumDevices(DWORD dwPermanentProviderID,LPDWORD lpdwNumLines,LPDWORD lpdwNumPhones,HPROVIDER hProvider,LINEEVENT lpfnLineCreateProc,PHONEEVENT lpfnPhoneCreateProc);
227  LONG WINAPI TSPI_providerFreeDialogInstance(HDRVDIALOGINSTANCE hdDlgInst);
228  LONG WINAPI TSPI_providerGenericDialogData(DWORD_PTR dwObjectID,DWORD dwObjectType,LPVOID lpParams,DWORD dwSize);
229  LONG WINAPI TSPI_providerInit(DWORD dwTSPIVersion,DWORD dwPermanentProviderID,DWORD dwLineDeviceIDBase,DWORD dwPhoneDeviceIDBase,DWORD_PTR dwNumLines,DWORD_PTR dwNumPhones,ASYNC_COMPLETION lpfnCompletionProc,LPDWORD lpdwTSPIOptions);
230  LONG WINAPI TSPI_providerInstall(HWND hwndOwner,DWORD dwPermanentProviderID);
231  LONG WINAPI TSPI_providerRemove(HWND hwndOwner,DWORD dwPermanentProviderID);
232  LONG WINAPI TSPI_providerShutdown(DWORD dwTSPIVersion,DWORD dwPermanentProviderID);
233  LONG WINAPI TSPI_providerUIIdentify(LPWSTR lpszUIDLLName);
234  LONG WINAPI TSPI_lineMSPIdentify(DWORD dwDeviceID,GUID *pCLSID);
235  LONG WINAPI TSPI_lineCreateMSPInstance(HDRVLINE hdLine,DWORD dwAddressID,HTAPIMSPLINE htMSPLine,LPHDRVMSPLINE lphdMSPLine);
236  LONG WINAPI TSPI_lineCloseMSPInstance(HDRVMSPLINE hdMSPLine);
237  LONG WINAPI TSPI_lineReceiveMSPData(HDRVLINE hdLine,HDRVCALL hdCall,HDRVMSPLINE hdMSPLine,LPVOID pBuffer,DWORD dwSize);
238  LONG WINAPI TUISPI_lineConfigDialog(TUISPIDLLCALLBACK lpfnUIDLLCallback,DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass);
239  LONG WINAPI TUISPI_lineConfigDialogEdit(TUISPIDLLCALLBACK lpfnUIDLLCallback,DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass,LPVOID const lpDeviceConfigIn,DWORD dwSize,LPVARSTRING lpDeviceConfigOut);
240  LONG WINAPI TUISPI_phoneConfigDialog(TUISPIDLLCALLBACK lpfnUIDLLCallback,DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass);
241  LONG WINAPI TUISPI_providerConfig(TUISPIDLLCALLBACK lpfnUIDLLCallback,HWND hwndOwner,DWORD dwPermanentProviderID);
242  LONG WINAPI TUISPI_providerGenericDialog(TUISPIDLLCALLBACK lpfnUIDLLCallback,HTAPIDIALOGINSTANCE htDlgInst,LPVOID lpParams,DWORD dwSize,HANDLE hEvent);
243  LONG WINAPI TUISPI_providerGenericDialogData(HTAPIDIALOGINSTANCE htDlgInst,LPVOID lpParams,DWORD dwSize);
244  LONG WINAPI TUISPI_providerInstall(TUISPIDLLCALLBACK lpfnUIDLLCallback,HWND hwndOwner,DWORD dwPermanentProviderID);
245  LONG WINAPI TUISPI_providerRemove(TUISPIDLLCALLBACK lpfnUIDLLCallback,HWND hwndOwner,DWORD dwPermanentProviderID);
246
247#ifdef __cplusplus
248}
249#endif
250#endif