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