- Get NE2000 driver to build on msvc/ddk.
[reactos.git] / reactos / w32api / include / ddk / ndis.h
index 3b64548..76cd5d3 100644 (file)
 #pragma GCC system_header
 #endif
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 #include "ntddk.h"
 #include "ntddndis.h"
 #include "netpnp.h"
 #include "netevent.h"
-#include <winsock2.h>
+#include <qos.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 #if defined(NDIS_WRAPPER)
   #define NDISAPI DECLSPEC_EXPORT
@@ -251,9 +251,9 @@ typedef struct _NDIS_RW_LOCK {
     struct {
       KSPIN_LOCK  SpinLock;
       PVOID  Context;
-    } s;
+    };
     UCHAR  Reserved[16];
-  } u;
+  };
 
   NDIS_RW_LOCK_REFCOUNT  RefCount[MAXIMUM_PROCESSORS];
 } NDIS_RW_LOCK, *PNDIS_RW_LOCK;
@@ -387,13 +387,7 @@ typedef struct _NDIS_GUID {
 #define        NDIS_GUID_UNICODE_STRING          0x00000008
 #define        NDIS_GUID_ARRAY                   0x00000010
 
-
-typedef struct _NDIS_PACKET_POOL {
-  NDIS_SPIN_LOCK  SpinLock;
-  struct _NDIS_PACKET *FreeList;
-  UINT  PacketLength;
-  UCHAR  Buffer[1];
-} NDIS_PACKET_POOL, * PNDIS_PACKET_POOL;
+typedef HANDLE PNDIS_PACKET_POOL;
 
 /* NDIS_PACKET_PRIVATE.Flags constants */
 #define fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO    0x40
@@ -418,15 +412,15 @@ typedef struct _NDIS_PACKET {
     struct {
       UCHAR  MiniportReserved[2 * sizeof(PVOID)];
       UCHAR  WrapperReserved[2 * sizeof(PVOID)];
-    } s1;
+    };
     struct {
       UCHAR  MiniportReservedEx[3 * sizeof(PVOID)];
       UCHAR  WrapperReservedEx[sizeof(PVOID)];
-    } s2;
+    };
     struct {
       UCHAR  MacReserved[4 * sizeof(PVOID)];
-    } s3;
-  } u;
+    };
+  };
   ULONG_PTR  Reserved[2];
   UCHAR  ProtocolReserved[1];
 } NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET;
