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