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.
34 #ifndef NDIS_TAPI_CURRENT_VERSION
35 #define NDIS_TAPI_CURRENT_VERSION 0x00010003
38 typedef ULONG_PTR HTAPI_LINE
;
39 typedef ULONG_PTR HDRV_LINE
;
40 typedef ULONG_PTR HTAPI_CALL
;
41 typedef ULONG_PTR HDRV_CALL
;
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)
88 #define LINE_ADDRESSSTATE 0L
89 #define LINE_CALLINFO 1L
90 #define LINE_CALLSTATE 2L
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
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
117 #if (TAPI_CURRENT_VERSION >= 0x00030000)
118 #define LINE_APPNEWCALLHUB 32L
119 #define LINE_CALLHUBCLOSE 33L
120 #define LINE_DEVSPECIFICEX 34L
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
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
163 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
164 #define LINEADDRCAPFLAGS_ACDGROUP 0x40000000
165 #define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION \
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
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
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
210 #define LINEANSWERMODE_NONE 0x00000001
211 #define LINEANSWERMODE_DROP 0x00000002
212 #define LINEANSWERMODE_HOLD 0x00000004
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
225 #define LINEBUSYMODE_STATION 0x00000001
226 #define LINEBUSYMODE_TRUNK 0x00000002
227 #define LINEBUSYMODE_UNKNOWN 0x00000004
228 #define LINEBUSYMODE_UNAVAIL 0x00000008
230 #define LINECALLCOMPLCOND_BUSY 0x00000001
231 #define LINECALLCOMPLCOND_NOANSWER 0x00000002
233 #define LINECALLCOMPLMODE_CAMPON 0x00000001
234 #define LINECALLCOMPLMODE_CALLBACK 0x00000002
235 #define LINECALLCOMPLMODE_INTRUDE 0x00000004
236 #define LINECALLCOMPLMODE_MESSAGE 0x00000008
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 \
268 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
269 #define LINECALLFEATURE_SETTREATMENT 0x20000000
270 #define LINECALLFEATURE_SETQOS 0x40000000
271 #define LINECALLFEATURE_SETCALLDATA 0x80000000
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
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
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 \
324 #define LINECALLPARAMFLAGS_PREDICTIVEDIAL 0x00000040
325 #define LINECALLPARAMFLAGS_ONESTEPTRANSFER \
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
337 #define LINECALLPRIVILEGE_NONE 0x00000001
338 #define LINECALLPRIVILEGE_MONITOR 0x00000002
339 #define LINECALLPRIVILEGE_OWNER 0x00000004
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
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
366 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
367 #define LINECALLSELECT_CALLID 0x00000010
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
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
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
424 #define LINEDEVSTATUSFLAGS_CONNECTED 0x00000001
425 #define LINEDEVSTATUSFLAGS_MSGWAIT 0x00000002
426 #define LINEDEVSTATUSFLAGS_INSERVICE 0x00000004
427 #define LINEDEVSTATUSFLAGS_LOCKED 0x00000008
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
436 #define LINEDIGITMODE_PULSE 0x00000001
437 #define LINEDIGITMODE_DTMF 0x00000002
438 #define LINEDIGITMODE_DTMFEND 0x00000004
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
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
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
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
498 #define LINEGENERATETERM_DONE 0x00000001
499 #define LINEGENERATETERM_CANCEL 0x00000002
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
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
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
534 #define LINEPARKMODE_DIRECTED 0x00000001
535 #define LINEPARKMODE_NONDIRECTED 0x00000002
537 #define LINEREMOVEFROMCONF_NONE 0x00000001
538 #define LINEREMOVEFROMCONF_LAST 0x00000002
539 #define LINEREMOVEFROMCONF_ANY 0x00000003
541 #define LINEREQUESTMODE_MAKECALL 0x00000001
542 #define LINEREQUESTMODE_MEDIACALL 0x00000002
543 #define LINEREQUESTMODE_DROP 0x00000004
545 #define LAST_LINEREQUESTMODE LINEREQUESTMODE_MEDIACALL
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
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
559 #define LINETERMDEV_PHONE 0x00000001
560 #define LINETERMDEV_HEADSET 0x00000002
561 #define LINETERMDEV_SPEAKER 0x00000004
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
572 #define LINETERMSHARING_PRIVATE 0x00000001
573 #define LINETERMSHARING_SHAREDEXCL 0x00000002
574 #define LINETERMSHARING_SHAREDCONF 0x00000004
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
582 #define LINETRANSFERMODE_TRANSFER 0x00000001
583 #define LINETRANSFERMODE_CONFERENCE 0x00000002
585 #define LINETOLLLISTOPTION_ADD 0x00000001
586 #define LINETOLLLISTOPTION_REMOVE 0x00000002
588 #define LINETRANSLATEOPTION_CARDOVERRIDE 0x00000001
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
604 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
605 #define LINETRANSLATERESULT_NOTRANSLATION 0x00000800
608 typedef struct _NDIS_VAR_DATA_DESC
{
610 USHORT MaximumLength
;
612 } NDIS_VAR_DATA_DESC
, *PNDIS_VAR_DATA_DESC
;
614 typedef struct _LINE_DIAL_PARAMS
{
617 ULONG ulDigitDuration
;
618 ULONG ulWaitForDialtone
;
619 } LINE_DIAL_PARAMS
, *PLINE_DIAL_PARAMS
;
621 typedef struct _LINE_ADDRESS_CAPS
{
625 ULONG ulLineDeviceID
;
627 ULONG ulAddressOffset
;
628 ULONG ulDevSpecificSize
;
629 ULONG ulDevSpecificOffset
;
630 ULONG ulAddressSharing
;
631 ULONG ulAddressStates
;
632 ULONG ulCallInfoStates
;
633 ULONG ulCallerIDFlags
;
634 ULONG ulCalledIDFlags
;
635 ULONG ulConnectedIDFlags
;
636 ULONG ulRedirectionIDFlags
;
637 ULONG ulRedirectingIDFlags
;
639 ULONG ulDialToneModes
;
642 ULONG ulDisconnectModes
;
643 ULONG ulMaxNumActiveCalls
;
644 ULONG ulMaxNumOnHoldCalls
;
645 ULONG ulMaxNumOnHoldPendingCalls
;
646 ULONG ulMaxNumConference
;
647 ULONG ulMaxNumTransConf
;
648 ULONG ulAddrCapFlags
;
649 ULONG ulCallFeatures
;
650 ULONG ulRemoveFromConfCaps
;
651 ULONG ulRemoveFromConfState
;
652 ULONG ulTransferModes
;
654 ULONG ulForwardModes
;
655 ULONG ulMaxForwardEntries
;
656 ULONG ulMaxSpecificEntries
;
657 ULONG ulMinFwdNumRings
;
658 ULONG ulMaxFwdNumRings
;
659 ULONG ulMaxCallCompletions
;
660 ULONG ulCallCompletionConds
;
661 ULONG ulCallCompletionModes
;
662 ULONG ulNumCompletionMessages
;
663 ULONG ulCompletionMsgTextEntrySize
;
664 ULONG ulCompletionMsgTextSize
;
665 ULONG ulCompletionMsgTextOffset
;
666 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
667 ULONG ulAddressFeatures
;
668 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
669 ULONG ulPredictiveAutoTransferStates
;
670 ULONG ulNumCallTreatments
;
671 ULONG ulCallTreatmentListSize
;
672 ULONG ulCallTreatmentListOffset
;
673 ULONG ulDeviceClassesSize
;
674 ULONG ulDeviceClassesOffset
;
675 ULONG ulMaxCallDataSize
;
676 ULONG ulCallFeatures2
;
677 ULONG ulMaxNoAnswerTimeout
;
678 ULONG ulConnectedModes
;
679 ULONG ulOfferingModes
;
680 ULONG ulAvailableMediaModes
;
682 #endif /* (NDIS_TAPI_CURRENT_VERSION >= 0x00010004) */
683 } LINE_ADDRESS_CAPS
, *PLINE_ADDRESS_CAPS
;
685 typedef struct _LINE_ADDRESS_STATUS
{
690 ULONG ulNumActiveCalls
;
691 ULONG ulNumOnHoldCalls
;
692 ULONG ulNumOnHoldPendCalls
;
693 ULONG ulAddressFeatures
;
694 ULONG ulNumRingsNoAnswer
;
695 ULONG ulForwardNumEntries
;
697 ULONG ulForwardOffset
;
698 ULONG ulTerminalModesSize
;
699 ULONG ulTerminalModesOffset
;
700 ULONG ulDevSpecificSize
;
701 ULONG ulDevSpecificOffset
;
702 } LINE_ADDRESS_STATUS
, *PLINE_ADDRESS_STATUS
;
704 typedef struct _LINE_CALL_INFO
{
709 ULONG ulLineDeviceID
;
716 ULONG ulRelatedCallID
;
717 ULONG ulCallParamFlags
;
719 ULONG ulMonitorDigitModes
;
720 ULONG ulMonitorMediaModes
;
721 LINE_DIAL_PARAMS DialParams
;
724 ULONG ulCompletionID
;
729 ULONG ulCallerIDFlags
;
730 ULONG ulCallerIDSize
;
731 ULONG ulCallerIDOffset
;
732 ULONG ulCallerIDNameSize
;
733 ULONG ulCallerIDNameOffset
;
734 ULONG ulCalledIDFlags
;
735 ULONG ulCalledIDSize
;
736 ULONG ulCalledIDOffset
;
737 ULONG ulCalledIDNameSize
;
738 ULONG ulCalledIDNameOffset
;
739 ULONG ulConnectedIDFlags
;
740 ULONG ulConnectedIDSize
;
741 ULONG ulConnectedIDOffset
;
742 ULONG ulConnectedIDNameSize
;
743 ULONG ulConnectedIDNameOffset
;
744 ULONG ulRedirectionIDFlags
;
745 ULONG ulRedirectionIDSize
;
746 ULONG ulRedirectionIDOffset
;
747 ULONG ulRedirectionIDNameSize
;
748 ULONG ulRedirectionIDNameOffset
;
749 ULONG ulRedirectingIDFlags
;
750 ULONG ulRedirectingIDSize
;
751 ULONG ulRedirectingIDOffset
;
752 ULONG ulRedirectingIDNameSize
;
753 ULONG ulRedirectingIDNameOffset
;
755 ULONG ulAppNameOffset
;
756 ULONG ulDisplayableAddressSize
;
757 ULONG ulDisplayableAddressOffset
;
758 ULONG ulCalledPartySize
;
759 ULONG ulCalledPartyOffset
;
761 ULONG ulCommentOffset
;
763 ULONG ulDisplayOffset
;
764 ULONG ulUserUserInfoSize
;
765 ULONG ulUserUserInfoOffset
;
766 ULONG ulHighLevelCompSize
;
767 ULONG ulHighLevelCompOffset
;
768 ULONG ulLowLevelCompSize
;
769 ULONG ulLowLevelCompOffset
;
770 ULONG ulChargingInfoSize
;
771 ULONG ulChargingInfoOffset
;
772 ULONG ulTerminalModesSize
;
773 ULONG ulTerminalModesOffset
;
774 ULONG ulDevSpecificSize
;
775 ULONG ulDevSpecificOffset
;
776 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
777 ULONG ulCallTreatment
;
778 ULONG ulCallDataSize
;
779 ULONG ulCallDataOffset
;
780 ULONG ulSendingFlowspecSize
;
781 ULONG ulSendingFlowspecOffset
;
782 ULONG ulReceivingFlowspecSize
;
783 ULONG ulReceivingFlowspecOffset
;
785 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
786 ULONG ulCallerIDAddressType
;
787 ULONG ulCalledIDAddressType
;
788 ULONG ulConnectedIDAddressType
;
789 ULONG ulRedirectionIDAddressType
;
790 ULONG ulRedirectingIDAddressType
;
792 } LINE_CALL_INFO
, *PLINE_CALL_INFO
;
794 typedef struct _LINE_CALL_PARAMS
{
800 ULONG ulCallParamFlags
;
803 LINE_DIAL_PARAMS DialParams
;
804 ULONG ulOrigAddressSize
;
805 ULONG ulOrigAddressOffset
;
806 ULONG ulDisplayableAddressSize
;
807 ULONG ulDisplayableAddressOffset
;
808 ULONG ulCalledPartySize
;
809 ULONG ulCalledPartyOffset
;
811 ULONG ulCommentOffset
;
812 ULONG ulUserUserInfoSize
;
813 ULONG ulUserUserInfoOffset
;
814 ULONG ulHighLevelCompSize
;
815 ULONG ulHighLevelCompOffset
;
816 ULONG ulLowLevelCompSize
;
817 ULONG ulLowLevelCompOffset
;
818 ULONG ulDevSpecificSize
;
819 ULONG ulDevSpecificOffset
;
820 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
821 ULONG ulPredictiveAutoTransferStates
;
822 ULONG ulTargetAddressSize
;
823 ULONG ulTargetAddressOffset
;
824 ULONG ulSendingFlowspecSize
;
825 ULONG ulSendingFlowspecOffset
;
826 ULONG ulReceivingFlowspecSize
;
827 ULONG ulReceivingFlowspecOffset
;
828 ULONG ulDeviceClassSize
;
829 ULONG ulDeviceClassOffset
;
830 ULONG ulDeviceConfigSize
;
831 ULONG ulDeviceConfigOffset
;
832 ULONG ulCallDataSize
;
833 ULONG ulCallDataOffset
;
834 ULONG ulNoAnswerTimeout
;
835 ULONG ulCallingPartyIDSize
;
836 ULONG ulCallingPartyIDOffset
;
838 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
841 } LINE_CALL_PARAMS
, *PLINE_CALL_PARAMS
;
843 typedef struct _LINE_CALL_STATUS
{
848 ULONG ulCallStateMode
;
849 ULONG ulCallPrivilege
;
850 ULONG ulCallFeatures
;
851 ULONG ulDevSpecificSize
;
852 ULONG ulDevSpecificOffset
;
853 } LINE_CALL_STATUS
, *PLINE_CALL_STATUS
;
855 typedef struct _LINE_DEV_CAPS
{
859 ULONG ulProviderInfoSize
;
860 ULONG ulProviderInfoOffset
;
861 ULONG ulSwitchInfoSize
;
862 ULONG ulSwitchInfoOffset
;
863 ULONG ulPermanentLineID
;
864 ULONG ulLineNameSize
;
865 ULONG ulLineNameOffset
;
866 ULONG ulStringFormat
;
867 ULONG ulAddressModes
;
868 ULONG ulNumAddresses
;
872 ULONG ulGenerateToneModes
;
873 ULONG ulGenerateToneMaxNumFreq
;
874 ULONG ulGenerateDigitModes
;
875 ULONG ulMonitorToneMaxNumFreq
;
876 ULONG ulMonitorToneMaxNumEntries
;
877 ULONG ulMonitorDigitModes
;
878 ULONG ulGatherDigitsMinTimeout
;
879 ULONG ulGatherDigitsMaxTimeout
;
880 ULONG ulMedCtlDigitMaxListSize
;
881 ULONG ulMedCtlMediaMaxListSize
;
882 ULONG ulMedCtlToneMaxListSize
;
883 ULONG ulMedCtlCallStateMaxListSize
;
885 ULONG ulMaxNumActiveCalls
;
889 ULONG ulUUIAcceptSize
;
890 ULONG ulUUIAnswerSize
;
891 ULONG ulUUIMakeCallSize
;
893 ULONG ulUUISendUserUserInfoSize
;
894 ULONG ulUUICallInfoSize
;
895 LINE_DIAL_PARAMS MinDialParams
;
896 LINE_DIAL_PARAMS MaxDialParams
;
897 LINE_DIAL_PARAMS DefaultDialParams
;
898 ULONG ulNumTerminals
;
899 ULONG ulTerminalCapsSize
;
900 ULONG ulTerminalCapsOffset
;
901 ULONG ulTerminalTextEntrySize
;
902 ULONG ulTerminalTextSize
;
903 ULONG ulTerminalTextOffset
;
904 ULONG ulDevSpecificSize
;
905 ULONG ulDevSpecificOffset
;
906 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
907 ULONG ulLineFeatures
;
909 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
910 ULONG ulSettableDevStatus
;
911 ULONG ulDeviceClassesSize
;
912 ULONG ulDeviceClassesOffset
;
914 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
915 GUID PermanentLineGuid
;
917 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
918 ULONG ulAddressTypes
;
920 ULONG ulAvailableTracking
;
922 } LINE_DEV_CAPS
, *PLINE_DEV_CAPS
;
924 typedef struct _LINE_DEV_STATUS
{
929 ULONG ulOpenMediaModes
;
930 ULONG ulNumActiveCalls
;
931 ULONG ulNumOnHoldCalls
;
932 ULONG ulNumOnHoldPendCalls
;
933 ULONG ulLineFeatures
;
934 ULONG ulNumCallCompletions
;
937 ULONG ulBatteryLevel
;
939 ULONG ulDevStatusFlags
;
940 ULONG ulTerminalModesSize
;
941 ULONG ulTerminalModesOffset
;
942 ULONG ulDevSpecificSize
;
943 ULONG ulDevSpecificOffset
;
944 } LINE_DEV_STATUS
, *PLINE_DEV_STATUS
;
946 typedef struct _LINE_EXTENSION_ID
{
947 ULONG ulExtensionID0
;
948 ULONG ulExtensionID1
;
949 ULONG ulExtensionID2
;
950 ULONG ulExtensionID3
;
951 } LINE_EXTENSION_ID
, *PLINE_EXTENSION_ID
;
953 typedef struct _VAR_STRING
{
957 ULONG ulStringFormat
;
959 ULONG ulStringOffset
;
960 } VAR_STRING
, *PVAR_STRING
;
962 typedef struct _NDIS_TAPI_ANSWER
{
963 _In_ ULONG ulRequestID
;
964 _In_ HDRV_CALL hdCall
;
965 _In_ ULONG ulUserUserInfoSize
;
966 _In_ UCHAR UserUserInfo
[1];
967 } NDIS_TAPI_ANSWER
, *PNDIS_TAPI_ANSWER
;
969 typedef struct _NDIS_TAPI_CLOSE
{
970 _In_ ULONG ulRequestID
;
971 _In_ HDRV_LINE hdLine
;
972 } NDIS_TAPI_CLOSE
, *PNDIS_TAPI_CLOSE
;
974 typedef struct _NDIS_TAPI_CLOSE_CALL
{
975 _In_ ULONG ulRequestID
;
976 _In_ HDRV_CALL hdCall
;
977 } NDIS_TAPI_CLOSE_CALL
, *PNDIS_TAPI_CLOSE_CALL
;
979 typedef struct _NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION
{
980 _In_ ULONG ulRequestID
;
981 _In_ HDRV_LINE hdLine
;
982 _In_ ULONG ulMediaModes
;
983 _In_ LINE_CALL_PARAMS LineCallParams
;
984 } NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION
, *PNDIS_TAPI_CONDITIONAL_MEDIA_DETECTION
;
986 typedef struct _NDIS_TAPI_DROP
{
987 _In_ ULONG ulRequestID
;
988 _In_ HDRV_CALL hdCall
;
989 _In_ ULONG ulUserUserInfoSize
;
990 _In_ UCHAR UserUserInfo
[1];
991 } NDIS_TAPI_DROP
, *PNDIS_TAPI_DROP
;
993 typedef struct _NDIS_TAPI_PROVIDER_SHUTDOWN
{
994 _In_ ULONG ulRequestID
;
995 } NDIS_TAPI_PROVIDER_SHUTDOWN
, *PNDIS_TAPI_PROVIDER_SHUTDOWN
;
997 typedef struct _NDIS_TAPI_SET_APP_SPECIFIC
{
998 _In_ ULONG ulRequestID
;
999 _In_ HDRV_CALL hdCall
;
1000 _In_ ULONG ulAppSpecific
;
1001 } NDIS_TAPI_SET_APP_SPECIFIC
, *PNDIS_TAPI_SET_APP_SPECIFIC
;
1003 typedef struct _NDIS_TAPI_SET_CALL_PARAMS
{
1004 _In_ ULONG ulRequestID
;
1005 _In_ HDRV_CALL hdCall
;
1006 _In_ ULONG ulBearerMode
;
1007 _In_ ULONG ulMinRate
;
1008 _In_ ULONG ulMaxRate
;
1009 _In_ BOOLEAN bSetLineDialParams
;
1010 _In_ LINE_DIAL_PARAMS LineDialParams
;
1011 } NDIS_TAPI_SET_CALL_PARAMS
, *PNDIS_TAPI_SET_CALL_PARAMS
;
1013 typedef struct _NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION
{
1014 _In_ ULONG ulRequestID
;
1015 _In_ HDRV_LINE hdLine
;
1016 _In_ ULONG ulMediaModes
;
1017 } NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION
, *PNDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION
;
1019 typedef struct _NDIS_TAPI_SET_DEV_CONFIG
{
1020 _In_ ULONG ulRequestID
;
1021 _In_ ULONG ulDeviceID
;
1022 _In_ ULONG ulDeviceClassSize
;
1023 _In_ ULONG ulDeviceClassOffset
;
1024 _In_ ULONG ulDeviceConfigSize
;
1025 _In_ UCHAR DeviceConfig
[1];
1026 } NDIS_TAPI_SET_DEV_CONFIG
, *PNDIS_TAPI_SET_DEV_CONFIG
;
1028 typedef struct _NDIS_TAPI_SET_MEDIA_MODE
{
1029 _In_ ULONG ulRequestID
;
1030 _In_ HDRV_CALL hdCall
;
1031 _In_ ULONG ulMediaMode
;
1032 } NDIS_TAPI_SET_MEDIA_MODE
, *PNDIS_TAPI_SET_MEDIA_MODE
;
1034 typedef struct _NDIS_TAPI_SET_STATUS_MESSAGES
{
1035 _In_ ULONG ulRequestID
;
1036 _In_ HDRV_LINE hdLine
;
1037 _In_ ULONG ulLineStates
;
1038 _In_ ULONG ulAddressStates
;
1039 } NDIS_TAPI_SET_STATUS_MESSAGES
, *PNDIS_TAPI_SET_STATUS_MESSAGES
;
1041 typedef struct _NDIS_TAPI_ACCEPT
{
1042 _In_ ULONG ulRequestID
;
1043 _In_ HDRV_CALL hdCall
;
1044 _In_ ULONG ulUserUserInfoSize
;
1045 _In_ UCHAR UserUserInfo
[1];
1046 } NDIS_TAPI_ACCEPT
, *PNDIS_TAPI_ACCEPT
;
1048 typedef struct _NDIS_TAPI_DIAL
{
1049 _In_ ULONG ulRequestID
;
1050 _In_ HDRV_CALL hdCall
;
1051 _In_ ULONG ulDestAddressSize
;
1052 _In_ CHAR szDestAddress
[1];
1053 } NDIS_TAPI_DIAL
, *PNDIS_TAPI_DIAL
;
1055 typedef struct _NDIS_TAPI_EVENT
{
1056 _In_ HTAPI_LINE htLine
;
1057 _In_ HTAPI_CALL htCall
;
1059 _In_ ULONG ulParam1
;
1060 _In_ ULONG ulParam2
;
1061 _In_ ULONG ulParam3
;
1062 } NDIS_TAPI_EVENT
, *PNDIS_TAPI_EVENT
;
1064 typedef struct _NDIS_TAPI_OPEN
{
1065 _In_ ULONG ulRequestID
;
1066 _In_ ULONG ulDeviceID
;
1067 _In_ HTAPI_LINE htLine
;
1068 _Out_ HDRV_LINE hdLine
;
1069 } NDIS_TAPI_OPEN
, *PNDIS_TAPI_OPEN
;
1071 typedef struct _NDIS_TAPI_SECURE_CALL
{
1072 _In_ ULONG ulRequestID
;
1073 _In_ HDRV_CALL hdCall
;
1074 } NDIS_TAPI_SECURE_CALL
, *PNDIS_TAPI_SECURE_CALL
;
1076 typedef struct _NDIS_TAPI_SELECT_EXT_VERSION
{
1077 _In_ ULONG ulRequestID
;
1078 _In_ HDRV_LINE hdLine
;
1079 _In_ ULONG ulExtVersion
;
1080 } NDIS_TAPI_SELECT_EXT_VERSION
, *PNDIS_TAPI_SELECT_EXT_VERSION
;
1082 typedef struct _NDIS_TAPI_SEND_USER_USER_INFO
{
1083 _In_ ULONG ulRequestID
;
1084 _In_ HDRV_CALL hdCall
;
1085 _In_ ULONG ulUserUserInfoSize
;
1086 _In_ UCHAR UserUserInfo
[1];
1087 } NDIS_TAPI_SEND_USER_USER_INFO
, *PNDIS_TAPI_SEND_USER_USER_INFO
;
1089 typedef struct _NDIS_TAPI_CONFIG_DIALOG
{
1090 _In_ ULONG ulRequestID
;
1091 _In_ ULONG ulDeviceID
;
1092 _In_ ULONG ulDeviceClassSize
;
1093 _In_ ULONG ulDeviceClassOffset
;
1094 _In_ ULONG ulLibraryNameTotalSize
;
1095 _Out_ ULONG ulLibraryNameNeededSize
;
1096 _Out_ CHAR szLibraryName
[1];
1097 } NDIS_TAPI_CONFIG_DIALOG
, *PNDIS_TAPI_CONFIG_DIALOG
;
1099 typedef struct _NDIS_TAPI_DEV_SPECIFIC
{
1100 _In_ ULONG ulRequestID
;
1101 _In_ HDRV_LINE hdLine
;
1102 _In_ ULONG ulAddressID
;
1103 _In_ HDRV_CALL hdCall
;
1104 _Inout_ ULONG ulParamsSize
;
1105 _Inout_ UCHAR Params
[1];
1106 } NDIS_TAPI_DEV_SPECIFIC
, *PNDIS_TAPI_DEV_SPECIFIC
;
1108 typedef struct _NDIS_TAPI_GET_ADDRESS_CAPS
{
1109 _In_ ULONG ulRequestID
;
1110 _In_ ULONG ulDeviceID
;
1111 _In_ ULONG ulAddressID
;
1112 _In_ ULONG ulExtVersion
;
1113 _Out_ LINE_ADDRESS_CAPS LineAddressCaps
;
1114 } NDIS_TAPI_GET_ADDRESS_CAPS
, *PNDIS_TAPI_GET_ADDRESS_CAPS
;
1116 typedef struct _NDIS_TAPI_GET_ADDRESS_ID
{
1117 _In_ ULONG ulRequestID
;
1118 _In_ HDRV_LINE hdLine
;
1119 _Out_ ULONG ulAddressID
;
1120 _In_ ULONG ulAddressMode
;
1121 _In_ ULONG ulAddressSize
;
1122 _In_ CHAR szAddress
[1];
1123 } NDIS_TAPI_GET_ADDRESS_ID
, *PNDIS_TAPI_GET_ADDRESS_ID
;
1125 typedef struct _NDIS_TAPI_GET_ADDRESS_STATUS
{
1126 _In_ ULONG ulRequestID
;
1127 _In_ HDRV_LINE hdLine
;
1128 _In_ ULONG ulAddressID
;
1129 _Out_ LINE_ADDRESS_STATUS LineAddressStatus
;
1130 } NDIS_TAPI_GET_ADDRESS_STATUS
, *PNDIS_TAPI_GET_ADDRESS_STATUS
;
1132 typedef struct _NDIS_TAPI_GET_CALL_ADDRESS_ID
{
1133 _In_ ULONG ulRequestID
;
1134 _In_ HDRV_CALL hdCall
;
1135 _Out_ ULONG ulAddressID
;
1136 } NDIS_TAPI_GET_CALL_ADDRESS_ID
, *PNDIS_TAPI_GET_CALL_ADDRESS_ID
;
1138 typedef struct _NDIS_TAPI_GET_CALL_INFO
{
1139 _In_ ULONG ulRequestID
;
1140 _In_ HDRV_CALL hdCall
;
1141 _Out_ LINE_CALL_INFO LineCallInfo
;
1142 } NDIS_TAPI_GET_CALL_INFO
, *PNDIS_TAPI_GET_CALL_INFO
;
1144 typedef struct _NDIS_TAPI_GET_CALL_STATUS
{
1145 _In_ ULONG ulRequestID
;
1146 _In_ HDRV_CALL hdCall
;
1147 _Out_ LINE_CALL_STATUS LineCallStatus
;
1148 } NDIS_TAPI_GET_CALL_STATUS
, *PNDIS_TAPI_GET_CALL_STATUS
;
1150 typedef struct _NDIS_TAPI_GET_DEV_CAPS
{
1151 _In_ ULONG ulRequestID
;
1152 _In_ ULONG ulDeviceID
;
1153 _In_ ULONG ulExtVersion
;
1154 _Out_ LINE_DEV_CAPS LineDevCaps
;
1155 } NDIS_TAPI_GET_DEV_CAPS
, *PNDIS_TAPI_GET_DEV_CAPS
;
1157 typedef struct _NDIS_TAPI_GET_DEV_CONFIG
{
1158 _In_ ULONG ulRequestID
;
1159 _In_ ULONG ulDeviceID
;
1160 _In_ ULONG ulDeviceClassSize
;
1161 _In_ ULONG ulDeviceClassOffset
;
1162 _Out_ VAR_STRING DeviceConfig
;
1163 } NDIS_TAPI_GET_DEV_CONFIG
, *PNDIS_TAPI_GET_DEV_CONFIG
;
1165 typedef struct _NDIS_TAPI_GET_EXTENSION_ID
{
1166 _In_ ULONG ulRequestID
;
1167 _In_ ULONG ulDeviceID
;
1168 _Out_ LINE_EXTENSION_ID LineExtensionID
;
1169 } NDIS_TAPI_GET_EXTENSION_ID
, *PNDIS_TAPI_GET_EXTENSION_ID
;
1171 typedef struct _NDIS_TAPI_GET_ID
{
1172 _In_ ULONG ulRequestID
;
1173 _In_ HDRV_LINE hdLine
;
1174 _In_ ULONG ulAddressID
;
1175 _In_ HDRV_CALL hdCall
;
1176 _In_ ULONG ulSelect
;
1177 _In_ ULONG ulDeviceClassSize
;
1178 _In_ ULONG ulDeviceClassOffset
;
1179 _Out_ VAR_STRING DeviceID
;
1180 } NDIS_TAPI_GET_ID
, *PNDIS_TAPI_GET_ID
;
1182 typedef struct _NDIS_TAPI_GET_LINE_DEV_STATUS
{
1183 _In_ ULONG ulRequestID
;
1184 _In_ HDRV_LINE hdLine
;
1185 _Out_ LINE_DEV_STATUS LineDevStatus
;
1186 } NDIS_TAPI_GET_LINE_DEV_STATUS
, *PNDIS_TAPI_GET_LINE_DEV_STATUS
;
1188 typedef struct _NDIS_TAPI_MAKE_CALL
{
1189 _In_ ULONG ulRequestID
;
1190 _In_ HDRV_LINE hdLine
;
1191 _In_ HTAPI_CALL htCall
;
1192 _Out_ HDRV_CALL hdCall
;
1193 _In_ ULONG ulDestAddressSize
;
1194 _In_ ULONG ulDestAddressOffset
;
1195 _In_ BOOLEAN bUseDefaultLineCallParams
;
1196 _In_ LINE_CALL_PARAMS LineCallParams
;
1197 } NDIS_TAPI_MAKE_CALL
, *PNDIS_TAPI_MAKE_CALL
;
1199 typedef struct _NDIS_TAPI_NEGOTIATE_EXT_VERSION
{
1200 _In_ ULONG ulRequestID
;
1201 _In_ ULONG ulDeviceID
;
1202 _In_ ULONG ulLowVersion
;
1203 _In_ ULONG ulHighVersion
;
1204 _Out_ ULONG ulExtVersion
;
1205 } NDIS_TAPI_NEGOTIATE_EXT_VERSION
, *PNDIS_TAPI_NEGOTIATE_EXT_VERSION
;
1207 typedef struct _NDIS_TAPI_PROVIDER_INITIALIZE
{
1208 _In_ ULONG ulRequestID
;
1209 _In_ ULONG ulDeviceIDBase
;
1210 _Out_ ULONG ulNumLineDevs
;
1211 _Out_ ULONG ulProviderID
;
1212 } NDIS_TAPI_PROVIDER_INITIALIZE
, *PNDIS_TAPI_PROVIDER_INITIALIZE
;
1214 #define CO_TAPI_VERSION NDIS_TAPI_CURRENT_VERSION
1216 #define CO_TAPI_FLAG_OUTGOING_CALL 0x00000001
1217 #define CO_TAPI_FLAG_INCOMING_CALL 0x00000002
1218 #define CO_TAPI_FLAG_USE_DEFAULT_CALLPARAMS 0x00000004
1220 #define AF_TAPI_SAP_TYPE 0x00008000
1222 typedef struct _CO_TAPI_ADDRESS_CAPS
{
1223 _In_ ULONG ulLineID
;
1224 _In_ ULONG ulAddressID
;
1225 _Out_ ULONG ulFlags
;
1226 _Out_ LINE_ADDRESS_CAPS LineAddressCaps
;
1227 } CO_TAPI_ADDRESS_CAPS
, *PCO_TAPI_ADDRESS_CAPS
;
1229 /* CO_TAPI_CM_CAPS.ulFlags constants */
1230 #define CO_TAPI_FLAG_PER_LINE_CAPS 0x00000001
1232 typedef struct _CO_TAPI_CM_CAPS
{
1233 _Out_ ULONG ulCoTapiVersion
;
1234 _Out_ ULONG ulNumLines
;
1235 _Out_ ULONG ulFlags
;
1236 } CO_TAPI_CM_CAPS
, *PCO_TAPI_CM_CAPS
;
1238 typedef struct _CO_TAPI_CALL_DIAGNOSTICS
{
1239 _Out_ ULONG ulOrigin
;
1240 _Out_ ULONG ulReason
;
1241 _Out_ NDIS_VAR_DATA_DESC DiagInfo
;
1242 } CO_TAPI_CALL_DIAGNOSTICS
, *PCO_TAPI_CALL_DIAGNOSTICS
;
1244 /* CO_TAPI_LINE_CAPS.ulFlags constants */
1245 #define CO_TAPI_FLAG_PER_ADDRESS_CAPS 0x00000001
1247 typedef struct _CO_TAPI_LINE_CAPS
{
1248 _In_ ULONG ulLineID
;
1249 _Out_ ULONG ulFlags
;
1250 _Out_ LINE_DEV_CAPS LineDevCaps
;
1251 } CO_TAPI_LINE_CAPS
, *PCO_TAPI_LINE_CAPS
;
1253 typedef struct _CO_TAPI_TRANSLATE_NDIS_CALLPARAMS
{
1255 _In_ NDIS_VAR_DATA_DESC NdisCallParams
;
1256 _Out_ NDIS_VAR_DATA_DESC LineCallInfo
;
1257 } CO_TAPI_TRANSLATE_NDIS_CALLPARAMS
, *PCO_TAPI_TRANSLATE_NDIS_CALLPARAMS
;
1259 typedef struct _CO_TAPI_TRANSLATE_TAPI_CALLPARAMS
{
1260 _In_ ULONG ulLineID
;
1261 _In_ ULONG ulAddressID
;
1263 _In_ NDIS_VAR_DATA_DESC DestAddress
;
1264 _In_ NDIS_VAR_DATA_DESC LineCallParams
;
1265 _Out_ NDIS_VAR_DATA_DESC NdisCallParams
;
1266 } CO_TAPI_TRANSLATE_TAPI_CALLPARAMS
, *PCO_TAPI_TRANSLATE_TAPI_CALLPARAMS
;
1268 /* CO_TAPI_TRANSLATE_SAP.ulLineID constants */
1269 #define CO_TAPI_LINE_ID_UNSPECIFIED 0xFFFFFFFF
1271 /* CO_TAPI_TRANSLATE_SAP.ulAddressID constants */
1272 #define CO_TAPI_ADDRESS_ID_UNSPECIFIED 0xFFFFFFFF
1274 typedef struct _CO_TAPI_TRANSLATE_SAP
{
1275 _In_ ULONG ulLineID
;
1276 _In_ ULONG ulAddressID
;
1277 _In_ ULONG ulMediaModes
;
1278 _In_ ULONG Reserved
;
1279 _Out_ ULONG NumberOfSaps
;
1280 _Out_ NDIS_VAR_DATA_DESC NdisSapParams
[1];
1281 } CO_AF_TAPI_SAP
, *PCO_AF_TAPI_SAP
;
1283 typedef struct _CO_AF_TAPI_INCOMING_CALL_PARAMETERS
{
1284 _In_ ULONG ulLineID
;
1285 _In_ ULONG ulAddressID
;
1287 _In_ NDIS_VAR_DATA_DESC LineCallInfo
;
1288 } CO_AF_TAPI_INCOMING_CALL_PARAMETERS
, *PCO_AF_TAPI_INCOMING_CALL_PARAMETERS
;
1290 typedef struct _CO_AF_TAPI_MAKE_CALL_PARAMETERS
{
1291 _In_ ULONG ulLineID
;
1292 _In_ ULONG ulAddressID
;
1294 _In_ NDIS_VAR_DATA_DESC DestAddress
;
1295 _In_ NDIS_VAR_DATA_DESC LineCallParams
;
1296 } CO_AF_TAPI_MAKE_CALL_PARAMETERS
, *PCO_AF_TAPI_MAKE_CALL_PARAMETERS
;
1302 #endif /* _NDIS_TAPI_ */