Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1114 lines
21 KiB

  1. /*++
  2. Copyright (c) 1995-1996 Microsoft Corporation
  3. Module Name:
  4. Proxy.h
  5. Abstract:
  6. Fuction prototypes and globals
  7. Author:
  8. Tony Bell
  9. Revision History:
  10. Who When What
  11. -------- -------- ----------------------------------------------
  12. TonyBe 03/04/99 Created
  13. --*/
  14. #ifndef _PROXY__H
  15. #define _PROXY__H
  16. #include "pxtapi.h"
  17. #include "pxdefs.h"
  18. #include "pxtypes.h"
  19. #include "ndpif.h"
  20. //
  21. // Global data
  22. //
  23. extern NPAGED_LOOKASIDE_LIST ProviderEventLookaside;
  24. extern NPAGED_LOOKASIDE_LIST VcLookaside;
  25. extern TAPI_LINE_TABLE LineTable;
  26. extern VC_TABLE VcTable;
  27. extern TAPI_TSP_CB TspCB;
  28. extern PX_DEVICE_EXTENSION *DeviceExtension;
  29. extern TSP_EVENT_LIST TspEventList;
  30. //
  31. // Functions from pxntinit.c
  32. //
  33. NTSTATUS
  34. DriverEntry(
  35. IN PDRIVER_OBJECT DriverObject,
  36. IN PUNICODE_STRING RegistryPath
  37. );
  38. VOID
  39. PxCancelSetQuery(
  40. IN PDEVICE_OBJECT DeviceObject,
  41. IN PIRP Irp
  42. );
  43. //
  44. // Functions from pxinit.c
  45. //
  46. BOOLEAN
  47. InitNDISProxy(
  48. VOID
  49. );
  50. VOID
  51. GetRegistryParameters(
  52. IN PUNICODE_STRING RegistryPath
  53. );
  54. NDIS_STATUS
  55. GetConfigDword(
  56. NDIS_HANDLE Handle,
  57. PWCHAR ParameterName,
  58. PULONG Destination,
  59. ULONG MinValue,
  60. ULONG MaxValue
  61. );
  62. //
  63. // From pxcm.c
  64. //
  65. NDIS_STATUS
  66. PxCmCreateVc(
  67. IN NDIS_HANDLE ProtocolAfContext,
  68. IN NDIS_HANDLE NdisVcHandle,
  69. OUT PNDIS_HANDLE pProtocolVcContext
  70. );
  71. NDIS_STATUS
  72. PxCmDeleteVc(
  73. IN NDIS_HANDLE ProtocolVcContext
  74. );
  75. NDIS_STATUS
  76. PxCmOpenAf(
  77. IN NDIS_HANDLE CallMgrBindingContext,
  78. IN PCO_ADDRESS_FAMILY pAddressFamily,
  79. IN NDIS_HANDLE NdisAfHandle,
  80. OUT PNDIS_HANDLE pCallMgrAfContext
  81. );
  82. NDIS_STATUS
  83. PxCmCloseAf(
  84. IN NDIS_HANDLE CallMgrAfContext
  85. );
  86. NDIS_STATUS
  87. PxCmRegisterSap(
  88. IN NDIS_HANDLE CallMgrAfContext,
  89. IN PCO_SAP pCoSap,
  90. IN NDIS_HANDLE NdisSapHandle,
  91. OUT PNDIS_HANDLE pCallMgrSapContext
  92. );
  93. NDIS_STATUS
  94. PxCmDeRegisterSap(
  95. IN NDIS_HANDLE CallMgrSapContext
  96. );
  97. NDIS_STATUS
  98. PxCmMakeCall(
  99. IN NDIS_HANDLE CallMgrVcContext,
  100. IN OUT PCO_CALL_PARAMETERS pCallParameters,
  101. IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
  102. OUT PNDIS_HANDLE pCallMgrPartyContext OPTIONAL
  103. );
  104. NDIS_STATUS
  105. PxCmCloseCall(
  106. IN NDIS_HANDLE CallMgrVcContext,
  107. IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
  108. IN PVOID Buffer OPTIONAL,
  109. IN UINT Size OPTIONAL
  110. );
  111. VOID
  112. PxCmIncomingCallComplete(
  113. IN NDIS_STATUS Status,
  114. IN NDIS_HANDLE CallMgrVcContext,
  115. IN PCO_CALL_PARAMETERS pCallParameters
  116. );
  117. NDIS_STATUS
  118. PxCmAddParty(
  119. IN NDIS_HANDLE CallMgrVcContext,
  120. IN OUT PCO_CALL_PARAMETERS pCallParameters,
  121. IN NDIS_HANDLE NdisPartyHandle,
  122. OUT PNDIS_HANDLE pCallMgrPartyContext
  123. );
  124. NDIS_STATUS
  125. PxCmDropParty(
  126. IN NDIS_HANDLE CallMgrPartyContext,
  127. IN PVOID Buffer OPTIONAL,
  128. IN UINT Size OPTIONAL
  129. );
  130. VOID
  131. PxCmActivateVcComplete(
  132. IN NDIS_STATUS Status,
  133. IN NDIS_HANDLE CallMgrVcContext,
  134. IN PCO_CALL_PARAMETERS pCallParameters
  135. );
  136. VOID
  137. PxCmDeActivateVcComplete(
  138. IN NDIS_STATUS Status,
  139. IN NDIS_HANDLE CallMgrVcContext
  140. );
  141. NDIS_STATUS
  142. PxCmModifyCallQos(
  143. IN NDIS_HANDLE CallMgrVcContext,
  144. IN PCO_CALL_PARAMETERS pCallParameters
  145. );
  146. NDIS_STATUS
  147. PxCmRequest(
  148. IN NDIS_HANDLE ProtocolAfContext,
  149. IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
  150. IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
  151. IN OUT PNDIS_REQUEST NdisRequest
  152. );
  153. VOID
  154. PxCmRequestComplete(
  155. IN NDIS_STATUS Status,
  156. IN NDIS_HANDLE ProtocolAfContext,
  157. IN NDIS_HANDLE ProtocolVcContext,
  158. IN NDIS_HANDLE ProtocolPartyContext,
  159. IN PNDIS_REQUEST NdisRequest
  160. );
  161. NDIS_STATUS
  162. PxCmMakeCall(
  163. IN NDIS_HANDLE CallMgrVcContext,
  164. IN OUT PCO_CALL_PARAMETERS pCallParameters,
  165. IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
  166. OUT PNDIS_HANDLE pCallMgrPartyContext OPTIONAL
  167. );
  168. //
  169. // From pxutils.c
  170. //
  171. BOOLEAN
  172. PxIsAdapterAlreadyBound(
  173. PNDIS_STRING pDeviceName
  174. );
  175. PPX_ADAPTER
  176. PxAllocateAdapter(
  177. ULONG ulAdditionalLength
  178. );
  179. VOID
  180. PxFreeAdapter(
  181. PPX_ADAPTER pAdapter
  182. );
  183. PPX_CM_AF
  184. PxAllocateCmAf(
  185. IN PCO_ADDRESS_FAMILY pFamily
  186. );
  187. VOID
  188. PxFreeCmAf(
  189. PPX_CM_AF pCmAf
  190. );
  191. PPX_CL_AF
  192. PxAllocateClAf(
  193. IN PCO_ADDRESS_FAMILY pFamily,
  194. IN PPX_ADAPTER pAdapter
  195. );
  196. VOID
  197. PxFreeClAf(
  198. PPX_CL_AF pAfBlock
  199. );
  200. PPX_CM_SAP
  201. PxAllocateCmSap(
  202. PCO_SAP Sap
  203. );
  204. VOID
  205. PxFreeCmSap(
  206. PPX_CM_SAP pCmSap
  207. );
  208. VOID
  209. PxFreeClSap(
  210. PPX_CL_SAP pClSap
  211. );
  212. PPX_VC
  213. PxAllocateVc(
  214. IN PPX_CL_AF pClAf
  215. );
  216. VOID
  217. PxFreeVc(
  218. PPX_VC pVc
  219. );
  220. #if 0
  221. NDIS_STATUS
  222. GenericGetNdisCallParams(
  223. IN PPX_VC pProxyVc,
  224. IN ULONG ulLineID,
  225. IN ULONG ulAddressID,
  226. IN ULONG ulFlags,
  227. IN PNDIS_TAPI_MAKE_CALL TapiBuffer,
  228. OUT PCO_CALL_PARAMETERS *pNdisCallParameters
  229. );
  230. NDIS_STATUS
  231. GenericGetTapiCallParams(
  232. IN PPX_VC pProxyVc,
  233. IN PCO_CALL_PARAMETERS pCallParams
  234. );
  235. PPX_CL_SAP
  236. GenericTranslateTapiSap(
  237. IN PPX_CL_AF pClAf,
  238. IN PPX_TAPI_LINE TapiLine
  239. );
  240. VOID
  241. GenericFreeNdisSap(
  242. IN PPX_CL_AF pAfBlock,
  243. IN PCO_SAP pCoSap
  244. );
  245. #endif
  246. NDIS_STATUS
  247. PxAfXyzTranslateTapiCallParams(
  248. IN PPX_VC pProxyVc,
  249. IN ULONG ulLineID,
  250. IN ULONG ulAddressID,
  251. IN ULONG ulFlags,
  252. IN PNDIS_TAPI_MAKE_CALL pTapiParams,
  253. OUT PCO_CALL_PARAMETERS * ppNdisCallParams
  254. );
  255. NDIS_STATUS
  256. PxAfXyzTranslateNdisCallParams(
  257. IN PPX_VC pProxyVc,
  258. IN PCO_CALL_PARAMETERS pNdisCallParams
  259. );
  260. PPX_CL_SAP
  261. PxAfXyzTranslateTapiSap(
  262. IN PPX_CL_AF pClAf,
  263. IN PPX_TAPI_LINE TapiLine
  264. );
  265. NDIS_STATUS
  266. PxAfTapiTranslateTapiCallParams(
  267. IN PPX_VC pProxyVc,
  268. IN ULONG ulLineID,
  269. IN ULONG ulAddressID,
  270. IN ULONG ulFlags,
  271. IN PNDIS_TAPI_MAKE_CALL pTapiParams,
  272. OUT PCO_CALL_PARAMETERS * ppNdisCallParams
  273. );
  274. ULONG
  275. PxCopyLineCallParams(
  276. IN LINE_CALL_PARAMS *pSrcLineCallParams,
  277. OUT LINE_CALL_PARAMS *pDstLineCallParams
  278. );
  279. NDIS_STATUS
  280. PxAfTapiTranslateNdisCallParams(
  281. IN PPX_VC pProxyVc,
  282. IN PCO_CALL_PARAMETERS pNdisCallParams
  283. );
  284. PPX_CL_SAP
  285. PxAfTapiTranslateTapiSap(
  286. IN PPX_CL_AF pClAf,
  287. IN PPX_TAPI_LINE TapiLine
  288. );
  289. VOID
  290. PxAfTapiFreeNdisSap(
  291. IN PPX_CL_AF pClAf,
  292. IN PCO_SAP pCoSap
  293. );
  294. PCO_CALL_PARAMETERS
  295. PxCopyCallParameters(
  296. IN PCO_CALL_PARAMETERS pCallParameters
  297. );
  298. VOID
  299. PxStartIncomingCallTimeout(
  300. IN PPX_VC pProxyVc
  301. );
  302. VOID
  303. PxStopIncomingCallTimeout(
  304. IN PPX_VC pProxyVc
  305. );
  306. VOID
  307. PxIncomingCallTimeout(
  308. IN PVOID SystemSpecific1,
  309. IN PVOID FunctionContext,
  310. IN PVOID SystemSpecific2,
  311. IN PVOID SystemSpecific3
  312. );
  313. ULONG
  314. PxMapNdisStatusToTapiDisconnectMode(
  315. IN NDIS_STATUS NdisStatus,
  316. IN BOOLEAN bMakeCallStatus
  317. );
  318. NTSTATUS
  319. IntegerToChar (
  320. IN ULONG Value,
  321. IN LONG OutputLength,
  322. OUT PSZ String
  323. );
  324. NTSTATUS
  325. IntegerToWChar (
  326. IN ULONG Value,
  327. IN LONG OutputLength,
  328. OUT PWCHAR String
  329. );
  330. BOOLEAN
  331. PxAfAndSapFromDevClass(
  332. PPX_ADAPTER pAdapter,
  333. LPCWSTR DevClass,
  334. PPX_CM_AF *pCmAf,
  335. PPX_CM_SAP *pCmSap
  336. );
  337. VOID
  338. GetAllDevClasses(
  339. PPX_ADAPTER pAdapter,
  340. LPCWSTR DevClass,
  341. PULONG DevClassSize
  342. );
  343. VOID
  344. PxCloseCallWithCm(
  345. PPX_VC pVc
  346. );
  347. NDIS_STATUS
  348. PxCloseCallWithCl(
  349. PPX_VC pVc
  350. );
  351. VOID
  352. DoDerefVcWork(
  353. PPX_VC pVc
  354. );
  355. VOID
  356. DoDerefClAfWork(
  357. PPX_CL_AF pClAf
  358. );
  359. VOID
  360. DoDerefCmAfWork(
  361. PPX_CM_AF pCmAf
  362. );
  363. //
  364. // Functions from pxco.c
  365. //
  366. VOID
  367. PxCoBindAdapter(
  368. OUT PNDIS_STATUS pStatus,
  369. IN NDIS_HANDLE BindContext,
  370. IN PNDIS_STRING DeviceName,
  371. IN PVOID SystemSpecific1,
  372. IN PVOID SystemSpecific2
  373. );
  374. VOID
  375. PxCoOpenAdaperComplete(
  376. NDIS_HANDLE BindingContext,
  377. NDIS_STATUS Status,
  378. NDIS_STATUS OpenErrorStatus
  379. );
  380. VOID
  381. PxCoUnbindAdapter(
  382. OUT PNDIS_STATUS pStatus,
  383. IN NDIS_HANDLE ProtocolBindContext,
  384. IN PNDIS_HANDLE UnbindContext
  385. );
  386. VOID
  387. PxCoCloseAdaperComplete(
  388. NDIS_HANDLE BindingContext,
  389. NDIS_STATUS Status
  390. );
  391. VOID
  392. PxCoRequestComplete(
  393. IN NDIS_HANDLE ProtocolBindingContext,
  394. IN PNDIS_REQUEST NdisRequest,
  395. IN NDIS_STATUS Status
  396. );
  397. VOID
  398. PxCoNotifyAfRegistration(
  399. IN NDIS_HANDLE BindingContext,
  400. IN PCO_ADDRESS_FAMILY pFamily
  401. );
  402. VOID
  403. PxCoUnloadProtocol(
  404. VOID
  405. );
  406. NDIS_STATUS
  407. PxCoPnPEvent(
  408. IN NDIS_HANDLE ProtocolBindingContext,
  409. IN PNET_PNP_EVENT pNetPnPEvent
  410. );
  411. NDIS_STATUS
  412. PxPnPSetPower(
  413. IN PPX_ADAPTER pAdapter,
  414. IN PNET_PNP_EVENT pNetPnPEvent
  415. );
  416. NDIS_STATUS
  417. PxPnPQueryPower(
  418. IN PPX_ADAPTER pAdapter,
  419. IN PNET_PNP_EVENT pNetPnPEvent
  420. );
  421. NDIS_STATUS
  422. PxPnPQueryRemove(
  423. IN PPX_ADAPTER pAdapter,
  424. IN PNET_PNP_EVENT pNetPnPEvent
  425. );
  426. NDIS_STATUS
  427. PxPnPCancelRemove(
  428. IN PPX_ADAPTER pAdapter,
  429. IN PNET_PNP_EVENT pNetPnPEvent
  430. );
  431. NDIS_STATUS
  432. PxPnPReconfigure(
  433. IN PPX_ADAPTER pAdapter OPTIONAL,
  434. IN PNET_PNP_EVENT pNetPnPEvent
  435. );
  436. VOID
  437. PxCoSendComplete(
  438. IN NDIS_HANDLE ProtocolBindingContext,
  439. IN PNDIS_PACKET Packet,
  440. IN NDIS_STATUS Status
  441. );
  442. VOID
  443. PxCoTransferDataComplete(
  444. IN NDIS_HANDLE ProtocolBindingContext,
  445. IN PNDIS_PACKET Packet,
  446. IN NDIS_STATUS Status,
  447. IN UINT BytesTransferred
  448. );
  449. VOID
  450. PxCoResetComplete(
  451. IN NDIS_HANDLE ProtocolBindingContext,
  452. IN NDIS_STATUS Status
  453. );
  454. VOID
  455. PxCoStatusComplete(
  456. IN NDIS_HANDLE ProtocolBindingContext
  457. );
  458. VOID
  459. PxCoReceiveComplete(
  460. IN NDIS_HANDLE ProtocolBindingContext
  461. );
  462. VOID
  463. PxCoStatus(
  464. IN NDIS_HANDLE ProtocolBindingContext,
  465. IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
  466. IN NDIS_STATUS GeneralStatus,
  467. IN PVOID StatusBuffer,
  468. IN UINT StatusBufferSize
  469. );
  470. UINT
  471. PxCoReceivePacket(
  472. IN NDIS_HANDLE ProtocolBindingContext,
  473. IN NDIS_HANDLE ProtocolVcContext,
  474. IN PNDIS_PACKET pNdisPacket
  475. );
  476. VOID
  477. PxTerminateDigitDetection(
  478. IN PPX_VC pVc,
  479. IN PNDISTAPI_REQUEST pNdisTapiRequest,
  480. IN ULONG ulReason
  481. );
  482. VOID
  483. PxDigitTimerRoutine(
  484. IN PVOID SystemSpecific1,
  485. IN PVOID FunctionContext,
  486. IN PVOID SystemSpecific2,
  487. IN PVOID SystemSpecific3
  488. );
  489. NDIS_STATUS
  490. PxStopDigitReporting(
  491. PPX_VC pVc
  492. );
  493. VOID
  494. PxHandleReceivedDigit(
  495. IN PPX_VC pVc,
  496. IN PVOID Buffer,
  497. IN UINT BufferSize
  498. );
  499. VOID
  500. PxHandleWanLinkParams(
  501. IN PPX_VC pVc,
  502. IN PVOID Buffer,
  503. IN UINT BufferSize
  504. );
  505. //
  506. // Functions from pxcl.c
  507. //
  508. NDIS_STATUS
  509. PxClCreateVc(
  510. IN NDIS_HANDLE ProtocolAfContext,
  511. IN NDIS_HANDLE NdisVcHandle,
  512. OUT PNDIS_HANDLE ProtocolVcContext
  513. );
  514. NDIS_STATUS
  515. PxClDeleteVc(
  516. IN NDIS_HANDLE ProtocolVcContext
  517. );
  518. NDIS_STATUS
  519. PxClRequest(
  520. IN NDIS_HANDLE ProtocolAfContext,
  521. IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
  522. IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
  523. IN OUT PNDIS_REQUEST NdisRequest
  524. );
  525. VOID
  526. PxClRequestComplete(
  527. IN NDIS_STATUS Status,
  528. IN NDIS_HANDLE ProtocolAfContext,
  529. IN NDIS_HANDLE ProtocolVcContext,
  530. IN NDIS_HANDLE ProtocolPartyContext,
  531. IN PNDIS_REQUEST NdisRequest
  532. );
  533. VOID
  534. PxClOpenAfComplete(
  535. IN NDIS_STATUS Status,
  536. IN NDIS_HANDLE ProtocolAfContext,
  537. IN NDIS_HANDLE NdisAfHandle
  538. );
  539. VOID
  540. PxClCloseAfComplete(
  541. IN NDIS_STATUS status,
  542. IN NDIS_HANDLE ProtocolAfContext
  543. );
  544. VOID
  545. PxClRegisterSapComplete(
  546. IN NDIS_STATUS Status,
  547. IN NDIS_HANDLE ProtocolSapContext,
  548. IN PCO_SAP Sap,
  549. IN NDIS_HANDLE NdisSapHandle
  550. );
  551. VOID
  552. PxClDeregisterSapComplete(
  553. IN NDIS_STATUS status,
  554. IN NDIS_HANDLE ProtocolSapContext
  555. );
  556. VOID
  557. PxClMakeCallComplete(
  558. IN NDIS_STATUS Status,
  559. IN NDIS_HANDLE ProtocolVcContext,
  560. IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
  561. IN PCO_CALL_PARAMETERS CallParameters
  562. );
  563. VOID
  564. PxClModifyCallQosComplete(
  565. IN NDIS_STATUS status,
  566. IN NDIS_HANDLE ProtocolVcContext,
  567. IN PCO_CALL_PARAMETERS CallParameters
  568. );
  569. VOID
  570. PxClCloseCallComplete(
  571. IN NDIS_STATUS status,
  572. IN NDIS_HANDLE ProtocolVcContext,
  573. IN NDIS_HANDLE ProtocolPartyContext OPTIONAL
  574. );
  575. VOID
  576. PxClAddPartyComplete(
  577. IN NDIS_STATUS status,
  578. IN NDIS_HANDLE ProtocolPartyContext,
  579. IN NDIS_HANDLE NdisPartyHandle,
  580. IN PCO_CALL_PARAMETERS CallParameters
  581. );
  582. VOID
  583. PxClDropPartyComplete(
  584. IN NDIS_STATUS status,
  585. IN NDIS_HANDLE ProtocolPartyContext
  586. );
  587. NDIS_STATUS
  588. PxClIncomingCall(
  589. IN NDIS_HANDLE ProtocolSapContext,
  590. IN NDIS_HANDLE ProtocolVcContext,
  591. IN OUT PCO_CALL_PARAMETERS pCallParams
  592. );
  593. VOID
  594. PxClIncomingCallQosChange(
  595. IN NDIS_HANDLE ProtocolVcContext,
  596. IN PCO_CALL_PARAMETERS CallParameters
  597. );
  598. VOID
  599. PxClIncomingCloseCall(
  600. IN NDIS_STATUS closeStatus,
  601. IN NDIS_HANDLE ProtocolVcContext,
  602. IN PVOID CloseData OPTIONAL,
  603. IN UINT Size OPTIONAL
  604. );
  605. VOID
  606. PxClIncomingDropParty(
  607. IN NDIS_STATUS DropStatus,
  608. IN NDIS_HANDLE ProtocolPartyContext,
  609. IN PVOID CloseData OPTIONAL,
  610. IN UINT Size OPTIONAL
  611. );
  612. VOID
  613. PxClCallConnected(
  614. IN NDIS_HANDLE ProtocolVcContext
  615. );
  616. //
  617. // Functions from pxtapi.c
  618. //
  619. ULONG
  620. GetLineEvents(
  621. PCHAR EventBuffer,
  622. ULONG BufferSize
  623. );
  624. NDIS_STATUS
  625. PxTapiPlaceHolder(
  626. IN PNDISTAPI_REQUEST pndisTapiRequest
  627. );
  628. NDIS_STATUS
  629. PxTapiMakeCall(
  630. IN PNDISTAPI_REQUEST pndisTapiRequest
  631. );
  632. NDIS_STATUS
  633. PxTapiGetDevCaps(
  634. IN PNDISTAPI_REQUEST pndisTapiRequest
  635. );
  636. NDIS_STATUS
  637. PxTapiAccept(
  638. IN PNDISTAPI_REQUEST pndisTapiRequest
  639. );
  640. NDIS_STATUS
  641. PxTapiAnswer(
  642. IN PNDISTAPI_REQUEST pndisTapiRequest
  643. );
  644. NDIS_STATUS
  645. PxTapiLineGetID (
  646. IN PNDISTAPI_REQUEST pndisTapiRequest
  647. );
  648. NDIS_STATUS
  649. PxTapiClose(
  650. IN PNDISTAPI_REQUEST pndisTapiRequest
  651. );
  652. NDIS_STATUS
  653. PxTapiCloseCall(
  654. IN PNDISTAPI_REQUEST pndisTapiRequest
  655. );
  656. NDIS_STATUS
  657. PxTapiConditionalMediaDetection(
  658. IN PNDISTAPI_REQUEST pndisTapiRequest
  659. );
  660. NDIS_STATUS
  661. PxTapiConfigDialog(
  662. IN PNDISTAPI_REQUEST pndisTapiRequest
  663. );
  664. NDIS_STATUS
  665. PxTapiDevSpecific(
  666. IN PNDISTAPI_REQUEST pndisTapiRequest
  667. );
  668. NDIS_STATUS
  669. PxTapiDial(
  670. IN PNDISTAPI_REQUEST pndisTapiRequest
  671. );
  672. NDIS_STATUS
  673. PxTapiDrop(
  674. IN PNDISTAPI_REQUEST pndisTapiRequest
  675. );
  676. NDIS_STATUS
  677. PxTapiGetAddressCaps(
  678. IN PNDISTAPI_REQUEST pndisTapiRequest
  679. );
  680. NDIS_STATUS
  681. PxTapiGetAddressID(
  682. IN PNDISTAPI_REQUEST pndisTapiRequest
  683. );
  684. NDIS_STATUS
  685. PxTapiGetAddressStatus(
  686. IN PNDISTAPI_REQUEST pndisTapiRequest
  687. );
  688. NDIS_STATUS
  689. PxTapiGetCallInfo(
  690. IN PNDISTAPI_REQUEST pndisTapiRequest
  691. );
  692. NDIS_STATUS
  693. PxTapiGetCallStatus(
  694. IN PNDISTAPI_REQUEST pndisTapiRequest
  695. );
  696. NDIS_STATUS
  697. PxTapiGetDevConfig(
  698. IN PNDISTAPI_REQUEST pndisTapiRequest
  699. );
  700. NDIS_STATUS
  701. PxTapiGetExtensionID(
  702. IN PNDISTAPI_REQUEST pndisTapiRequest
  703. );
  704. NDIS_STATUS
  705. PxTapiGetID(
  706. IN PNDISTAPI_REQUEST pndisTapiRequest
  707. );
  708. NDIS_STATUS
  709. PxTapiGetLineDevStatus(
  710. IN PNDISTAPI_REQUEST pndisTapiRequest
  711. );
  712. NDIS_STATUS
  713. PxTapiNegotiateExtVersion(
  714. IN PNDISTAPI_REQUEST pndisTapiRequest
  715. );
  716. NDIS_STATUS
  717. PxTapiSendUserUserInfo(
  718. IN PNDISTAPI_REQUEST pndisTapiRequest
  719. );
  720. NDIS_STATUS
  721. PxTapiSetAppSpecific(
  722. IN PNDISTAPI_REQUEST pndisTapiRequest
  723. );
  724. NDIS_STATUS
  725. PxTapiSetCallParams(
  726. IN PNDISTAPI_REQUEST pndisTapiRequest
  727. );
  728. NDIS_STATUS
  729. PxTapiSetDefaultMediaDetection(
  730. IN PNDISTAPI_REQUEST pndisTapiRequest
  731. );
  732. NDIS_STATUS
  733. PxTapiSetDevConfig(
  734. IN PNDISTAPI_REQUEST pndisTapiRequest
  735. );
  736. NDIS_STATUS
  737. PxTapiSetMediaMode(
  738. IN PNDISTAPI_REQUEST pndisTapiRequest
  739. );
  740. NDIS_STATUS
  741. PxTapiSetStatusMessages (
  742. IN PNDISTAPI_REQUEST pndisTapiRequest
  743. );
  744. NDIS_STATUS
  745. PxTapiGetCallAddressID(
  746. IN PNDISTAPI_REQUEST pndisTapiRequest
  747. );
  748. NDIS_STATUS
  749. PxTapiOpen(
  750. IN PNDISTAPI_REQUEST pndisTapiRequest
  751. );
  752. NDIS_STATUS
  753. PxTapiProviderInit(
  754. IN PNDISTAPI_REQUEST pndisTapiRequest
  755. );
  756. NDIS_STATUS
  757. PxTapiProviderShutdown(
  758. IN PNDISTAPI_REQUEST pndisTapiRequest
  759. );
  760. NDIS_STATUS
  761. PxTapiSecureCall(
  762. IN PNDISTAPI_REQUEST pndisTapiRequest
  763. );
  764. NDIS_STATUS
  765. PxTapiSelectExtVersion(
  766. IN PNDISTAPI_REQUEST pndisTapiRequest
  767. );
  768. NDIS_STATUS
  769. PxTapiGatherDigits(
  770. IN PNDISTAPI_REQUEST pndisTapiRequest
  771. );
  772. NDIS_STATUS
  773. PxTapiMonitorDigits(
  774. IN PNDISTAPI_REQUEST pndisTapiRequest
  775. );
  776. VOID
  777. PxTapiCompleteDropIrps(
  778. IN PPX_VC pVc,
  779. IN ULONG Status
  780. );
  781. VOID
  782. PxTapiCompleteAllIrps(
  783. IN PPX_VC pVc,
  784. IN ULONG Status
  785. );
  786. VOID
  787. PxIndicateStatus(
  788. IN PVOID StatusBuffer,
  789. IN UINT StatusBufferSize
  790. );
  791. NDIS_STATUS
  792. AllocateTapiResources(
  793. IN PPX_ADAPTER ClAdapter,
  794. IN PPX_CL_AF pClAf
  795. );
  796. PPX_TAPI_PROVIDER
  797. AllocateTapiProvider(
  798. IN PPX_ADAPTER ClAdapter,
  799. IN PPX_CL_AF pClAf
  800. );
  801. VOID
  802. MarkProviderOnline(
  803. PPX_TAPI_PROVIDER TapiProvider
  804. );
  805. VOID
  806. MarkProviderOffline(
  807. PPX_TAPI_PROVIDER TapiProvider
  808. );
  809. VOID
  810. MarkProviderConnected(
  811. PPX_TAPI_PROVIDER TapiProvider
  812. );
  813. VOID
  814. MarkProviderDisconnected(
  815. PPX_TAPI_PROVIDER TapiProvider
  816. );
  817. VOID
  818. ClearSapWithTapiLine(
  819. PPX_CL_SAP pClSap
  820. );
  821. VOID
  822. FreeTapiProvider(
  823. PPX_TAPI_PROVIDER TapiProvider
  824. );
  825. PPX_TAPI_LINE
  826. AllocateTapiLine(
  827. IN PPX_TAPI_PROVIDER TapiProvider,
  828. IN ULONG LineID
  829. );
  830. VOID
  831. FreeTapiLine(
  832. IN PPX_TAPI_LINE TapiLine
  833. );
  834. PPX_TAPI_ADDR
  835. AllocateTapiAddr(
  836. IN PPX_TAPI_PROVIDER TapiProvider,
  837. IN PPX_TAPI_LINE TapiLine,
  838. IN ULONG AddrID
  839. );
  840. VOID
  841. FreeTapiAddr(
  842. IN PPX_TAPI_ADDR TapiAddr
  843. );
  844. NDIS_STATUS
  845. AllocateTapiCallInfo(
  846. PPX_VC pVC,
  847. LINE_CALL_INFO UNALIGNED *LineCallInfo
  848. );
  849. BOOLEAN
  850. InsertVcInTable(
  851. PPX_VC pVc
  852. );
  853. VOID
  854. RemoveVcFromTable(
  855. PPX_VC pVc
  856. );
  857. BOOLEAN
  858. IsTapiLineValid(
  859. ULONG hdLine,
  860. PPX_TAPI_LINE *TapiLine
  861. );
  862. BOOLEAN
  863. IsTapiDeviceValid(
  864. ULONG ulDeviceID,
  865. PPX_TAPI_LINE *TapiLine
  866. );
  867. BOOLEAN
  868. IsVcValid(
  869. ULONG_PTR CallId,
  870. PPX_VC *pVc
  871. );
  872. VOID
  873. GetVcFromCtx(
  874. NDIS_HANDLE VcCtx,
  875. PPX_VC *pVc
  876. );
  877. BOOLEAN
  878. IsAddressValid(
  879. PPX_TAPI_LINE TapiLine,
  880. ULONG AddressId,
  881. PPX_TAPI_ADDR *TapiAddr
  882. );
  883. BOOLEAN
  884. GetLineFromCmLineID(
  885. PPX_TAPI_PROVIDER TapiProvider,
  886. ULONG CmLineID,
  887. PPX_TAPI_LINE *TapiLine
  888. );
  889. PPX_TAPI_ADDR
  890. GetAvailAddrFromProvider(
  891. PPX_TAPI_PROVIDER TapiProvider
  892. );
  893. PPX_TAPI_ADDR
  894. GetAvailAddrFromLine(
  895. PPX_TAPI_LINE TapiLine
  896. );
  897. BOOLEAN
  898. GetAvailLineFromProvider(
  899. PPX_TAPI_PROVIDER TapiProvider,
  900. PPX_TAPI_LINE *TapiLine,
  901. PPX_TAPI_ADDR *TapiAddr
  902. );
  903. BOOLEAN
  904. InsertLineInTable(
  905. PPX_TAPI_LINE TapiLine
  906. );
  907. VOID
  908. RemoveTapiLineFromTable(
  909. PPX_TAPI_LINE TapiLine
  910. );
  911. NDIS_STATUS
  912. PxVcCleanup(
  913. PPX_VC pVc,
  914. ULONG DropPending
  915. );
  916. #endif // _PROXY__H