source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/ddk/ndistapi.h@ 1186

Last change on this file since 1186 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 46.8 KB
Line 
1/*
2 * ndistapi.h
3 *
4 * NDIS Telephony API
5 *
6 * This file is part of the w32api package.
7 *
8 * Contributors:
9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10 *
11 * THIS SOFTWARE IS NOT COPYRIGHTED
12 *
13 * This source code is offered for use in the public domain. You may
14 * use, modify or distribute it freely.
15 *
16 * This code is distributed in the hope that it will be useful but
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18 * DISCLAIMED. This includes but is not limited to warranties of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 *
21 */
22
23#pragma once
24
25#ifndef _NDIS_TAPI_
26#define _NDIS_TAPI_
27
28#include "ndis.h"
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#ifndef NDIS_TAPI_CURRENT_VERSION
35#define NDIS_TAPI_CURRENT_VERSION 0x00010003
36#endif
37
38typedef ULONG_PTR HTAPI_LINE;
39typedef ULONG_PTR HDRV_LINE;
40typedef ULONG_PTR HTAPI_CALL;
41typedef ULONG_PTR HDRV_CALL;
42
43#define NDIS_STATUS_TAPI_ADDRESSBLOCKED ((NDIS_STATUS)0xC0012000L)
44#define NDIS_STATUS_TAPI_BEARERMODEUNAVAIL ((NDIS_STATUS)0xC0012001L)
45#define NDIS_STATUS_TAPI_CALLUNAVAIL ((NDIS_STATUS)0xC0012002L)
46#define NDIS_STATUS_TAPI_DIALBILLING ((NDIS_STATUS)0xC0012003L)
47#define NDIS_STATUS_TAPI_DIALDIALTONE ((NDIS_STATUS)0xC0012004L)
48#define NDIS_STATUS_TAPI_DIALPROMPT ((NDIS_STATUS)0xC0012005L)
49#define NDIS_STATUS_TAPI_DIALQUIET ((NDIS_STATUS)0xC0012006L)
50#define NDIS_STATUS_TAPI_INCOMPATIBLEEXTVERSION ((NDIS_STATUS)0xC0012007L)
51#define NDIS_STATUS_TAPI_INUSE ((NDIS_STATUS)0xC0012008L)
52#define NDIS_STATUS_TAPI_INVALADDRESS ((NDIS_STATUS)0xC0012009L)
53#define NDIS_STATUS_TAPI_INVALADDRESSID ((NDIS_STATUS)0xC001200AL)
54#define NDIS_STATUS_TAPI_INVALADDRESSMODE ((NDIS_STATUS)0xC001200BL)
55#define NDIS_STATUS_TAPI_INVALBEARERMODE ((NDIS_STATUS)0xC001200CL)
56#define NDIS_STATUS_TAPI_INVALCALLHANDLE ((NDIS_STATUS)0xC001200DL)
57#define NDIS_STATUS_TAPI_INVALCALLPARAMS ((NDIS_STATUS)0xC001200EL)
58#define NDIS_STATUS_TAPI_INVALCALLSTATE ((NDIS_STATUS)0xC001200FL)
59#define NDIS_STATUS_TAPI_INVALDEVICECLASS ((NDIS_STATUS)0xC0012010L)
60#define NDIS_STATUS_TAPI_INVALLINEHANDLE ((NDIS_STATUS)0xC0012011L)
61#define NDIS_STATUS_TAPI_INVALLINESTATE ((NDIS_STATUS)0xC0012012L)
62#define NDIS_STATUS_TAPI_INVALMEDIAMODE ((NDIS_STATUS)0xC0012013L)
63#define NDIS_STATUS_TAPI_INVALRATE ((NDIS_STATUS)0xC0012014L)
64#define NDIS_STATUS_TAPI_NODRIVER ((NDIS_STATUS)0xC0012015L)
65#define NDIS_STATUS_TAPI_OPERATIONUNAVAIL ((NDIS_STATUS)0xC0012016L)
66#define NDIS_STATUS_TAPI_RATEUNAVAIL ((NDIS_STATUS)0xC0012017L)
67#define NDIS_STATUS_TAPI_RESOURCEUNAVAIL ((NDIS_STATUS)0xC0012018L)
68#define NDIS_STATUS_TAPI_STRUCTURETOOSMALL ((NDIS_STATUS)0xC0012019L)
69#define NDIS_STATUS_TAPI_USERUSERINFOTOOBIG ((NDIS_STATUS)0xC001201AL)
70#define NDIS_STATUS_TAPI_ALLOCATED ((NDIS_STATUS)0xC001201BL)
71#define NDIS_STATUS_TAPI_INVALADDRESSSTATE ((NDIS_STATUS)0xC001201CL)
72#define NDIS_STATUS_TAPI_INVALPARAM ((NDIS_STATUS)0xC001201DL)
73#define NDIS_STATUS_TAPI_NODEVICE ((NDIS_STATUS)0xC001201EL)
74#define NDIS_STATUS_TAPI_DISCONNECTMODE_NORMAL ((NDIS_STATUS)0xC0012020L)
75#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNKNOWN ((NDIS_STATUS)0xC0012021L)
76#define NDIS_STATUS_TAPI_DISCONNECTMODE_REJECT ((NDIS_STATUS)0xC0012022L)
77#define NDIS_STATUS_TAPI_DISCONNECTMODE_PICKUP ((NDIS_STATUS)0xC0012023L)
78#define NDIS_STATUS_TAPI_DISCONNECTMODE_FORWARDED ((NDIS_STATUS)0xC0012024L)
79#define NDIS_STATUS_TAPI_DISCONNECTMODE_BUSY ((NDIS_STATUS)0xC0012025L)
80#define NDIS_STATUS_TAPI_DISCONNECTMODE_NOANSWER ((NDIS_STATUS)0xC0012026L)
81#define NDIS_STATUS_TAPI_DISCONNECTMODE_BADADDRESS ((NDIS_STATUS)0xC0012027L)
82#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNREACHABLE ((NDIS_STATUS)0xC0012028L)
83#define NDIS_STATUS_TAPI_DISCONNECTMODE_CONGESTION ((NDIS_STATUS)0xC0012029L)
84#define NDIS_STATUS_TAPI_DISCONNECTMODE_INCOMPATIBLE ((NDIS_STATUS)0xC001202AL)
85#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNAVAIL ((NDIS_STATUS)0xC001202BL)
86#define NDIS_STATUS_TAPI_RECV_DIGIT ((NDIS_STATUS)0x40010020L)
87
88#define LINE_ADDRESSSTATE 0L
89#define LINE_CALLINFO 1L
90#define LINE_CALLSTATE 2L
91#define LINE_CLOSE 3L
92#define LINE_DEVSPECIFIC 4L
93#define LINE_DEVSPECIFICFEATURE 5L
94#define LINE_GATHERDIGITS 6L
95#define LINE_GENERATE 7L
96#define LINE_LINEDEVSTATE 8L
97#define LINE_MONITORDIGITS 9L
98#define LINE_MONITORMEDIA 10L
99#define LINE_MONITORTONE 11L
100#define LINE_REPLY 12L
101#define LINE_REQUEST 13L
102#define LINE_CREATE 19L
103#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
104#define LINE_AGENTSPECIFIC 21L
105#define LINE_AGENTSTATUS 22L
106#define LINE_APPNEWCALL 23L
107#define LINE_PROXYREQUEST 24L
108#define LINE_REMOVE 25L
109#endif
110#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
111#define LINE_AGENTSESSIONSTATUS 27L
112#define LINE_QUEUESTATUS 28L
113#define LINE_AGENTSTATUSEX 29L
114#define LINE_GROUPSTATUS 30L
115#define LINE_PROXYSTATUS 31L
116#endif
117#if (TAPI_CURRENT_VERSION >= 0x00030000)
118#define LINE_APPNEWCALLHUB 32L
119#define LINE_CALLHUBCLOSE 33L
120#define LINE_DEVSPECIFICEX 34L
121#endif
122
123#define TSPI_MESSAGE_BASE 500L
124#define LINE_NEWCALL TSPI_MESSAGE_BASE
125#define LINE_CALLDEVSPECIFIC (TSPI_MESSAGE_BASE + 1L)
126#define STRINGFORMAT_ASCII 0x00000001
127#define STRINGFORMAT_DBCS 0x00000002
128#define STRINGFORMAT_UNICODE 0x00000003
129#define STRINGFORMAT_BINARY 0x00000004
130
131#define LINEADDRCAPFLAGS_FWDNUMRINGS 0x00000001
132#define LINEADDRCAPFLAGS_PICKUPGROUPID 0x00000002
133#define LINEADDRCAPFLAGS_SECURE 0x00000004
134#define LINEADDRCAPFLAGS_BLOCKIDDEFAULT 0x00000008
135#define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE 0x00000010
136#define LINEADDRCAPFLAGS_DIALED 0x00000020
137#define LINEADDRCAPFLAGS_ORIGOFFHOOK 0x00000040
138#define LINEADDRCAPFLAGS_DESTOFFHOOK 0x00000080
139#define LINEADDRCAPFLAGS_FWDCONSULT 0x00000100
140#define LINEADDRCAPFLAGS_SETUPCONFNULL 0x00000200
141#define LINEADDRCAPFLAGS_AUTORECONNECT 0x00000400
142#define LINEADDRCAPFLAGS_COMPLETIONID 0x00000800
143#define LINEADDRCAPFLAGS_TRANSFERHELD 0x00001000
144#define LINEADDRCAPFLAGS_TRANSFERMAKE 0x00002000
145#define LINEADDRCAPFLAGS_CONFERENCEHELD 0x00004000
146#define LINEADDRCAPFLAGS_CONFERENCEMAKE 0x00008000
147#define LINEADDRCAPFLAGS_PARTIALDIAL 0x00010000
148#define LINEADDRCAPFLAGS_FWDSTATUSVALID 0x00020000
149#define LINEADDRCAPFLAGS_FWDINTEXTADDR 0x00040000
150#define LINEADDRCAPFLAGS_FWDBUSYNAADDR 0x00080000
151#define LINEADDRCAPFLAGS_ACCEPTTOALERT 0x00100000
152#define LINEADDRCAPFLAGS_CONFDROP 0x00200000
153#define LINEADDRCAPFLAGS_PICKUPCALLWAIT 0x00400000
154#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
155#define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000
156#define LINEADDRCAPFLAGS_QUEUE 0x01000000
157#define LINEADDRCAPFLAGS_ROUTEPOINT 0x02000000
158#define LINEADDRCAPFLAGS_HOLDMAKESNEW 0x04000000
159#define LINEADDRCAPFLAGS_NOINTERNALCALLS 0x08000000
160#define LINEADDRCAPFLAGS_NOEXTERNALCALLS 0x10000000
161#define LINEADDRCAPFLAGS_SETCALLINGID 0x20000000
162#endif
163#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
164#define LINEADDRCAPFLAGS_ACDGROUP 0x40000000
165#define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION \
166 0x80000000
167#endif
168
169#define LINEADDRESSMODE_ADDRESSID 0x00000001
170#define LINEADDRESSMODE_DIALABLEADDR 0x00000002
171#define LINEADDRESSSHARING_PRIVATE 0x00000001
172#define LINEADDRESSSHARING_BRIDGEDEXCL 0x00000002
173#define LINEADDRESSSHARING_BRIDGEDNEW 0x00000004
174#define LINEADDRESSSHARING_BRIDGEDSHARED 0x00000008
175#define LINEADDRESSSHARING_MONITORED 0x00000010
176#define LINEADDRESSSTATE_OTHER 0x00000001
177#define LINEADDRESSSTATE_DEVSPECIFIC 0x00000002
178#define LINEADDRESSSTATE_INUSEZERO 0x00000004
179#define LINEADDRESSSTATE_INUSEONE 0x00000008
180#define LINEADDRESSSTATE_INUSEMANY 0x00000010
181#define LINEADDRESSSTATE_NUMCALLS 0x00000020
182#define LINEADDRESSSTATE_FORWARD 0x00000040
183#define LINEADDRESSSTATE_TERMINALS 0x00000080
184
185#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
186#define LINEADDRESSTYPE_PHONENUMBER 0x00000001
187#define LINEADDRESSTYPE_SDP 0x00000002
188#define LINEADDRESSTYPE_EMAILNAME 0x00000004
189#define LINEADDRESSTYPE_DOMAINNAME 0x00000008
190#define LINEADDRESSTYPE_IPADDRESS 0x00000010
191#endif
192
193#define LINEADDRFEATURE_FORWARD 0x00000001
194#define LINEADDRFEATURE_MAKECALL 0x00000002
195#define LINEADDRFEATURE_PICKUP 0x00000004
196#define LINEADDRFEATURE_SETMEDIACONTROL 0x00000008
197#define LINEADDRFEATURE_SETTERMINAL 0x00000010
198#define LINEADDRFEATURE_SETUPCONF 0x00000020
199#define LINEADDRFEATURE_UNCOMPLETECALL 0x00000040
200#define LINEADDRFEATURE_UNPARK 0x00000080
201#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
202#define LINEADDRFEATURE_PICKUPHELD 0x00000100
203#define LINEADDRFEATURE_PICKUPGROUP 0x00000200
204#define LINEADDRFEATURE_PICKUPDIRECT 0x00000400
205#define LINEADDRFEATURE_PICKUPWAITING 0x00000800
206#define LINEADDRFEATURE_FORWARDFWD 0x00001000
207#define LINEADDRFEATURE_FORWARDDND 0x00002000
208#endif
209
210#define LINEANSWERMODE_NONE 0x00000001
211#define LINEANSWERMODE_DROP 0x00000002
212#define LINEANSWERMODE_HOLD 0x00000004
213
214#define LINEBEARERMODE_VOICE 0x00000001
215#define LINEBEARERMODE_SPEECH 0x00000002
216#define LINEBEARERMODE_MULTIUSE 0x00000004
217#define LINEBEARERMODE_DATA 0x00000008
218#define LINEBEARERMODE_ALTSPEECHDATA 0x00000010
219#define LINEBEARERMODE_NONCALLSIGNALING 0x00000020
220#define LINEBEARERMODE_PASSTHROUGH 0x00000040
221#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
222#define LINEBEARERMODE_RESTRICTEDDATA 0x00000080
223#endif
224
225#define LINEBUSYMODE_STATION 0x00000001
226#define LINEBUSYMODE_TRUNK 0x00000002
227#define LINEBUSYMODE_UNKNOWN 0x00000004
228#define LINEBUSYMODE_UNAVAIL 0x00000008
229
230#define LINECALLCOMPLCOND_BUSY 0x00000001
231#define LINECALLCOMPLCOND_NOANSWER 0x00000002
232
233#define LINECALLCOMPLMODE_CAMPON 0x00000001
234#define LINECALLCOMPLMODE_CALLBACK 0x00000002
235#define LINECALLCOMPLMODE_INTRUDE 0x00000004
236#define LINECALLCOMPLMODE_MESSAGE 0x00000008
237
238#define LINECALLFEATURE_ACCEPT 0x00000001
239#define LINECALLFEATURE_ADDTOCONF 0x00000002
240#define LINECALLFEATURE_ANSWER 0x00000004
241#define LINECALLFEATURE_BLINDTRANSFER 0x00000008
242#define LINECALLFEATURE_COMPLETECALL 0x00000010
243#define LINECALLFEATURE_COMPLETETRANSF 0x00000020
244#define LINECALLFEATURE_DIAL 0x00000040
245#define LINECALLFEATURE_DROP 0x00000080
246#define LINECALLFEATURE_GATHERDIGITS 0x00000100
247#define LINECALLFEATURE_GENERATEDIGITS 0x00000200
248#define LINECALLFEATURE_GENERATETONE 0x00000400
249#define LINECALLFEATURE_HOLD 0x00000800
250#define LINECALLFEATURE_MONITORDIGITS 0x00001000
251#define LINECALLFEATURE_MONITORMEDIA 0x00002000
252#define LINECALLFEATURE_MONITORTONES 0x00004000
253#define LINECALLFEATURE_PARK 0x00008000
254#define LINECALLFEATURE_PREPAREADDCONF 0x00010000
255#define LINECALLFEATURE_REDIRECT 0x00020000
256#define LINECALLFEATURE_REMOVEFROMCONF 0x00040000
257#define LINECALLFEATURE_SECURECALL 0x00080000
258#define LINECALLFEATURE_SENDUSERUSER 0x00100000
259#define LINECALLFEATURE_SETCALLPARAMS 0x00200000
260#define LINECALLFEATURE_SETMEDIACONTROL 0x00400000
261#define LINECALLFEATURE_SETTERMINAL 0x00800000
262#define LINECALLFEATURE_SETUPCONF 0x01000000
263#define LINECALLFEATURE_SETUPTRANSFER 0x02000000
264#define LINECALLFEATURE_SWAPHOLD 0x04000000
265#define LINECALLFEATURE_UNHOLD 0x08000000
266#define LINECALLFEATURE_RELEASEUSERUSERINFO \
267 0x10000000
268#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
269#define LINECALLFEATURE_SETTREATMENT 0x20000000
270#define LINECALLFEATURE_SETQOS 0x40000000
271#define LINECALLFEATURE_SETCALLDATA 0x80000000
272#endif
273
274#define LINECALLINFOSTATE_OTHER 0x00000001
275#define LINECALLINFOSTATE_DEVSPECIFIC 0x00000002
276#define LINECALLINFOSTATE_BEARERMODE 0x00000004
277#define LINECALLINFOSTATE_RATE 0x00000008
278#define LINECALLINFOSTATE_MEDIAMODE 0x00000010
279#define LINECALLINFOSTATE_APPSPECIFIC 0x00000020
280#define LINECALLINFOSTATE_CALLID 0x00000040
281#define LINECALLINFOSTATE_RELATEDCALLID 0x00000080
282#define LINECALLINFOSTATE_ORIGIN 0x00000100
283#define LINECALLINFOSTATE_REASON 0x00000200
284#define LINECALLINFOSTATE_COMPLETIONID 0x00000400
285#define LINECALLINFOSTATE_NUMOWNERINCR 0x00000800
286#define LINECALLINFOSTATE_NUMOWNERDECR 0x00001000
287#define LINECALLINFOSTATE_NUMMONITORS 0x00002000
288#define LINECALLINFOSTATE_TRUNK 0x00004000
289#define LINECALLINFOSTATE_CALLERID 0x00008000
290#define LINECALLINFOSTATE_CALLEDID 0x00010000
291#define LINECALLINFOSTATE_CONNECTEDID 0x00020000
292#define LINECALLINFOSTATE_REDIRECTIONID 0x00040000
293#define LINECALLINFOSTATE_REDIRECTINGID 0x00080000
294#define LINECALLINFOSTATE_DISPLAY 0x00100000
295#define LINECALLINFOSTATE_USERUSERINFO 0x00200000
296#define LINECALLINFOSTATE_HIGHLEVELCOMP 0x00400000
297#define LINECALLINFOSTATE_LOWLEVELCOMP 0x00800000
298#define LINECALLINFOSTATE_CHARGINGINFO 0x01000000
299#define LINECALLINFOSTATE_TERMINAL 0x02000000
300#define LINECALLINFOSTATE_DIALPARAMS 0x04000000
301#define LINECALLINFOSTATE_MONITORMODES 0x08000000
302#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
303#define LINECALLINFOSTATE_TREATMENT 0x10000000
304#define LINECALLINFOSTATE_QOS 0x20000000
305#define LINECALLINFOSTATE_CALLDATA 0x40000000
306#endif
307
308#define LINECALLORIGIN_OUTBOUND 0x00000001
309#define LINECALLORIGIN_INTERNAL 0x00000002
310#define LINECALLORIGIN_EXTERNAL 0x00000004
311#define LINECALLORIGIN_UNKNOWN 0x00000010
312#define LINECALLORIGIN_UNAVAIL 0x00000020
313#define LINECALLORIGIN_CONFERENCE 0x00000040
314#define LINECALLORIGIN_INBOUND 0x00000080
315
316#define LINECALLPARAMFLAGS_SECURE 0x00000001
317#define LINECALLPARAMFLAGS_IDLE 0x00000002
318#define LINECALLPARAMFLAGS_BLOCKID 0x00000004
319#define LINECALLPARAMFLAGS_ORIGOFFHOOK 0x00000008
320#define LINECALLPARAMFLAGS_DESTOFFHOOK 0x00000010
321#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
322#define LINECALLPARAMFLAGS_NOHOLDCONFERENCE \
323 0x00000020
324#define LINECALLPARAMFLAGS_PREDICTIVEDIAL 0x00000040
325#define LINECALLPARAMFLAGS_ONESTEPTRANSFER \
326 0x00000080
327#endif
328
329#define LINECALLPARTYID_BLOCKED 0x00000001
330#define LINECALLPARTYID_OUTOFAREA 0x00000002
331#define LINECALLPARTYID_NAME 0x00000004
332#define LINECALLPARTYID_ADDRESS 0x00000008
333#define LINECALLPARTYID_PARTIAL 0x00000010
334#define LINECALLPARTYID_UNKNOWN 0x00000020
335#define LINECALLPARTYID_UNAVAIL 0x00000040
336
337#define LINECALLPRIVILEGE_NONE 0x00000001
338#define LINECALLPRIVILEGE_MONITOR 0x00000002
339#define LINECALLPRIVILEGE_OWNER 0x00000004
340
341#define LINECALLREASON_DIRECT 0x00000001
342#define LINECALLREASON_FWDBUSY 0x00000002
343#define LINECALLREASON_FWDNOANSWER 0x00000004
344#define LINECALLREASON_FWDUNCOND 0x00000008
345#define LINECALLREASON_PICKUP 0x00000010
346#define LINECALLREASON_UNPARK 0x00000020
347#define LINECALLREASON_REDIRECT 0x00000040
348#define LINECALLREASON_CALLCOMPLETION 0x00000080
349#define LINECALLREASON_TRANSFER 0x00000100
350#define LINECALLREASON_REMINDER 0x00000200
351#define LINECALLREASON_UNKNOWN 0x00000400
352#define LINECALLREASON_UNAVAIL 0x00000800
353#define LINECALLREASON_INTRUDE 0x00001000
354#define LINECALLREASON_PARKED 0x00002000
355#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
356#define LINECALLREASON_CAMPEDON 0x00004000
357#define LINECALLREASON_ROUTEREQUEST 0x00008000
358#endif
359
360#define LINECALLSELECT_LINE 0x00000001
361#define LINECALLSELECT_ADDRESS 0x00000002
362#define LINECALLSELECT_CALL 0x00000004
363#if (NDIS_TAPI_CURRENT_VERSION > 0x00020000)
364#define LINECALLSELECT_DEVICEID 0x00000008
365#endif
366#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
367#define LINECALLSELECT_CALLID 0x00000010
368#endif
369
370#define LINECALLSTATE_IDLE 0x00000001
371#define LINECALLSTATE_OFFERING 0x00000002
372#define LINECALLSTATE_ACCEPTED 0x00000004
373#define LINECALLSTATE_DIALTONE 0x00000008
374#define LINECALLSTATE_DIALING 0x00000010
375#define LINECALLSTATE_RINGBACK 0x00000020
376#define LINECALLSTATE_BUSY 0x00000040
377#define LINECALLSTATE_SPECIALINFO 0x00000080
378#define LINECALLSTATE_CONNECTED 0x00000100
379#define LINECALLSTATE_PROCEEDING 0x00000200
380#define LINECALLSTATE_ONHOLD 0x00000400
381#define LINECALLSTATE_CONFERENCED 0x00000800
382#define LINECALLSTATE_ONHOLDPENDCONF 0x00001000
383#define LINECALLSTATE_ONHOLDPENDTRANSFER 0x00002000
384#define LINECALLSTATE_DISCONNECTED 0x00004000
385#define LINECALLSTATE_UNKNOWN 0x00008000
386
387#define LINEDEVCAPFLAGS_CROSSADDRCONF 0x00000001
388#define LINEDEVCAPFLAGS_HIGHLEVCOMP 0x00000002
389#define LINEDEVCAPFLAGS_LOWLEVCOMP 0x00000004
390#define LINEDEVCAPFLAGS_MEDIACONTROL 0x00000008
391#define LINEDEVCAPFLAGS_MULTIPLEADDR 0x00000010
392#define LINEDEVCAPFLAGS_CLOSEDROP 0x00000020
393#define LINEDEVCAPFLAGS_DIALBILLING 0x00000040
394#define LINEDEVCAPFLAGS_DIALQUIET 0x00000080
395#define LINEDEVCAPFLAGS_DIALDIALTONE 0x00000100
396#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
397#define LINEDEVCAPFLAGS_MSP 0x00000200
398#define LINEDEVCAPFLAGS_CALLHUB 0x00000400
399#define LINEDEVCAPFLAGS_CALLHUBTRACKING 0x00000800
400#define LINEDEVCAPFLAGS_PRIVATEOBJECTS 0x00001000
401#endif
402
403#define LINEDEVSTATE_OTHER 0x00000001
404#define LINEDEVSTATE_RINGING 0x00000002
405#define LINEDEVSTATE_CONNECTED 0x00000004
406#define LINEDEVSTATE_DISCONNECTED 0x00000008
407#define LINEDEVSTATE_MSGWAITON 0x00000010
408#define LINEDEVSTATE_MSGWAITOFF 0x00000020
409#define LINEDEVSTATE_INSERVICE 0x00000040
410#define LINEDEVSTATE_OUTOFSERVICE 0x00000080
411#define LINEDEVSTATE_MAINTENANCE 0x00000100
412#define LINEDEVSTATE_OPEN 0x00000200
413#define LINEDEVSTATE_CLOSE 0x00000400
414#define LINEDEVSTATE_NUMCALLS 0x00000800
415#define LINEDEVSTATE_NUMCOMPLETIONS 0x00001000
416#define LINEDEVSTATE_TERMINALS 0x00002000
417#define LINEDEVSTATE_ROAMMODE 0x00004000
418#define LINEDEVSTATE_BATTERY 0x00008000
419#define LINEDEVSTATE_SIGNAL 0x00010000
420#define LINEDEVSTATE_DEVSPECIFIC 0x00020000
421#define LINEDEVSTATE_REINIT 0x00040000
422#define LINEDEVSTATE_LOCK 0x00080000
423
424#define LINEDEVSTATUSFLAGS_CONNECTED 0x00000001
425#define LINEDEVSTATUSFLAGS_MSGWAIT 0x00000002
426#define LINEDEVSTATUSFLAGS_INSERVICE 0x00000004
427#define LINEDEVSTATUSFLAGS_LOCKED 0x00000008
428
429#define LINEDIALTONEMODE_NORMAL 0x00000001
430#define LINEDIALTONEMODE_SPECIAL 0x00000002
431#define LINEDIALTONEMODE_INTERNAL 0x00000004
432#define LINEDIALTONEMODE_EXTERNAL 0x00000008
433#define LINEDIALTONEMODE_UNKNOWN 0x00000010
434#define LINEDIALTONEMODE_UNAVAIL 0x00000020
435
436#define LINEDIGITMODE_PULSE 0x00000001
437#define LINEDIGITMODE_DTMF 0x00000002
438#define LINEDIGITMODE_DTMFEND 0x00000004
439
440#define LINEDISCONNECTMODE_NORMAL 0x00000001
441#define LINEDISCONNECTMODE_UNKNOWN 0x00000002
442#define LINEDISCONNECTMODE_REJECT 0x00000004
443#define LINEDISCONNECTMODE_PICKUP 0x00000008
444#define LINEDISCONNECTMODE_FORWARDED 0x00000010
445#define LINEDISCONNECTMODE_BUSY 0x00000020
446#define LINEDISCONNECTMODE_NOANSWER 0x00000040
447#define LINEDISCONNECTMODE_BADADDRESS 0x00000080
448#define LINEDISCONNECTMODE_UNREACHABLE 0x00000100
449#define LINEDISCONNECTMODE_CONGESTION 0x00000200
450#define LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400
451#define LINEDISCONNECTMODE_UNAVAIL 0x00000800
452#define LINEDISCONNECTMODE_NODIALTONE 0x00001000
453#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
454#define LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000
455#define LINEDISCONNECTMODE_OUTOFORDER 0x00004000
456#define LINEDISCONNECTMODE_TEMPFAILURE 0x00008000
457#define LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000
458#define LINEDISCONNECTMODE_BLOCKED 0x00020000
459#define LINEDISCONNECTMODE_DONOTDISTURB 0x00040000
460#define LINEDISCONNECTMODE_CANCELLED 0x00080000
461#endif
462
463#define LINEFEATURE_DEVSPECIFIC 0x00000001
464#define LINEFEATURE_DEVSPECIFICFEAT 0x00000002
465#define LINEFEATURE_FORWARD 0x00000004
466#define LINEFEATURE_MAKECALL 0x00000008
467#define LINEFEATURE_SETMEDIACONTROL 0x00000010
468#define LINEFEATURE_SETTERMINAL 0x00000020
469#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
470#define LINEFEATURE_SETDEVSTATUS 0x00000040
471#define LINEFEATURE_FORWARDFWD 0x00000080
472#define LINEFEATURE_FORWARDDND 0x00000100
473#endif
474
475#define LINEFORWARDMODE_UNCOND 0x00000001
476#define LINEFORWARDMODE_UNCONDINTERNAL 0x00000002
477#define LINEFORWARDMODE_UNCONDEXTERNAL 0x00000004
478#define LINEFORWARDMODE_UNCONDSPECIFIC 0x00000008
479#define LINEFORWARDMODE_BUSY 0x00000010
480#define LINEFORWARDMODE_BUSYINTERNAL 0x00000020
481#define LINEFORWARDMODE_BUSYEXTERNAL 0x00000040
482#define LINEFORWARDMODE_BUSYSPECIFIC 0x00000080
483#define LINEFORWARDMODE_NOANSW 0x00000100
484#define LINEFORWARDMODE_NOANSWINTERNAL 0x00000200
485#define LINEFORWARDMODE_NOANSWEXTERNAL 0x00000400
486#define LINEFORWARDMODE_NOANSWSPECIFIC 0x00000800
487#define LINEFORWARDMODE_BUSYNA 0x00001000
488#define LINEFORWARDMODE_BUSYNAINTERNAL 0x00002000
489#define LINEFORWARDMODE_BUSYNAEXTERNAL 0x00004000
490#define LINEFORWARDMODE_BUSYNASPECIFIC 0x00008000
491
492#define LINEGATHERTERM_BUFFERFULL 0x00000001
493#define LINEGATHERTERM_TERMDIGIT 0x00000002
494#define LINEGATHERTERM_FIRSTTIMEOUT 0x00000004
495#define LINEGATHERTERM_INTERTIMEOUT 0x00000008
496#define LINEGATHERTERM_CANCEL 0x00000010
497
498#define LINEGENERATETERM_DONE 0x00000001
499#define LINEGENERATETERM_CANCEL 0x00000002
500
501#define LINEMEDIACONTROL_NONE 0x00000001
502#define LINEMEDIACONTROL_START 0x00000002
503#define LINEMEDIACONTROL_RESET 0x00000004
504#define LINEMEDIACONTROL_PAUSE 0x00000008
505#define LINEMEDIACONTROL_RESUME 0x00000010
506#define LINEMEDIACONTROL_RATEUP 0x00000020
507#define LINEMEDIACONTROL_RATEDOWN 0x00000040
508#define LINEMEDIACONTROL_RATENORMAL 0x00000080
509#define LINEMEDIACONTROL_VOLUMEUP 0x00000100
510#define LINEMEDIACONTROL_VOLUMEDOWN 0x00000200
511#define LINEMEDIACONTROL_VOLUMENORMAL 0x00000400
512
513#define LINEMEDIAMODE_UNKNOWN 0x00000002
514#define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004
515#define LINEMEDIAMODE_AUTOMATEDVOICE 0x00000008
516#define LINEMEDIAMODE_DATAMODEM 0x00000010
517#define LINEMEDIAMODE_G3FAX 0x00000020
518#define LINEMEDIAMODE_TDD 0x00000040
519#define LINEMEDIAMODE_G4FAX 0x00000080
520#define LINEMEDIAMODE_DIGITALDATA 0x00000100
521#define LINEMEDIAMODE_TELETEX 0x00000200
522#define LINEMEDIAMODE_VIDEOTEX 0x00000400
523#define LINEMEDIAMODE_TELEX 0x00000800
524#define LINEMEDIAMODE_MIXED 0x00001000
525#define LINEMEDIAMODE_ADSI 0x00002000
526
527#define LINEMEDIAMODE_VOICEVIEW 0x00004000
528#define LAST_LINEMEDIAMODE 0x00004000
529#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020001)
530#define LINEMEDIAMODE_VIDEO 0x00008000
531#define LAST_LINEMEDIAMODE 0x00008000
532#endif
533
534#define LINEPARKMODE_DIRECTED 0x00000001
535#define LINEPARKMODE_NONDIRECTED 0x00000002
536
537#define LINEREMOVEFROMCONF_NONE 0x00000001
538#define LINEREMOVEFROMCONF_LAST 0x00000002
539#define LINEREMOVEFROMCONF_ANY 0x00000003
540
541#define LINEREQUESTMODE_MAKECALL 0x00000001
542#define LINEREQUESTMODE_MEDIACALL 0x00000002
543#define LINEREQUESTMODE_DROP 0x00000004
544
545#define LAST_LINEREQUESTMODE LINEREQUESTMODE_MEDIACALL
546
547#define LINEROAMMODE_UNKNOWN 0x00000001
548#define LINEROAMMODE_UNAVAIL 0x00000002
549#define LINEROAMMODE_HOME 0x00000004
550#define LINEROAMMODE_ROAMA 0x00000008
551#define LINEROAMMODE_ROAMB 0x00000010
552
553#define LINESPECIALINFO_NOCIRCUIT 0x00000001
554#define LINESPECIALINFO_CUSTIRREG 0x00000002
555#define LINESPECIALINFO_REORDER 0x00000004
556#define LINESPECIALINFO_UNKNOWN 0x00000008
557#define LINESPECIALINFO_UNAVAIL 0x00000010
558
559#define LINETERMDEV_PHONE 0x00000001
560#define LINETERMDEV_HEADSET 0x00000002
561#define LINETERMDEV_SPEAKER 0x00000004
562
563#define LINETERMMODE_BUTTONS 0x00000001
564#define LINETERMMODE_LAMPS 0x00000002
565#define LINETERMMODE_DISPLAY 0x00000004
566#define LINETERMMODE_RINGER 0x00000008
567#define LINETERMMODE_HOOKSWITCH 0x00000010
568#define LINETERMMODE_MEDIATOLINE 0x00000020
569#define LINETERMMODE_MEDIAFROMLINE 0x00000040
570#define LINETERMMODE_MEDIABIDIRECT 0x00000080
571
572#define LINETERMSHARING_PRIVATE 0x00000001
573#define LINETERMSHARING_SHAREDEXCL 0x00000002
574#define LINETERMSHARING_SHAREDCONF 0x00000004
575
576#define LINETONEMODE_CUSTOM 0x00000001
577#define LINETONEMODE_RINGBACK 0x00000002
578#define LINETONEMODE_BUSY 0x00000004
579#define LINETONEMODE_BEEP 0x00000008
580#define LINETONEMODE_BILLING 0x00000010
581
582#define LINETRANSFERMODE_TRANSFER 0x00000001
583#define LINETRANSFERMODE_CONFERENCE 0x00000002
584
585#define LINETOLLLISTOPTION_ADD 0x00000001
586#define LINETOLLLISTOPTION_REMOVE 0x00000002
587
588#define LINETRANSLATEOPTION_CARDOVERRIDE 0x00000001
589
590#define LINETRANSLATERESULT_CANONICAL 0x00000001
591#define LINETRANSLATERESULT_INTERNATIONAL 0x00000002
592#define LINETRANSLATERESULT_LONGDISTANCE 0x00000004
593#define LINETRANSLATERESULT_LOCAL 0x00000008
594#define LINETRANSLATERESULT_INTOLLLIST 0x00000010
595#define LINETRANSLATERESULT_NOTINTOLLLIST 0x00000020
596#define LINETRANSLATERESULT_DIALBILLING 0x00000040
597#define LINETRANSLATERESULT_DIALQUIET 0x00000080
598#define LINETRANSLATERESULT_DIALDIALTONE 0x00000100
599#define LINETRANSLATERESULT_DIALPROMPT 0x00000200
600#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
601#define LINETRANSLATERESULT_VOICEDETECT 0x00000400
602#endif
603
604#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
605#define LINETRANSLATERESULT_NOTRANSLATION 0x00000800
606#endif
607
608
609typedef struct _NDIS_VAR_DATA_DESC {
610 USHORT Length;
611 USHORT MaximumLength;
612 LONG Offset;
613} NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC;
614
615typedef struct _LINE_DIAL_PARAMS {
616 ULONG ulDialPause;
617 ULONG ulDialSpeed;
618 ULONG ulDigitDuration;
619 ULONG ulWaitForDialtone;
620} LINE_DIAL_PARAMS, *PLINE_DIAL_PARAMS;
621
622typedef struct _LINE_ADDRESS_CAPS {
623 ULONG ulTotalSize;
624 ULONG ulNeededSize;
625 ULONG ulUsedSize;
626 ULONG ulLineDeviceID;
627 ULONG ulAddressSize;
628 ULONG ulAddressOffset;
629 ULONG ulDevSpecificSize;
630 ULONG ulDevSpecificOffset;
631 ULONG ulAddressSharing;
632 ULONG ulAddressStates;
633 ULONG ulCallInfoStates;
634 ULONG ulCallerIDFlags;
635 ULONG ulCalledIDFlags;
636 ULONG ulConnectedIDFlags;
637 ULONG ulRedirectionIDFlags;
638 ULONG ulRedirectingIDFlags;
639 ULONG ulCallStates;
640 ULONG ulDialToneModes;
641 ULONG ulBusyModes;
642 ULONG ulSpecialInfo;
643 ULONG ulDisconnectModes;
644 ULONG ulMaxNumActiveCalls;
645 ULONG ulMaxNumOnHoldCalls;
646 ULONG ulMaxNumOnHoldPendingCalls;
647 ULONG ulMaxNumConference;
648 ULONG ulMaxNumTransConf;
649 ULONG ulAddrCapFlags;
650 ULONG ulCallFeatures;
651 ULONG ulRemoveFromConfCaps;
652 ULONG ulRemoveFromConfState;
653 ULONG ulTransferModes;
654 ULONG ulParkModes;
655 ULONG ulForwardModes;
656 ULONG ulMaxForwardEntries;
657 ULONG ulMaxSpecificEntries;
658 ULONG ulMinFwdNumRings;
659 ULONG ulMaxFwdNumRings;
660 ULONG ulMaxCallCompletions;
661 ULONG ulCallCompletionConds;
662 ULONG ulCallCompletionModes;
663 ULONG ulNumCompletionMessages;
664 ULONG ulCompletionMsgTextEntrySize;
665 ULONG ulCompletionMsgTextSize;
666 ULONG ulCompletionMsgTextOffset;
667#if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
668 ULONG ulAddressFeatures;
669#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
670 ULONG ulPredictiveAutoTransferStates;
671 ULONG ulNumCallTreatments;
672 ULONG ulCallTreatmentListSize;
673 ULONG ulCallTreatmentListOffset;
674 ULONG ulDeviceClassesSize;
675 ULONG ulDeviceClassesOffset;
676 ULONG ulMaxCallDataSize;
677 ULONG ulCallFeatures2;
678 ULONG ulMaxNoAnswerTimeout;
679 ULONG ulConnectedModes;
680 ULONG ulOfferingModes;
681 ULONG ulAvailableMediaModes;
682#endif
683#endif
684} LINE_ADDRESS_CAPS, *PLINE_ADDRESS_CAPS;
685
686typedef struct _LINE_ADDRESS_STATUS {
687 ULONG ulTotalSize;
688 ULONG ulNeededSize;
689 ULONG ulUsedSize;
690 ULONG ulNumInUse;
691 ULONG ulNumActiveCalls;
692 ULONG ulNumOnHoldCalls;
693 ULONG ulNumOnHoldPendCalls;
694 ULONG ulAddressFeatures;
695 ULONG ulNumRingsNoAnswer;
696 ULONG ulForwardNumEntries;
697 ULONG ulForwardSize;
698 ULONG ulForwardOffset;
699 ULONG ulTerminalModesSize;
700 ULONG ulTerminalModesOffset;
701 ULONG ulDevSpecificSize;
702 ULONG ulDevSpecificOffset;
703} LINE_ADDRESS_STATUS, *PLINE_ADDRESS_STATUS;
704
705typedef struct _LINE_CALL_INFO {
706 ULONG ulTotalSize;
707 ULONG ulNeededSize;
708 ULONG ulUsedSize;
709 ULONG hLine;
710 ULONG ulLineDeviceID;
711 ULONG ulAddressID;
712 ULONG ulBearerMode;
713 ULONG ulRate;
714 ULONG ulMediaMode;
715 ULONG ulAppSpecific;
716 ULONG ulCallID;
717 ULONG ulRelatedCallID;
718 ULONG ulCallParamFlags;
719 ULONG ulCallStates;
720 ULONG ulMonitorDigitModes;
721 ULONG ulMonitorMediaModes;
722 LINE_DIAL_PARAMS DialParams;
723 ULONG ulOrigin;
724 ULONG ulReason;
725 ULONG ulCompletionID;
726 ULONG ulNumOwners;
727 ULONG ulNumMonitors;
728 ULONG ulCountryCode;
729 ULONG ulTrunk;
730 ULONG ulCallerIDFlags;
731 ULONG ulCallerIDSize;
732 ULONG ulCallerIDOffset;
733 ULONG ulCallerIDNameSize;
734 ULONG ulCallerIDNameOffset;
735 ULONG ulCalledIDFlags;
736 ULONG ulCalledIDSize;
737 ULONG ulCalledIDOffset;
738 ULONG ulCalledIDNameSize;
739 ULONG ulCalledIDNameOffset;
740 ULONG ulConnectedIDFlags;
741 ULONG ulConnectedIDSize;
742 ULONG ulConnectedIDOffset;
743 ULONG ulConnectedIDNameSize;
744 ULONG ulConnectedIDNameOffset;
745 ULONG ulRedirectionIDFlags;
746 ULONG ulRedirectionIDSize;
747 ULONG ulRedirectionIDOffset;
748 ULONG ulRedirectionIDNameSize;
749 ULONG ulRedirectionIDNameOffset;
750 ULONG ulRedirectingIDFlags;
751 ULONG ulRedirectingIDSize;
752 ULONG ulRedirectingIDOffset;
753 ULONG ulRedirectingIDNameSize;
754 ULONG ulRedirectingIDNameOffset;
755 ULONG ulAppNameSize;
756 ULONG ulAppNameOffset;
757 ULONG ulDisplayableAddressSize;
758 ULONG ulDisplayableAddressOffset;
759 ULONG ulCalledPartySize;
760 ULONG ulCalledPartyOffset;
761 ULONG ulCommentSize;
762 ULONG ulCommentOffset;
763 ULONG ulDisplaySize;
764 ULONG ulDisplayOffset;
765 ULONG ulUserUserInfoSize;
766 ULONG ulUserUserInfoOffset;
767 ULONG ulHighLevelCompSize;
768 ULONG ulHighLevelCompOffset;
769 ULONG ulLowLevelCompSize;
770 ULONG ulLowLevelCompOffset;
771 ULONG ulChargingInfoSize;
772 ULONG ulChargingInfoOffset;
773 ULONG ulTerminalModesSize;
774 ULONG ulTerminalModesOffset;
775 ULONG ulDevSpecificSize;
776 ULONG ulDevSpecificOffset;
777#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
778 ULONG ulCallTreatment;
779 ULONG ulCallDataSize;
780 ULONG ulCallDataOffset;
781 ULONG ulSendingFlowspecSize;
782 ULONG ulSendingFlowspecOffset;
783 ULONG ulReceivingFlowspecSize;
784 ULONG ulReceivingFlowspecOffset;
785#endif
786#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
787 ULONG ulCallerIDAddressType;
788 ULONG ulCalledIDAddressType;
789 ULONG ulConnectedIDAddressType;
790 ULONG ulRedirectionIDAddressType;
791 ULONG ulRedirectingIDAddressType;
792#endif
793} LINE_CALL_INFO, *PLINE_CALL_INFO;
794
795typedef struct _LINE_CALL_PARAMS {
796 ULONG ulTotalSize;
797 ULONG ulBearerMode;
798 ULONG ulMinRate;
799 ULONG ulMaxRate;
800 ULONG ulMediaMode;
801 ULONG ulCallParamFlags;
802 ULONG ulAddressMode;
803 ULONG ulAddressID;
804 LINE_DIAL_PARAMS DialParams;
805 ULONG ulOrigAddressSize;
806 ULONG ulOrigAddressOffset;
807 ULONG ulDisplayableAddressSize;
808 ULONG ulDisplayableAddressOffset;
809 ULONG ulCalledPartySize;
810 ULONG ulCalledPartyOffset;
811 ULONG ulCommentSize;
812 ULONG ulCommentOffset;
813 ULONG ulUserUserInfoSize;
814 ULONG ulUserUserInfoOffset;
815 ULONG ulHighLevelCompSize;
816 ULONG ulHighLevelCompOffset;
817 ULONG ulLowLevelCompSize;
818 ULONG ulLowLevelCompOffset;
819 ULONG ulDevSpecificSize;
820 ULONG ulDevSpecificOffset;
821#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
822 ULONG ulPredictiveAutoTransferStates;
823 ULONG ulTargetAddressSize;
824 ULONG ulTargetAddressOffset;
825 ULONG ulSendingFlowspecSize;
826 ULONG ulSendingFlowspecOffset;
827 ULONG ulReceivingFlowspecSize;
828 ULONG ulReceivingFlowspecOffset;
829 ULONG ulDeviceClassSize;
830 ULONG ulDeviceClassOffset;
831 ULONG ulDeviceConfigSize;
832 ULONG ulDeviceConfigOffset;
833 ULONG ulCallDataSize;
834 ULONG ulCallDataOffset;
835 ULONG ulNoAnswerTimeout;
836 ULONG ulCallingPartyIDSize;
837 ULONG ulCallingPartyIDOffset;
838#endif
839#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
840 ULONG ulAddressType;
841#endif
842} LINE_CALL_PARAMS, *PLINE_CALL_PARAMS;
843
844typedef struct _LINE_CALL_STATUS {
845 ULONG ulTotalSize;
846 ULONG ulNeededSize;
847 ULONG ulUsedSize;
848 ULONG ulCallState;
849 ULONG ulCallStateMode;
850 ULONG ulCallPrivilege;
851 ULONG ulCallFeatures;
852 ULONG ulDevSpecificSize;
853 ULONG ulDevSpecificOffset;
854} LINE_CALL_STATUS, *PLINE_CALL_STATUS;
855
856typedef struct _LINE_DEV_CAPS {
857 ULONG ulTotalSize;
858 ULONG ulNeededSize;
859 ULONG ulUsedSize;
860 ULONG ulProviderInfoSize;
861 ULONG ulProviderInfoOffset;
862 ULONG ulSwitchInfoSize;
863 ULONG ulSwitchInfoOffset;
864 ULONG ulPermanentLineID;
865 ULONG ulLineNameSize;
866 ULONG ulLineNameOffset;
867 ULONG ulStringFormat;
868 ULONG ulAddressModes;
869 ULONG ulNumAddresses;
870 ULONG ulBearerModes;
871 ULONG ulMaxRate;
872 ULONG ulMediaModes;
873 ULONG ulGenerateToneModes;
874 ULONG ulGenerateToneMaxNumFreq;
875 ULONG ulGenerateDigitModes;
876 ULONG ulMonitorToneMaxNumFreq;
877 ULONG ulMonitorToneMaxNumEntries;
878 ULONG ulMonitorDigitModes;
879 ULONG ulGatherDigitsMinTimeout;
880 ULONG ulGatherDigitsMaxTimeout;
881 ULONG ulMedCtlDigitMaxListSize;
882 ULONG ulMedCtlMediaMaxListSize;
883 ULONG ulMedCtlToneMaxListSize;
884 ULONG ulMedCtlCallStateMaxListSize;
885 ULONG ulDevCapFlags;
886 ULONG ulMaxNumActiveCalls;
887 ULONG ulAnswerMode;
888 ULONG ulRingModes;
889 ULONG ulLineStates;
890 ULONG ulUUIAcceptSize;
891 ULONG ulUUIAnswerSize;
892 ULONG ulUUIMakeCallSize;
893 ULONG ulUUIDropSize;
894 ULONG ulUUISendUserUserInfoSize;
895 ULONG ulUUICallInfoSize;
896 LINE_DIAL_PARAMS MinDialParams;
897 LINE_DIAL_PARAMS MaxDialParams;
898 LINE_DIAL_PARAMS DefaultDialParams;
899 ULONG ulNumTerminals;
900 ULONG ulTerminalCapsSize;
901 ULONG ulTerminalCapsOffset;
902 ULONG ulTerminalTextEntrySize;
903 ULONG ulTerminalTextSize;
904 ULONG ulTerminalTextOffset;
905 ULONG ulDevSpecificSize;
906 ULONG ulDevSpecificOffset;
907#if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
908 ULONG ulLineFeatures;
909#endif
910#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
911 ULONG ulSettableDevStatus;
912 ULONG ulDeviceClassesSize;
913 ULONG ulDeviceClassesOffset;
914#endif
915#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
916 GUID PermanentLineGuid;
917#endif
918#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
919 ULONG ulAddressTypes;
920 GUID ProtocolGuid;
921 ULONG ulAvailableTracking;
922#endif
923} LINE_DEV_CAPS, *PLINE_DEV_CAPS;
924
925typedef struct _LINE_DEV_STATUS {
926 ULONG ulTotalSize;
927 ULONG ulNeededSize;
928 ULONG ulUsedSize;
929 ULONG ulNumOpens;
930 ULONG ulOpenMediaModes;
931 ULONG ulNumActiveCalls;
932 ULONG ulNumOnHoldCalls;
933 ULONG ulNumOnHoldPendCalls;
934 ULONG ulLineFeatures;
935 ULONG ulNumCallCompletions;
936 ULONG ulRingMode;
937 ULONG ulSignalLevel;
938 ULONG ulBatteryLevel;
939 ULONG ulRoamMode;
940 ULONG ulDevStatusFlags;
941 ULONG ulTerminalModesSize;
942 ULONG ulTerminalModesOffset;
943 ULONG ulDevSpecificSize;
944 ULONG ulDevSpecificOffset;
945} LINE_DEV_STATUS, *PLINE_DEV_STATUS;
946
947typedef struct _LINE_EXTENSION_ID {
948 ULONG ulExtensionID0;
949 ULONG ulExtensionID1;
950 ULONG ulExtensionID2;
951 ULONG ulExtensionID3;
952} LINE_EXTENSION_ID, *PLINE_EXTENSION_ID;
953
954typedef struct _VAR_STRING {
955 ULONG ulTotalSize;
956 ULONG ulNeededSize;
957 ULONG ulUsedSize;
958 ULONG ulStringFormat;
959 ULONG ulStringSize;
960 ULONG ulStringOffset;
961} VAR_STRING, *PVAR_STRING;
962
963typedef struct _NDIS_TAPI_ANSWER {
964 IN ULONG ulRequestID;
965 IN HDRV_CALL hdCall;
966 IN ULONG ulUserUserInfoSize;
967 IN UCHAR UserUserInfo[1];
968} NDIS_TAPI_ANSWER, *PNDIS_TAPI_ANSWER;
969
970typedef struct _NDIS_TAPI_CLOSE {
971 IN ULONG ulRequestID;
972 IN HDRV_LINE hdLine;
973} NDIS_TAPI_CLOSE, *PNDIS_TAPI_CLOSE;
974
975typedef struct _NDIS_TAPI_CLOSE_CALL {
976 IN ULONG ulRequestID;
977 IN HDRV_CALL hdCall;
978} NDIS_TAPI_CLOSE_CALL, *PNDIS_TAPI_CLOSE_CALL;
979
980typedef struct _NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION {
981 IN ULONG ulRequestID;
982 IN HDRV_LINE hdLine;
983 IN ULONG ulMediaModes;
984 IN LINE_CALL_PARAMS LineCallParams;
985} NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION, *PNDIS_TAPI_CONDITIONAL_MEDIA_DETECTION;
986
987typedef struct _NDIS_TAPI_DROP {
988 IN ULONG ulRequestID;
989 IN HDRV_CALL hdCall;
990 IN ULONG ulUserUserInfoSize;
991 IN UCHAR UserUserInfo[1];
992} NDIS_TAPI_DROP, *PNDIS_TAPI_DROP;
993
994typedef struct _NDIS_TAPI_PROVIDER_SHUTDOWN {
995 IN ULONG ulRequestID;
996} NDIS_TAPI_PROVIDER_SHUTDOWN, *PNDIS_TAPI_PROVIDER_SHUTDOWN;
997
998typedef struct _NDIS_TAPI_SET_APP_SPECIFIC {
999 IN ULONG ulRequestID;
1000 IN HDRV_CALL hdCall;
1001 IN ULONG ulAppSpecific;
1002} NDIS_TAPI_SET_APP_SPECIFIC, *PNDIS_TAPI_SET_APP_SPECIFIC;
1003
1004typedef struct _NDIS_TAPI_SET_CALL_PARAMS {
1005 IN ULONG ulRequestID;
1006 IN HDRV_CALL hdCall;
1007 IN ULONG ulBearerMode;
1008 IN ULONG ulMinRate;
1009 IN ULONG ulMaxRate;
1010 IN BOOLEAN bSetLineDialParams;
1011 IN LINE_DIAL_PARAMS LineDialParams;
1012} NDIS_TAPI_SET_CALL_PARAMS, *PNDIS_TAPI_SET_CALL_PARAMS;
1013
1014typedef struct _NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION {
1015 IN ULONG ulRequestID;
1016 IN HDRV_LINE hdLine;
1017 IN ULONG ulMediaModes;
1018} NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION, *PNDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION;
1019
1020typedef struct _NDIS_TAPI_SET_DEV_CONFIG {
1021 IN ULONG ulRequestID;
1022 IN ULONG ulDeviceID;
1023 IN ULONG ulDeviceClassSize;
1024 IN ULONG ulDeviceClassOffset;
1025 IN ULONG ulDeviceConfigSize;
1026 IN UCHAR DeviceConfig[1];
1027} NDIS_TAPI_SET_DEV_CONFIG, *PNDIS_TAPI_SET_DEV_CONFIG;
1028
1029typedef struct _NDIS_TAPI_SET_MEDIA_MODE {
1030 IN ULONG ulRequestID;
1031 IN HDRV_CALL hdCall;
1032 IN ULONG ulMediaMode;
1033} NDIS_TAPI_SET_MEDIA_MODE, *PNDIS_TAPI_SET_MEDIA_MODE;
1034
1035typedef struct _NDIS_TAPI_SET_STATUS_MESSAGES {
1036 IN ULONG ulRequestID;
1037 IN HDRV_LINE hdLine;
1038 IN ULONG ulLineStates;
1039 IN ULONG ulAddressStates;
1040} NDIS_TAPI_SET_STATUS_MESSAGES, *PNDIS_TAPI_SET_STATUS_MESSAGES;
1041
1042typedef struct _NDIS_TAPI_ACCEPT {
1043 IN ULONG ulRequestID;
1044 IN HDRV_CALL hdCall;
1045 IN ULONG ulUserUserInfoSize;
1046 IN UCHAR UserUserInfo[1];
1047} NDIS_TAPI_ACCEPT, *PNDIS_TAPI_ACCEPT;
1048
1049typedef struct _NDIS_TAPI_DIAL {
1050 IN ULONG ulRequestID;
1051 IN HDRV_CALL hdCall;
1052 IN ULONG ulDestAddressSize;
1053 IN CHAR szDestAddress[1];
1054} NDIS_TAPI_DIAL, *PNDIS_TAPI_DIAL;
1055
1056typedef struct _NDIS_TAPI_EVENT {
1057 IN HTAPI_LINE htLine;
1058 IN HTAPI_CALL htCall;
1059 IN ULONG ulMsg;
1060 IN ULONG ulParam1;
1061 IN ULONG ulParam2;
1062 IN ULONG ulParam3;
1063} NDIS_TAPI_EVENT, *PNDIS_TAPI_EVENT;
1064
1065typedef struct _NDIS_TAPI_OPEN {
1066 IN ULONG ulRequestID;
1067 IN ULONG ulDeviceID;
1068 IN HTAPI_LINE htLine;
1069 OUT HDRV_LINE hdLine;
1070} NDIS_TAPI_OPEN, *PNDIS_TAPI_OPEN;
1071
1072typedef struct _NDIS_TAPI_SECURE_CALL {
1073 IN ULONG ulRequestID;
1074 IN HDRV_CALL hdCall;
1075} NDIS_TAPI_SECURE_CALL, *PNDIS_TAPI_SECURE_CALL;
1076
1077typedef struct _NDIS_TAPI_SELECT_EXT_VERSION {
1078 IN ULONG ulRequestID;
1079 IN HDRV_LINE hdLine;
1080 IN ULONG ulExtVersion;
1081} NDIS_TAPI_SELECT_EXT_VERSION, *PNDIS_TAPI_SELECT_EXT_VERSION;
1082
1083typedef struct _NDIS_TAPI_SEND_USER_USER_INFO {
1084 IN ULONG ulRequestID;
1085 IN HDRV_CALL hdCall;
1086 IN ULONG ulUserUserInfoSize;
1087 IN UCHAR UserUserInfo[1];
1088} NDIS_TAPI_SEND_USER_USER_INFO, *PNDIS_TAPI_SEND_USER_USER_INFO;
1089
1090
1091typedef struct _NDIS_TAPI_CONFIG_DIALOG {
1092 IN ULONG ulRequestID;
1093 IN ULONG ulDeviceID;
1094 IN ULONG ulDeviceClassSize;
1095 IN ULONG ulDeviceClassOffset;
1096 IN ULONG ulLibraryNameTotalSize;
1097 OUT ULONG ulLibraryNameNeededSize;
1098 OUT CHAR szLibraryName[1];
1099} NDIS_TAPI_CONFIG_DIALOG, *PNDIS_TAPI_CONFIG_DIALOG;
1100
1101typedef struct _NDIS_TAPI_DEV_SPECIFIC {
1102 IN ULONG ulRequestID;
1103 IN HDRV_LINE hdLine;
1104 IN ULONG ulAddressID;
1105 IN HDRV_CALL hdCall;
1106 IN OUT ULONG ulParamsSize;
1107 IN OUT UCHAR Params[1];
1108} NDIS_TAPI_DEV_SPECIFIC, *PNDIS_TAPI_DEV_SPECIFIC;
1109
1110typedef struct _NDIS_TAPI_GET_ADDRESS_CAPS {
1111 IN ULONG ulRequestID;
1112 IN ULONG ulDeviceID;
1113 IN ULONG ulAddressID;
1114 IN ULONG ulExtVersion;
1115 OUT LINE_ADDRESS_CAPS LineAddressCaps;
1116} NDIS_TAPI_GET_ADDRESS_CAPS, *PNDIS_TAPI_GET_ADDRESS_CAPS;
1117
1118typedef struct _NDIS_TAPI_GET_ADDRESS_ID {
1119 IN ULONG ulRequestID;
1120 IN HDRV_LINE hdLine;
1121 OUT ULONG ulAddressID;
1122 IN ULONG ulAddressMode;
1123 IN ULONG ulAddressSize;
1124 IN CHAR szAddress[1];
1125} NDIS_TAPI_GET_ADDRESS_ID, *PNDIS_TAPI_GET_ADDRESS_ID;
1126
1127typedef struct _NDIS_TAPI_GET_ADDRESS_STATUS {
1128 IN ULONG ulRequestID;
1129 IN HDRV_LINE hdLine;
1130 IN ULONG ulAddressID;
1131 OUT LINE_ADDRESS_STATUS LineAddressStatus;
1132} NDIS_TAPI_GET_ADDRESS_STATUS, *PNDIS_TAPI_GET_ADDRESS_STATUS;
1133
1134typedef struct _NDIS_TAPI_GET_CALL_ADDRESS_ID {
1135 IN ULONG ulRequestID;
1136 IN HDRV_CALL hdCall;
1137 OUT ULONG ulAddressID;
1138} NDIS_TAPI_GET_CALL_ADDRESS_ID, *PNDIS_TAPI_GET_CALL_ADDRESS_ID;
1139
1140typedef struct _NDIS_TAPI_GET_CALL_INFO {
1141 ULONG ulRequestID;
1142 IN HDRV_CALL hdCall;
1143 OUT LINE_CALL_INFO LineCallInfo;
1144} NDIS_TAPI_GET_CALL_INFO, *PNDIS_TAPI_GET_CALL_INFO;
1145
1146typedef struct _NDIS_TAPI_GET_CALL_STATUS {
1147 IN ULONG ulRequestID;
1148 IN HDRV_CALL hdCall;
1149 OUT LINE_CALL_STATUS LineCallStatus;
1150} NDIS_TAPI_GET_CALL_STATUS, *PNDIS_TAPI_GET_CALL_STATUS;
1151
1152typedef struct _NDIS_TAPI_GET_DEV_CAPS {
1153 IN ULONG ulRequestID;
1154 IN ULONG ulDeviceID;
1155 IN ULONG ulExtVersion;
1156 OUT LINE_DEV_CAPS LineDevCaps;
1157} NDIS_TAPI_GET_DEV_CAPS, *PNDIS_TAPI_GET_DEV_CAPS;
1158
1159typedef struct _NDIS_TAPI_GET_DEV_CONFIG {
1160 IN ULONG ulRequestID;
1161 IN ULONG ulDeviceID;
1162 IN ULONG ulDeviceClassSize;
1163 IN ULONG ulDeviceClassOffset;
1164 OUT VAR_STRING DeviceConfig;
1165} NDIS_TAPI_GET_DEV_CONFIG, *PNDIS_TAPI_GET_DEV_CONFIG;
1166
1167typedef struct _NDIS_TAPI_GET_EXTENSION_ID {
1168 IN ULONG ulRequestID;
1169 IN ULONG ulDeviceID;
1170 OUT LINE_EXTENSION_ID LineExtensionID;
1171} NDIS_TAPI_GET_EXTENSION_ID, *PNDIS_TAPI_GET_EXTENSION_ID;
1172
1173typedef struct _NDIS_TAPI_GET_ID {
1174 IN ULONG ulRequestID;
1175 IN HDRV_LINE hdLine;
1176 IN ULONG ulAddressID;
1177 IN HDRV_CALL hdCall;
1178 IN ULONG ulSelect;
1179 IN ULONG ulDeviceClassSize;
1180 IN ULONG ulDeviceClassOffset;
1181 OUT VAR_STRING DeviceID;
1182} NDIS_TAPI_GET_ID, *PNDIS_TAPI_GET_ID;
1183
1184typedef struct _NDIS_TAPI_GET_LINE_DEV_STATUS {
1185 IN ULONG ulRequestID;
1186 IN HDRV_LINE hdLine;
1187 OUT LINE_DEV_STATUS LineDevStatus;
1188} NDIS_TAPI_GET_LINE_DEV_STATUS, *PNDIS_TAPI_GET_LINE_DEV_STATUS;
1189
1190typedef struct _NDIS_TAPI_MAKE_CALL {
1191 IN ULONG ulRequestID;
1192 IN HDRV_LINE hdLine;
1193 IN HTAPI_CALL htCall;
1194 OUT HDRV_CALL hdCall;
1195 IN ULONG ulDestAddressSize;
1196 IN ULONG ulDestAddressOffset;
1197 IN BOOLEAN bUseDefaultLineCallParams;
1198 IN LINE_CALL_PARAMS LineCallParams;
1199} NDIS_TAPI_MAKE_CALL, *PNDIS_TAPI_MAKE_CALL;
1200
1201typedef struct _NDIS_TAPI_NEGOTIATE_EXT_VERSION {
1202 IN ULONG ulRequestID;
1203 IN ULONG ulDeviceID;
1204 IN ULONG ulLowVersion;
1205 IN ULONG ulHighVersion;
1206 OUT ULONG ulExtVersion;
1207} NDIS_TAPI_NEGOTIATE_EXT_VERSION, *PNDIS_TAPI_NEGOTIATE_EXT_VERSION;
1208
1209typedef struct _NDIS_TAPI_PROVIDER_INITIALIZE {
1210 IN ULONG ulRequestID;
1211 IN ULONG ulDeviceIDBase;
1212 OUT ULONG ulNumLineDevs;
1213 OUT ULONG ulProviderID;
1214} NDIS_TAPI_PROVIDER_INITIALIZE, *PNDIS_TAPI_PROVIDER_INITIALIZE;
1215
1216
1217#define CO_TAPI_VERSION NDIS_TAPI_CURRENT_VERSION
1218
1219#define CO_TAPI_FLAG_OUTGOING_CALL 0x00000001
1220#define CO_TAPI_FLAG_INCOMING_CALL 0x00000002
1221#define CO_TAPI_FLAG_USE_DEFAULT_CALLPARAMS 0x00000004
1222
1223#define AF_TAPI_SAP_TYPE 0x00008000
1224
1225typedef struct _CO_TAPI_ADDRESS_CAPS {
1226 IN ULONG ulLineID;
1227 IN ULONG ulAddressID;
1228 OUT ULONG ulFlags;
1229 OUT LINE_ADDRESS_CAPS LineAddressCaps;
1230} CO_TAPI_ADDRESS_CAPS, *PCO_TAPI_ADDRESS_CAPS;
1231
1232/* CO_TAPI_CM_CAPS.ulFlags constants */
1233#define CO_TAPI_FLAG_PER_LINE_CAPS 0x00000001
1234
1235typedef struct _CO_TAPI_CM_CAPS {
1236 OUT ULONG ulCoTapiVersion;
1237 OUT ULONG ulNumLines;
1238 OUT ULONG ulFlags;
1239} CO_TAPI_CM_CAPS, *PCO_TAPI_CM_CAPS;
1240
1241typedef struct _CO_TAPI_CALL_DIAGNOSTICS {
1242 OUT ULONG ulOrigin;
1243 OUT ULONG ulReason;
1244 OUT NDIS_VAR_DATA_DESC DiagInfo;
1245} CO_TAPI_CALL_DIAGNOSTICS, *PCO_TAPI_CALL_DIAGNOSTICS;
1246
1247
1248/* CO_TAPI_LINE_CAPS.ulFlags constants */
1249#define CO_TAPI_FLAG_PER_ADDRESS_CAPS 0x00000001
1250
1251typedef struct _CO_TAPI_LINE_CAPS {
1252 IN ULONG ulLineID;
1253 OUT ULONG ulFlags;
1254 OUT LINE_DEV_CAPS LineDevCaps;
1255} CO_TAPI_LINE_CAPS, *PCO_TAPI_LINE_CAPS;
1256
1257typedef struct _CO_TAPI_TRANSLATE_NDIS_CALLPARAMS {
1258 IN ULONG ulFlags;
1259 IN NDIS_VAR_DATA_DESC NdisCallParams;
1260 OUT NDIS_VAR_DATA_DESC LineCallInfo;
1261} CO_TAPI_TRANSLATE_NDIS_CALLPARAMS, *PCO_TAPI_TRANSLATE_NDIS_CALLPARAMS;
1262
1263typedef struct _CO_TAPI_TRANSLATE_TAPI_CALLPARAMS {
1264 IN ULONG ulLineID;
1265 IN ULONG ulAddressID;
1266 IN ULONG ulFlags;
1267 IN NDIS_VAR_DATA_DESC DestAddress;
1268 IN NDIS_VAR_DATA_DESC LineCallParams;
1269 OUT NDIS_VAR_DATA_DESC NdisCallParams;
1270} CO_TAPI_TRANSLATE_TAPI_CALLPARAMS, *PCO_TAPI_TRANSLATE_TAPI_CALLPARAMS;
1271
1272/* CO_TAPI_TRANSLATE_SAP.ulLineID constants */
1273#define CO_TAPI_LINE_ID_UNSPECIFIED 0xFFFFFFFF
1274
1275/* CO_TAPI_TRANSLATE_SAP.ulAddressID constants */
1276#define CO_TAPI_ADDRESS_ID_UNSPECIFIED 0xFFFFFFFF
1277
1278typedef struct _CO_TAPI_TRANSLATE_SAP {
1279 IN ULONG ulLineID;
1280 IN ULONG ulAddressID;
1281 IN ULONG ulMediaModes;
1282 IN ULONG Reserved;
1283 OUT ULONG NumberOfSaps;
1284 OUT NDIS_VAR_DATA_DESC NdisSapParams[1];
1285} CO_AF_TAPI_SAP, *PCO_AF_TAPI_SAP;
1286
1287typedef struct _CO_AF_TAPI_INCOMING_CALL_PARAMETERS {
1288 IN ULONG ulLineID;
1289 IN ULONG ulAddressID;
1290 IN ULONG ulFlags;
1291 IN NDIS_VAR_DATA_DESC LineCallInfo;
1292} CO_AF_TAPI_INCOMING_CALL_PARAMETERS, *PCO_AF_TAPI_INCOMING_CALL_PARAMETERS;
1293
1294typedef struct _CO_AF_TAPI_MAKE_CALL_PARAMETERS {
1295 IN ULONG ulLineID;
1296 IN ULONG ulAddressID;
1297 IN ULONG ulFlags;
1298 IN NDIS_VAR_DATA_DESC DestAddress;
1299 IN NDIS_VAR_DATA_DESC LineCallParams;
1300} CO_AF_TAPI_MAKE_CALL_PARAMETERS, *PCO_AF_TAPI_MAKE_CALL_PARAMETERS;
1301
1302#ifdef __cplusplus
1303}
1304#endif
1305
1306#endif /* _NDIS_TAPI_ */
1307
Note: See TracBrowser for help on using the repository browser.