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.

185 lines
4.4 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. mp_nic.h
  5. Abstract:
  6. Function prototypes for mp_nic.c, mp_init.c and mp_req.c
  7. Revision History:
  8. Who When What
  9. -------- -------- ----------------------------------------------
  10. DChen 11-01-99 created
  11. Notes:
  12. --*/
  13. #ifndef _MP_NIC_H
  14. #define _MP_NIC_H
  15. #define NIC_INTERRUPT_DISABLED(_adapter) \
  16. (_adapter->CSRAddress->ScbCommandHigh & SCB_INT_MASK)
  17. #define NIC_INTERRUPT_ACTIVE(_adapter) \
  18. (((_adapter->CSRAddress->ScbStatus & SCB_ALL_INTERRUPT_BITS) != SCB_ALL_INTERRUPT_BITS) \
  19. && (_adapter->CSRAddress->ScbStatus & SCB_ACK_MASK))
  20. #define NIC_ACK_INTERRUPT(_adapter, _value) { \
  21. _value = _adapter->CSRAddress->ScbStatus & SCB_ACK_MASK; \
  22. _adapter->CSRAddress->ScbStatus = _value; }
  23. #define NIC_IS_RECV_READY(_adapter) \
  24. ((_adapter->CSRAddress->ScbStatus & SCB_RUS_MASK) == SCB_RUS_READY)
  25. __inline VOID NICDisableInterrupt(
  26. IN PMP_ADAPTER Adapter)
  27. {
  28. Adapter->CSRAddress->ScbCommandHigh = SCB_INT_MASK;
  29. }
  30. __inline VOID NICEnableInterrupt(
  31. IN PMP_ADAPTER Adapter)
  32. {
  33. Adapter->CSRAddress->ScbCommandHigh = 0;
  34. }
  35. //
  36. // MP_NIC.C
  37. //
  38. NDIS_STATUS MpSendPacket(
  39. IN PMP_ADAPTER Adapter,
  40. IN PNDIS_PACKET Packet,
  41. IN BOOLEAN bFromQueue);
  42. NDIS_STATUS NICSendPacket(
  43. IN PMP_ADAPTER Adapter,
  44. IN PMP_TCB pMpTcb,
  45. IN PMP_FRAG_LIST pFragList);
  46. ULONG MpCopyPacket(
  47. IN PNDIS_BUFFER CurrBuffer,
  48. IN PMP_TXBUF pMpTxbuf);
  49. #ifndef NDIS51_MINIPORT
  50. VOID MpStartPacketPhysicalMapping(
  51. IN PMP_ADAPTER Adapter,
  52. IN PNDIS_BUFFER CurrBuffer,
  53. OUT PMP_FRAG_LIST pFragList);
  54. #endif
  55. NDIS_STATUS NICStartSend(
  56. IN PMP_ADAPTER Adapter,
  57. IN PMP_TCB pMpTcb);
  58. NDIS_STATUS MpHandleSendInterrupt(
  59. IN PMP_ADAPTER Adapter);
  60. VOID MpHandleRecvInterrupt(
  61. IN PMP_ADAPTER Adapter);
  62. VOID NICReturnRFD(
  63. IN PMP_ADAPTER Adapter,
  64. IN PMP_RFD pMpRfd);
  65. NDIS_STATUS NICStartRecv(
  66. IN PMP_ADAPTER Adapter);
  67. VOID MpFreeQueuedSendPackets(
  68. IN PMP_ADAPTER Adapter);
  69. void MpFreeBusySendPackets(
  70. IN PMP_ADAPTER Adapter);
  71. void NICResetRecv(
  72. IN PMP_ADAPTER Adapter);
  73. VOID MpLinkDetectionDpc(
  74. IN PVOID SystemSpecific1,
  75. IN PVOID FunctionContext,
  76. IN PVOID SystemSpecific2,
  77. IN PVOID SystemSpecific3);
  78. //
  79. // MP_INIT.C
  80. //
  81. NDIS_STATUS MpFindAdapter(
  82. IN PMP_ADAPTER Adapter,
  83. IN NDIS_HANDLE WrapperConfigurationContext);
  84. NDIS_STATUS NICReadAdapterInfo(
  85. IN PMP_ADAPTER Adapter);
  86. NDIS_STATUS MpAllocAdapterBlock(
  87. OUT PMP_ADAPTER *pAdapter);
  88. void MpFreeAdapter(
  89. IN PMP_ADAPTER Adapter);
  90. NDIS_STATUS NICReadRegParameters(
  91. IN PMP_ADAPTER Adapter,
  92. IN NDIS_HANDLE WrapperConfigurationContext);
  93. NDIS_STATUS NICAllocAdapterMemory(
  94. IN PMP_ADAPTER Adapter);
  95. VOID NICInitSend(
  96. IN PMP_ADAPTER Adapter);
  97. NDIS_STATUS NICInitRecv(
  98. IN PMP_ADAPTER Adapter);
  99. ULONG NICAllocRfd(
  100. IN PMP_ADAPTER Adapter,
  101. IN PMP_RFD pMpRfd);
  102. VOID NICFreeRfd(
  103. IN PMP_ADAPTER Adapter,
  104. IN PMP_RFD pMpRfd);
  105. NDIS_STATUS NICSelfTest(
  106. IN PMP_ADAPTER Adapter);
  107. NDIS_STATUS NICInitializeAdapter(
  108. IN PMP_ADAPTER Adapter);
  109. VOID HwSoftwareReset(
  110. IN PMP_ADAPTER Adapter);
  111. NDIS_STATUS HwConfigure(
  112. IN PMP_ADAPTER Adapter);
  113. NDIS_STATUS HwSetupIAAddress(
  114. IN PMP_ADAPTER Adapter);
  115. NDIS_STATUS HwClearAllCounters(
  116. IN PMP_ADAPTER Adapter);
  117. //
  118. // MP_REQ.C
  119. //
  120. NDIS_STATUS NICGetStatsCounters(
  121. IN PMP_ADAPTER Adapter,
  122. IN NDIS_OID Oid,
  123. OUT PULONG64 pCounter);
  124. NDIS_STATUS NICSetPacketFilter(
  125. IN PMP_ADAPTER Adapter,
  126. IN ULONG PacketFilter);
  127. NDIS_STATUS NICSetMulticastList(
  128. IN PMP_ADAPTER Adapter);
  129. ULONG NICGetMediaConnectStatus(
  130. IN PMP_ADAPTER Adapter);
  131. #endif // MP_NIC_H