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.

181 lines
4.3 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. ntos\tdi\isn\fwd\rcvind.h
  5. Abstract:
  6. Receive indication processing
  7. Author:
  8. Vadim Eydelman
  9. Revision History:
  10. --*/
  11. #ifndef _IPXFWD_RCVIND
  12. #define _IPXFWD_RCVIND
  13. // Doesn't allow accepting packets (for routing) from dial-in clients
  14. extern BOOLEAN ThisMachineOnly;
  15. /*++
  16. *******************************************************************
  17. I n i t i a l i z e R e c v Q u e u e
  18. Routine Description:
  19. Initializes recv queue
  20. Arguments:
  21. None
  22. Return Value:
  23. None
  24. *******************************************************************
  25. --*/
  26. //VOID
  27. //DeleteRecvQueue (
  28. // void
  29. // )
  30. #define InitializeRecvQueue() { \
  31. }
  32. /*++
  33. *******************************************************************
  34. D e l e t e R e c v Q u e u e
  35. Routine Description:
  36. Deletes recv queue
  37. Arguments:
  38. None
  39. Return Value:
  40. None
  41. *******************************************************************
  42. --*/
  43. VOID
  44. DeleteRecvQueue (
  45. void
  46. );
  47. /*++
  48. *******************************************************************
  49. F w R e c e i v e
  50. Routine Description:
  51. Called by the IPX stack to indicate that the IPX packet was
  52. received by the NIC dirver. Only external destined packets are
  53. indicated by this routine (with the exception of Netbios boradcasts
  54. that indicated both for internal and external handlers)
  55. Arguments:
  56. MacBindingHandle - handle of NIC driver
  57. MaxReceiveContext - NIC driver context
  58. Context - forwarder context associated with
  59. the NIC (interface block pointer)
  60. RemoteAddress - sender's address
  61. MacOptions -
  62. LookaheadBuffer - packet lookahead buffer that contains complete
  63. IPX header
  64. LookaheadBufferSize - its size (at least 30 bytes)
  65. LookaheadBufferOffset - offset of lookahead buffer in the physical
  66. packet
  67. Return Value:
  68. None
  69. *******************************************************************
  70. --*/
  71. BOOLEAN
  72. IpxFwdReceive (
  73. NDIS_HANDLE MacBindingHandle,
  74. NDIS_HANDLE MacReceiveContext,
  75. ULONG_PTR Context,
  76. PIPX_LOCAL_TARGET RemoteAddress,
  77. ULONG MacOptions,
  78. PUCHAR LookaheadBuffer,
  79. UINT LookaheadBufferSize,
  80. UINT LookaheadBufferOffset,
  81. UINT PacketSize,
  82. PMDL pMdl
  83. );
  84. /*++
  85. *******************************************************************
  86. F w T r a n s f e r D a t a C o m p l e t e
  87. Routine Description:
  88. Called by the IPX stack when NIC driver completes data transger.
  89. Arguments:
  90. pktDscr - handle of NIC driver
  91. status - result of the transfer
  92. bytesTransferred - number of bytest trasferred
  93. Return Value:
  94. None
  95. *******************************************************************
  96. --*/
  97. VOID
  98. IpxFwdTransferDataComplete (
  99. PNDIS_PACKET pktDscr,
  100. NDIS_STATUS status,
  101. UINT bytesTransferred
  102. );
  103. /*++
  104. *******************************************************************
  105. F w T r a n s f e r D a t a C o m p l e t e
  106. Routine Description:
  107. This routine receives control from the IPX driver after one or
  108. more receive operations have completed and no receive is in progress.
  109. It is called under less severe time constraints than IpxFwdReceive.
  110. It is used to process netbios queue
  111. Arguments:
  112. None
  113. Return Value:
  114. None
  115. *******************************************************************
  116. --*/
  117. VOID
  118. IpxFwdReceiveComplete (
  119. USHORT NicId
  120. );
  121. /*++
  122. *******************************************************************
  123. F w R e c e i v e
  124. Routine Description:
  125. Called by the IPX stack to indicate that the IPX packet destined
  126. to local client was received by the NIC dirver.
  127. Arguments:
  128. Context - forwarder context associated with
  129. the NIC (interface block pointer)
  130. RemoteAddress - sender's address
  131. LookaheadBuffer - packet lookahead buffer that contains complete
  132. IPX header
  133. LookaheadBufferSize - its size (at least 30 bytes)
  134. Return Value:
  135. STATUS_SUCCESS - the packet will be delivered to local destination
  136. STATUS_UNSUCCESSFUL - the packet will be dropped
  137. *******************************************************************
  138. --*/
  139. NTSTATUS
  140. IpxFwdInternalReceive (
  141. IN ULONG_PTR FwdAdapterContext,
  142. IN PIPX_LOCAL_TARGET RemoteAddress,
  143. IN PUCHAR LookAheadBuffer,
  144. IN UINT LookAheadBufferSize
  145. );
  146. #endif
  147.