Source code of Windows XP (NT5)
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.

201 lines
3.7 KiB

  1. //////////////////////////////////////////////////////////////////////////////\
  2. //
  3. // Copyright (c) 1990 Microsoft Corporation
  4. //
  5. // Module Name:
  6. //
  7. // ipndis.h
  8. //
  9. // Abstract:
  10. //
  11. // The main header for the NDIS/KS test driver
  12. //
  13. // Author:
  14. //
  15. // P Porzuczek
  16. //
  17. // Environment:
  18. //
  19. // Notes:
  20. //
  21. // Revision History:
  22. //
  23. //
  24. ///////////////////////////////////////////////////////////////////////////////
  25. #ifndef _NDIS_MAIN_H
  26. #define _NDIS_MAIN_H
  27. /////////////////////////////////////////////////////////////////////////////
  28. //
  29. //
  30. extern NDIS_HANDLE global_ndishWrapper;
  31. //////////////////////////////////////////////////////////
  32. //
  33. //
  34. //
  35. #define ETHERNET_LENGTH_OF_ADDRESS 6
  36. #define ETHERNET_HEADER_SIZE 14
  37. #define BDA_802_3_MAX_LOOKAHEAD ((4 * 1024) - ETHERNET_HEADER_SIZE)
  38. #define BDA_802_3_MAX_PACKET (BDA_802_3_MAX_LOOKAHEAD + ETHERNET_HEADER_SIZE)
  39. #define MAX_IP_PACKET_LEN BDA_802_3_MAX_LOOKAHEAD
  40. #define BDALM_MAX_MULTICAST_LIST_SIZE 256
  41. //////////////////////////////////////////////////////////
  42. //
  43. //
  44. //
  45. typedef struct _INDICATE_CONTEXT_
  46. {
  47. PADAPTER pAdapter;
  48. } INDICATE_CONTEXT, *PINDICATE_CONTEXT;
  49. //////////////////////////////////////////////////////////////////////////////\
  50. //
  51. //
  52. // Prototypes
  53. //
  54. //
  55. NTSYSAPI
  56. VOID
  57. NTAPI
  58. RtlInitUnicodeString(
  59. PUNICODE_STRING DestinationString,
  60. PCWSTR SourceString
  61. );
  62. VOID
  63. NdisIPHalt(
  64. IN NDIS_HANDLE MiniportAdapterContext
  65. );
  66. NDIS_STATUS
  67. NdisIPInitialize(
  68. OUT PNDIS_STATUS OpenErrorStatus,
  69. OUT PUINT SelectedMediumIndex,
  70. IN PNDIS_MEDIUM MediumArray,
  71. IN UINT MediumArraySize,
  72. IN NDIS_HANDLE MiniportAdapterHandle,
  73. IN NDIS_HANDLE ConfigurationHandle
  74. );
  75. NDIS_STATUS
  76. NdisIPQueryInformation(
  77. IN NDIS_HANDLE MiniportAdapterContext,
  78. IN NDIS_OID Oid,
  79. IN PVOID InformationBuffer,
  80. IN ULONG InformationBufferLength,
  81. OUT PULONG BytesWritten,
  82. OUT PULONG BytesNeeded
  83. );
  84. NDIS_STATUS
  85. NdisIPReset(
  86. OUT PBOOLEAN AddressingReset,
  87. IN NDIS_HANDLE MiniportAdapterContext
  88. );
  89. NDIS_STATUS
  90. NdisIPSend(
  91. IN NDIS_HANDLE MiniportAdapterContext,
  92. IN PNDIS_PACKET Packet,
  93. IN UINT Flags
  94. );
  95. NDIS_STATUS
  96. NdisIPSetInformation(
  97. IN NDIS_HANDLE MiniportAdapterContext,
  98. IN NDIS_OID Oid,
  99. IN PVOID InformationBuffer,
  100. IN ULONG InformationBufferLength,
  101. OUT PULONG BytesRead,
  102. OUT PULONG BytesNeeded
  103. );
  104. NTSTATUS
  105. StreamIndicateEvent (
  106. IN PVOID pvEvent
  107. );
  108. VOID
  109. NdisIPReturnPacket(
  110. IN NDIS_HANDLE ndishAdapterContext,
  111. IN PNDIS_PACKET pNdisPacket
  112. );
  113. PFRAME
  114. GetFrame (
  115. PFRAME_POOL pFramePool,
  116. PLIST_ENTRY pQueue
  117. );
  118. PFRAME
  119. PutFrame (
  120. PFRAME_POOL pFramePool,
  121. PLIST_ENTRY pQueue,
  122. PFRAME pFrame
  123. );
  124. NTSTATUS
  125. IndicateCallbackHandler (
  126. IN NDIS_HANDLE ndishMiniport,
  127. IN PINDICATE_CONTEXT pIndicateContext
  128. );
  129. NTSTATUS
  130. CreateAdapter (
  131. PADAPTER *ppAdapter,
  132. NDIS_HANDLE ndishWrapper,
  133. NDIS_HANDLE ndishAdapterContext
  134. );
  135. //
  136. // These are now obsolete. Use Deserialized driver model for optimal performance.
  137. //
  138. #ifndef NdisIMQueueMiniportCallback
  139. EXPORT
  140. NDIS_STATUS
  141. NdisIMQueueMiniportCallback(
  142. IN NDIS_HANDLE MiniportAdapterHandle,
  143. IN W_MINIPORT_CALLBACK CallbackRoutine,
  144. IN PVOID CallbackContext
  145. );
  146. #endif
  147. #ifndef NdisIMSwitchToMiniport
  148. EXPORT
  149. BOOLEAN
  150. NdisIMSwitchToMiniport(
  151. IN NDIS_HANDLE MiniportAdapterHandle,
  152. OUT PNDIS_HANDLE SwitchHandle
  153. );
  154. #endif
  155. #ifndef NdisIMRevertBack
  156. EXPORT
  157. VOID
  158. NdisIMRevertBack(
  159. IN NDIS_HANDLE MiniportAdapterHandle,
  160. IN NDIS_HANDLE SwitchHandle
  161. );
  162. #endif
  163. #endif // _NDIS_MAIN_H_
  164.