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
26 #endif /* defined(__cplusplus) */
28 typedef HANDLE HCALL, *LPHCALL;
29 typedef HANDLE HLINE, *LPHLINE;
30 typedef HANDLE HLINEAPP, *LPHLINEAPP;
31 typedef HANDLE HPHONE, *LPHPHONE;
32 typedef HANDLE HPHONEAPP, *LPHPHONEAPP;
34 #define TAPIERR_REQUESTFAILED -16L
35 #define LINEERR_INCOMPATIBLEAPIVERSION 0x8000000C
36 #define LINEERR_NOMEM 0x80000044
37 #define LINEERR_INIFILECORRUPT 0x8000000E
38 #define LINEERR_OPERATIONFAILED 0x80000048
39 #define LINEERR_INVALCOUNTRYCODE 0x80000022
40 #define LINEERR_STRUCTURETOOSMALL 0x8000004D
41 #define LINEERR_INVALPOINTER 0x80000035
43 typedef struct lineaddresscaps_tag {
49 DWORD dwAddressOffset;
50 DWORD dwDevSpecificSize;
51 DWORD dwDevSpecificOffset;
52 DWORD dwAddressSharing;
53 DWORD dwAddressStates;
54 DWORD dwCallInfoStates;
55 DWORD dwCallerIDFlags;
56 DWORD dwCalledIDFlags;
57 DWORD dwConnectedIDFlags;
58 DWORD dwRedirectionIDFlags;
59 DWORD dwRedirectingIDFlags;
61 DWORD dwDialToneModes;
64 DWORD dwDisconnectModes;
65 DWORD dwMaxNumActiveCalls;
66 DWORD dwMaxNumOnHoldCalls;
67 DWORD dwMaxNumOnHoldPendingCalls;
68 DWORD dwMaxNumConference;
69 DWORD dwMaxNumTransConf;
72 DWORD dwRemoveFromConfCaps;
73 DWORD dwRemoveFromConfState;
74 DWORD dwTransferModes;
77 DWORD dwMaxForwardEntries;
78 DWORD dwMaxSpecificEntries;
79 DWORD dwMinFwdNumRings;
80 DWORD dwMaxFwdNumRings;
81 DWORD dwMaxCallCompletions;
82 DWORD dwCallCompletionConds;
83 DWORD dwCallCompletionModes;
84 DWORD dwNumCompletionMessages;
85 DWORD dwCompletionMsgTextEntrySize;
86 DWORD dwCompletionMsgTextSize;
87 DWORD dwCompletionMsgTextOffset;
88 DWORD dwAddressFeatures;
89 } LINEADDRESSCAPS, *LPLINEADDRESSCAPS;
91 typedef struct lineaddressstatus_tag {
96 DWORD dwNumActiveCalls;
97 DWORD dwNumOnHoldCalls;
98 DWORD dwNumOnHoldPendCalls;
99 DWORD dwAddressFeatures;
100 DWORD dwNumRingsNoAnswer;
101 DWORD dwForwardNumEntries;
103 DWORD dwForwardOffset;
104 DWORD dwTerminalModesSize;
105 DWORD dwTerminalModesOffset;
106 DWORD dwDevSpecificSize;
107 DWORD dwDevSpecificOffset;
108 } LINEADDRESSSTATUS, *LPLINEADDRESSSTATUS;
110 typedef struct linedialparams_tag {
113 DWORD dwDigitDuration;
114 DWORD dwWaitForDialtone;
115 } LINEDIALPARAMS, *LPLINEDIALPARAMS;
117 typedef struct linecallinfo_tag {
122 DWORD dwLineDeviceID;
129 DWORD dwRelatedCallID;
130 DWORD dwCallParamFlags;
132 DWORD dwMonitorDigitModes;
133 DWORD dwMonitorMediaModes;
134 LINEDIALPARAMS DialParams;
137 DWORD dwCompletionID;
142 DWORD dwCallerIDFlags;
143 DWORD dwCallerIDSize;
144 DWORD dwCallerIDOffset;
145 DWORD dwCallerIDNameSize;
146 DWORD dwCallerIDNameOffset;
147 DWORD dwCalledIDFlags;
148 DWORD dwCalledIDSize;
149 DWORD dwCalledIDOffset;
150 DWORD dwCalledIDNameSize;
151 DWORD dwCalledIDNameOffset;
152 DWORD dwConnectedIDFlags;
153 DWORD dwConnectedIDSize;
154 DWORD dwConnectedIDOffset;
155 DWORD dwConnectedIDNameSize;
156 DWORD dwConnectedIDNameOffset;
157 DWORD dwRedirectionIDFlags;
158 DWORD dwRedirectionIDSize;
159 DWORD dwRedirectionIDOffset;
160 DWORD dwRedirectionIDNameSize;
161 DWORD dwRedirectionIDNameOffset;
162 DWORD dwRedirectingIDFlags;
163 DWORD dwRedirectingIDSize;
164 DWORD dwRedirectingIDOffset;
165 DWORD dwRedirectingIDNameSize;
166 DWORD dwRedirectingIDNameOffset;
168 DWORD dwAppNameOffset;
169 DWORD dwDisplayableAddressSize;
170 DWORD dwDisplayableAddressOffset;
171 DWORD dwCalledPartySize;
172 DWORD dwCalledPartyOffset;
174 DWORD dwCommentOffset;
176 DWORD dwDisplayOffset;
177 DWORD dwUserUserInfoSize;
178 DWORD dwUserUserInfoOffset;
179 DWORD dwHighLevelCompSize;
180 DWORD dwHighLevelCompOffset;
181 DWORD dwLowLevelCompSize;
182 DWORD dwLowLevelCompOffset;
183 DWORD dwChargingInfoSize;
184 DWORD dwChargingInfoOffset;
185 DWORD dwTerminalModesSize;
186 DWORD dwTerminalModesOffset;
187 DWORD dwDevSpecificSize;
188 DWORD dwDevSpecificOffset;
189 } LINECALLINFO, *LPLINECALLINFO;
191 typedef struct linecalllist_tag {
195 DWORD dwCallsNumEntries;
198 } LINECALLLIST, *LPLINECALLLIST;
200 typedef struct linecallparams_tag {
206 DWORD dwCallParamFlags;
209 LINEDIALPARAMS DialParams;
210 DWORD dwOrigAddressSize;
211 DWORD dwOrigAddressOffset;
212 DWORD dwDisplayableAddressSize;
213 DWORD dwDisplayableAddressOffset;
214 DWORD dwCalledPartySize;
215 DWORD dwCalledPartyOffset;
217 DWORD dwCommentOffset;
218 DWORD dwUserUserInfoSize;
219 DWORD dwUserUserInfoOffset;
220 DWORD dwHighLevelCompSize;
221 DWORD dwHighLevelCompOffset;
222 DWORD dwLowLevelCompSize;
223 DWORD dwLowLevelCompOffset;
224 DWORD dwDevSpecificSize;
225 DWORD dwDevSpecificOffset;
226 } LINECALLPARAMS, *LPLINECALLPARAMS;
228 typedef struct linecallstatus_tag {
233 DWORD dwCallStateMode;
234 DWORD dwCallPrivilege;
235 DWORD dwCallFeatures;
236 DWORD dwDevSpecificSize;
237 DWORD dwDevSpecificOffset;
238 } LINECALLSTATUS, *LPLINECALLSTATUS;
240 typedef struct linecountrylist_tag {
244 DWORD dwNumCountries;
245 DWORD dwCountryListSize;
246 DWORD dwCountryListOffset;
247 } LINECOUNTRYLIST, *LPLINECOUNTRYLIST;
249 typedef struct linecountryentry_tag {
252 DWORD dwNextCountryID;
253 DWORD dwCountryNameSize;
254 DWORD dwCountryNameOffset;
255 DWORD dwSameAreaRuleSize;
256 DWORD dwSameAreaRuleOffset;
257 DWORD dwLongDistanceRuleSize;
258 DWORD dwLongDistanceRuleOffset;
259 DWORD dwInternationalRuleSize;
260 DWORD dwInternationalRuleOffset;
261 } LINECOUNTRYENTRY, *LPLINECOUNTRYENTRY;
263 typedef struct linedevcaps_tag {
267 DWORD dwProviderInfoSize;
268 DWORD dwProviderInfoOffset;
269 DWORD dwSwitchInfoSize;
270 DWORD dwSwitchInfoOffset;
271 DWORD dwPermanentLineID;
272 DWORD dwLineNameSize;
273 DWORD dwLineNameOffset;
274 DWORD dwStringFormat;
275 DWORD dwAddressModes;
276 DWORD dwNumAddresses;
280 DWORD dwGenerateToneModes;
281 DWORD dwGenerateToneMaxNumFreq;
282 DWORD dwGenerateDigitModes;
283 DWORD dwMonitorToneMaxNumFreq;
284 DWORD dwMonitorToneMaxNumEntries;
285 DWORD dwMonitorDigitModes;
286 DWORD dwGatherDigitsMinTimeout;
287 DWORD dwGatherDigitsMaxTimeout;
288 DWORD dwMedCtlDigitMaxListSize;
289 DWORD dwMedCtlMediaMaxListSize;
290 DWORD dwMedCtlToneMaxListSize;
291 DWORD dwMedCtlCallStateMaxListSize;
293 DWORD dwMaxNumActiveCalls;
297 DWORD dwUUIAcceptSize;
298 DWORD dwUUIAnswerSize;
299 DWORD dwUUIMakeCallSize;
301 DWORD dwUUISendUserUserInfoSize;
302 DWORD dwUUICallInfoSize;
303 LINEDIALPARAMS MinDialParams;
304 LINEDIALPARAMS MaxDialParams;
305 LINEDIALPARAMS DefaultDialParams;
306 DWORD dwNumTerminals;
307 DWORD dwTerminalCapsSize;
308 DWORD dwTerminalCapsOffset;
309 DWORD dwTerminalTextEntrySize;
310 DWORD dwTerminalTextSize;
311 DWORD dwTerminalTextOffset;
312 DWORD dwDevSpecificSize;
313 DWORD dwDevSpecificOffset;
314 DWORD dwLineFeatures;
315 } LINEDEVCAPS, *LPLINEDEVCAPS;
317 typedef struct linedevstatus_tag {
322 DWORD dwOpenMediaModes;
323 DWORD dwNumActiveCalls;
324 DWORD dwNumOnHoldCalls;
325 DWORD dwNumOnHoldPendingCalls;
326 DWORD dwLineFeatures;
327 DWORD dwNumCallCompletion;
330 DWORD dwBatteryLevel;
332 DWORD dwDevStatusFlags;
333 DWORD dwTerminalModesSize;
334 DWORD dwTerminalModesOffset;
335 DWORD dwDevSpecificSize;
336 DWORD dwDevSpecificOffset;
337 } LINEDEVSTATUS, *LPLINEDEVSTATUS;
339 typedef struct lineextensionid_tag {
340 DWORD dwExtensionID0;
341 DWORD dwExtensionID1;
342 DWORD dwExtensionID2;
343 DWORD dwExtensionID3;
344 } LINEEXTENSIONID, *LPLINEEXTENSIONID;
346 typedef struct lineforward_tag {
348 DWORD dwCallerAddressSize;
349 DWORD dwCallerAddressOffset;
350 DWORD dwDestCountryCode;
351 DWORD dwDestAddressSize;
352 DWORD dwDestAddressOffset;
353 } LINEFORWARD, *LPLINEFORWARD;
355 typedef struct lineforwardlist_tag {
358 LINEFORWARD ForwardList[1];
359 } LINEFORWARDLIST, *LPLINEFORWARDLIST;
361 typedef struct linegeneratetone_tag {
366 } LINEGENERATETONE, *LPLINEGENERATETONE;
368 typedef struct linemediacontrolcallstate_tag {
370 DWORD dwMediaControl;
371 } LINEMEDIACONTROLCALLSTATE, *LPLINEMEDIACONTROLCALLSTATE;
373 typedef struct linemediacontroldigit_tag {
376 DWORD dwMediaControl;
377 } LINEMEDIACONTROLDIGIT, *LPLINEMEDIACONTROLDIGIT;
379 typedef struct linemediacontrolmedia_tag {
382 DWORD dwMediaControl;
383 } LINEMEDIACONTROLMEDIA, *LPLINEMEDIACONTROLMEDIA;
385 typedef struct linemediacontroltone_tag {
391 DWORD dwMediaControl;
392 } LINEMEDIACONTROLTONE, *LPLINEMEDIACONTROLTONE;
394 typedef struct linemonitortone_tag {
400 } LINEMONITORTONE, *LPLINEMONITORTONE;
402 typedef struct lineproviderlist_tag {
406 DWORD dwNumProviders;
407 DWORD dwProviderListSize;
408 DWORD dwProviderListOffset;
409 } LINEPROVIDERLIST, *LPLINEPROVIDERLIST;
411 typedef struct linetranslatecaps_tag {
415 DWORD dwNumLocations;
416 DWORD dwLocationListSize;
417 DWORD dwLocationListOffset;
418 DWORD dwCurrentLocationID;
420 DWORD dwCardListSize;
421 DWORD dwCardListOffset;
422 DWORD dwCurrentPreferredCardID;
423 } LINETRANSLATECAPS, *LPLINETRANSLATECAPS;
425 typedef struct linetranslateoutput_tag {
429 DWORD dwDialableStringSize;
430 DWORD dwDialableStringOffset;
431 DWORD dwDisplayableStringSize;
432 DWORD dwDisplayableStringOffset;
433 DWORD dwCurrentCountry;
435 DWORD dwTranslateResults;
436 } LINETRANSLATEOUTPUT, *LPLINETRANSLATEOUTPUT;
438 typedef void (CALLBACK *LINECALLBACK)(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD);
440 typedef struct _PHONEAPP {
442 } PHONEAPP, *LPPHONEAPP;
444 typedef struct _PHONE {
449 typedef struct phonebuttoninfo_tag {
454 DWORD dwButtonFunction;
455 DWORD dwButtonTextSize;
456 DWORD dwButtonTextOffset;
457 DWORD dwDevSpecificSize;
458 DWORD dwDevSpecificOffset;
460 } PHONEBUTTONINFO, *LPPHONEBUTTONINFO;
462 typedef struct phonecaps_tag {
466 DWORD dwProviderInfoSize;
467 DWORD dwProviderInfoOffset;
468 DWORD dwPhoneInfoSize;
469 DWORD dwPhoneInfoOffset;
470 DWORD dwPermanentPhoneID;
471 DWORD dwPhoneNameSize;
472 DWORD dwPhoneNameOffset;
473 DWORD dwStringFormat;
475 DWORD dwHookSwitchDevs;
476 DWORD dwHandsetHookSwitchModes;
477 DWORD dwSpeakerHookSwitchModes;
478 DWORD dwHeadsetHookSwitchModes;
481 DWORD dwDisplayNumRows;
482 DWORD dwDisplayNumColumns;
483 DWORD dwNumRingModes;
484 DWORD dwNumButtonLamps;
485 DWORD dwButtonModesSize;
486 DWORD dwButtonModesOffset;
487 DWORD dwButtonFunctionsSize;
488 DWORD dwButtonFunctionsOffset;
489 DWORD dwLampModesSize;
490 DWORD dwLampModesOffset;
493 DWORD dwSetDataOffset;
496 DWORD dwGetDataOffset;
497 DWORD dwDevSpecificSize;
498 DWORD dwDevSpecificOffset;
499 } PHONECAPS, *LPPHONECAPS;
501 typedef struct phoneextensionid_tag {
502 DWORD dwExtensionID0;
503 DWORD dwExtensionID1;
504 DWORD dwExtensionID2;
505 DWORD dwExtensionID3;
506 } PHONEEXTENSIONID, *LPPHONEEXTENSIONID;
508 typedef struct phonestatus_tag {
516 DWORD dwHandsetHookSwitchMode;
517 DWORD dwHandsetVolume;
519 DWORD dwSpeakerHookSwitchMode;
520 DWORD dwSpeakerVolume;
522 DWORD dwHeadsetHookSwitchMode;
523 DWORD dwHeadsetVolume;
526 DWORD dwDisplayOffset;
527 DWORD dwLampModesSize;
528 DWORD dwLampModesOffset;
529 DWORD dwOwnerNameSize;
530 DWORD dwOwnerNameOffset;
531 DWORD dwDevSpecificSize;
532 DWORD dwDevSpecificOffset;
533 } PHONESTATUS, *LPPHONESTATUS;
535 typedef void (CALLBACK *PHONECALLBACK)(HANDLE, DWORD, DWORD, DWORD, DWORD, DWORD);
537 typedef struct varstring_tag {
541 DWORD dwStringFormat;
543 DWORD dwStringOffset;
544 } VARSTRING, *LPVARSTRING;
547 DWORD WINAPI lineAccept(HCALL,LPCSTR,DWORD);
548 DWORD WINAPI lineAddProvider(LPCSTR,HWND,LPDWORD);
549 DWORD WINAPI lineAddToConference(HCALL,HCALL);
550 DWORD WINAPI lineAnswer(HCALL,LPCSTR,DWORD);
551 DWORD WINAPI lineBlindTransfer(HCALL,LPCSTR,DWORD);
552 DWORD WINAPI lineClose(HLINE);
553 DWORD WINAPI lineCompleteCall(HCALL,LPDWORD,DWORD,DWORD);
554 DWORD WINAPI lineCompleteTransfer(HCALL,HCALL,LPHCALL,DWORD);
555 DWORD WINAPI lineConfigDialog(DWORD,HWND,LPCSTR);
556 DWORD WINAPI lineConfigDialogEdit(DWORD,HWND,LPCSTR,LPVOID const,DWORD,LPVARSTRING);
557 DWORD WINAPI lineConfigProvider(HWND,DWORD);
558 DWORD WINAPI lineDeallocateCall(HCALL);
559 DWORD WINAPI lineDevSpecific(HLINE,DWORD,HCALL,LPVOID,DWORD);
560 DWORD WINAPI lineDevSpecificFeature(HLINE,DWORD,LPVOID,DWORD);
561 DWORD WINAPI lineDial(HCALL,LPCSTR,DWORD);
562 DWORD WINAPI lineDrop(HCALL,LPCSTR,DWORD);
563 DWORD WINAPI lineForward(HLINE,DWORD,DWORD,LPLINEFORWARDLIST,DWORD,LPHCALL,LPLINECALLPARAMS);
564 DWORD WINAPI lineGatherDigits(HCALL,DWORD,LPSTR,DWORD,LPCSTR,DWORD,DWORD);
565 DWORD WINAPI lineGenerateDigits(HCALL,DWORD,LPCSTR,DWORD);
566 DWORD WINAPI lineGenerateTone(HCALL,DWORD,DWORD,DWORD,LPLINEGENERATETONE);
567 DWORD WINAPI lineGetAddressCaps(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPLINEADDRESSCAPS);
568 DWORD WINAPI lineGetAddressID(HLINE,LPDWORD,DWORD,LPCSTR,DWORD);
569 DWORD WINAPI lineGetAddressStatus(HLINE,DWORD,LPLINEADDRESSSTATUS);
570 DWORD WINAPI lineGetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPVARSTRING,LPDWORD);
571 DWORD WINAPI lineGetCallInfo(HCALL,LPLINECALLINFO);
572 DWORD WINAPI lineGetCallStatus(HCALL,LPLINECALLSTATUS);
573 DWORD WINAPI lineGetConfRelatedCalls(HCALL,LPLINECALLLIST);
574 DWORD WINAPI lineGetCountry(DWORD,DWORD,LPLINECOUNTRYLIST);
575 DWORD WINAPI lineGetDevCaps(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
576 DWORD WINAPI lineGetDevConfig(DWORD,LPVARSTRING,LPCSTR);
577 DWORD WINAPI lineGetID(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCSTR);
578 DWORD WINAPI lineGetIcon(DWORD,LPCSTR,HICON *);
579 DWORD WINAPI lineGetLineDevStatus(HLINE,LPLINEDEVSTATUS);
580 DWORD WINAPI lineGetNewCalls(HLINE,DWORD,DWORD,LPLINECALLLIST);
581 DWORD WINAPI lineGetNumRings(HLINE,DWORD,LPDWORD);
582 DWORD WINAPI lineGetProviderList(DWORD dwAPIVersion,LPLINEPROVIDERLIST);
583 DWORD WINAPI lineGetRequest(HLINEAPP,DWORD,LPVOID);
584 DWORD WINAPI lineGetStatusMessages(HLINE,LPDWORD,LPDWORD);
585 DWORD WINAPI lineGetTranslateCaps(HLINEAPP,DWORD,LPLINETRANSLATECAPS);
586 DWORD WINAPI lineHandoff(HCALL,LPCSTR,DWORD);
587 DWORD WINAPI lineHold(HCALL);
588 DWORD WINAPI lineInitialize(LPHLINEAPP,HINSTANCE,LINECALLBACK,LPCSTR,LPDWORD);
589 DWORD WINAPI lineMakeCall(HLINE,LPHCALL,LPCSTR,DWORD,LPLINECALLPARAMS);
590 DWORD WINAPI lineMonitorDigits(HCALL,DWORD);
591 DWORD WINAPI lineMonitorMedia(HCALL,DWORD);
592 DWORD WINAPI lineMonitorTones(HCALL,LPLINEMONITORTONE,DWORD);
593 DWORD WINAPI lineNegotiateAPIVersion(HLINEAPP,DWORD,DWORD,DWORD,LPDWORD,LPLINEEXTENSIONID);
594 DWORD WINAPI lineNegotiateExtVersion(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
595 DWORD WINAPI lineOpen(HLINEAPP,DWORD,LPHLINE,DWORD,DWORD,DWORD,DWORD,DWORD,LPLINECALLPARAMS);
596 DWORD WINAPI linePark(HCALL,DWORD,LPCSTR,LPVARSTRING);
597 DWORD WINAPI linePickup(HLINE,DWORD,LPHCALL,LPCSTR,LPCSTR);
598 DWORD WINAPI linePrepareAddToConference(HCALL,LPHCALL,LPLINECALLPARAMS);
599 DWORD WINAPI lineRedirect(HCALL,LPCSTR,DWORD);
600 DWORD WINAPI lineRegisterRequestRecipient(HLINEAPP,DWORD,DWORD,DWORD);
601 DWORD WINAPI lineReleaseUserUserInfo(HCALL);
602 DWORD WINAPI lineRemoveFromConference(HCALL);
603 DWORD WINAPI lineRemoveProvider(DWORD,HWND);
604 DWORD WINAPI lineSecureCall(HCALL);
605 DWORD WINAPI lineSendUserUserInfo(HCALL,LPCSTR,DWORD);
606 DWORD WINAPI lineSetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPCSTR,DWORD);
607 DWORD WINAPI lineSetAppSpecific(HCALL,DWORD);
608 DWORD WINAPI lineSetCallParams(HCALL,DWORD,DWORD,DWORD,LPLINEDIALPARAMS);
609 DWORD WINAPI lineSetCallPrivilege(HCALL,DWORD);
610 DWORD WINAPI lineSetCurrentLocation(HLINEAPP,DWORD);
611 DWORD WINAPI lineSetDevConfig(DWORD,LPVOID,DWORD,LPCSTR);
612 DWORD WINAPI lineSetMediaControl(HLINE,DWORD,HCALL,DWORD,LPLINEMEDIACONTROLDIGIT,DWORD,LPLINEMEDIACONTROLMEDIA,DWORD,LPLINEMEDIACONTROLTONE,DWORD,LPLINEMEDIACONTROLCALLSTATE,DWORD);
613 DWORD WINAPI lineSetMediaMode(HCALL,DWORD);
614 DWORD WINAPI lineSetNumRings(HLINE,DWORD,DWORD);
615 DWORD WINAPI lineSetStatusMessages(HLINE,DWORD,DWORD);
616 DWORD WINAPI lineSetTerminal(HLINE,DWORD,HCALL,DWORD,DWORD,DWORD,DWORD);
617 DWORD WINAPI lineSetTollList(HLINEAPP,DWORD,LPCSTR,DWORD);
618 DWORD WINAPI lineSetupConference(HCALL,HLINE,LPHCALL,LPHCALL,DWORD,LPLINECALLPARAMS);
619 DWORD WINAPI lineSetupTransfer(HCALL,LPHCALL,LPLINECALLPARAMS);
620 DWORD WINAPI lineShutdown(HLINEAPP);
621 DWORD WINAPI lineSwapHold(HCALL,HCALL);
622 DWORD WINAPI lineTranslateAddress(HLINEAPP,DWORD,DWORD,LPCSTR,DWORD,DWORD,LPLINETRANSLATEOUTPUT);
623 DWORD WINAPI lineTranslateDialog(HLINEAPP,DWORD,DWORD,HWND,LPCSTR);
624 DWORD WINAPI lineUncompleteCall(HLINE,DWORD);
625 DWORD WINAPI lineUnHold(HCALL);
626 DWORD WINAPI lineUnpark(HLINE,DWORD,LPHCALL,LPCSTR);
628 /* phone functions */
629 DWORD WINAPI phoneClose(HPHONE);
630 DWORD WINAPI phoneConfigDialog(DWORD,HWND,LPCSTR);
631 DWORD WINAPI phoneDevSpecific(HPHONE,LPVOID,DWORD);
632 DWORD WINAPI phoneGetButtonInfo(HPHONE,DWORD,LPPHONEBUTTONINFO);
633 DWORD WINAPI phoneGetData(HPHONE,DWORD,LPVOID,DWORD);
634 DWORD WINAPI phoneGetDevCaps(HPHONEAPP,DWORD,DWORD,DWORD,LPPHONECAPS);
635 DWORD WINAPI phoneGetDisplay(HPHONE,LPVARSTRING);
636 DWORD WINAPI phoneGetGain(HPHONE,DWORD,LPDWORD);
637 DWORD WINAPI phoneGetHookSwitch(HPHONE,LPDWORD);
638 DWORD WINAPI phoneGetID(HPHONE,LPVARSTRING,LPCSTR);
639 DWORD WINAPI phoneGetIcon(DWORD,LPCSTR,HICON *);
640 DWORD WINAPI phoneGetLamp(HPHONE,DWORD,LPDWORD);
641 DWORD WINAPI phoneGetRing(HPHONE,LPDWORD,LPDWORD);
642 DWORD WINAPI phoneGetStatus(HPHONE,LPPHONESTATUS);
643 DWORD WINAPI phoneGetStatusMessages(HPHONE,LPDWORD,LPDWORD,LPDWORD);
644 DWORD WINAPI phoneGetVolume(HPHONE,DWORD,LPDWORD);
645 DWORD WINAPI phoneInitialize(LPHPHONEAPP,HINSTANCE,PHONECALLBACK,LPCSTR,LPDWORD);
646 DWORD WINAPI phoneNegotiateAPIVersion(HPHONEAPP,DWORD,DWORD,DWORD,LPDWORD,LPPHONEEXTENSIONID);
647 DWORD WINAPI phoneNegotiateExtVersion(HPHONEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
648 DWORD WINAPI phoneOpen(HPHONEAPP,DWORD,LPHPHONE,DWORD,DWORD,DWORD,DWORD);
649 DWORD WINAPI phoneSetButtonInfo(HPHONE,DWORD,LPPHONEBUTTONINFO);
650 DWORD WINAPI phoneSetData(HPHONE,DWORD,LPVOID,DWORD);
651 DWORD WINAPI phoneSetDisplay(HPHONE,DWORD,DWORD,LPCSTR,DWORD);
652 DWORD WINAPI phoneSetGain(HPHONE,DWORD,DWORD);
653 DWORD WINAPI phoneSetHookSwitch(HPHONE,DWORD,DWORD);
654 DWORD WINAPI phoneSetLamp(HPHONE,DWORD,DWORD);
655 DWORD WINAPI phoneSetRing(HPHONE,DWORD,DWORD);
656 DWORD WINAPI phoneSetStatusMessages(HPHONE,DWORD,DWORD,DWORD);
657 DWORD WINAPI phoneSetVolume(HPHONE,DWORD,DWORD);
658 DWORD WINAPI phoneShutdown(HPHONEAPP);
660 /* "assisted" functions */
661 DWORD WINAPI tapiGetLocationInfo(LPSTR,LPSTR);
662 DWORD WINAPI tapiRequestMakeCall(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
666 #endif /* defined(__cplusplus) */
668 #endif /* __WINE_TAPI_H */