[ATL] Add CHAIN_MSG_MAP macro
[reactos.git] / sdk / include / ddk / ndistapi.h
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
31 extern "C" {
32 #endif
33
34 #ifndef NDIS_TAPI_CURRENT_VERSION
35 #define NDIS_TAPI_CURRENT_VERSION 0x00010003
36 #endif
37
38 typedef ULONG_PTR HTAPI_LINE;
39 typedef ULONG_PTR HDRV_LINE;
40 typedef ULONG_PTR HTAPI_CALL;
41 typedef 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 typedef struct _NDIS_VAR_DATA_DESC {
609 USHORT Length;
610 USHORT MaximumLength;
611 LONG Offset;
612 } NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC;
613
614 typedef struct _LINE_DIAL_PARAMS {
615 ULONG ulDialPause;
616 ULONG ulDialSpeed;
617 ULONG ulDigitDuration;
618 ULONG ulWaitForDialtone;
619 } LINE_DIAL_PARAMS, *PLINE_DIAL_PARAMS;
620
621 typedef struct _LINE_ADDRESS_CAPS {
622 ULONG ulTotalSize;
623 ULONG ulNeededSize;
624 ULONG ulUsedSize;
625 ULONG ulLineDeviceID;
626 ULONG ulAddressSize;
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;
638 ULONG ulCallStates;
639 ULONG ulDialToneModes;
640 ULONG ulBusyModes;
641 ULONG ulSpecialInfo;
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;
653 ULONG ulParkModes;
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;
681 #endif
682 #endif /* (NDIS_TAPI_CURRENT_VERSION >= 0x00010004) */
683 } LINE_ADDRESS_CAPS, *PLINE_ADDRESS_CAPS;
684
685 typedef struct _LINE_ADDRESS_STATUS {
686 ULONG ulTotalSize;
687 ULONG ulNeededSize;
688 ULONG ulUsedSize;
689 ULONG ulNumInUse;
690 ULONG ulNumActiveCalls;
691 ULONG ulNumOnHoldCalls;
692 ULONG ulNumOnHoldPendCalls;
693 ULONG ulAddressFeatures;
694 ULONG ulNumRingsNoAnswer;
695 ULONG ulForwardNumEntries;
696 ULONG ulForwardSize;
697 ULONG ulForwardOffset;
698 ULONG ulTerminalModesSize;
699 ULONG ulTerminalModesOffset;
700 ULONG ulDevSpecificSize;
701 ULONG ulDevSpecificOffset;
702 } LINE_ADDRESS_STATUS, *PLINE_ADDRESS_STATUS;
703
704 typedef struct _LINE_CALL_INFO {
705 ULONG ulTotalSize;
706 ULONG ulNeededSize;
707 ULONG ulUsedSize;
708 ULONG hLine;
709 ULONG ulLineDeviceID;
710 ULONG ulAddressID;
711 ULONG ulBearerMode;
712 ULONG ulRate;
713 ULONG ulMediaMode;
714 ULONG ulAppSpecific;
715 ULONG ulCallID;
716 ULONG ulRelatedCallID;
717 ULONG ulCallParamFlags;
718 ULONG ulCallStates;
719 ULONG ulMonitorDigitModes;
720 ULONG ulMonitorMediaModes;
721 LINE_DIAL_PARAMS DialParams;
722 ULONG ulOrigin;
723 ULONG ulReason;
724 ULONG ulCompletionID;
725 ULONG ulNumOwners;
726 ULONG ulNumMonitors;
727 ULONG ulCountryCode;
728 ULONG ulTrunk;
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;
754 ULONG ulAppNameSize;
755 ULONG ulAppNameOffset;
756 ULONG ulDisplayableAddressSize;
757 ULONG ulDisplayableAddressOffset;
758 ULONG ulCalledPartySize;
759 ULONG ulCalledPartyOffset;
760 ULONG ulCommentSize;
761 ULONG ulCommentOffset;
762 ULONG ulDisplaySize;
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;
784 #endif
785 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
786 ULONG ulCallerIDAddressType;
787 ULONG ulCalledIDAddressType;
788 ULONG ulConnectedIDAddressType;
789 ULONG ulRedirectionIDAddressType;
790 ULONG ulRedirectingIDAddressType;
791 #endif
792 } LINE_CALL_INFO, *PLINE_CALL_INFO;
793
794 typedef struct _LINE_CALL_PARAMS {
795 ULONG ulTotalSize;
796 ULONG ulBearerMode;
797 ULONG ulMinRate;
798 ULONG ulMaxRate;
799 ULONG ulMediaMode;
800 ULONG ulCallParamFlags;
801 ULONG ulAddressMode;
802 ULONG ulAddressID;
803 LINE_DIAL_PARAMS DialParams;
804 ULONG ulOrigAddressSize;
805 ULONG ulOrigAddressOffset;
806 ULONG ulDisplayableAddressSize;
807 ULONG ulDisplayableAddressOffset;
808 ULONG ulCalledPartySize;
809 ULONG ulCalledPartyOffset;
810 ULONG ulCommentSize;
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;
837 #endif
838 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
839 ULONG ulAddressType;
840 #endif
841 } LINE_CALL_PARAMS, *PLINE_CALL_PARAMS;
842
843 typedef struct _LINE_CALL_STATUS {
844 ULONG ulTotalSize;
845 ULONG ulNeededSize;
846 ULONG ulUsedSize;
847 ULONG ulCallState;
848 ULONG ulCallStateMode;
849 ULONG ulCallPrivilege;
850 ULONG ulCallFeatures;
851 ULONG ulDevSpecificSize;
852 ULONG ulDevSpecificOffset;
853 } LINE_CALL_STATUS, *PLINE_CALL_STATUS;
854
855 typedef struct _LINE_DEV_CAPS {
856 ULONG ulTotalSize;
857 ULONG ulNeededSize;
858 ULONG ulUsedSize;
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;
869 ULONG ulBearerModes;
870 ULONG ulMaxRate;
871 ULONG ulMediaModes;
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;
884 ULONG ulDevCapFlags;
885 ULONG ulMaxNumActiveCalls;
886 ULONG ulAnswerMode;
887 ULONG ulRingModes;
888 ULONG ulLineStates;
889 ULONG ulUUIAcceptSize;
890 ULONG ulUUIAnswerSize;
891 ULONG ulUUIMakeCallSize;
892 ULONG ulUUIDropSize;
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;
908 #endif
909 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
910 ULONG ulSettableDevStatus;
911 ULONG ulDeviceClassesSize;
912 ULONG ulDeviceClassesOffset;
913 #endif
914 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
915 GUID PermanentLineGuid;
916 #endif
917 #if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
918 ULONG ulAddressTypes;
919 GUID ProtocolGuid;
920 ULONG ulAvailableTracking;
921 #endif
922 } LINE_DEV_CAPS, *PLINE_DEV_CAPS;
923
924 typedef struct _LINE_DEV_STATUS {
925 ULONG ulTotalSize;
926 ULONG ulNeededSize;
927 ULONG ulUsedSize;
928 ULONG ulNumOpens;
929 ULONG ulOpenMediaModes;
930 ULONG ulNumActiveCalls;
931 ULONG ulNumOnHoldCalls;
932 ULONG ulNumOnHoldPendCalls;
933 ULONG ulLineFeatures;
934 ULONG ulNumCallCompletions;
935 ULONG ulRingMode;
936 ULONG ulSignalLevel;
937 ULONG ulBatteryLevel;
938 ULONG ulRoamMode;
939 ULONG ulDevStatusFlags;
940 ULONG ulTerminalModesSize;
941 ULONG ulTerminalModesOffset;
942 ULONG ulDevSpecificSize;
943 ULONG ulDevSpecificOffset;
944 } LINE_DEV_STATUS, *PLINE_DEV_STATUS;
945
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;
952
953 typedef struct _VAR_STRING {
954 ULONG ulTotalSize;
955 ULONG ulNeededSize;
956 ULONG ulUsedSize;
957 ULONG ulStringFormat;
958 ULONG ulStringSize;
959 ULONG ulStringOffset;
960 } VAR_STRING, *PVAR_STRING;
961
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;
968
969 typedef struct _NDIS_TAPI_CLOSE {
970 _In_ ULONG ulRequestID;
971 _In_ HDRV_LINE hdLine;
972 } NDIS_TAPI_CLOSE, *PNDIS_TAPI_CLOSE;
973
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;
978
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;
985
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;
992
993 typedef struct _NDIS_TAPI_PROVIDER_SHUTDOWN {
994 _In_ ULONG ulRequestID;
995 } NDIS_TAPI_PROVIDER_SHUTDOWN, *PNDIS_TAPI_PROVIDER_SHUTDOWN;
996
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;
1002
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;
1012
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;
1018
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;
1027
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;
1033
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;
1040
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;
1047
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;
1054
1055 typedef struct _NDIS_TAPI_EVENT {
1056 _In_ HTAPI_LINE htLine;
1057 _In_ HTAPI_CALL htCall;
1058 _In_ ULONG ulMsg;
1059 _In_ ULONG ulParam1;
1060 _In_ ULONG ulParam2;
1061 _In_ ULONG ulParam3;
1062 } NDIS_TAPI_EVENT, *PNDIS_TAPI_EVENT;
1063
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;
1070
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;
1075
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;
1081
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;
1088
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;
1098
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;
1107
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;
1115
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;
1124
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;
1131
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;
1137
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;
1143
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;
1149
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;
1156
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;
1164
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;
1170
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;
1181
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;
1187
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;
1198
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;
1206
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;
1213
1214 #define CO_TAPI_VERSION NDIS_TAPI_CURRENT_VERSION
1215
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
1219
1220 #define AF_TAPI_SAP_TYPE 0x00008000
1221
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;
1228
1229 /* CO_TAPI_CM_CAPS.ulFlags constants */
1230 #define CO_TAPI_FLAG_PER_LINE_CAPS 0x00000001
1231
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;
1237
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;
1243
1244 /* CO_TAPI_LINE_CAPS.ulFlags constants */
1245 #define CO_TAPI_FLAG_PER_ADDRESS_CAPS 0x00000001
1246
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;
1252
1253 typedef struct _CO_TAPI_TRANSLATE_NDIS_CALLPARAMS {
1254 _In_ ULONG ulFlags;
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;
1258
1259 typedef struct _CO_TAPI_TRANSLATE_TAPI_CALLPARAMS {
1260 _In_ ULONG ulLineID;
1261 _In_ ULONG ulAddressID;
1262 _In_ ULONG ulFlags;
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;
1267
1268 /* CO_TAPI_TRANSLATE_SAP.ulLineID constants */
1269 #define CO_TAPI_LINE_ID_UNSPECIFIED 0xFFFFFFFF
1270
1271 /* CO_TAPI_TRANSLATE_SAP.ulAddressID constants */
1272 #define CO_TAPI_ADDRESS_ID_UNSPECIFIED 0xFFFFFFFF
1273
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;
1282
1283 typedef struct _CO_AF_TAPI_INCOMING_CALL_PARAMETERS {
1284 _In_ ULONG ulLineID;
1285 _In_ ULONG ulAddressID;
1286 _In_ ULONG ulFlags;
1287 _In_ NDIS_VAR_DATA_DESC LineCallInfo;
1288 } CO_AF_TAPI_INCOMING_CALL_PARAMETERS, *PCO_AF_TAPI_INCOMING_CALL_PARAMETERS;
1289
1290 typedef struct _CO_AF_TAPI_MAKE_CALL_PARAMETERS {
1291 _In_ ULONG ulLineID;
1292 _In_ ULONG ulAddressID;
1293 _In_ ULONG ulFlags;
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;
1297
1298 #ifdef __cplusplus
1299 }
1300 #endif
1301
1302 #endif /* _NDIS_TAPI_ */