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