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.

1142 lines
19 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. D:\nt\private\ntos\tdi\rawwan\core\externs.h
  5. Abstract:
  6. All external declarations for Null Transport (functions, globals)
  7. are here.
  8. Revision History:
  9. Who When What
  10. -------- -------- ----------------------------------------------
  11. arvindm 06-13-97 Created
  12. Notes:
  13. --*/
  14. #ifndef __TDI_RWAN_EXTERNS__H
  15. #define __TDI_RWAN_EXTERNS__H
  16. #ifndef EXTERN
  17. #define EXTERN extern
  18. #endif // EXTERN
  19. //
  20. // ---- From space.c
  21. //
  22. EXTERN ULONG RWanMaxTdiConnections;
  23. EXTERN RWAN_STATUS RWanAtmSpInitialize(VOID);
  24. EXTERN VOID RWanAtmSpShutdown(VOID);
  25. EXTERN NDIS_HANDLE RWanCopyBufferPool;
  26. EXTERN NDIS_HANDLE RWanCopyPacketPool;
  27. EXTERN NDIS_HANDLE RWanSendPacketPool;
  28. EXTERN RWAN_GLOBALS RWanGlobals;
  29. EXTERN PRWAN_GLOBALS pRWanGlobal;
  30. EXTERN NDIS_PROTOCOL_CHARACTERISTICS RWanNdisProtocolCharacteristics;
  31. EXTERN NDIS_CLIENT_CHARACTERISTICS RWanNdisClientCharacteristics;
  32. EXTERN RWAN_AFSP_MODULE_CHARS RWanMediaSpecificInfo[];
  33. //
  34. // ---- From addr.c
  35. //
  36. EXTERN
  37. TDI_STATUS
  38. RWanTdiOpenAddress(
  39. IN PTDI_REQUEST pTdiRequest,
  40. IN TRANSPORT_ADDRESS UNALIGNED *pAddrList,
  41. IN ULONG AddrListLength,
  42. IN UINT Protocol,
  43. IN PUCHAR pOptions
  44. );
  45. EXTERN
  46. TDI_STATUS
  47. RWanTdiSetEvent(
  48. IN PVOID AddrObjContext,
  49. IN INT TdiEventType,
  50. IN PVOID Handler,
  51. IN PVOID HandlerContext
  52. );
  53. EXTERN
  54. TDI_STATUS
  55. RWanTdiCloseAddress(
  56. IN PTDI_REQUEST pTdiRequest
  57. );
  58. EXTERN
  59. TDI_STATUS
  60. RWanCreateNdisSaps(
  61. IN PRWAN_TDI_ADDRESS pAddrObject,
  62. IN PRWAN_TDI_PROTOCOL pProtocol
  63. );
  64. EXTERN
  65. VOID
  66. RWanNdisRegisterSapComplete(
  67. IN NDIS_STATUS NdisStatus,
  68. IN NDIS_HANDLE OurSapContext,
  69. IN PCO_SAP pCoSap,
  70. IN NDIS_HANDLE NdisSapHandle
  71. );
  72. EXTERN
  73. VOID
  74. RWanDeleteNdisSaps(
  75. IN PRWAN_TDI_ADDRESS pAddrObject
  76. );
  77. EXTERN
  78. VOID
  79. RWanNdisDeregisterSapComplete(
  80. IN NDIS_STATUS NdisStatus,
  81. IN NDIS_HANDLE ProtocolSapContext
  82. );
  83. //
  84. // ---- From info.c
  85. //
  86. EXTERN
  87. TDI_STATUS
  88. RWanTdiQueryInformation(
  89. IN PTDI_REQUEST pTdiRequest,
  90. IN UINT QueryType,
  91. IN PNDIS_BUFFER pNdisBuffer,
  92. IN PUINT pBufferSize,
  93. IN UINT IsConnection
  94. );
  95. EXTERN
  96. RWAN_STATUS
  97. RWanHandleGenericConnQryInfo(
  98. IN HANDLE AddrHandle,
  99. IN PVOID pInputBuffer,
  100. IN ULONG InputBufferLength,
  101. OUT PVOID pOutputBuffer,
  102. IN OUT PVOID pOutputBufferLength
  103. );
  104. EXTERN
  105. RWAN_STATUS
  106. RWanHandleGenericAddrSetInfo(
  107. IN HANDLE AddrHandle,
  108. IN PVOID pInputBuffer,
  109. IN ULONG InputBufferLength
  110. );
  111. EXTERN
  112. RWAN_STATUS
  113. RWanHandleMediaSpecificAddrSetInfo(
  114. IN HANDLE AddrHandle,
  115. IN PVOID pInputBuffer,
  116. IN ULONG InputBufferLength
  117. );
  118. EXTERN
  119. RWAN_STATUS
  120. RWanHandleMediaSpecificConnQryInfo(
  121. IN HANDLE ConnectionContext,
  122. IN PVOID pInputBuffer,
  123. IN ULONG InputBufferLength,
  124. OUT PVOID pOutputBuffer,
  125. IN OUT PVOID pOutputBufferLength
  126. );
  127. EXTERN
  128. PNDIS_BUFFER
  129. RWanCopyFlatToNdis(
  130. IN PNDIS_BUFFER pDestBuffer,
  131. IN PUCHAR pSrcBuffer,
  132. IN UINT LengthToCopy,
  133. IN OUT PUINT pStartOffset,
  134. OUT PUINT pBytesCopied
  135. );
  136. //
  137. // ---- From mediasp.c
  138. //
  139. RWAN_STATUS
  140. RWanInitMediaSpecific(
  141. VOID
  142. );
  143. EXTERN
  144. VOID
  145. RWanShutdownMediaSpecific(
  146. VOID
  147. );
  148. //
  149. // ---- From ndisbind.c
  150. //
  151. VOID
  152. RWanNdisBindAdapter(
  153. OUT PNDIS_STATUS pStatus,
  154. IN NDIS_HANDLE BindContext,
  155. IN PNDIS_STRING pDeviceName,
  156. IN PVOID SystemSpecific1,
  157. IN PVOID SystemSpecific2
  158. );
  159. EXTERN
  160. VOID
  161. RWanNdisUnbindAdapter(
  162. OUT PNDIS_STATUS pStatus,
  163. IN NDIS_HANDLE ProtocolBindingContext,
  164. IN NDIS_HANDLE UnbindContext
  165. );
  166. EXTERN
  167. VOID
  168. RWanNdisOpenAdapterComplete(
  169. IN NDIS_HANDLE ProtocolContext,
  170. IN NDIS_STATUS Status,
  171. IN NDIS_STATUS OpenErrorStatus
  172. );
  173. EXTERN
  174. VOID
  175. RWanNdisCloseAdapterComplete(
  176. IN NDIS_HANDLE ProtocolBindingContext,
  177. IN NDIS_STATUS Status
  178. );
  179. EXTERN
  180. VOID
  181. RWanNdisAfRegisterNotify(
  182. IN NDIS_HANDLE ProtocolContext,
  183. IN PCO_ADDRESS_FAMILY pAddressFamily
  184. );
  185. EXTERN
  186. VOID
  187. RWanNdisOpenAddressFamilyComplete(
  188. IN NDIS_STATUS Status,
  189. IN NDIS_HANDLE ProtocolAfContext,
  190. IN NDIS_HANDLE NdisAfHandle
  191. );
  192. EXTERN
  193. VOID
  194. RWanShutdownAf(
  195. IN PRWAN_NDIS_AF pAf
  196. );
  197. EXTERN
  198. VOID
  199. RWanNdisCloseAddressFamilyComplete(
  200. IN NDIS_STATUS Status,
  201. IN NDIS_HANDLE OurAfContext
  202. );
  203. EXTERN
  204. PNDIS_MEDIUM
  205. RWanGetSupportedMedia(
  206. IN PULONG pMediaCount
  207. );
  208. EXTERN
  209. VOID
  210. RWanCloseAdapter(
  211. IN PRWAN_NDIS_ADAPTER pAdapter
  212. );
  213. EXTERN
  214. VOID
  215. RWanNdisRequestComplete(
  216. IN NDIS_HANDLE OurBindingContext,
  217. IN PNDIS_REQUEST pNdisRequest,
  218. IN NDIS_STATUS Status
  219. );
  220. EXTERN
  221. VOID
  222. RWanNdisStatus(
  223. IN NDIS_HANDLE OurBindingContext,
  224. IN NDIS_STATUS GeneralStatus,
  225. IN PVOID StatusBuffer,
  226. IN UINT StatusBufferSize
  227. );
  228. EXTERN
  229. VOID
  230. RWanNdisCoStatus(
  231. IN NDIS_HANDLE OurBindingContext,
  232. IN NDIS_HANDLE OurVcContext OPTIONAL,
  233. IN NDIS_STATUS GeneralStatus,
  234. IN PVOID StatusBuffer,
  235. IN UINT StatusBufferSize
  236. );
  237. EXTERN
  238. VOID
  239. RWanNdisStatusComplete(
  240. IN NDIS_HANDLE OurBindingContext
  241. );
  242. EXTERN
  243. NDIS_STATUS
  244. RWanNdisCoRequest(
  245. IN NDIS_HANDLE OurAfContext,
  246. IN NDIS_HANDLE OurVcContext OPTIONAL,
  247. IN NDIS_HANDLE OurPartyContext OPTIONAL,
  248. IN OUT PNDIS_REQUEST pNdisRequest
  249. );
  250. EXTERN
  251. VOID
  252. RWanNdisCoRequestComplete(
  253. IN NDIS_STATUS Status,
  254. IN NDIS_HANDLE OurAfContext,
  255. IN NDIS_HANDLE OurVcContext OPTIONAL,
  256. IN NDIS_HANDLE OurPartyContext OPTIONAL,
  257. IN PNDIS_REQUEST pNdisRequest
  258. );
  259. EXTERN
  260. NDIS_STATUS
  261. RWanNdisReset(
  262. IN NDIS_HANDLE OurBindingContext
  263. );
  264. EXTERN
  265. VOID
  266. RWanNdisResetComplete(
  267. IN NDIS_HANDLE OurBindingContext,
  268. IN NDIS_STATUS Status
  269. );
  270. EXTERN
  271. NDIS_STATUS
  272. RWanNdisPnPEvent(
  273. IN NDIS_HANDLE ProtocolBindingContext,
  274. IN PNET_PNP_EVENT pNetPnPEvent
  275. );
  276. EXTERN
  277. NDIS_STATUS
  278. RWanNdisPnPSetPower(
  279. IN PRWAN_NDIS_ADAPTER pAdapter,
  280. IN PNET_PNP_EVENT pNetPnPEvent
  281. );
  282. EXTERN
  283. NDIS_STATUS
  284. RWanNdisPnPQueryPower(
  285. IN PRWAN_NDIS_ADAPTER pAdapter,
  286. IN PNET_PNP_EVENT pNetPnPEvent
  287. );
  288. EXTERN
  289. NDIS_STATUS
  290. RWanNdisPnPQueryRemove(
  291. IN PRWAN_NDIS_ADAPTER pAdapter,
  292. IN PNET_PNP_EVENT pNetPnPEvent
  293. );
  294. EXTERN
  295. NDIS_STATUS
  296. RWanNdisPnPCancelRemove(
  297. IN PRWAN_NDIS_ADAPTER pAdapter,
  298. IN PNET_PNP_EVENT pNetPnPEvent
  299. );
  300. //
  301. // ---- From ndisconn.c
  302. //
  303. NDIS_STATUS
  304. RWanNdisCreateVc(
  305. IN NDIS_HANDLE ProtocolAfContext,
  306. IN NDIS_HANDLE NdisVcHandle,
  307. OUT PNDIS_HANDLE pProtocolVcContext
  308. );
  309. EXTERN
  310. NDIS_STATUS
  311. RWanNdisDeleteVc(
  312. IN NDIS_HANDLE ProtocolVcContext
  313. );
  314. EXTERN
  315. VOID
  316. RWanNdisMakeCallComplete(
  317. IN NDIS_STATUS Status,
  318. IN NDIS_HANDLE ProtocolVcContext,
  319. IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
  320. IN PCO_CALL_PARAMETERS pCallParameters
  321. );
  322. EXTERN
  323. VOID
  324. RWanNdisAddPartyComplete(
  325. IN NDIS_STATUS Status,
  326. IN NDIS_HANDLE ProtocolPartyContext,
  327. IN NDIS_HANDLE NdisPartyHandle,
  328. IN PCO_CALL_PARAMETERS pCallParameters
  329. );
  330. EXTERN
  331. NDIS_STATUS
  332. RWanNdisIncomingCall(
  333. IN NDIS_HANDLE ProtocolSapContext,
  334. IN NDIS_HANDLE ProtocolVcContext,
  335. IN OUT PCO_CALL_PARAMETERS pCallParameters
  336. );
  337. EXTERN
  338. VOID
  339. RWanNdisCallConnected(
  340. IN NDIS_HANDLE ProtocolVcContext
  341. );
  342. EXTERN
  343. VOID
  344. RWanNdisIncomingCloseCall(
  345. IN NDIS_STATUS CloseStatus,
  346. IN NDIS_HANDLE ProtocolVcContext,
  347. IN PVOID pCloseData,
  348. IN UINT CloseDataLength
  349. );
  350. EXTERN
  351. VOID
  352. RWanNdisCloseCallComplete(
  353. IN NDIS_STATUS Status,
  354. IN NDIS_HANDLE ProtocolVcContext,
  355. IN NDIS_HANDLE ProtocolPartyContext
  356. );
  357. EXTERN
  358. VOID
  359. RWanNdisDropPartyComplete(
  360. IN NDIS_STATUS Status,
  361. IN NDIS_HANDLE ProtocolPartyContext
  362. );
  363. EXTERN
  364. VOID
  365. RWanNdisIncomingDropParty(
  366. IN NDIS_STATUS Status,
  367. IN NDIS_HANDLE OurPartyContext,
  368. IN PVOID pBuffer,
  369. IN UINT BufferLength
  370. );
  371. EXTERN
  372. VOID
  373. RWanNdisModifyQoSComplete(
  374. IN NDIS_STATUS Status,
  375. IN NDIS_HANDLE OurVcContext,
  376. IN PCO_CALL_PARAMETERS pCallParameters
  377. );
  378. EXTERN
  379. VOID
  380. RWanNdisRejectIncomingCall(
  381. IN PRWAN_TDI_CONNECTION pConnObject,
  382. IN NDIS_STATUS RejectStatus
  383. );
  384. EXTERN
  385. VOID
  386. RWanStartCloseCall(
  387. IN PRWAN_TDI_CONNECTION pConnObject,
  388. IN PRWAN_NDIS_VC pVc
  389. );
  390. EXTERN
  391. VOID
  392. RWanUnlinkVcFromAf(
  393. IN PRWAN_NDIS_VC pVc
  394. );
  395. EXTERN
  396. VOID
  397. RWanCompleteConnReq(
  398. IN PRWAN_NDIS_AF pAf,
  399. IN PRWAN_CONN_REQUEST pConnReq,
  400. IN BOOLEAN IsOutgoingCall,
  401. IN PCO_CALL_PARAMETERS pCallParameters OPTIONAL,
  402. IN RWAN_HANDLE AfSpConnContext,
  403. IN TDI_STATUS TdiStatus
  404. );
  405. //
  406. // ---- From ntentry.c
  407. //
  408. NTSTATUS
  409. DriverEntry(
  410. IN PDRIVER_OBJECT pDriverObject,
  411. IN PUNICODE_STRING pRegistryPath
  412. );
  413. EXTERN
  414. VOID
  415. RWanUnload(
  416. IN PDRIVER_OBJECT pDriverObject
  417. );
  418. EXTERN
  419. VOID
  420. RWanUnloadProtocol(
  421. VOID
  422. );
  423. EXTERN
  424. NTSTATUS
  425. RWanDispatch(
  426. IN PDEVICE_OBJECT pDeviceObject,
  427. IN PIRP pIrp
  428. );
  429. EXTERN
  430. NTSTATUS
  431. RWanCreate(
  432. IN PDEVICE_OBJECT pDeviceObject,
  433. IN PIRP pIrp,
  434. PIO_STACK_LOCATION pIrpSp
  435. );
  436. EXTERN
  437. NTSTATUS
  438. RWanCleanup(
  439. IN PDEVICE_OBJECT pDeviceObject,
  440. IN PIRP pIrp,
  441. PIO_STACK_LOCATION pIrpSp
  442. );
  443. EXTERN
  444. NTSTATUS
  445. RWanClose(
  446. IN PDEVICE_OBJECT pDeviceObject,
  447. IN PIRP pIrp,
  448. PIO_STACK_LOCATION pIrpSp
  449. );
  450. EXTERN
  451. NTSTATUS
  452. RWanDispatchInternalDeviceControl(
  453. IN PDEVICE_OBJECT pDeviceObject,
  454. IN PIRP pIrp
  455. );
  456. EXTERN
  457. NTSTATUS
  458. RWanDispatchPrivateDeviceControl(
  459. IN PIRP pIrp,
  460. IN PIO_STACK_LOCATION pIrpSp
  461. );
  462. EXTERN
  463. FILE_FULL_EA_INFORMATION UNALIGNED *
  464. RWanFindEa(
  465. IN FILE_FULL_EA_INFORMATION * pStartEa,
  466. IN CHAR * pTargetName,
  467. IN USHORT TargetNameLength
  468. );
  469. EXTERN
  470. NTSTATUS
  471. RWanSendData(
  472. IN PIRP pIrp,
  473. PIO_STACK_LOCATION pIrpSp
  474. );
  475. EXTERN
  476. NTSTATUS
  477. RWanReceiveData(
  478. IN PIRP pIrp,
  479. PIO_STACK_LOCATION pIrpSp
  480. );
  481. EXTERN
  482. NTSTATUS
  483. RWanAssociateAddress(
  484. IN PIRP pIrp,
  485. PIO_STACK_LOCATION pIrpSp
  486. );
  487. EXTERN
  488. NTSTATUS
  489. RWanDisassociateAddress(
  490. IN PIRP pIrp,
  491. PIO_STACK_LOCATION pIrpSp
  492. );
  493. EXTERN
  494. NTSTATUS
  495. RWanConnect(
  496. IN PIRP pIrp,
  497. PIO_STACK_LOCATION pIrpSp
  498. );
  499. EXTERN
  500. NTSTATUS
  501. RWanDisconnect(
  502. IN PIRP pIrp,
  503. PIO_STACK_LOCATION pIrpSp
  504. );
  505. EXTERN
  506. NTSTATUS
  507. RWanListen(
  508. IN PIRP pIrp,
  509. PIO_STACK_LOCATION pIrpSp
  510. );
  511. EXTERN
  512. NTSTATUS
  513. RWanAccept(
  514. IN PIRP pIrp,
  515. PIO_STACK_LOCATION pIrpSp
  516. );
  517. EXTERN
  518. NTSTATUS
  519. RWanSetEventHandler(
  520. IN PIRP pIrp,
  521. PIO_STACK_LOCATION pIrpSp
  522. );
  523. EXTERN
  524. NTSTATUS
  525. RWanQueryInformation(
  526. IN PIRP pIrp,
  527. PIO_STACK_LOCATION pIrpSp
  528. );
  529. EXTERN
  530. VOID
  531. RWanCloseObjectComplete(
  532. IN PVOID Context,
  533. IN UINT Status,
  534. IN UINT Unused
  535. );
  536. EXTERN
  537. VOID
  538. RWanDataRequestComplete(
  539. IN PVOID Context,
  540. IN UINT Status,
  541. IN UINT ByteCount
  542. );
  543. EXTERN
  544. VOID
  545. RWanRequestComplete(
  546. IN PVOID Context,
  547. IN UINT Status,
  548. IN UINT Unused
  549. );
  550. EXTERN
  551. VOID
  552. RWanNonCancellableRequestComplete(
  553. IN PVOID Context,
  554. IN UINT Status,
  555. IN UINT Unused
  556. );
  557. EXTERN
  558. VOID
  559. RWanCancelComplete(
  560. IN PVOID Context,
  561. IN UINT Unused1,
  562. IN UINT Unused2
  563. );
  564. EXTERN
  565. VOID
  566. RWanCancelRequest(
  567. IN PDEVICE_OBJECT pDeviceObject,
  568. IN PIRP pIrp
  569. );
  570. EXTERN
  571. NTSTATUS
  572. RWanPrepareIrpForCancel(
  573. IN PRWAN_ENDPOINT pEndpoint,
  574. IN PIRP pIrp,
  575. IN PDRIVER_CANCEL pCancelRoutine
  576. );
  577. EXTERN
  578. ULONG
  579. RWanGetMdlChainLength(
  580. IN PMDL pMdl
  581. );
  582. EXTERN
  583. NTSTATUS
  584. RWanToNTStatus(
  585. IN RWAN_STATUS RWanStatus
  586. );
  587. //
  588. // ---- From receive.c
  589. //
  590. RWAN_STATUS
  591. RWanInitReceive(
  592. VOID
  593. );
  594. EXTERN
  595. VOID
  596. RWanShutdownReceive(
  597. VOID
  598. );
  599. EXTERN
  600. TDI_STATUS
  601. RWanTdiReceive(
  602. IN PTDI_REQUEST pTdiRequest,
  603. OUT PUSHORT pFlags,
  604. IN PUINT pReceiveLength,
  605. IN PNDIS_BUFFER pNdisBuffer
  606. );
  607. EXTERN
  608. UINT
  609. RWanNdisCoReceivePacket(
  610. IN NDIS_HANDLE ProtocolBindingContext,
  611. IN NDIS_HANDLE ProtocolVcContext,
  612. IN PNDIS_PACKET pNdisPacket
  613. );
  614. EXTERN
  615. VOID
  616. RWanIndicateData(
  617. IN PRWAN_TDI_CONNECTION pConnObject
  618. );
  619. EXTERN
  620. VOID
  621. RWanNdisReceiveComplete(
  622. IN NDIS_HANDLE ProtocolBindingContext
  623. );
  624. EXTERN
  625. VOID
  626. RWanNdisTransferDataComplete(
  627. IN NDIS_HANDLE ProtocolBindingContext,
  628. IN PNDIS_PACKET pNdisPacket,
  629. IN NDIS_STATUS Status,
  630. IN UINT BytesTransferred
  631. );
  632. EXTERN
  633. NDIS_STATUS
  634. RWanNdisReceive(
  635. IN NDIS_HANDLE ProtocolBindingContext,
  636. IN NDIS_HANDLE MacReceiveContext,
  637. IN PVOID HeaderBuffer,
  638. IN UINT HeaderBufferSize,
  639. IN PVOID pLookAheadBuffer,
  640. IN UINT LookAheadBufferSize,
  641. IN UINT PacketSize
  642. );
  643. EXTERN
  644. INT
  645. RWanNdisReceivePacket(
  646. IN NDIS_HANDLE ProtocolBindingContext,
  647. IN PNDIS_PACKET pNdisPacket
  648. );
  649. EXTERN
  650. PRWAN_RECEIVE_REQUEST
  651. RWanAllocateReceiveReq(
  652. VOID
  653. );
  654. EXTERN
  655. VOID
  656. RWanFreeReceiveReq(
  657. IN PRWAN_RECEIVE_REQUEST pRcvReq
  658. );
  659. EXTERN
  660. PRWAN_RECEIVE_INDICATION
  661. RWanAllocateReceiveInd(
  662. VOID
  663. );
  664. EXTERN
  665. VOID
  666. RWanFreeReceiveInd(
  667. IN PRWAN_RECEIVE_INDICATION pRcvInd
  668. );
  669. EXTERN
  670. PNDIS_PACKET
  671. RWanMakeReceiveCopy(
  672. IN PNDIS_PACKET pNdisPacket
  673. );
  674. EXTERN
  675. VOID
  676. RWanFreeReceiveCopy(
  677. IN PNDIS_PACKET pCopyPacket
  678. );
  679. EXTERN
  680. VOID
  681. RWanFreeReceiveIndList(
  682. IN PRWAN_RECEIVE_INDICATION pRcvInd
  683. );
  684. //
  685. // ---- From send.c
  686. //
  687. RWAN_STATUS
  688. RWanInitSend(
  689. VOID
  690. );
  691. EXTERN
  692. VOID
  693. RWanShutdownSend(
  694. VOID
  695. );
  696. EXTERN
  697. TDI_STATUS
  698. RWanTdiSendData(
  699. IN PTDI_REQUEST pTdiRequest,
  700. IN USHORT SendFlags,
  701. IN UINT SendLength,
  702. IN PNDIS_BUFFER pSendBuffer
  703. );
  704. EXTERN
  705. VOID
  706. RWanNdisCoSendComplete(
  707. IN NDIS_STATUS NdisStatus,
  708. IN NDIS_HANDLE ProtocolVcContext,
  709. IN PNDIS_PACKET pNdisPacket
  710. );
  711. EXTERN
  712. PNDIS_PACKET
  713. RWanAllocateSendPacket(
  714. VOID
  715. );
  716. EXTERN
  717. VOID
  718. RWanFreeSendPacket(
  719. IN PNDIS_PACKET pSendPacket
  720. );
  721. EXTERN
  722. VOID
  723. RWanNdisSendComplete(
  724. IN NDIS_HANDLE ProtocolBindingContext,
  725. IN PNDIS_PACKET pNdisPacket,
  726. IN NDIS_STATUS Status
  727. );
  728. //
  729. // ---- From tdiconn.c
  730. //
  731. TDI_STATUS
  732. RWanTdiOpenConnection(
  733. IN OUT PTDI_REQUEST pTdiRequest,
  734. IN PVOID ConnectionHandle
  735. );
  736. #if DBG
  737. PVOID
  738. RWanTdiDbgGetConnObject(
  739. IN HANDLE ConnectionContext
  740. );
  741. #endif
  742. EXTERN
  743. TDI_STATUS
  744. RWanTdiCloseConnection(
  745. IN PTDI_REQUEST pTdiRequest
  746. );
  747. EXTERN
  748. TDI_STATUS
  749. RWanTdiAssociateAddress(
  750. IN PTDI_REQUEST pTdiRequest,
  751. IN PVOID AddressContext
  752. );
  753. EXTERN
  754. TDI_STATUS
  755. RWanTdiDisassociateAddress(
  756. IN PTDI_REQUEST pTdiRequest
  757. );
  758. EXTERN
  759. TDI_STATUS
  760. RWanTdiConnect(
  761. IN PTDI_REQUEST pTdiRequest,
  762. IN PVOID pTimeout OPTIONAL,
  763. IN PTDI_CONNECTION_INFORMATION pRequestInfo,
  764. IN PTDI_CONNECTION_INFORMATION pReturnInfo
  765. );
  766. EXTERN
  767. TDI_STATUS
  768. RWanTdiPMPConnect(
  769. IN PRWAN_NDIS_AF_INFO pAfInfo,
  770. IN PRWAN_TDI_ADDRESS pAddrObject,
  771. IN PRWAN_TDI_CONNECTION pConnObject,
  772. IN PCO_CALL_PARAMETERS pCallParameters,
  773. IN ULONG CallFlags,
  774. IN PRWAN_CONN_REQUEST pConnReq
  775. );
  776. EXTERN
  777. TDI_STATUS
  778. RWanTdiListen(
  779. IN PTDI_REQUEST pTdiRequest,
  780. IN USHORT Flags,
  781. IN PTDI_CONNECTION_INFORMATION pAcceptableAddr,
  782. IN PTDI_CONNECTION_INFORMATION pConnectedAddr
  783. );
  784. EXTERN
  785. TDI_STATUS
  786. RWanTdiUnListen(
  787. IN PTDI_REQUEST pTdiRequest
  788. );
  789. EXTERN
  790. TDI_STATUS
  791. RWanTdiAccept(
  792. IN PTDI_REQUEST pTdiRequest,
  793. IN PTDI_CONNECTION_INFORMATION pAcceptInfo,
  794. IN PTDI_CONNECTION_INFORMATION pConnectInfo
  795. );
  796. EXTERN
  797. TDI_STATUS
  798. RWanTdiDisconnect(
  799. IN PTDI_REQUEST pTdiRequest,
  800. IN PVOID pTimeout,
  801. IN USHORT Flags,
  802. IN PTDI_CONNECTION_INFORMATION pDisconnInfo,
  803. OUT PTDI_CONNECTION_INFORMATION pReturnInfo
  804. );
  805. EXTERN
  806. TDI_STATUS
  807. RWanDoTdiDisconnect(
  808. IN PRWAN_TDI_CONNECTION pConnObject,
  809. IN PTDI_REQUEST pTdiRequest OPTIONAL,
  810. IN PVOID pTimeout OPTIONAL,
  811. IN USHORT Flags,
  812. IN PTDI_CONNECTION_INFORMATION pDisconnInfo OPTIONAL,
  813. OUT PTDI_CONNECTION_INFORMATION pReturnInfo OPTIONAL
  814. );
  815. EXTERN
  816. RWAN_CONN_ID
  817. RWanGetConnId(
  818. IN PRWAN_TDI_CONNECTION pConnObject
  819. );
  820. EXTERN
  821. PRWAN_TDI_CONNECTION
  822. RWanGetConnFromId(
  823. IN RWAN_CONN_ID ConnId
  824. );
  825. EXTERN
  826. VOID
  827. RWanFreeConnId(
  828. IN RWAN_CONN_ID ConnId
  829. );
  830. EXTERN
  831. TDI_STATUS
  832. RWanToTdiStatus(
  833. IN RWAN_STATUS RWanStatus
  834. );
  835. EXTERN
  836. PRWAN_CONN_REQUEST
  837. RWanAllocateConnReq(
  838. VOID
  839. );
  840. EXTERN
  841. VOID
  842. RWanFreeConnReq(
  843. IN PRWAN_CONN_REQUEST pConnReq
  844. );
  845. EXTERN
  846. VOID
  847. RWanAbortConnection(
  848. IN CONNECTION_CONTEXT ConnectionContext
  849. );
  850. EXTERN
  851. VOID
  852. RWanDoAbortConnection(
  853. IN PRWAN_TDI_CONNECTION pConnObject
  854. );
  855. EXTERN
  856. VOID
  857. RWanScheduleDisconnect(
  858. IN PRWAN_TDI_CONNECTION pConnObject
  859. );
  860. EXTERN
  861. VOID
  862. RWanDelayedDisconnectHandler(
  863. IN PNDIS_WORK_ITEM pCloseWorkItem,
  864. IN PVOID Context
  865. );
  866. //
  867. // ---- From utils.c
  868. //
  869. RWAN_STATUS
  870. RWanInitGlobals(
  871. IN PDRIVER_OBJECT pDriverObject
  872. );
  873. EXTERN
  874. VOID
  875. RWanDeinitGlobals(
  876. VOID
  877. );
  878. EXTERN
  879. PRWAN_TDI_PROTOCOL
  880. RWanGetProtocolFromNumber(
  881. IN UINT Protocol
  882. );
  883. EXTERN
  884. TA_ADDRESS *
  885. RWanGetValidAddressFromList(
  886. IN TRANSPORT_ADDRESS UNALIGNED *pAddrList,
  887. IN PRWAN_TDI_PROTOCOL pProtocol
  888. );
  889. EXTERN
  890. PRWAN_TDI_CONNECTION
  891. RWanAllocateConnObject(
  892. VOID
  893. );
  894. EXTERN
  895. VOID
  896. RWanReferenceConnObject(
  897. IN PRWAN_TDI_CONNECTION pConnObject
  898. );
  899. EXTERN
  900. INT
  901. RWanDereferenceConnObject(
  902. IN PRWAN_TDI_CONNECTION pConnObject
  903. );
  904. EXTERN
  905. PRWAN_TDI_ADDRESS
  906. RWanAllocateAddressObject(
  907. IN TA_ADDRESS * pTransportAddress
  908. );
  909. EXTERN
  910. VOID
  911. RWanReferenceAddressObject(
  912. IN PRWAN_TDI_ADDRESS pAddrObject
  913. );
  914. EXTERN
  915. INT
  916. RWanDereferenceAddressObject(
  917. IN PRWAN_TDI_ADDRESS pAddrObject
  918. );
  919. EXTERN
  920. PRWAN_NDIS_AF
  921. RWanAllocateAf(
  922. VOID
  923. );
  924. EXTERN
  925. VOID
  926. RWanReferenceAf(
  927. IN PRWAN_NDIS_AF pAf
  928. );
  929. EXTERN
  930. INT
  931. RWanDereferenceAf(
  932. IN PRWAN_NDIS_AF pAf
  933. );
  934. #if 0
  935. EXTERN
  936. VOID
  937. RWanReferenceAdapter(
  938. IN PRWAN_NDIS_ADAPTER pAdapter
  939. );
  940. EXTERN
  941. INT
  942. RWanDereferenceAdapter(
  943. IN PRWAN_NDIS_ADAPTER pAdapter
  944. );
  945. #endif // 0
  946. EXTERN
  947. TDI_STATUS
  948. RWanNdisToTdiStatus(
  949. IN NDIS_STATUS Status
  950. );
  951. //
  952. // ---- vc.c
  953. //
  954. PRWAN_NDIS_VC
  955. RWanAllocateVc(
  956. IN PRWAN_NDIS_AF pAf,
  957. IN BOOLEAN IsOutgoing
  958. );
  959. EXTERN
  960. VOID
  961. RWanFreeVc(
  962. IN PRWAN_NDIS_VC pVc
  963. );
  964. #endif // __TDI_RWAN_EXTERNS__H