@@ -678,15 +672,15 @@ typedef enum _NDIS_PNP_DEVICE_STATE {
 
 /* OID_GEN_NETWORK_LAYER_ADDRESSES */
 typedef struct _NETWORK_ADDRESS {
-  USHORT  AddressLength; 
-  USHORT  AddressType; 
-  UCHAR  Address[1]; 
+  USHORT  AddressLength;
+  USHORT  AddressType;
+  UCHAR  Address[1];
 } NETWORK_ADDRESS, *PNETWORK_ADDRESS;
 
 typedef struct _NETWORK_ADDRESS_LIST {
-       LONG  AddressCount; 
-       USHORT  AddressType; 
-       NETWORK_ADDRESS  Address[1]; 
+       LONG  AddressCount;
+       USHORT  AddressType;
+       NETWORK_ADDRESS  Address[1];
 } NETWORK_ADDRESS_LIST, *PNETWORK_ADDRESS_LIST;
 
 /* Protocol types supported by NDIS */
@@ -700,8 +694,8 @@ typedef struct _NETWORK_ADDRESS_LIST {
 
 /* OID_GEN_TRANSPORT_HEADER_OFFSET */
 typedef struct _TRANSPORT_HEADER_OFFSET {
-       USHORT  ProtocolType; 
-       USHORT  HeaderOffset; 
+       USHORT  ProtocolType;
+       USHORT  HeaderOffset;
 } TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
 
 
@@ -729,17 +723,6 @@ typedef struct {
   ULONG  MinorVersion;
 } CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;
 
-typedef struct _CO_FLOW_PARAMETERS {
-  ULONG  TokenRate;
-  ULONG  TokenBucketSize;
-  ULONG  PeakBandwidth;
-  ULONG  Latency;
-  ULONG  DelayVariation;
-  SERVICETYPE  ServiceType;
-  ULONG  MaxSduSize;
-  ULONG  MinimumPolicedSize;
-} CO_FLOW_PARAMETERS, *PCO_FLOW_PARAMETERS;
-
 typedef struct _CO_SPECIFIC_PARAMETERS {
   ULONG  ParamType;
   ULONG  Length;
@@ -747,8 +730,8 @@ typedef struct _CO_SPECIFIC_PARAMETERS {
 } CO_SPECIFIC_PARAMETERS, *PCO_SPECIFIC_PARAMETERS;
 
 typedef struct _CO_CALL_MANAGER_PARAMETERS {
-  CO_FLOW_PARAMETERS  Transmit;
-  CO_FLOW_PARAMETERS  Receive;
+  FLOWSPEC  Transmit;
+  FLOWSPEC  Receive;
   CO_SPECIFIC_PARAMETERS  CallMgrSpecific;
 } CO_CALL_MANAGER_PARAMETERS, *PCO_CALL_MANAGER_PARAMETERS;
 
@@ -926,7 +909,7 @@ typedef struct _NDIS_TASK_IPSEC {
     ULONG  V4_OPTIONS;
     ULONG  RESERVED;
   } Supported;
+
   struct {
     ULONG  MD5 : 1;
     ULONG  SHA_1 : 1;
@@ -935,7 +918,7 @@ typedef struct _NDIS_TASK_IPSEC {
     ULONG  Send : 1;
     ULONG  Receive : 1;
   } V4AH;
+
   struct {
     ULONG  DES : 1;
     ULONG  RESERVED : 1;
@@ -986,7 +969,7 @@ typedef struct _NDIS_TASK_TCP_IP_CHECKSUM {
     ULONG  UdpChecksum:1;
     ULONG  IpChecksum:1;
   } V4Transmit;
+
   struct {
     ULONG  IpOptionsSupported : 1;
     ULONG  TcpOptionsSupported : 1;
@@ -994,14 +977,14 @@ typedef struct _NDIS_TASK_TCP_IP_CHECKSUM {
     ULONG  UdpChecksum : 1;
     ULONG  IpChecksum : 1;
   } V4Receive;
+
   struct {
     ULONG  IpOptionsSupported : 1;
     ULONG  TcpOptionsSupported : 1;
     ULONG  TcpChecksum : 1;
     ULONG  UdpChecksum : 1;
   } V6Transmit;
+
   struct {
     ULONG  IpOptionsSupported : 1;
     ULONG  TcpOptionsSupported : 1;
@@ -1027,7 +1010,7 @@ typedef struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO {
       ULONG  NdisPacketUdpChecksum : 1;
       ULONG  NdisPacketIpChecksum : 1;
       } Transmit;
+
     struct {
       ULONG  NdisPacketTcpChecksumFailed : 1;
       ULONG  NdisPacketUdpChecksumFailed : 1;
@@ -1051,9 +1034,9 @@ typedef struct _NDIS_WAN_FRAGMENT {
 } NDIS_WAN_FRAGMENT, *PNDIS_WAN_FRAGMENT;
 
 typedef struct _WAN_CO_LINKPARAMS {
-  ULONG  TransmitSpeed; 
-  ULONG  ReceiveSpeed; 
-  ULONG  SendWindow; 
+  ULONG  TransmitSpeed;
+  ULONG  ReceiveSpeed;
+  ULONG  SendWindow;
 } WAN_CO_LINKPARAMS, *PWAN_CO_LINKPARAMS;
 
 
@@ -1450,7 +1433,7 @@ typedef VOID DDKAPI
   BIND_HANDLER  BindAdapterHandler; \
   UNBIND_HANDLER  UnbindAdapterHandler; \
   PNP_EVENT_HANDLER  PnPEventHandler; \
-  UNLOAD_PROTOCOL_HANDLER  UnloadHandler; 
+  UNLOAD_PROTOCOL_HANDLER  UnloadHandler;
 
 #else /* !__cplusplus */
 
@@ -1460,7 +1443,7 @@ typedef VOID DDKAPI
   BIND_HANDLER  BindAdapterHandler; \
   UNBIND_HANDLER  UnbindAdapterHandler; \
   PNP_EVENT_HANDLER  PnPEventHandler; \
-  UNLOAD_PROTOCOL_HANDLER  UnloadHandler; 
+  UNLOAD_PROTOCOL_HANDLER  UnloadHandler;
 
 #endif /* __cplusplus */
 
@@ -1920,7 +1903,7 @@ NdisQueryBufferOffset(
 /*
  * UINT
  * NdisGetPacketFlags(
- *   IN PNDIS_PACKET  Packet); 
+ *   IN PNDIS_PACKET  Packet);
  */
 #define NdisGetPacketFlags(Packet)(Packet)->Private.Flags;
 
@@ -2029,7 +2012,7 @@ NdisQueryBufferOffset(
   (PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
   (_Packet)->Private.NdisPacketOobOffset)
 
+
 /*
  * VOID
  * NdisQueryPacket(
@@ -2162,7 +2145,7 @@ NdisQueryBufferOffset(
  * VOID
  * NdisSetPacketFlags(
  *   IN PNDIS_PACKET  Packet,
- *   IN UINT  Flags); 
+ *   IN UINT  Flags);
  */
 #define NdisSetPacketFlags(Packet, Flags) \
   (Packet)->Private.Flags |= (Flags);
@@ -2481,7 +2464,7 @@ NdisUpdateSharedMemory(
  * VOID
  * NDIS_PHYSICAL_ADDRESS_CONST(
  *   IN ULONG  Low,
- *   IN LONG  High); 
+ *   IN LONG  High);
  */
 #define NDIS_PHYSICAL_ADDRESS_CONST(Low, High)  \
     { {(ULONG)(Low), (LONG)(High)} }
@@ -2531,7 +2514,7 @@ NdisUpdateSharedMemory(
  * VOID
  * NdisStoreUlong(
  *   IN PULONG  DestinationAddress,
- *   IN ULONG  Value); 
+ *   IN ULONG  Value);
  */
 #define NdisStoreUlong(DestinationAddress, Value) \
   RtlStoreUlong(DestinationAddress, Value)
@@ -2597,7 +2580,7 @@ NdisReadPciSlotInformation(
   IN ULONG  Length);
 
 NDISAPI
-ULONG 
+ULONG
 DDKAPI
 NdisWritePciSlotInformation(
   IN NDIS_HANDLE  NdisAdapterHandle,
@@ -3065,6 +3048,11 @@ NdisGetCurrentSystemTime(
 
 #endif
 
+NDISAPI
+CCHAR
+DDKAPI
+NdisSystemProcessorCount(VOID);
+
 NDISAPI
 VOID
 DDKAPI
@@ -3084,7 +3072,7 @@ NdisGetCurrentProcessorCpuUsage(
 
 /*
  * VOID
- * NDIS_PAGABLE_FUNCTION(FunctionName) 
+ * NDIS_PAGABLE_FUNCTION(FunctionName)
  */
 #define NDIS_PAGEABLE_FUNCTION(FunctionName) \
   alloc_text(page, FunctionName)
@@ -3406,7 +3394,7 @@ NdisClMakeCall(
   OUT PNDIS_HANDLE  NdisPartyHandle  OPTIONAL);
 
 NDISAPI
-NDIS_STATUS 
+NDIS_STATUS
 DDKAPI
 NdisClModifyCallQoS(
   IN NDIS_HANDLE  NdisVcHandle,
@@ -3710,7 +3698,7 @@ NdisMCoRequestComplete(
   IN PNDIS_REQUEST  Request);
 
 NDISAPI
-VOID 
+VOID
 DDKAPI
 NdisMCoSendComplete(
   IN NDIS_STATUS  Status,
@@ -3728,7 +3716,7 @@ NdisIMAssociateMiniport(
   IN NDIS_HANDLE  ProtocolHandle);
 
 NDISAPI
-NDIS_STATUS 
+NDIS_STATUS
 DDKAPI
 NdisIMCancelInitializeDeviceInstance(
   IN NDIS_HANDLE  DriverHandle,
@@ -4355,8 +4343,6 @@ typedef struct _NDIS_ARC_BUF {
 
 #endif /* ARCNET */
 
-#define NDIS_MINIPORT_WORK_QUEUE_SIZE 10
-
 typedef struct _NDIS_LOG {
   PNDIS_MINIPORT_BLOCK  Miniport;
   KSPIN_LOCK  LogLock;
@@ -4368,18 +4354,25 @@ typedef struct _NDIS_LOG {
   UCHAR  LogBuf[1];
 } NDIS_LOG, *PNDIS_LOG;
 
-typedef struct _FILTERDBS {
-  _ANONYMOUS_UNION union {
-    PETH_FILTER  EthDB;
-    PNULL_FILTER  NullDB;
-  } DUMMYUNIONNAME;
-  PTR_FILTER  TrDB;
-  PFDDI_FILTER  FddiDB;
 #if ARCNET
+#define FILTERDBS_ARCNET_S \
   PARC_FILTER  ArcDB;
 #else /* !ARCNET */
+#define FILTERDBS_ARCNET_S \
   PVOID  XXXDB;
 #endif /* !ARCNET */
+
+#define FILTERDBS_S \
+  _ANONYMOUS_UNION union { \
+    PETH_FILTER  EthDB; \
+    PNULL_FILTER  NullDB; \
+  } DUMMYUNIONNAME; \
+  PTR_FILTER  TrDB; \
+  PFDDI_FILTER  FddiDB; \
+  FILTERDBS_ARCNET_S
+
+typedef struct _FILTERDBS {
+  FILTERDBS_S
 } FILTERDBS, *PFILTERDBS;
 
 
@@ -4420,7 +4413,7 @@ struct _NDIS_MINIPORT_BLOCK {
   USHORT  CFHangCurrentTick;
   NDIS_STATUS  ResetStatus;
   NDIS_HANDLE  ResetOpen;
-  FILTERDBS  FilterDbs;
+  FILTERDBS_S
   FILTER_PACKET_INDICATION_HANDLER  PacketIndicateHandler;
   NDIS_M_SEND_COMPLETE_HANDLER  SendCompleteHandler;
   NDIS_M_SEND_RESOURCES_HANDLER  SendResourcesHandler;
@@ -4541,11 +4534,11 @@ struct _NDIS_MINIPORT_BLOCK {
   } DUMMYUNIONNAME2;
   PVOID  SavedSendPacketsHandler;
   PVOID  SavedCancelSendPacketsHandler;
-  W_SEND_PACKETS_HANDLER  WSendPacketsHandler;                
+  W_SEND_PACKETS_HANDLER  WSendPacketsHandler;
   ULONG  MiniportAttributes;
   PDMA_ADAPTER  SavedSystemAdapterObject;
   USHORT  NumOpens;
-  USHORT  CFHangXTicks; 
+  USHORT  CFHangXTicks;
   ULONG  RequestCount;
   ULONG  IndicatedPacketsCount;
   ULONG  PhysicalMediumType;
@@ -4582,81 +4575,92 @@ typedef VOID (DDKAPI *SEND_PACKETS_HANDLER)(
   IN PPNDIS_PACKET  PacketArray,
   IN UINT  NumberOfPackets);
 
-
-typedef struct _NDIS_COMMON_OPEN_BLOCK {
-  PVOID  MacHandle;
-  NDIS_HANDLE  BindingHandle;
-  PNDIS_MINIPORT_BLOCK  MiniportHandle;
-  PNDIS_PROTOCOL_BLOCK  ProtocolHandle;
-  NDIS_HANDLE  ProtocolBindingContext;
-  PNDIS_OPEN_BLOCK  MiniportNextOpen;
-  PNDIS_OPEN_BLOCK  ProtocolNextOpen;
-  NDIS_HANDLE  MiniportAdapterContext;
-  BOOLEAN  Reserved1;
-  BOOLEAN  Reserved2;
-  BOOLEAN  Reserved3;
-  BOOLEAN  Reserved4;
-  PNDIS_STRING  BindDeviceName;
-  KSPIN_LOCK  Reserved5;
-  PNDIS_STRING  RootDeviceName;
-  _ANONYMOUS_UNION union {
-    SEND_HANDLER  SendHandler;
-    WAN_SEND_HANDLER  WanSendHandler;
-  } DUMMYUNIONNAME;
-  TRANSFER_DATA_HANDLER  TransferDataHandler;
-  SEND_COMPLETE_HANDLER  SendCompleteHandler;
-  TRANSFER_DATA_COMPLETE_HANDLER  TransferDataCompleteHandler;
-  RECEIVE_HANDLER  ReceiveHandler;
-  RECEIVE_COMPLETE_HANDLER  ReceiveCompleteHandler;
-  WAN_RECEIVE_HANDLER  WanReceiveHandler;
-  REQUEST_COMPLETE_HANDLER  RequestCompleteHandler;
-  RECEIVE_PACKET_HANDLER  ReceivePacketHandler;
-  SEND_PACKETS_HANDLER  SendPacketsHandler;
-  RESET_HANDLER  ResetHandler;
-  REQUEST_HANDLER  RequestHandler;
-  RESET_COMPLETE_HANDLER  ResetCompleteHandler;
-  STATUS_HANDLER  StatusHandler;
-  STATUS_COMPLETE_HANDLER  StatusCompleteHandler;
 #if defined(NDIS_WRAPPER)
-  ULONG  Flags;
-  ULONG  References;
-  KSPIN_LOCK  SpinLock;
-  NDIS_HANDLE  FilterHandle;
-  ULONG  ProtocolOptions;
-  USHORT  CurrentLookahead;
-  USHORT  ConnectDampTicks;
-  USHORT  DisconnectDampTicks;
-  W_SEND_HANDLER  WSendHandler;
-  W_TRANSFER_DATA_HANDLER  WTransferDataHandler;
-  W_SEND_PACKETS_HANDLER  WSendPacketsHandler;
-  W_CANCEL_SEND_PACKETS_HANDLER  CancelSendPacketsHandler;
-  ULONG  WakeUpEnable;
-  PKEVENT  CloseCompleteEvent;
-  QUEUED_CLOSE  QC;
-  ULONG  AfReferences;
+#define NDIS_COMMON_OPEN_BLOCK_WRAPPER_S \
+  ULONG  Flags; \
+  ULONG  References; \
+  KSPIN_LOCK  SpinLock; \
+  NDIS_HANDLE  FilterHandle; \
+  ULONG  ProtocolOptions; \
+  USHORT  CurrentLookahead; \
+  USHORT  ConnectDampTicks; \
+  USHORT  DisconnectDampTicks; \
+  W_SEND_HANDLER  WSendHandler; \
+  W_TRANSFER_DATA_HANDLER  WTransferDataHandler; \
+  W_SEND_PACKETS_HANDLER  WSendPacketsHandler; \
+  W_CANCEL_SEND_PACKETS_HANDLER  CancelSendPacketsHandler; \
+  ULONG  WakeUpEnable; \
+  PKEVENT  CloseCompleteEvent; \
+  QUEUED_CLOSE  QC; \
+  ULONG  AfReferences; \
   PNDIS_OPEN_BLOCK  NextGlobalOpen;
-#endif /* _NDIS_ */
+#else
+#define NDIS_COMMON_OPEN_BLOCK_WRAPPER_S
+#endif
+
+#define NDIS_COMMON_OPEN_BLOCK_S \
+  PVOID  MacHandle; \
+  NDIS_HANDLE  BindingHandle; \
+  PNDIS_MINIPORT_BLOCK  MiniportHandle; \
+  PNDIS_PROTOCOL_BLOCK  ProtocolHandle; \ 
+  NDIS_HANDLE  ProtocolBindingContext; \
+  PNDIS_OPEN_BLOCK  MiniportNextOpen; \
+  PNDIS_OPEN_BLOCK  ProtocolNextOpen; \
+  NDIS_HANDLE  MiniportAdapterContext; \
+  BOOLEAN  Reserved1; \
+  BOOLEAN  Reserved2; \
+  BOOLEAN  Reserved3; \
+  BOOLEAN  Reserved4; \
+  PNDIS_STRING  BindDeviceName; \
+  KSPIN_LOCK  Reserved5; \
+  PNDIS_STRING  RootDeviceName; \
+  _ANONYMOUS_UNION union { \
+    SEND_HANDLER  SendHandler; \
+    WAN_SEND_HANDLER  WanSendHandler; \
+  } DUMMYUNIONNAME; \
+  TRANSFER_DATA_HANDLER  TransferDataHandler; \
+  SEND_COMPLETE_HANDLER  SendCompleteHandler; \
+  TRANSFER_DATA_COMPLETE_HANDLER  TransferDataCompleteHandler; \
+  RECEIVE_HANDLER  ReceiveHandler; \
+  RECEIVE_COMPLETE_HANDLER  ReceiveCompleteHandler; \
+  WAN_RECEIVE_HANDLER  WanReceiveHandler; \
+  REQUEST_COMPLETE_HANDLER  RequestCompleteHandler; \
+  RECEIVE_PACKET_HANDLER  ReceivePacketHandler; \
+  SEND_PACKETS_HANDLER  SendPacketsHandler; \
+  RESET_HANDLER  ResetHandler; \
+  REQUEST_HANDLER  RequestHandler; \
+  RESET_COMPLETE_HANDLER  ResetCompleteHandler; \
+  STATUS_HANDLER  StatusHandler; \
+  STATUS_COMPLETE_HANDLER  StatusCompleteHandler; \
+  NDIS_COMMON_OPEN_BLOCK_WRAPPER_S
+
+typedef struct _NDIS_COMMON_OPEN_BLOCK {
+  NDIS_COMMON_OPEN_BLOCK_S
 } NDIS_COMMON_OPEN_BLOCK;
 
 struct _NDIS_OPEN_BLOCK
 {
-    NDIS_COMMON_OPEN_BLOCK NdisCommonOpenBlock;
+#ifdef __cplusplus
+  NDIS_COMMON_OPEN_BLOCK NdisCommonOpenBlock;
+#else
+  NDIS_COMMON_OPEN_BLOCK_S
+#endif
 #if defined(NDIS_WRAPPER)
-    struct _NDIS_OPEN_CO
-    {
-        struct _NDIS_CO_AF_BLOCK *  NextAf;
-        W_CO_CREATE_VC_HANDLER      MiniportCoCreateVcHandler;
-        W_CO_REQUEST_HANDLER        MiniportCoRequestHandler;
-        CO_CREATE_VC_HANDLER        CoCreateVcHandler;
-        CO_DELETE_VC_HANDLER        CoDeleteVcHandler;
-        PVOID                       CmActivateVcCompleteHandler;
-        PVOID                       CmDeactivateVcCompleteHandler;
-        PVOID                       CoRequestCompleteHandler;
-        LIST_ENTRY                  ActiveVcHead;
-        LIST_ENTRY                  InactiveVcHead;
-        LONG                        PendingAfNotifications;
-        PKEVENT                     AfNotifyCompleteEvent;
-    };
+  struct _NDIS_OPEN_CO
+  {
+    struct _NDIS_CO_AF_BLOCK *  NextAf;
+    W_CO_CREATE_VC_HANDLER      MiniportCoCreateVcHandler;
+    W_CO_REQUEST_HANDLER        MiniportCoRequestHandler;
+    CO_CREATE_VC_HANDLER        CoCreateVcHandler;
+    CO_DELETE_VC_HANDLER        CoDeleteVcHandler;
+    PVOID                       CmActivateVcCompleteHandler;
+    PVOID                       CmDeactivateVcCompleteHandler;
+    PVOID                       CoRequestCompleteHandler;
+    LIST_ENTRY                  ActiveVcHead;
+    LIST_ENTRY                  InactiveVcHead;
+    LONG                        PendingAfNotifications;
+    PKEVENT                     AfNotifyCompleteEvent;
+  };
 #endif /* _NDIS_ */
 };
 
@@ -4697,7 +4701,7 @@ NdisMAllocateMapRegisters(
                                 Length)                \
 {                                                      \
     ArcFilterDprIndicateReceive(                       \
-        (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.ArcDB), \
+        (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ArcDB), \
         (HeaderBuffer), \
         (DataBuffer),   \
         (Length));      \
@@ -4774,7 +4778,7 @@ NdisMDeregisterIoPortRange(
                                 PacketSize)             \
 {                                                       \
     (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxIndicateHandler)( \
-               ((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.EthDB,  \
+               ((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthDB,  \
                (MiniportReceiveContext), \
                (HeaderBuffer),           \
                (HeaderBuffer),           \
@@ -4792,7 +4796,7 @@ NdisMDeregisterIoPortRange(
 #define NdisMEthIndicateReceiveComplete(MiniportAdapterHandle) \
 {                                                              \
     (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxCompleteHandler)( \
-        ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.EthDB);    \
+        ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->EthDB);    \
 }
 
 /*
@@ -4815,7 +4819,7 @@ NdisMDeregisterIoPortRange(
                                  PacketSize)             \
 {                                                        \
     (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxIndicateHandler)( \
-        (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.FddiDB),   \
+        (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiDB),   \
         (MiniportReceiveContext),              \
         (PUCHAR)(HeaderBuffer) + 1,            \
         (((*(PUCHAR*)(HeaderBuffer)) & 0x40) ? \
@@ -4838,7 +4842,7 @@ NdisMDeregisterIoPortRange(
 #define NdisMFddiIndicateReceiveComplete(MiniportAdapterHandle) \
 {                                                               \
     (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxCompleteHandler)( \
-        ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.FddiDB);      \
+        ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FddiDB);      \
 }
 
 NDISAPI
@@ -5060,14 +5064,14 @@ NdisMCancelTimer(
     AdapterType)
 
 NDISAPI
-VOID 
+VOID
 DDKAPI
 NdisMSetAttributesEx(
   IN NDIS_HANDLE  MiniportAdapterHandle,
   IN NDIS_HANDLE  MiniportAdapterContext,
   IN UINT  CheckForHangTimeInSeconds   OPTIONAL,
   IN ULONG  AttributeFlags,
-  IN NDIS_INTERFACE_TYPE AdapterType); 
+  IN NDIS_INTERFACE_TYPE AdapterType);
 
 /*
  * VOID
@@ -5114,7 +5118,7 @@ NdisMSynchronizeWithInterrupt(
                                PacketSize)             \
 {                                                      \
     (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxIndicateHandler)( \
-      (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.TrDB),     \
+      (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrDB),     \
                (MiniportReceiveContext), \
                (HeaderBuffer),           \
                (HeaderBuffer),           \
@@ -5132,7 +5136,7 @@ NdisMSynchronizeWithInterrupt(
 #define NdisMTrIndicateReceiveComplete(MiniportAdapterHandle) \
 {                                                             \
        (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxCompleteHandler)( \
-    ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.TrDB);    \
+    ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->TrDB);    \
 }
 
 NDISAPI
@@ -5169,6 +5173,35 @@ NdisMUnmapIoSpace(
 
 
 
+/* Event functions */
+
+NDISAPI
+VOID
+DDKAPI
+NdisInitializeEvent(
+  IN PNDIS_EVENT  Event);
+
+NDISAPI
+VOID
+DDKAPI
+NdisSetEvent(
+  IN PNDIS_EVENT  Event);
+
+NDISAPI
+VOID
+DDKAPI
+NdisResetEvent(
+  IN PNDIS_EVENT  Event);
+
+NDISAPI
+BOOLEAN
+DDKAPI
+NdisWaitEvent(
+  IN PNDIS_EVENT  Event,
+  IN UINT  Timeout);
+
+
+
 /* NDIS intermediate miniport structures */
 
 typedef VOID (DDKAPI *W_MINIPORT_CALLBACK)(
@@ -5227,7 +5260,7 @@ NDISAPI
 NTSTATUS
 DDKAPI
 NdisUpcaseUnicodeString(
-  OUT PUNICODE_STRING  DestinationString,  
+  OUT PUNICODE_STRING  DestinationString,
   IN PUNICODE_STRING  SourceString);