4 * Copyright (c) 1999 Andreas Mohr
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 #endif /* defined(__cplusplus) */
30 typedef HANDLE HCALL, *LPHCALL;
31 typedef HANDLE HLINE, *LPHLINE;
32 typedef HANDLE HLINEAPP, *LPHLINEAPP;
33 typedef HANDLE HPHONE, *LPHPHONE;
34 typedef HANDLE HPHONEAPP, *LPHPHONEAPP;
36 #define TAPIERR_REQUESTFAILED -16L
37 #define LINEERR_INCOMPATIBLEAPIVERSION 0x8000000C
38 #define LINEERR_NOMEM 0x80000044
39 #define LINEERR_INIFILECORRUPT 0x8000000E
40 #define LINEERR_OPERATIONFAILED 0x80000048
41 #define LINEERR_INVALCOUNTRYCODE 0x80000022
42 #define LINEERR_STRUCTURETOOSMALL 0x8000004D
43 #define LINEERR_INVALPOINTER 0x80000035
45 typedef struct lineaddresscaps_tag {
51 DWORD dwAddressOffset;
52 DWORD dwDevSpecificSize;
53 DWORD dwDevSpecificOffset;
54 DWORD dwAddressSharing;
55 DWORD dwAddressStates;
56 DWORD dwCallInfoStates;
57 DWORD dwCallerIDFlags;
58 DWORD dwCalledIDFlags;
59 DWORD dwConnectedIDFlags;
60 DWORD dwRedirectionIDFlags;
61 DWORD dwRedirectingIDFlags;
63 DWORD dwDialToneModes;
66 DWORD dwDisconnectModes;
67 DWORD dwMaxNumActiveCalls;
68 DWORD dwMaxNumOnHoldCalls;
69 DWORD dwMaxNumOnHoldPendingCalls;
70 DWORD dwMaxNumConference;
71 DWORD dwMaxNumTransConf;
74 DWORD dwRemoveFromConfCaps;
75 DWORD dwRemoveFromConfState;
76 DWORD dwTransferModes;
79 DWORD dwMaxForwardEntries;
80 DWORD dwMaxSpecificEntries;
81 DWORD dwMinFwdNumRings;
82 DWORD dwMaxFwdNumRings;
83 DWORD dwMaxCallCompletions;
84 DWORD dwCallCompletionConds;
85 DWORD dwCallCompletionModes;
86 DWORD dwNumCompletionMessages;
87 DWORD dwCompletionMsgTextEntrySize;
88 DWORD dwCompletionMsgTextSize;
89 DWORD dwCompletionMsgTextOffset;
90 DWORD dwAddressFeatures;
91 } LINEADDRESSCAPS, *LPLINEADDRESSCAPS;
93 typedef struct lineaddressstatus_tag {
98 DWORD dwNumActiveCalls;
99 DWORD dwNumOnHoldCalls;
100 DWORD dwNumOnHoldPendCalls;
101 DWORD dwAddressFeatures;
102 DWORD dwNumRingsNoAnswer;
103 DWORD dwForwardNumEntries;
105 DWORD dwForwardOffset;
106 DWORD dwTerminalModesSize;
107 DWORD dwTerminalModesOffset;
108 DWORD dwDevSpecificSize;
109 DWORD dwDevSpecificOffset;
110 } LINEADDRESSSTATUS, *LPLINEADDRESSSTATUS;
112 typedef struct linedialparams_tag {
115 DWORD dwDigitDuration;
116 DWORD dwWaitForDialtone;
117 } LINEDIALPARAMS, *LPLINEDIALPARAMS;
119 typedef struct linecallinfo_tag {
124 DWORD dwLineDeviceID;
131 DWORD dwRelatedCallID;
132 DWORD dwCallParamFlags;
134 DWORD dwMonitorDigitModes;
135 DWORD dwMonitorMediaModes;
136 LINEDIALPARAMS DialParams;
139 DWORD dwCompletionID;
144 DWORD dwCallerIDFlags;
145 DWORD dwCallerIDSize;
146 DWORD dwCallerIDOffset;
147 DWORD dwCallerIDNameSize;
148 DWORD dwCallerIDNameOffset;
149 DWORD dwCalledIDFlags;
150 DWORD dwCalledIDSize;
151 DWORD dwCalledIDOffset;
152 DWORD dwCalledIDNameSize;
153 DWORD dwCalledIDNameOffset;
154 DWORD dwConnectedIDFlags;
155 DWORD dwConnectedIDSize;
156 DWORD dwConnectedIDOffset;
157 DWORD dwConnectedIDNameSize;
158 DWORD dwConnectedIDNameOffset;
159 DWORD dwRedirectionIDFlags;
160 DWORD dwRedirectionIDSize;
161 DWORD dwRedirectionIDOffset;
162 DWORD dwRedirectionIDNameSize;
163 DWORD dwRedirectionIDNameOffset;
164 DWORD dwRedirectingIDFlags;
165 DWORD dwRedirectingIDSize;
166 DWORD dwRedirectingIDOffset;
167 DWORD dwRedirectingIDNameSize;
168 DWORD dwRedirectingIDNameOffset;
170 DWORD dwAppNameOffset;
171 DWORD dwDisplayableAddressSize;
172 DWORD dwDisplayableAddressOffset;
173 DWORD dwCalledPartySize;
174 DWORD dwCalledPartyOffset;
176 DWORD dwCommentOffset;
178 DWORD dwDisplayOffset;
179 DWORD dwUserUserInfoSize;
180 DWORD dwUserUserInfoOffset;
181 DWORD dwHighLevelCompSize;
182 DWORD dwHighLevelCompOffset;
183 DWORD dwLowLevelCompSize;
184 DWORD dwLowLevelCompOffset;
185 DWORD dwChargingInfoSize;
186 DWORD dwChargingInfoOffset;
187 DWORD dwTerminalModesSize;
188 DWORD dwTerminalModesOffset;
189 DWORD dwDevSpecificSize;
190 DWORD dwDevSpecificOffset;
191 } LINECALLINFO, *LPLINECALLINFO;
193 typedef struct linecalllist_tag {
197 DWORD dwCallsNumEntries;
200 } LINECALLLIST, *LPLINECALLLIST;
202 typedef struct linecallparams_tag {
208 DWORD dwCallParamFlags;
211 LINEDIALPARAMS DialParams;
212 DWORD dwOrigAddressSize;
213 DWORD dwOrigAddressOffset;
214 DWORD dwDisplayableAddressSize;
215 DWORD dwDisplayableAddressOffset;
216 DWORD dwCalledPartySize;
217 DWORD dwCalledPartyOffset;
219 DWORD dwCommentOffset;
220 DWORD dwUserUserInfoSize;
221 DWORD dwUserUserInfoOffset;
222 DWORD dwHighLevelCompSize;
223 DWORD dwHighLevelCompOffset;
224 DWORD dwLowLevelCompSize;
225 DWORD dwLowLevelCompOffset;
226 DWORD dwDevSpecificSize;
227 DWORD dwDevSpecificOffset;
228 } LINECALLPARAMS, *LPLINECALLPARAMS;
230 typedef struct linecallstatus_tag {
235 DWORD dwCallStateMode;
236 DWORD dwCallPrivilege;
237 DWORD dwCallFeatures;
238 DWORD dwDevSpecificSize;
239 DWORD dwDevSpecificOffset;
240 } LINECALLSTATUS, *LPLINECALLSTATUS;
242 typedef struct linecountrylist_tag {
246 DWORD dwNumCountries;
247 DWORD dwCountryListSize;
248 DWORD dwCountryListOffset;
249 } LINECOUNTRYLIST, *LPLINECOUNTRYLIST;
251 typedef struct linecountryentry_tag {
254 DWORD dwNextCountryID;
255 DWORD dwCountryNameSize;
256 DWORD dwCountryNameOffset;
257 DWORD dwSameAreaRuleSize;
258 DWORD dwSameAreaRuleOffset;
259 DWORD dwLongDistanceRuleSize;
260 DWORD dwLongDistanceRuleOffset;
261 DWORD dwInternationalRuleSize;
262 DWORD dwInternationalRuleOffset;
263 } LINECOUNTRYENTRY, *LPLINECOUNTRYENTRY;
265 typedef struct linedevcaps_tag {
269 DWORD dwProviderInfoSize;
270 DWORD dwProviderInfoOffset;
271 DWORD dwSwitchInfoSize;
272 DWORD dwSwitchInfoOffset;
273 DWORD dwPermanentLineID;
274 DWORD dwLineNameSize;
275 DWORD dwLineNameOffset;
276 DWORD dwStringFormat;
277 DWORD dwAddressModes;
278 DWORD dwNumAddresses;
282 DWORD dwGenerateToneModes;
283 DWORD dwGenerateToneMaxNumFreq;
284 DWORD dwGenerateDigitModes;
285 DWORD dwMonitorToneMaxNumFreq;
286 DWORD dwMonitorToneMaxNumEntries;
287 DWORD dwMonitorDigitModes;
288 DWORD dwGatherDigitsMinTimeout;
289 DWORD dwGatherDigitsMaxTimeout;
290 DWORD dwMedCtlDigitMaxListSize;
291 DWORD dwMedCtlMediaMaxListSize;
292 DWORD dwMedCtlToneMaxListSize;
293 DWORD dwMedCtlCallStateMaxListSize;
295 DWORD dwMaxNumActiveCalls;
299 DWORD dwUUIAcceptSize;
300 DWORD dwUUIAnswerSize;
301 DWORD dwUUIMakeCallSize;
303 DWORD dwUUISendUserUserInfoSize;
304 DWORD dwUUICallInfoSize;
305 LINEDIALPARAMS MinDialParams;
306 LINEDIALPARAMS MaxDialParams;
307 LINEDIALPARAMS DefaultDialParams;
308 DWORD dwNumTerminals;
309 DWORD dwTerminalCapsSize;
310 DWORD dwTerminalCapsOffset;
311 DWORD dwTerminalTextEntrySize;
312 DWORD dwTerminalTextSize;
313 DWORD dwTerminalTextOffset;
314 DWORD dwDevSpecificSize;
315 DWORD dwDevSpecificOffset;
316 DWORD dwLineFeatures;
317 } LINEDEVCAPS, *LPLINEDEVCAPS;
319 typedef struct linedevstatus_tag {
324 DWORD dwOpenMediaModes;
325 DWORD dwNumActiveCalls;
326 DWORD dwNumOnHoldCalls;
327 DWORD dwNumOnHoldPendingCalls;
328 DWORD dwLineFeatures;
329 DWORD dwNumCallCompletion;
332 DWORD dwBatteryLevel;
334 DWORD dwDevStatusFlags;
335 DWORD dwTerminalModesSize;
336 DWORD dwTerminalModesOffset;
337 DWORD dwDevSpecificSize;
338 DWORD dwDevSpecificOffset;
339 } LINEDEVSTATUS, *LPLINEDEVSTATUS;
341 typedef struct lineextensionid_tag {
342 DWORD dwExtensionID0;
343 DWORD dwExtensionID1;
344 DWORD dwExtensionID2;
345 DWORD dwExtensionID3;
346 } LINEEXTENSIONID, *LPLINEEXTENSIONID;
348 typedef struct lineforward_tag {
350 DWORD dwCallerAddressSize;
351 DWORD dwCallerAddressOffset;
352 DWORD dwDestCountryCode;
353 DWORD dwDestAddressSize;
354 DWORD dwDestAddressOffset;
355 } LINEFORWARD, *LPLINEFORWARD;
357 typedef struct lineforwardlist_tag {
360 LINEFORWARD ForwardList[1];
361 } LINEFORWARDLIST, *LPLINEFORWARDLIST;
363 typedef struct linegeneratetone_tag {
368 } LINEGENERATETONE, *LPLINEGENERATETONE;
370 typedef struct linemediacontrolcallstate_tag {
372 DWORD dwMediaControl;
373 } LINEMEDIACONTROLCALLSTATE, *LPLINEMEDIACONTROLCALLSTATE;
375 typedef struct linemediacontroldigit_tag {
378 DWORD dwMediaControl;
379 } LINEMEDIACONTROLDIGIT, *LPLINEMEDIACONTROLDIGIT;
381 typedef struct linemediacontrolmedia_tag {
384 DWORD dwMediaControl;
385 } LINEMEDIACONTROLMEDIA, *LPLINEMEDIACONTROLMEDIA;
387 typedef struct linemediacontroltone_tag {
393 DWORD dwMediaControl;
394 } LINEMEDIACONTROLTONE, *LPLINEMEDIACONTROLTONE;
396 typedef struct linemonitortone_tag {
402 } LINEMONITORTONE, *LPLINEMONITORTONE;
404 typedef struct lineproviderlist_tag {
408 DWORD dwNumProviders;
409 DWORD dwProviderListSize;
410 DWORD dwProviderListOffset;
411 } LINEPROVIDERLIST, *LPLINEPROVIDERLIST;
413 typedef struct linetranslatecaps_tag {
417 DWORD dwNumLocations;
418 DWORD dwLocationListSize;
419 DWORD dwLocationListOffset;
420 DWORD dwCurrentLocationID;
422 DWORD dwCardListSize;
423 DWORD dwCardListOffset;
424 DWORD dwCurrentPreferredCardID;
425 } LINETRANSLATECAPS, *LPLINETRANSLATECAPS;
427 typedef struct linetranslateoutput_tag {
431 DWORD dwDialableStringSize;
432 DWORD dwDialableStringOffset;
433 DWORD dwDisplayableStringSize;
434 DWORD dwDisplayableStringOffset;
435 DWORD dwCurrentCountry;
437 DWORD dwTranslateResults;
438 } LINETRANSLATEOUTPUT, *LPLINETRANSLATEOUTPUT;
440 typedef void (CALLBACK *LINECALLBACK)(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD);
442 typedef struct _PHONEAPP {
444 } PHONEAPP, *LPPHONEAPP;
446 typedef struct _PHONE {
451 typedef struct phonebuttoninfo_tag {
456 DWORD dwButtonFunction;
457 DWORD dwButtonTextSize;
458 DWORD dwButtonTextOffset;
459 DWORD dwDevSpecificSize;
460 DWORD dwDevSpecificOffset;
462 } PHONEBUTTONINFO, *LPPHONEBUTTONINFO;
464 typedef struct phonecaps_tag {
468 DWORD dwProviderInfoSize;
469 DWORD dwProviderInfoOffset;
470 DWORD dwPhoneInfoSize;
471 DWORD dwPhoneInfoOffset;
472 DWORD dwPermanentPhoneID;
473 DWORD dwPhoneNameSize;
474 DWORD dwPhoneNameOffset;
475 DWORD dwStringFormat;
477 DWORD dwHookSwitchDevs;
478 DWORD dwHandsetHookSwitchModes;
479 DWORD dwSpeakerHookSwitchModes;
480 DWORD dwHeadsetHookSwitchModes;
483 DWORD dwDisplayNumRows;
484 DWORD dwDisplayNumColumns;
485 DWORD dwNumRingModes;
486 DWORD dwNumButtonLamps;
487 DWORD dwButtonModesSize;
488 DWORD dwButtonModesOffset;
489 DWORD dwButtonFunctionsSize;
490 DWORD dwButtonFunctionsOffset;
491 DWORD dwLampModesSize;
492 DWORD dwLampModesOffset;
495 DWORD dwSetDataOffset;
498 DWORD dwGetDataOffset;
499 DWORD dwDevSpecificSize;
500 DWORD dwDevSpecificOffset;
501 } PHONECAPS, *LPPHONECAPS;
503 typedef struct phoneextensionid_tag {
504 DWORD dwExtensionID0;
505 DWORD dwExtensionID1;
506 DWORD dwExtensionID2;
507 DWORD dwExtensionID3;
508 } PHONEEXTENSIONID, *LPPHONEEXTENSIONID;
510 typedef struct phonestatus_tag {
518 DWORD dwHandsetHookSwitchMode;
519 DWORD dwHandsetVolume;
521 DWORD dwSpeakerHookSwitchMode;
522 DWORD dwSpeakerVolume;
524 DWORD dwHeadsetHookSwitchMode;
525 DWORD dwHeadsetVolume;
528 DWORD dwDisplayOffset;
529 DWORD dwLampModesSize;
530 DWORD dwLampModesOffset;
531 DWORD dwOwnerNameSize;
532 DWORD dwOwnerNameOffset;
533 DWORD dwDevSpecificSize;
534 DWORD dwDevSpecificOffset;
535 } PHONESTATUS, *LPPHONESTATUS;
537 typedef void (CALLBACK *PHONECALLBACK)(HANDLE, DWORD, DWORD, DWORD, DWORD, DWORD);
539 typedef struct varstring_tag {
543 DWORD dwStringFormat;
545 DWORD dwStringOffset;
546 } VARSTRING, *LPVARSTRING;
549 DWORD WINAPI lineAccept(HCALL,LPCSTR,DWORD);
550 DWORD WINAPI lineAddProvider(LPCSTR,HWND,LPDWORD);
551 DWORD WINAPI lineAddToConference(HCALL,HCALL);
552 DWORD WINAPI lineAnswer(HCALL,LPCSTR,DWORD);
553 DWORD WINAPI lineBlindTransfer(HCALL,LPCSTR,DWORD);
554 DWORD WINAPI lineClose(HLINE);
555 DWORD WINAPI lineCompleteCall(HCALL,LPDWORD,DWORD,DWORD);
556 DWORD WINAPI lineCompleteTransfer(HCALL,HCALL,LPHCALL,DWORD);
557 DWORD WINAPI lineConfigDialog(DWORD,HWND,LPCSTR);
558 DWORD WINAPI lineConfigDialogEdit(DWORD,HWND,LPCSTR,LPVOID const,DWORD,LPVARSTRING);
559 DWORD WINAPI lineConfigProvider(HWND,DWORD);
560 DWORD WINAPI lineDeallocateCall(HCALL);
561 DWORD WINAPI lineDevSpecific(HLINE,DWORD,HCALL,LPVOID,DWORD);
562 DWORD WINAPI lineDevSpecificFeature(HLINE,DWORD,LPVOID,DWORD);
563 DWORD WINAPI lineDial(HCALL,LPCSTR,DWORD);
564 DWORD WINAPI lineDrop(HCALL,LPCSTR,DWORD);
565 DWORD WINAPI lineForward(HLINE,DWORD,DWORD,LPLINEFORWARDLIST,DWORD,LPHCALL,LPLINECALLPARAMS);
566 DWORD WINAPI lineGatherDigits(HCALL,DWORD,LPSTR,DWORD,LPCSTR,DWORD,DWORD);
567 DWORD WINAPI lineGenerateDigits(HCALL,DWORD,LPCSTR,DWORD);
568 DWORD WINAPI lineGenerateTone(HCALL,DWORD,DWORD,DWORD,LPLINEGENERATETONE);
569 DWORD WINAPI lineGetAddressCaps(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPLINEADDRESSCAPS);
570 DWORD WINAPI lineGetAddressID(HLINE,LPDWORD,DWORD,LPCSTR,DWORD);
571 DWORD WINAPI lineGetAddressStatus(HLINE,DWORD,LPLINEADDRESSSTATUS);
572 DWORD WINAPI lineGetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPVARSTRING,LPDWORD);
573 DWORD WINAPI lineGetCallInfo(HCALL,LPLINECALLINFO);
574 DWORD WINAPI lineGetCallStatus(HCALL,LPLINECALLSTATUS);
575 DWORD WINAPI lineGetConfRelatedCalls(HCALL,LPLINECALLLIST);
576 DWORD WINAPI lineGetCountry(DWORD,DWORD,LPLINECOUNTRYLIST);
577 DWORD WINAPI lineGetDevCaps(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
578 DWORD WINAPI lineGetDevConfig(DWORD,LPVARSTRING,LPCSTR);
579 DWORD WINAPI lineGetID(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCSTR);
580 DWORD WINAPI lineGetIcon(DWORD,LPCSTR,HICON *);
581 DWORD WINAPI lineGetLineDevStatus(HLINE,LPLINEDEVSTATUS);
582 DWORD WINAPI lineGetNewCalls(HLINE,DWORD,DWORD,LPLINECALLLIST);
583 DWORD WINAPI lineGetNumRings(HLINE,DWORD,LPDWORD);
584 DWORD WINAPI lineGetProviderList(DWORD dwAPIVersion,LPLINEPROVIDERLIST);
585 DWORD WINAPI lineGetRequest(HLINEAPP,DWORD,LPVOID);
586 DWORD WINAPI lineGetStatusMessages(HLINE,LPDWORD,LPDWORD);
587 DWORD WINAPI lineGetTranslateCaps(HLINEAPP,DWORD,LPLINETRANSLATECAPS);
588 DWORD WINAPI lineHandoff(HCALL,LPCSTR,DWORD);
589 DWORD WINAPI lineHold(HCALL);
590 DWORD WINAPI lineInitialize(LPHLINEAPP,HINSTANCE,LINECALLBACK,LPCSTR,LPDWORD);
591 DWORD WINAPI lineMakeCall(HLINE,LPHCALL,LPCSTR,DWORD,LPLINECALLPARAMS);
592 DWORD WINAPI lineMonitorDigits(HCALL,DWORD);
593 DWORD WINAPI lineMonitorMedia(HCALL,DWORD);
594 DWORD WINAPI lineMonitorTones(HCALL,LPLINEMONITORTONE,DWORD);
595 DWORD WINAPI lineNegotiateAPIVersion(HLINEAPP,DWORD,DWORD,DWORD,LPDWORD,LPLINEEXTENSIONID);
596 DWORD WINAPI lineNegotiateExtVersion(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
597 DWORD WINAPI lineOpen(HLINEAPP,DWORD,LPHLINE,DWORD,DWORD,DWORD,DWORD,DWORD,LPLINECALLPARAMS);
598 DWORD WINAPI linePark(HCALL,DWORD,LPCSTR,LPVARSTRING);
599 DWORD WINAPI linePickup(HLINE,DWORD,LPHCALL,LPCSTR,LPCSTR);
600 DWORD WINAPI linePrepareAddToConference(HCALL,LPHCALL,LPLINECALLPARAMS);
601 DWORD WINAPI lineRedirect(HCALL,LPCSTR,DWORD);
602 DWORD WINAPI lineRegisterRequestRecipient(HLINEAPP,DWORD,DWORD,DWORD);
603 DWORD WINAPI lineReleaseUserUserInfo(HCALL);
604 DWORD WINAPI lineRemoveFromConference(HCALL);
605 DWORD WINAPI lineRemoveProvider(DWORD,HWND);
606 DWORD WINAPI lineSecureCall(HCALL);
607 DWORD WINAPI lineSendUserUserInfo(HCALL,LPCSTR,DWORD);
608 DWORD WINAPI lineSetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPCSTR,DWORD);
609 DWORD WINAPI lineSetAppSpecific(HCALL,DWORD);
610 DWORD WINAPI lineSetCallParams(HCALL,DWORD,DWORD,DWORD,LPLINEDIALPARAMS);
611 DWORD WINAPI lineSetCallPrivilege(HCALL,DWORD);
612 DWORD WINAPI lineSetCurrentLocation(HLINEAPP,DWORD);
613 DWORD WINAPI lineSetDevConfig(DWORD,LPVOID,DWORD,LPCSTR);
614 DWORD WINAPI lineSetMediaControl(HLINE,DWORD,HCALL,DWORD,LPLINEMEDIACONTROLDIGIT,DWORD,LPLINEMEDIACONTROLMEDIA,DWORD,LPLINEMEDIACONTROLTONE,DWORD,LPLINEMEDIACONTROLCALLSTATE,DWORD);
615 DWORD WINAPI lineSetMediaMode(HCALL,DWORD);
616 DWORD WINAPI lineSetNumRings(HLINE,DWORD,DWORD);
617 DWORD WINAPI lineSetStatusMessages(HLINE,DWORD,DWORD);
618 DWORD WINAPI lineSetTerminal(HLINE,DWORD,HCALL,DWORD,DWORD,DWORD,DWORD);
619 DWORD WINAPI lineSetTollList(HLINEAPP,DWORD,LPCSTR,DWORD);
620 DWORD WINAPI lineSetupConference(HCALL,HLINE,LPHCALL,LPHCALL,DWORD,LPLINECALLPARAMS);
621 DWORD WINAPI lineSetupTransfer(HCALL,LPHCALL,LPLINECALLPARAMS);
622 DWORD WINAPI lineShutdown(HLINEAPP);
623 DWORD WINAPI lineSwapHold(HCALL,HCALL);
624 DWORD WINAPI lineTranslateAddress(HLINEAPP,DWORD,DWORD,LPCSTR,DWORD,DWORD,LPLINETRANSLATEOUTPUT);
625 DWORD WINAPI lineTranslateDialog(HLINEAPP,DWORD,DWORD,HWND,LPCSTR);
626 DWORD WINAPI lineUncompleteCall(HLINE,DWORD);
627 DWORD WINAPI lineUnHold(HCALL);
628 DWORD WINAPI lineUnpark(HLINE,DWORD,LPHCALL,LPCSTR);
630 /* phone functions */
631 DWORD WINAPI phoneClose(HPHONE);
632 DWORD WINAPI phoneConfigDialog(DWORD,HWND,LPCSTR);
633 DWORD WINAPI phoneDevSpecific(HPHONE,LPVOID,DWORD);
634 DWORD WINAPI phoneGetButtonInfo(HPHONE,DWORD,LPPHONEBUTTONINFO);
635 DWORD WINAPI phoneGetData(HPHONE,DWORD,LPVOID,DWORD);
636 DWORD WINAPI phoneGetDevCaps(HPHONEAPP,DWORD,DWORD,DWORD,LPPHONECAPS);
637 DWORD WINAPI phoneGetDisplay(HPHONE,LPVARSTRING);
638 DWORD WINAPI phoneGetGain(HPHONE,DWORD,LPDWORD);
639 DWORD WINAPI phoneGetHookSwitch(HPHONE,LPDWORD);
640 DWORD WINAPI phoneGetID(HPHONE,LPVARSTRING,LPCSTR);
641 DWORD WINAPI phoneGetIcon(DWORD,LPCSTR,HICON *);
642 DWORD WINAPI phoneGetLamp(HPHONE,DWORD,LPDWORD);
643 DWORD WINAPI phoneGetRing(HPHONE,LPDWORD,LPDWORD);
644 DWORD WINAPI phoneGetStatus(HPHONE,LPPHONESTATUS);
645 DWORD WINAPI phoneGetStatusMessages(HPHONE,LPDWORD,LPDWORD,LPDWORD);
646 DWORD WINAPI phoneGetVolume(HPHONE,DWORD,LPDWORD);
647 DWORD WINAPI phoneInitialize(LPHPHONEAPP,HINSTANCE,PHONECALLBACK,LPCSTR,LPDWORD);
648 DWORD WINAPI phoneNegotiateAPIVersion(HPHONEAPP,DWORD,DWORD,DWORD,LPDWORD,LPPHONEEXTENSIONID);
649 DWORD WINAPI phoneNegotiateExtVersion(HPHONEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
650 DWORD WINAPI phoneOpen(HPHONEAPP,DWORD,LPHPHONE,DWORD,DWORD,DWORD,DWORD);
651 DWORD WINAPI phoneSetButtonInfo(HPHONE,DWORD,LPPHONEBUTTONINFO);
652 DWORD WINAPI phoneSetData(HPHONE,DWORD,LPVOID,DWORD);
653 DWORD WINAPI phoneSetDisplay(HPHONE,DWORD,DWORD,LPCSTR,DWORD);
654 DWORD WINAPI phoneSetGain(HPHONE,DWORD,DWORD);
655 DWORD WINAPI phoneSetHookSwitch(HPHONE,DWORD,DWORD);
656 DWORD WINAPI phoneSetLamp(HPHONE,DWORD,DWORD);
657 DWORD WINAPI phoneSetRing(HPHONE,DWORD,DWORD);
658 DWORD WINAPI phoneSetStatusMessages(HPHONE,DWORD,DWORD,DWORD);
659 DWORD WINAPI phoneSetVolume(HPHONE,DWORD,DWORD);
660 DWORD WINAPI phoneShutdown(HPHONEAPP);
662 /* "assisted" functions */
663 DWORD WINAPI tapiGetLocationInfo(LPSTR,LPSTR);
664 DWORD WINAPI tapiRequestMakeCall(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
668 #endif /* defined(__cplusplus) */
670 #endif /* __WINE_TAPI_H */