ndistapi.h 47 KB

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