server: Remove the extra apc_arg parameter now that user APCs all require the same...
[wine] / include / tapi.h
1 /*
2  * TAPI definitions
3  *
4  * Copyright (c) 1999 Andreas Mohr
5  *
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.
10  *
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.
15  *
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20
21 #ifndef __WINE_TAPI_H
22 #define __WINE_TAPI_H
23
24 #ifndef __WINESRC__
25 # include <windows.h>
26 #endif
27 #include <basetsd.h>
28 #include <oaidl.h>
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif /* defined(__cplusplus) */
33
34 typedef HANDLE HCALL, *LPHCALL;
35 typedef HANDLE HLINE, *LPHLINE;
36 typedef HANDLE HLINEAPP, *LPHLINEAPP;
37 typedef HANDLE HPHONE, *LPHPHONE;
38 typedef HANDLE HPHONEAPP, *LPHPHONEAPP;
39
40 #define TAPIERR_REQUESTFAILED            -16L
41 #define LINEERR_ALLOCATED              0x80000001
42 #define LINEERR_BADDEVICEID            0x80000002
43 #define LINEERR_BEARERMODEUNAVAIL      0x80000003
44 #define LINEERR_CALLUNAVAIL            0x80000005
45 #define LINEERR_COMPLETIONOVERRUN      0x80000006
46 #define LINEERR_CONFERENCEFULL         0x80000007
47 #define LINEERR_DIALBILLING            0x80000008
48 #define LINEERR_DIALDIALTONE           0x80000009
49 #define LINEERR_DIALPROMPT             0x8000000A
50 #define LINEERR_DIALQUIET              0x8000000B
51 #define LINEERR_INCOMPATIBLEAPIVERSION 0x8000000C
52 #define LINEERR_INCOMPATIBLEEXTVERSION 0x8000000D
53 #define LINEERR_INIFILECORRUPT         0x8000000E
54 #define LINEERR_INUSE                  0x8000000F
55 #define LINEERR_INVALADDRESS           0x80000010
56 #define LINEERR_INVALADDRESSID         0x80000011
57 #define LINEERR_INVALADDRESSMODE       0x80000012
58 #define LINEERR_INVALADDRESSSTATE      0x80000013
59 #define LINEERR_INVALAPPHANDLE         0x80000014
60 #define LINEERR_INVALAPPNAME           0x80000015
61 #define LINEERR_INVALBEARERMODE        0x80000016
62 #define LINEERR_INVALCALLCOMPLMODE     0x80000017
63 #define LINEERR_INVALCALLHANDLE        0x80000018
64 #define LINEERR_INVALCALLPARAMS        0x80000019
65 #define LINEERR_INVALCALLPRIVILEGE     0x8000001A
66 #define LINEERR_INVALCALLSELECT        0x8000001B
67 #define LINEERR_INVALCALLSTATE         0x8000001C
68 #define LINEERR_INVALCALLSTATELIST     0x8000001D
69 #define LINEERR_INVALCARD              0x8000001E
70 #define LINEERR_INVALCOMPLETIONID      0x8000001F
71 #define LINEERR_INVALCONFCALLHANDLE    0x80000020
72 #define LINEERR_INVALCONSULTCALLHANDLE 0x80000021
73 #define LINEERR_INVALCOUNTRYCODE       0x80000022
74 #define LINEERR_INVALDEVICECLASS       0x80000023
75 #define LINEERR_INVALDEVICEHANDLE      0x80000024
76 #define LINEERR_INVALDIALPARAMS        0x80000025
77 #define LINEERR_INVALDIGITLIST         0x80000026
78 #define LINEERR_INVALDIGITMODE         0x80000027
79 #define LINEERR_INVALDIGITS            0x80000028
80 #define LINEERR_INVALEXTVERSION        0x80000029
81 #define LINEERR_INVALGROUPID           0x8000002A
82 #define LINEERR_INVALLINEHANDLE        0x8000002B
83 #define LINEERR_INVALLINESTATE         0x8000002C
84 #define LINEERR_INVALLOCATION          0x8000002D
85 #define LINEERR_INVALMEDIALIST         0x8000002E
86 #define LINEERR_INVALMEDIAMODE         0x8000002F
87 #define LINEERR_INVALMESSAGEID         0x80000030
88 #define LINEERR_INVALPARAM             0x80000032
89 #define LINEERR_INVALPARKID            0x80000033
90 #define LINEERR_INVALPARKMODE          0x80000034
91 #define LINEERR_INVALPOINTER           0x80000035
92 #define LINEERR_INVALPRIVSELECT        0x80000036
93 #define LINEERR_INVALRATE              0x80000037
94 #define LINEERR_INVALREQUESTMODE       0x80000038
95 #define LINEERR_INVALTERMINALID        0x80000039
96 #define LINEERR_INVALTERMINALMODE      0x8000003A
97 #define LINEERR_INVALTIMEOUT           0x8000003B
98 #define LINEERR_INVALTONE              0x8000003C
99 #define LINEERR_INVALTONELIST          0x8000003D
100 #define LINEERR_INVALTONEMODE          0x8000003E
101 #define LINEERR_INVALTRANSFERMODE      0x8000003F
102 #define LINEERR_LINEMAPPERFAILED       0x80000040
103 #define LINEERR_NOCONFERENCE           0x80000041
104 #define LINEERR_NODEVICE               0x80000042
105 #define LINEERR_NODRIVER               0x80000043
106 #define LINEERR_NOMEM                  0x80000044
107 #define LINEERR_NOREQUEST              0x80000045
108 #define LINEERR_NOTOWNER               0x80000046
109 #define LINEERR_NOTREGISTERED          0x80000047
110 #define LINEERR_OPERATIONFAILED        0x80000048
111 #define LINEERR_OPERATIONUNAVAIL       0x80000049
112 #define LINEERR_RATEUNAVAIL            0x8000004A
113 #define LINEERR_RESOURCEUNAVAIL        0x8000004B
114 #define LINEERR_REQUESTOVERRUN         0x8000004C
115 #define LINEERR_STRUCTURETOOSMALL      0x8000004D
116 #define LINEERR_TARGETNOTFOUND         0x8000004E
117 #define LINEERR_TARGETSELF             0x8000004F
118 #define LINEERR_UNINITIALIZED          0x80000050
119 #define LINEERR_USERUSERINFOTOOBIG     0x80000051
120 #define LINEERR_REINIT                 0x80000052
121 #define LINEERR_ADDRESSBLOCKED         0x80000053
122 #define LINEERR_BILLINGREJECTED        0x80000054
123 #define LINEERR_INVALFEATURE           0x80000055
124 #define LINEERR_NOMULTIPLEINSTANCE     0x80000056
125
126 #define STRINGFORMAT_ASCII             0x00000001
127 #define STRINGFORMAT_DBCS              0x00000002
128 #define STRINGFORMAT_UNICODE           0x00000003
129 #define STRINGFORMAT_BINARY            0x00000004
130
131 #define LINEADDRESSMODE_ADDRESSID      0x00000001
132 #define LINEADDRESSMODE_DIALABLEADDR   0x00000002
133
134 #define LINEBEARERMODE_VOICE           0x00000001
135 #define LINEBEARERMODE_SPEECH          0x00000002
136 #define LINEBEARERMODE_MULTIUSE        0x00000004
137 #define LINEBEARERMODE_DATA            0x00000008
138 #define LINEBEARERMODE_ALTSPEECHDATA   0x00000010
139 #define LINEBEARERMODE_NONCALLSIGNALING 0x00000020
140 #define LINEBEARERMODE_PASSTHROUGH     0x00000040
141
142 #define LINEMEDIAMODE_UNKNOWN          0x00000002
143 #define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004
144 #define LINEMEDIAMODE_AUTOMATEDVOICE   0x00000008
145 #define LINEMEDIAMODE_DATAMODEM        0x00000010
146
147 #define LINEDEVCAPFLAGS_CROSSADDRCONF  0x00000001
148 #define LINEDEVCAPFLAGS_HIGHLEVCOMP    0x00000002
149 #define LINEDEVCAPFLAGS_LOWLEVCOMP     0x00000004
150 #define LINEDEVCAPFLAGS_MEDIACONTROL   0x00000008
151 #define LINEDEVCAPFLAGS_MULTIPLEADDR   0x00000010
152 #define LINEDEVCAPFLAGS_CLOSEDROP      0x00000020
153 #define LINEDEVCAPFLAGS_DIALBILLING    0x00000040
154 #define LINEDEVCAPFLAGS_DIALQUIET      0x00000080
155 #define LINEDEVCAPFLAGS_DIALDIALTONE   0x00000100
156
157 #define LINEDEVSTATE_OTHER             0x00000001
158 #define LINEDEVSTATE_RINGING           0x00000002
159 #define LINEDEVSTATE_CONNECTED         0x00000004
160 #define LINEDEVSTATE_DISCONNECTED      0x00000008
161 #define LINEDEVSTATE_MSGWAITON         0x00000010
162 #define LINEDEVSTATE_MSGWAITOFF        0x00000020
163 #define LINEDEVSTATE_INSERVICE         0x00000040
164 #define LINEDEVSTATE_OUTOFSERVICE      0x00000080
165 #define LINEDEVSTATE_MAINTENANCE       0x00000100
166 #define LINEDEVSTATE_OPEN              0x00000200
167 #define LINEDEVSTATE_CLOSE             0x00000400
168 #define LINEDEVSTATE_NUMCALLS          0x00000800
169 #define LINEDEVSTATE_NUMCOMPLETIONS    0x00001000
170 #define LINEDEVSTATE_TERMINALS         0x00002000
171 #define LINEDEVSTATE_ROAMMODE          0x00004000
172 #define LINEDEVSTATE_BATTERY           0x00008000
173 #define LINEDEVSTATE_SIGNAL            0x00010000
174 #define LINEDEVSTATE_DEVSPECIFIC       0x00020000
175 #define LINEDEVSTATE_REINIT            0x00040000
176 #define LINEDEVSTATE_LOCK              0x00080000
177
178 #define LINEDEVSTATE_CAPSCHANGE        0x00100000
179 #define LINEDEVSTATE_CONFIGCHANGE      0x00200000
180 #define LINEDEVSTATE_TRANSLATECHANGE   0x00400000
181 #define LINEDEVSTATE_COMPLCANCEL       0x00800000
182 #define LINEDEVSTATE_REMOVED           0x01000000
183
184 #define LINELOCATIONOPTION_PULSEDIAL   0x00000001
185
186
187 #define LINEFEATURE_DEVSPECIFIC        0x00000001
188 #define LINEFEATURE_DEVSPECIFICFEAT    0x00000002
189 #define LINEFEATURE_FORWARD            0x00000004
190 #define LINEFEATURE_MAKECALL           0x00000008
191 #define LINEFEATURE_SETMEDIACONTROL    0x00000010
192 #define LINEFEATURE_SETTERMINAL        0x00000020
193 #define LINEFEATURE_SETDEVSTATUS       0x00000040
194 #define LINEFEATURE_FORWARDFWD         0x00000080
195 #define LINEFEATURE_FORWARDDND         0x00000100
196
197 /* tapi callback messages */
198
199 #define LINE_ADDRESSSTATE              0L
200 #define LINE_CALLINFO                  1L
201 #define LINE_CALLSTATE                 2L
202 #define LINE_CLOSE                     3L
203 #define LINE_DEVSPECIFIC               4L
204 #define LINE_DEVSPECIFICFEATURE        5L
205 #define LINE_GATHERDIGITS              6L
206 #define LINE_GENERATE                  7L
207 #define LINE_LINEDEVSTATE              8L
208 #define LINE_MONITORDIGITS             9L
209 #define LINE_MONITORMEDIA             10L
210 #define LINE_MONITORTONE              11L
211 #define LINE_REPLY                    12L
212 #define LINE_REQUEST                  13L
213 #define PHONE_BUTTON                  14L
214 #define PHONE_CLOSE                   15L
215 #define PHONE_DEVSPECIFIC             16L
216 #define PHONE_REPLY                   17L
217 #define PHONE_STATE                   18L
218 #define LINE_CREATE                   19L
219 #define PHONE_CREATE                  20L
220
221 #define LINE_AGENTSPECIFIC            21L
222 #define LINE_AGENTSTATUS              22L
223 #define LINE_APPNEWCALL               23L
224 #define LINE_PROXYREQUEST             24L
225 #define LINE_REMOVE                   25L
226 #define PHONE_REMOVE                  26L
227 /* these are used as Param1 of line_callstate messages */
228 #define LINECALLSTATE_IDLE            0x00000001
229 #define LINECALLSTATE_OFFERING        0x00000002
230 #define LINECALLSTATE_ACCEPTED        0x00000004
231 #define LINECALLSTATE_DIALTONE        0x00000008
232 #define LINECALLSTATE_DIALING         0x00000010
233 #define LINECALLSTATE_RINGBACK        0x00000020
234 #define LINECALLSTATE_BUSY            0x00000040
235 #define LINECALLSTATE_SPECIALINFO     0x00000080
236 #define LINECALLSTATE_CONNECTED       0x00000100
237 #define LINECALLSTATE_PROCEEDING      0x00000200
238 #define LINECALLSTATE_ONHOLD          0x00000400
239 #define LINECALLSTATE_CONFERENCED     0x00000800
240 #define LINECALLSTATE_ONHOLDPENDCONF  0x00001000
241 #define LINECALLSTATE_ONHOLDPENDTRANSFER 0x00002000
242 #define LINECALLSTATE_DISCONNECTED    0x00004000
243 #define LINECALLSTATE_UNKNOWN         0x00008000
244 #define LINECONNECTEDMODE_ACTIVE            0x00000001
245 #define LINECONNECTEDMODE_INACTIVE          0x00000002
246 #define LINECONNECTEDMODE_ACTIVEHELD        0x00000004
247 #define LINECONNECTEDMODE_INACTIVEHELD      0x00000008
248 #define LINECONNECTEDMODE_CONFIRMED         0x00000010
249
250 /* these are Param2 values for state_disconnected line_callstate messages */
251 #define LINEDISCONNECTMODE_NORMAL           0x00000001
252 #define LINEDISCONNECTMODE_UNKNOWN          0x00000002
253 #define LINEDISCONNECTMODE_REJECT           0x00000004
254 #define LINEDISCONNECTMODE_PICKUP           0x00000008
255 #define LINEDISCONNECTMODE_FORWARDED        0x00000010
256 #define LINEDISCONNECTMODE_BUSY             0x00000020
257 #define LINEDISCONNECTMODE_NOANSWER         0x00000040
258 #define LINEDISCONNECTMODE_BADADDRESS       0x00000080
259 #define LINEDISCONNECTMODE_UNREACHABLE      0x00000100
260 #define LINEDISCONNECTMODE_CONGESTION       0x00000200
261 #define LINEDISCONNECTMODE_INCOMPATIBLE     0x00000400
262 #define LINEDISCONNECTMODE_UNAVAIL          0x00000800
263 #define LINEDISCONNECTMODE_NODIALTONE       0x00001000
264 #define LINEDISCONNECTMODE_NUMBERCHANGED    0x00002000
265 #define LINEDISCONNECTMODE_OUTOFORDER       0x00004000
266 #define LINEDISCONNECTMODE_TEMPFAILURE      0x00008000
267 #define LINEDISCONNECTMODE_QOSUNAVAIL       0x00010000
268 #define LINEDISCONNECTMODE_BLOCKED          0x00020000
269 #define LINEDISCONNECTMODE_DONOTDISTURB     0x00040000
270 #define LINEDISCONNECTMODE_CANCELLED        0x00080000
271
272 #define LINECALLSELECT_LINE                 0x00000001
273 #define LINECALLSELECT_ADDRESS              0x00000002
274 #define LINECALLSELECT_CALL                 0x00000004
275 #define LINECALLSELECT_DEVICEID             0x00000008
276
277 #define LINECALLPRIVILEGE_NONE              0x00000001
278 #define LINECALLPRIVILEGE_MONITOR           0x00000002
279 #define LINECALLPRIVILEGE_OWNER             0x00000004
280 #define LINECALLFEATURE_ACCEPT              0x00000001
281 #define LINECALLFEATURE_ADDTOCONF           0x00000002
282 #define LINECALLFEATURE_ANSWER              0x00000004
283 #define LINECALLFEATURE_BLINDTRANSFER       0x00000008
284 #define LINECALLFEATURE_COMPLETECALL        0x00000010
285 #define LINECALLFEATURE_COMPLETETRANSF      0x00000020
286 #define LINECALLFEATURE_DIAL                0x00000040
287 #define LINECALLFEATURE_DROP                0x00000080
288 #define LINECALLFEATURE_GATHERDIGITS        0x00000100
289 #define LINECALLFEATURE_GENERATEDIGITS      0x00000200
290 #define LINECALLFEATURE_GENERATETONE        0x00000400
291 #define LINECALLFEATURE_HOLD                0x00000800
292 #define LINECALLFEATURE_MONITORDIGITS       0x00001000
293 #define LINECALLFEATURE_MONITORMEDIA        0x00002000
294 #define LINECALLFEATURE_MONITORTONES        0x00004000
295 #define LINECALLFEATURE_PARK                0x00008000
296 #define LINECALLFEATURE_PREPAREADDCONF      0x00010000
297 #define LINECALLFEATURE_REDIRECT            0x00020000
298 #define LINECALLFEATURE_REMOVEFROMCONF      0x00040000
299 #define LINECALLFEATURE_SECURECALL          0x00080000
300 #define LINECALLFEATURE_SENDUSERUSER        0x00100000
301 #define LINECALLFEATURE_SETCALLPARAMS       0x00200000
302 #define LINECALLFEATURE_SETMEDIACONTROL     0x00400000
303 #define LINECALLFEATURE_SETTERMINAL         0x00800000
304 #define LINECALLFEATURE_SETUPCONF           0x01000000
305 #define LINECALLFEATURE_SETUPTRANSFER       0x02000000
306 #define LINECALLFEATURE_SWAPHOLD            0x04000000
307 #define LINECALLFEATURE_UNHOLD              0x08000000
308 #define LINECALLFEATURE_RELEASEUSERUSERINFO 0x10000000
309
310 typedef struct lineaddresscaps_tag {
311     DWORD dwTotalSize;
312     DWORD dwNeededSize;
313     DWORD dwUsedSize;
314     DWORD dwLineDeviceID;
315     DWORD dwAddressSize;
316     DWORD dwAddressOffset;
317     DWORD dwDevSpecificSize;
318     DWORD dwDevSpecificOffset;
319     DWORD dwAddressSharing;
320     DWORD dwAddressStates;
321     DWORD dwCallInfoStates;
322     DWORD dwCallerIDFlags;
323     DWORD dwCalledIDFlags;
324     DWORD dwConnectedIDFlags;
325     DWORD dwRedirectionIDFlags;
326     DWORD dwRedirectingIDFlags;
327     DWORD dwCallStates;
328     DWORD dwDialToneModes;
329     DWORD dwBusyModes;
330     DWORD dwSpecialInfo;
331     DWORD dwDisconnectModes;
332     DWORD dwMaxNumActiveCalls;
333     DWORD dwMaxNumOnHoldCalls;
334     DWORD dwMaxNumOnHoldPendingCalls;
335     DWORD dwMaxNumConference;
336     DWORD dwMaxNumTransConf;
337     DWORD dwAddrCapFlags;
338     DWORD dwCallFeatures;
339     DWORD dwRemoveFromConfCaps;
340     DWORD dwRemoveFromConfState;
341     DWORD dwTransferModes;
342     DWORD dwParkModes;
343     DWORD dwForwardModes;
344     DWORD dwMaxForwardEntries;
345     DWORD dwMaxSpecificEntries;
346     DWORD dwMinFwdNumRings;
347     DWORD dwMaxFwdNumRings;
348     DWORD dwMaxCallCompletions;
349     DWORD dwCallCompletionConds;
350     DWORD dwCallCompletionModes;
351     DWORD dwNumCompletionMessages;
352     DWORD dwCompletionMsgTextEntrySize;
353     DWORD dwCompletionMsgTextSize;
354     DWORD dwCompletionMsgTextOffset;
355     DWORD dwAddressFeatures;
356 } LINEADDRESSCAPS, *LPLINEADDRESSCAPS;
357
358 typedef struct lineaddressstatus_tag {
359     DWORD dwTotalSize;
360     DWORD dwNeededSize;
361     DWORD dwUsedSize;
362     DWORD dwNumInUse;
363     DWORD dwNumActiveCalls;
364     DWORD dwNumOnHoldCalls;
365     DWORD dwNumOnHoldPendCalls;
366     DWORD dwAddressFeatures;
367     DWORD dwNumRingsNoAnswer;
368     DWORD dwForwardNumEntries;
369     DWORD dwForwardSize;
370     DWORD dwForwardOffset;
371     DWORD dwTerminalModesSize;
372     DWORD dwTerminalModesOffset;
373     DWORD dwDevSpecificSize;
374     DWORD dwDevSpecificOffset;
375 } LINEADDRESSSTATUS, *LPLINEADDRESSSTATUS;
376
377 typedef struct linedialparams_tag {
378     DWORD dwDialPause;
379     DWORD dwDialSpeed;
380     DWORD dwDigitDuration;
381     DWORD dwWaitForDialtone;
382 } LINEDIALPARAMS, *LPLINEDIALPARAMS;
383
384 typedef struct linecallinfo_tag {
385     DWORD dwTotalSize;
386     DWORD dwNeededSize;
387     DWORD dwUsedSize;
388     HLINE hLine;
389     DWORD dwLineDeviceID;
390     DWORD dwAddressID;
391     DWORD dwBearerMode;
392     DWORD dwRate;
393     DWORD dwMediaMode;
394     DWORD dwAppSpecific;
395     DWORD dwCallID;
396     DWORD dwRelatedCallID;
397     DWORD dwCallParamFlags;
398     DWORD dwCallStates;
399     DWORD dwMonitorDigitModes;
400     DWORD dwMonitorMediaModes;
401     LINEDIALPARAMS DialParams;
402     DWORD dwOrigin;
403     DWORD dwReason;
404     DWORD dwCompletionID;
405     DWORD dwNumOwners;
406     DWORD dwNumMonitors;
407     DWORD dwCountryCode;
408     DWORD dwTrunk;
409     DWORD dwCallerIDFlags;
410     DWORD dwCallerIDSize;
411     DWORD dwCallerIDOffset;
412     DWORD dwCallerIDNameSize;
413     DWORD dwCallerIDNameOffset;
414     DWORD dwCalledIDFlags;
415     DWORD dwCalledIDSize;
416     DWORD dwCalledIDOffset;
417     DWORD dwCalledIDNameSize;
418     DWORD dwCalledIDNameOffset;
419     DWORD dwConnectedIDFlags;
420     DWORD dwConnectedIDSize;
421     DWORD dwConnectedIDOffset;
422     DWORD dwConnectedIDNameSize;
423     DWORD dwConnectedIDNameOffset;
424     DWORD dwRedirectionIDFlags;
425     DWORD dwRedirectionIDSize;
426     DWORD dwRedirectionIDOffset;
427     DWORD dwRedirectionIDNameSize;
428     DWORD dwRedirectionIDNameOffset;
429     DWORD dwRedirectingIDFlags;
430     DWORD dwRedirectingIDSize;
431     DWORD dwRedirectingIDOffset;
432     DWORD dwRedirectingIDNameSize;
433     DWORD dwRedirectingIDNameOffset;
434     DWORD dwAppNameSize;
435     DWORD dwAppNameOffset;
436     DWORD dwDisplayableAddressSize;
437     DWORD dwDisplayableAddressOffset;
438     DWORD dwCalledPartySize;
439     DWORD dwCalledPartyOffset;
440     DWORD dwCommentSize;
441     DWORD dwCommentOffset;
442     DWORD dwDisplaySize;
443     DWORD dwDisplayOffset;
444     DWORD dwUserUserInfoSize;
445     DWORD dwUserUserInfoOffset;
446     DWORD dwHighLevelCompSize;
447     DWORD dwHighLevelCompOffset;
448     DWORD dwLowLevelCompSize;
449     DWORD dwLowLevelCompOffset;
450     DWORD dwChargingInfoSize;
451     DWORD dwChargingInfoOffset;
452     DWORD dwTerminalModesSize;
453     DWORD dwTerminalModesOffset;
454     DWORD dwDevSpecificSize;
455     DWORD dwDevSpecificOffset;
456 } LINECALLINFO, *LPLINECALLINFO;
457
458 typedef struct linecalllist_tag {
459     DWORD dwTotalSize;
460     DWORD dwNeededSize;
461     DWORD dwUsedSize;
462     DWORD dwCallsNumEntries;
463     DWORD dwCallsSize;
464     DWORD dwCallsOffset;
465 } LINECALLLIST, *LPLINECALLLIST;
466
467 typedef struct linecallparams_tag {
468     DWORD dwTotalSize;
469     DWORD dwBearerMode;
470     DWORD dwMinRate;
471     DWORD dwMaxRate;
472     DWORD dwMediaMode;
473     DWORD dwCallParamFlags;
474     DWORD dwAddressMode;
475     DWORD dwAddressID;
476     LINEDIALPARAMS DialParams;
477     DWORD dwOrigAddressSize;
478     DWORD dwOrigAddressOffset;
479     DWORD dwDisplayableAddressSize;
480     DWORD dwDisplayableAddressOffset;
481     DWORD dwCalledPartySize;
482     DWORD dwCalledPartyOffset;
483     DWORD dwCommentSize;
484     DWORD dwCommentOffset;
485     DWORD dwUserUserInfoSize;
486     DWORD dwUserUserInfoOffset;
487     DWORD dwHighLevelCompSize;
488     DWORD dwHighLevelCompOffset;
489     DWORD dwLowLevelCompSize;
490     DWORD dwLowLevelCompOffset;
491     DWORD dwDevSpecificSize;
492     DWORD dwDevSpecificOffset;
493 } LINECALLPARAMS, *LPLINECALLPARAMS;
494
495 typedef struct linecallstatus_tag {
496     DWORD dwTotalSize;
497     DWORD dwNeededSize;
498     DWORD dwUsedSize;
499     DWORD dwCallState;
500     DWORD dwCallStateMode;
501     DWORD dwCallPrivilege;
502     DWORD dwCallFeatures;
503     DWORD dwDevSpecificSize;
504     DWORD dwDevSpecificOffset;
505 } LINECALLSTATUS, *LPLINECALLSTATUS;
506
507 typedef struct linecountrylist_tag {
508     DWORD dwTotalSize;
509     DWORD dwNeededSize;
510     DWORD dwUsedSize;
511     DWORD dwNumCountries;
512     DWORD dwCountryListSize;
513     DWORD dwCountryListOffset;
514 } LINECOUNTRYLIST, *LPLINECOUNTRYLIST;
515
516 typedef struct linecountryentry_tag {
517     DWORD dwCountryID;
518     DWORD dwCountryCode;
519     DWORD dwNextCountryID;
520     DWORD dwCountryNameSize;
521     DWORD dwCountryNameOffset;
522     DWORD dwSameAreaRuleSize;
523     DWORD dwSameAreaRuleOffset;
524     DWORD dwLongDistanceRuleSize;
525     DWORD dwLongDistanceRuleOffset;
526     DWORD dwInternationalRuleSize;
527     DWORD dwInternationalRuleOffset;
528 } LINECOUNTRYENTRY, *LPLINECOUNTRYENTRY;
529
530 typedef struct linedevcaps_tag {
531     DWORD dwTotalSize;
532     DWORD dwNeededSize;
533     DWORD dwUsedSize;
534     DWORD dwProviderInfoSize;
535     DWORD dwProviderInfoOffset;
536     DWORD dwSwitchInfoSize;
537     DWORD dwSwitchInfoOffset;
538     DWORD dwPermanentLineID;
539     DWORD dwLineNameSize;
540     DWORD dwLineNameOffset;
541     DWORD dwStringFormat;
542     DWORD dwAddressModes;
543     DWORD dwNumAddresses;
544     DWORD dwBearerModes;
545     DWORD dwMaxRate;
546     DWORD dwMediaModes;
547     DWORD dwGenerateToneModes;
548     DWORD dwGenerateToneMaxNumFreq;
549     DWORD dwGenerateDigitModes;
550     DWORD dwMonitorToneMaxNumFreq;
551     DWORD dwMonitorToneMaxNumEntries;
552     DWORD dwMonitorDigitModes;
553     DWORD dwGatherDigitsMinTimeout;
554     DWORD dwGatherDigitsMaxTimeout;
555     DWORD dwMedCtlDigitMaxListSize;
556     DWORD dwMedCtlMediaMaxListSize;
557     DWORD dwMedCtlToneMaxListSize;
558     DWORD dwMedCtlCallStateMaxListSize;
559     DWORD dwDevCapFlags;
560     DWORD dwMaxNumActiveCalls;
561     DWORD dwAnswerMode;
562     DWORD dwRingModes;
563     DWORD dwLineStates;
564     DWORD dwUUIAcceptSize;
565     DWORD dwUUIAnswerSize;
566     DWORD dwUUIMakeCallSize;
567     DWORD dwUUIDropSize;
568     DWORD dwUUISendUserUserInfoSize;
569     DWORD dwUUICallInfoSize;
570     LINEDIALPARAMS MinDialParams;
571     LINEDIALPARAMS MaxDialParams;
572     LINEDIALPARAMS DefaultDialParams;
573     DWORD dwNumTerminals;
574     DWORD dwTerminalCapsSize;
575     DWORD dwTerminalCapsOffset;
576     DWORD dwTerminalTextEntrySize;
577     DWORD dwTerminalTextSize;
578     DWORD dwTerminalTextOffset;
579     DWORD dwDevSpecificSize;
580     DWORD dwDevSpecificOffset;
581     DWORD dwLineFeatures;
582 } LINEDEVCAPS, *LPLINEDEVCAPS;
583
584 typedef struct linedevstatus_tag {
585     DWORD dwTotalSize;
586     DWORD dwNeededSize;
587     DWORD dwUsedSize;
588     DWORD dwNumOpens;
589     DWORD dwOpenMediaModes;
590     DWORD dwNumActiveCalls;
591     DWORD dwNumOnHoldCalls;
592     DWORD dwNumOnHoldPendingCalls;
593     DWORD dwLineFeatures;
594     DWORD dwNumCallCompletion;
595     DWORD dwRingMode;
596     DWORD dwSignalLevel;
597     DWORD dwBatteryLevel;
598     DWORD dwRoamMode;
599     DWORD dwDevStatusFlags;
600     DWORD dwTerminalModesSize;
601     DWORD dwTerminalModesOffset;
602     DWORD dwDevSpecificSize;
603     DWORD dwDevSpecificOffset;
604 } LINEDEVSTATUS, *LPLINEDEVSTATUS;
605
606 typedef struct lineextensionid_tag {
607     DWORD dwExtensionID0;
608     DWORD dwExtensionID1;
609     DWORD dwExtensionID2;
610     DWORD dwExtensionID3;
611 } LINEEXTENSIONID, *LPLINEEXTENSIONID;
612
613 typedef struct lineforward_tag {
614     DWORD dwForwardMode;
615     DWORD dwCallerAddressSize;
616     DWORD dwCallerAddressOffset;
617     DWORD dwDestCountryCode;
618     DWORD dwDestAddressSize;
619     DWORD dwDestAddressOffset;
620 } LINEFORWARD, *LPLINEFORWARD;
621
622 typedef struct lineforwardlist_tag {
623     DWORD dwTotalSize;
624     DWORD dwNumEntries;
625     LINEFORWARD ForwardList[1];
626 } LINEFORWARDLIST, *LPLINEFORWARDLIST;
627
628 typedef struct linegeneratetone_tag {
629     DWORD dwFrequency;
630     DWORD dwCadenceOn;
631     DWORD dwCadenceOff;
632     DWORD dwVolume;
633 } LINEGENERATETONE, *LPLINEGENERATETONE;
634
635 typedef struct linemediacontrolcallstate_tag {
636     DWORD dwCallStates;
637     DWORD dwMediaControl;
638 } LINEMEDIACONTROLCALLSTATE, *LPLINEMEDIACONTROLCALLSTATE;
639
640 typedef struct linemediacontroldigit_tag {
641     DWORD dwDigit;
642     DWORD dwDigitModes;
643     DWORD dwMediaControl;
644 } LINEMEDIACONTROLDIGIT, *LPLINEMEDIACONTROLDIGIT;
645
646 typedef struct linemediacontrolmedia_tag {
647     DWORD dwMediaModes;
648     DWORD dwDuration;
649     DWORD dwMediaControl;
650 } LINEMEDIACONTROLMEDIA, *LPLINEMEDIACONTROLMEDIA;
651
652 typedef struct linemediacontroltone_tag {
653     DWORD dwAppSpecific;
654     DWORD dwDuration;
655     DWORD dwFrequency1;
656     DWORD dwFrequency2;
657     DWORD dwFrequency3;
658     DWORD dwMediaControl;
659 } LINEMEDIACONTROLTONE, *LPLINEMEDIACONTROLTONE;
660
661 typedef struct linemonitortone_tag {
662     DWORD dwAppSpecific;
663     DWORD dwDuration;
664     DWORD dwFrequency1;
665     DWORD dwFrequency2;
666     DWORD dwFrequency3;
667 } LINEMONITORTONE, *LPLINEMONITORTONE;
668
669 typedef struct lineproviderlist_tag {
670     DWORD dwTotalSize;
671     DWORD dwNeededSize;
672     DWORD dwUsedSize;
673     DWORD dwNumProviders;
674     DWORD dwProviderListSize;
675     DWORD dwProviderListOffset;
676 } LINEPROVIDERLIST, *LPLINEPROVIDERLIST;
677
678 typedef struct linetranslatecaps_tag {
679     DWORD dwTotalSize;
680     DWORD dwNeededSize;
681     DWORD dwUsedSize;
682     DWORD dwNumLocations;
683     DWORD dwLocationListSize;
684     DWORD dwLocationListOffset;
685     DWORD dwCurrentLocationID;
686     DWORD dwNumCards;
687     DWORD dwCardListSize;
688     DWORD dwCardListOffset;
689     DWORD dwCurrentPreferredCardID;
690 } LINETRANSLATECAPS, *LPLINETRANSLATECAPS;
691
692 typedef struct linelocationentry_tag {
693     DWORD dwPermanentLocationID;
694     DWORD dwLocationNameSize;
695     DWORD dwLocationNameOffset;
696     DWORD dwCountryCode;
697     DWORD dwCityCodeSize;
698     DWORD dwCityCodeOffset;
699     DWORD dwPreferredCardID;
700     DWORD dwLocalAccessCodeSize;
701     DWORD dwLocalAccessCodeOffset;
702     DWORD dwLongDistanceAccessCodeSize;
703     DWORD dwLongDistanceAccessCodeOffset;
704     DWORD dwTollPrefixListSize;
705     DWORD dwTollPrefixListOffset;
706     DWORD dwCountryID;
707     DWORD dwOptions;
708     DWORD dwCancelCallWaitingSize;
709     DWORD dwCancelCallWaitingOffset;
710 } LINELOCATIONENTRY, *LPLINELOCATIONENTRY;
711
712 typedef struct linecardentry_tag {
713     DWORD dwPermanentCardID;
714     DWORD dwCardNameSize;
715     DWORD dwCardNameOffset;
716     DWORD dwCardNumberDigits;
717     DWORD dwSameAreaRuleSize;
718     DWORD dwSameAreaRuleOffset;
719     DWORD dwLongDistanceRuleSize;
720     DWORD dwLongDistanceRuleOffset;
721     DWORD dwInternationalRuleSize;
722     DWORD dwInternationalRuleOffset;
723     DWORD dwOptions;
724 } LINECARDENTRY, *LPLINECARDENTRY;
725
726
727 typedef struct linetranslateoutput_tag {
728     DWORD dwTotalSize;
729     DWORD dwNeededSize;
730     DWORD dwUsedSize;
731     DWORD dwDialableStringSize;
732     DWORD dwDialableStringOffset;
733     DWORD dwDisplayableStringSize;
734     DWORD dwDisplayableStringOffset;
735     DWORD dwCurrentCountry;
736     DWORD dwDestCountry;
737     DWORD dwTranslateResults;
738 } LINETRANSLATEOUTPUT, *LPLINETRANSLATEOUTPUT;
739
740 typedef void (CALLBACK *LINECALLBACK)(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD);
741
742 typedef struct _PHONEAPP {
743   int dummy;
744 } PHONEAPP, *LPPHONEAPP;
745
746 typedef struct _PHONE {
747     DWORD dwRingMode;
748     DWORD dwVolume;
749 } PHONE, *LPPHONE;
750
751 typedef struct phonebuttoninfo_tag {
752     DWORD dwTotalSize;
753     DWORD dwNeededSize;
754     DWORD dwUsedSize;
755     DWORD dwButtonMode;
756     DWORD dwButtonFunction;
757     DWORD dwButtonTextSize;
758     DWORD dwButtonTextOffset;
759     DWORD dwDevSpecificSize;
760     DWORD dwDevSpecificOffset;
761     DWORD dwButtonState;
762 } PHONEBUTTONINFO, *LPPHONEBUTTONINFO;
763
764 typedef struct phonecaps_tag {
765     DWORD dwTotalSize;
766     DWORD dwNeededSize;
767     DWORD dwUsedSize;
768     DWORD dwProviderInfoSize;
769     DWORD dwProviderInfoOffset;
770     DWORD dwPhoneInfoSize;
771     DWORD dwPhoneInfoOffset;
772     DWORD dwPermanentPhoneID;
773     DWORD dwPhoneNameSize;
774     DWORD dwPhoneNameOffset;
775     DWORD dwStringFormat;
776     DWORD dwPhoneStates;
777     DWORD dwHookSwitchDevs;
778     DWORD dwHandsetHookSwitchModes;
779     DWORD dwSpeakerHookSwitchModes;
780     DWORD dwHeadsetHookSwitchModes;
781     DWORD dwVolumeFlags;
782     DWORD dwGainFlags;
783     DWORD dwDisplayNumRows;
784     DWORD dwDisplayNumColumns;
785     DWORD dwNumRingModes;
786     DWORD dwNumButtonLamps;
787     DWORD dwButtonModesSize;
788     DWORD dwButtonModesOffset;
789     DWORD dwButtonFunctionsSize;
790     DWORD dwButtonFunctionsOffset;
791     DWORD dwLampModesSize;
792     DWORD dwLampModesOffset;
793     DWORD dwNumSetData;
794     DWORD dwSetDataSize;
795     DWORD dwSetDataOffset;
796     DWORD dwNumGetData;
797     DWORD dwGetDataSize;
798     DWORD dwGetDataOffset;
799     DWORD dwDevSpecificSize;
800     DWORD dwDevSpecificOffset;
801 } PHONECAPS, *LPPHONECAPS;
802
803 typedef struct phoneextensionid_tag {
804     DWORD dwExtensionID0;
805     DWORD dwExtensionID1;
806     DWORD dwExtensionID2;
807     DWORD dwExtensionID3;
808 } PHONEEXTENSIONID, *LPPHONEEXTENSIONID;
809
810 typedef struct phonestatus_tag {
811     DWORD dwTotalSize;
812     DWORD dwNeededSize;
813     DWORD dwUsedSize;
814     DWORD dwStatusFlags;
815     DWORD dwNumOwners;
816     DWORD dwRingMOde;
817     DWORD dwRingVolume;
818     DWORD dwHandsetHookSwitchMode;
819     DWORD dwHandsetVolume;
820     DWORD dwHandsetGain;
821     DWORD dwSpeakerHookSwitchMode;
822     DWORD dwSpeakerVolume;
823     DWORD dwSpeakerGain;
824     DWORD dwHeadsetHookSwitchMode;
825     DWORD dwHeadsetVolume;
826     DWORD dwHeadsetGain;
827     DWORD dwDisplaySize;
828     DWORD dwDisplayOffset;
829     DWORD dwLampModesSize;
830     DWORD dwLampModesOffset;
831     DWORD dwOwnerNameSize;
832     DWORD dwOwnerNameOffset;
833     DWORD dwDevSpecificSize;
834     DWORD dwDevSpecificOffset;
835 } PHONESTATUS, *LPPHONESTATUS;
836
837 typedef void (CALLBACK *PHONECALLBACK)(HANDLE, DWORD, DWORD, DWORD, DWORD, DWORD);
838
839 typedef struct varstring_tag {
840     DWORD dwTotalSize;
841     DWORD dwNeededSize;
842     DWORD dwUsedSize;
843     DWORD dwStringFormat;
844     DWORD dwStringSize;
845     DWORD dwStringOffset;
846 } VARSTRING, *LPVARSTRING;
847
848 /* line functions */
849 DWORD WINAPI lineAccept(HCALL,LPCSTR,DWORD);
850 DWORD WINAPI lineAddProvider(LPCSTR,HWND,LPDWORD);
851 DWORD WINAPI lineAddToConference(HCALL,HCALL);
852 DWORD WINAPI lineAnswer(HCALL,LPCSTR,DWORD);
853 DWORD WINAPI lineBlindTransfer(HCALL,LPCSTR,DWORD);
854 DWORD WINAPI lineClose(HLINE);
855 DWORD WINAPI lineCompleteCall(HCALL,LPDWORD,DWORD,DWORD);
856 DWORD WINAPI lineCompleteTransfer(HCALL,HCALL,LPHCALL,DWORD);
857 DWORD WINAPI lineConfigDialog(DWORD,HWND,LPCSTR);
858 DWORD WINAPI lineConfigDialogEdit(DWORD,HWND,LPCSTR,LPVOID const,DWORD,LPVARSTRING);
859 DWORD WINAPI lineConfigProvider(HWND,DWORD);
860 DWORD WINAPI lineDeallocateCall(HCALL);
861 DWORD WINAPI lineDevSpecific(HLINE,DWORD,HCALL,LPVOID,DWORD);
862 DWORD WINAPI lineDevSpecificFeature(HLINE,DWORD,LPVOID,DWORD);
863 DWORD WINAPI lineDial(HCALL,LPCSTR,DWORD);
864 DWORD WINAPI lineDrop(HCALL,LPCSTR,DWORD);
865 DWORD WINAPI lineForward(HLINE,DWORD,DWORD,LPLINEFORWARDLIST,DWORD,LPHCALL,LPLINECALLPARAMS);
866 DWORD WINAPI lineGatherDigits(HCALL,DWORD,LPSTR,DWORD,LPCSTR,DWORD,DWORD);
867 DWORD WINAPI lineGenerateDigits(HCALL,DWORD,LPCSTR,DWORD);
868 DWORD WINAPI lineGenerateTone(HCALL,DWORD,DWORD,DWORD,LPLINEGENERATETONE);
869 DWORD WINAPI lineGetAddressCaps(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPLINEADDRESSCAPS);
870 DWORD WINAPI lineGetAddressID(HLINE,LPDWORD,DWORD,LPCSTR,DWORD);
871 DWORD WINAPI lineGetAddressStatus(HLINE,DWORD,LPLINEADDRESSSTATUS);
872 DWORD WINAPI lineGetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPVARSTRING,LPDWORD);
873 DWORD WINAPI lineGetCallInfo(HCALL,LPLINECALLINFO);
874 DWORD WINAPI lineGetCallStatus(HCALL,LPLINECALLSTATUS);
875 DWORD WINAPI lineGetConfRelatedCalls(HCALL,LPLINECALLLIST);
876 DWORD WINAPI lineGetCountry(DWORD,DWORD,LPLINECOUNTRYLIST);
877 DWORD WINAPI lineGetDevCaps(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
878 DWORD WINAPI lineGetDevConfig(DWORD,LPVARSTRING,LPCSTR);
879 DWORD WINAPI lineGetID(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCSTR);
880 DWORD WINAPI lineGetIcon(DWORD,LPCSTR,HICON *);
881 DWORD WINAPI lineGetLineDevStatus(HLINE,LPLINEDEVSTATUS);
882 DWORD WINAPI lineGetNewCalls(HLINE,DWORD,DWORD,LPLINECALLLIST);
883 DWORD WINAPI lineGetNumRings(HLINE,DWORD,LPDWORD);
884 DWORD WINAPI lineGetProviderList(DWORD dwAPIVersion,LPLINEPROVIDERLIST);
885 DWORD WINAPI lineGetRequest(HLINEAPP,DWORD,LPVOID);
886 DWORD WINAPI lineGetStatusMessages(HLINE,LPDWORD,LPDWORD);
887 DWORD WINAPI lineGetTranslateCaps(HLINEAPP,DWORD,LPLINETRANSLATECAPS);
888 DWORD WINAPI lineHandoff(HCALL,LPCSTR,DWORD);
889 DWORD WINAPI lineHold(HCALL);
890 DWORD WINAPI lineInitialize(LPHLINEAPP,HINSTANCE,LINECALLBACK,LPCSTR,LPDWORD);
891 DWORD WINAPI lineMakeCall(HLINE,LPHCALL,LPCSTR,DWORD,LPLINECALLPARAMS);
892 DWORD WINAPI lineMonitorDigits(HCALL,DWORD);
893 DWORD WINAPI lineMonitorMedia(HCALL,DWORD);
894 DWORD WINAPI lineMonitorTones(HCALL,LPLINEMONITORTONE,DWORD);
895 DWORD WINAPI lineNegotiateAPIVersion(HLINEAPP,DWORD,DWORD,DWORD,LPDWORD,LPLINEEXTENSIONID);
896 DWORD WINAPI lineNegotiateExtVersion(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
897 DWORD WINAPI lineOpen(HLINEAPP,DWORD,LPHLINE,DWORD,DWORD,DWORD,DWORD,DWORD,LPLINECALLPARAMS);
898 DWORD WINAPI linePark(HCALL,DWORD,LPCSTR,LPVARSTRING);
899 DWORD WINAPI linePickup(HLINE,DWORD,LPHCALL,LPCSTR,LPCSTR);
900 DWORD WINAPI linePrepareAddToConference(HCALL,LPHCALL,LPLINECALLPARAMS);
901 DWORD WINAPI lineRedirect(HCALL,LPCSTR,DWORD);
902 DWORD WINAPI lineRegisterRequestRecipient(HLINEAPP,DWORD,DWORD,DWORD);
903 DWORD WINAPI lineReleaseUserUserInfo(HCALL);
904 DWORD WINAPI lineRemoveFromConference(HCALL);
905 DWORD WINAPI lineRemoveProvider(DWORD,HWND);
906 DWORD WINAPI lineSecureCall(HCALL);
907 DWORD WINAPI lineSendUserUserInfo(HCALL,LPCSTR,DWORD);
908 DWORD WINAPI lineSetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPCSTR,DWORD);
909 DWORD WINAPI lineSetAppSpecific(HCALL,DWORD);
910 DWORD WINAPI lineSetCallParams(HCALL,DWORD,DWORD,DWORD,LPLINEDIALPARAMS);
911 DWORD WINAPI lineSetCallPrivilege(HCALL,DWORD);
912 DWORD WINAPI lineSetCurrentLocation(HLINEAPP,DWORD);
913 DWORD WINAPI lineSetDevConfig(DWORD,LPVOID,DWORD,LPCSTR);
914 DWORD WINAPI lineSetMediaControl(HLINE,DWORD,HCALL,DWORD,LPLINEMEDIACONTROLDIGIT,DWORD,LPLINEMEDIACONTROLMEDIA,DWORD,LPLINEMEDIACONTROLTONE,DWORD,LPLINEMEDIACONTROLCALLSTATE,DWORD);
915 DWORD WINAPI lineSetMediaMode(HCALL,DWORD);
916 DWORD WINAPI lineSetNumRings(HLINE,DWORD,DWORD);
917 DWORD WINAPI lineSetStatusMessages(HLINE,DWORD,DWORD);
918 DWORD WINAPI lineSetTerminal(HLINE,DWORD,HCALL,DWORD,DWORD,DWORD,DWORD);
919 DWORD WINAPI lineSetTollList(HLINEAPP,DWORD,LPCSTR,DWORD);
920 DWORD WINAPI lineSetupConference(HCALL,HLINE,LPHCALL,LPHCALL,DWORD,LPLINECALLPARAMS);
921 DWORD WINAPI lineSetupTransfer(HCALL,LPHCALL,LPLINECALLPARAMS);
922 DWORD WINAPI lineShutdown(HLINEAPP);
923 DWORD WINAPI lineSwapHold(HCALL,HCALL);
924 DWORD WINAPI lineTranslateAddress(HLINEAPP,DWORD,DWORD,LPCSTR,DWORD,DWORD,LPLINETRANSLATEOUTPUT);
925 DWORD WINAPI lineTranslateDialog(HLINEAPP,DWORD,DWORD,HWND,LPCSTR);
926 DWORD WINAPI lineUncompleteCall(HLINE,DWORD);
927 DWORD WINAPI lineUnHold(HCALL);
928 DWORD WINAPI lineUnpark(HLINE,DWORD,LPHCALL,LPCSTR);
929
930 DWORD WINAPI lineAddProviderA(LPCSTR,HWND,LPDWORD);
931 DWORD WINAPI lineBlindTransferA(HCALL,LPCSTR,DWORD);
932 DWORD WINAPI lineConfigDialogA(DWORD,HWND,LPCSTR);
933 DWORD WINAPI lineConfigDialogEditA(DWORD,HWND,LPCSTR,LPVOID const,DWORD,LPVARSTRING);
934 DWORD WINAPI lineDialA(HCALL,LPCSTR,DWORD);
935 DWORD WINAPI lineForwardA(HLINE,DWORD,DWORD,LPLINEFORWARDLIST,DWORD,LPHCALL,LPLINECALLPARAMS);
936 DWORD WINAPI lineGatherDigitsA(HCALL,DWORD,LPSTR,DWORD,LPCSTR,DWORD,DWORD);
937 DWORD WINAPI lineGenerateDigitsA(HCALL,DWORD,LPCSTR,DWORD);
938 DWORD WINAPI lineGetAddressCapsA(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPLINEADDRESSCAPS);
939 DWORD WINAPI lineGetAddressIDA(HLINE,LPDWORD,DWORD,LPCSTR,DWORD);
940 DWORD WINAPI lineGetAddressStatusA(HLINE,DWORD,LPLINEADDRESSSTATUS);
941 DWORD WINAPI lineGetAppPriorityA(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPVARSTRING,LPDWORD);
942 DWORD WINAPI lineGetCallInfoA(HCALL,LPLINECALLINFO);
943 DWORD WINAPI lineGetCountryA(DWORD,DWORD,LPLINECOUNTRYLIST);
944 DWORD WINAPI lineGetDevCapsA(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
945 DWORD WINAPI lineGetDevConfigA(DWORD,LPVARSTRING,LPCSTR);
946 DWORD WINAPI lineGetIDA(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCSTR);
947 DWORD WINAPI lineGetIconA(DWORD,LPCSTR,HICON *);
948 DWORD WINAPI lineGetLineDevStatusA(HLINE,LPLINEDEVSTATUS);
949 DWORD WINAPI lineGetProviderListA(DWORD dwAPIVersion,LPLINEPROVIDERLIST);
950 DWORD WINAPI lineGetRequestA(HLINEAPP,DWORD,LPVOID);
951 DWORD WINAPI lineGetTranslateCapsA(HLINEAPP,DWORD,LPLINETRANSLATECAPS);
952 DWORD WINAPI lineHandoffA(HCALL,LPCSTR,DWORD);
953 DWORD WINAPI lineMakeCallA(HLINE,LPHCALL,LPCSTR,DWORD,LPLINECALLPARAMS);
954 DWORD WINAPI lineOpenA(HLINEAPP,DWORD,LPHLINE,DWORD,DWORD,DWORD,DWORD,DWORD,LPLINECALLPARAMS);
955 DWORD WINAPI lineParkA(HCALL,DWORD,LPCSTR,LPVARSTRING);
956 DWORD WINAPI linePickupA(HLINE,DWORD,LPHCALL,LPCSTR,LPCSTR);
957 DWORD WINAPI linePrepareAddToConferenceA(HCALL,LPHCALL,LPLINECALLPARAMS);
958 DWORD WINAPI lineRedirectA(HCALL,LPCSTR,DWORD);
959 DWORD WINAPI lineSetAppPriorityA(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPCSTR,DWORD);
960 DWORD WINAPI lineSetDevConfigA(DWORD,LPVOID,DWORD,LPCSTR);
961 DWORD WINAPI lineSetTollListA(HLINEAPP,DWORD,LPCSTR,DWORD);
962 DWORD WINAPI lineSetupConferenceA(HCALL,HLINE,LPHCALL,LPHCALL,DWORD,LPLINECALLPARAMS);
963 DWORD WINAPI lineSetupTransferA(HCALL,LPHCALL,LPLINECALLPARAMS);
964 DWORD WINAPI lineTranslateAddressA(HLINEAPP,DWORD,DWORD,LPCSTR,DWORD,DWORD,LPLINETRANSLATEOUTPUT);
965 DWORD WINAPI lineTranslateDialogA(HLINEAPP,DWORD,DWORD,HWND,LPCSTR);
966 DWORD WINAPI lineUnhold(HCALL);
967 DWORD WINAPI lineUnparkA(HLINE,DWORD,LPHCALL,LPCSTR);
968
969 /* phone functions */
970 DWORD WINAPI phoneClose(HPHONE);
971 DWORD WINAPI phoneConfigDialog(DWORD,HWND,LPCSTR);
972 DWORD WINAPI phoneDevSpecific(HPHONE,LPVOID,DWORD);
973 DWORD WINAPI phoneGetButtonInfo(HPHONE,DWORD,LPPHONEBUTTONINFO);
974 DWORD WINAPI phoneGetData(HPHONE,DWORD,LPVOID,DWORD);
975 DWORD WINAPI phoneGetDevCaps(HPHONEAPP,DWORD,DWORD,DWORD,LPPHONECAPS);
976 DWORD WINAPI phoneGetDisplay(HPHONE,LPVARSTRING);
977 DWORD WINAPI phoneGetGain(HPHONE,DWORD,LPDWORD);
978 DWORD WINAPI phoneGetHookSwitch(HPHONE,LPDWORD);
979 DWORD WINAPI phoneGetID(HPHONE,LPVARSTRING,LPCSTR);
980 DWORD WINAPI phoneGetIcon(DWORD,LPCSTR,HICON *);
981 DWORD WINAPI phoneGetLamp(HPHONE,DWORD,LPDWORD);
982 DWORD WINAPI phoneGetRing(HPHONE,LPDWORD,LPDWORD);
983 DWORD WINAPI phoneGetStatus(HPHONE,LPPHONESTATUS);
984 DWORD WINAPI phoneGetStatusMessages(HPHONE,LPDWORD,LPDWORD,LPDWORD);
985 DWORD WINAPI phoneGetVolume(HPHONE,DWORD,LPDWORD);
986 DWORD WINAPI phoneInitialize(LPHPHONEAPP,HINSTANCE,PHONECALLBACK,LPCSTR,LPDWORD);
987 DWORD WINAPI phoneNegotiateAPIVersion(HPHONEAPP,DWORD,DWORD,DWORD,LPDWORD,LPPHONEEXTENSIONID);
988 DWORD WINAPI phoneNegotiateExtVersion(HPHONEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
989 DWORD WINAPI phoneOpen(HPHONEAPP,DWORD,LPHPHONE,DWORD,DWORD,DWORD,DWORD);
990 DWORD WINAPI phoneSetButtonInfo(HPHONE,DWORD,LPPHONEBUTTONINFO);
991 DWORD WINAPI phoneSetData(HPHONE,DWORD,LPVOID,DWORD);
992 DWORD WINAPI phoneSetDisplay(HPHONE,DWORD,DWORD,LPCSTR,DWORD);
993 DWORD WINAPI phoneSetGain(HPHONE,DWORD,DWORD);
994 DWORD WINAPI phoneSetHookSwitch(HPHONE,DWORD,DWORD);
995 DWORD WINAPI phoneSetLamp(HPHONE,DWORD,DWORD);
996 DWORD WINAPI phoneSetRing(HPHONE,DWORD,DWORD);
997 DWORD WINAPI phoneSetStatusMessages(HPHONE,DWORD,DWORD,DWORD);
998 DWORD WINAPI phoneSetVolume(HPHONE,DWORD,DWORD);
999 DWORD WINAPI phoneShutdown(HPHONEAPP);
1000
1001 DWORD WINAPI phoneConfigDialogA(DWORD,HWND,LPCSTR);
1002 DWORD WINAPI phoneGetButtonInfoA(HPHONE,DWORD,LPPHONEBUTTONINFO);
1003 DWORD WINAPI phoneGetDevCapsA(HPHONEAPP,DWORD,DWORD,DWORD,LPPHONECAPS);
1004 DWORD WINAPI phoneGetIDA(HPHONE,LPVARSTRING,LPCSTR);
1005 DWORD WINAPI phoneGetIconA(DWORD,LPCSTR,HICON *);
1006 DWORD WINAPI phoneGetStatusA(HPHONE,LPPHONESTATUS);
1007 DWORD WINAPI phoneSetButtonInfoA(HPHONE,DWORD,LPPHONEBUTTONINFO);
1008
1009 /* "assisted" functions */
1010 DWORD WINAPI tapiGetLocationInfo(LPSTR,LPSTR);
1011 DWORD WINAPI tapiRequestMakeCall(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
1012
1013 DWORD WINAPI tapiGetLocationInfoA(LPSTR,LPSTR);
1014 DWORD WINAPI tapiRequestMakeCallA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
1015
1016 #ifdef __cplusplus
1017 } /* extern "C" */
1018 #endif /* defined(__cplusplus) */
1019
1020 #endif /* __WINE_TAPI_H */