Remove old NDIS headers.
authorFilip Navara <filip.navara@gmail.com>
Sat, 28 May 2005 11:15:08 +0000 (11:15 +0000)
committerFilip Navara <filip.navara@gmail.com>
Sat, 28 May 2005 11:15:08 +0000 (11:15 +0000)
svn path=/trunk/; revision=15572

reactos/include/ndis.h [deleted file]
reactos/include/net/ndis.h [deleted file]
reactos/include/net/ndisoid.h [deleted file]
reactos/include/net/ntddndis.h [deleted file]

diff --git a/reactos/include/ndis.h b/reactos/include/ndis.h
deleted file mode 100644 (file)
index 622fb75..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include "net/ndis.h"
diff --git a/reactos/include/net/ndis.h b/reactos/include/net/ndis.h
deleted file mode 100644 (file)
index d569ee1..0000000
+++ /dev/null
@@ -1,5697 +0,0 @@
-/*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS NDIS library
- * FILE:        include/net/ndis.h
- * PURPOSE:     Structures used by NDIS drivers
- * DEFINES:     i386                 - Target platform is i386
- *              NDIS_WRAPPER         - Define only for NDIS wrapper library
- *              NDIS_MINIPORT_DRIVER - Define only for NDIS miniport drivers
- *              NDIS40               - Use NDIS 4.0 structures by default
- *              NDIS50               - Use NDIS 5.0 structures by default
- *              NDIS_WDM             - Include wdm.h (currently just pulls in ntddk.h)
- *
- * NOTES:       If NDIS_WDM is not defined, ntddk.h is included instead
- *
- * I have removed the following standard flag, used for building binary-compatible
- * drivers for windows 98 and windows me:
- *
- *              BINARY_COMPATIBLE    - 0 = Use macros for some features
- *                                   - 1 = Use imports for features not available
- *
- * rationale:  you're never going to use *this* ndis.h to build a driver for win9x.  You'll
- * use the MS ddk.  This assumption drammatically simplifies ndis.h.
- *
- * There have been lots of instances of stdcall/cdecl mismatches, particularly in the
- * callback routines.  I have now nailed them all to STDCALL, which is what they ought to
- * be.  If you cross-check with the ndis.h from the MS DDK, you'll note that the compiler
- * is set to a default calling conveition of stdcall with the /Gz command-line switch.
- * There are only a few functions that should actually be cdecl:
- *  - DbgPrint()
- *  - DbgPrintReturnControlC()
- *  - NdisWriteErrorLogEntry()
- *
- *  All other functions declared in ndis.h should be stdcall.
- *
- *  TODO:
- *      - finish sanitizing NDIS40 and NDIS50; think about NDIS51
- *      - make sure everything is stdcall
- */
-
-#ifndef __NDIS_H
-#define __NDIS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-#include "ntddndis.h"
-#include <ddk/netpnp.h>
-
-#ifdef NDIS50
-#undef NDIS40
-#define NDIS40
-#endif
-
-#ifndef UNALIGNED
-#define UNALIGNED
-#endif
-
-#ifndef FASTCALL
-#define FASTCALL  __attribute__((fastcall))
-#endif
-
-/* The NDIS library exports functions. NDIS miniport drivers import functions */
-#ifdef NDIS_WRAPPER
-
-#ifdef _MSC_VER
-#define DDKAPI __declspec(dllexport)
-#else
-#define DDKAPI STDCALL /* MS ndis.h is 100% stdcall due to compiler flag /Gz */
-#endif
-
-#else /* NDIS_WRAPPER */
-
-#ifdef _MSC_VER
-#define DDKAPI __declspec(dllimport)
-#else
-#define DDKAPI STDCALL
-#endif
-
-#endif /* NDIS_WRAPPER */
-
-/* support NDIS_WDM and MAC drivers */
-#if defined (NDIS_WDM)
-#include <wdm.h>
-#else
-#include <ntddk.h>
-#endif
-
-/* Assert stuff */
-#ifdef DBG
-VOID
-STDCALL
-RtlAssert (
-       PVOID FailedAssertion,
-       PVOID FileName,
-       ULONG LineNumber,
-       PCHAR Message
-       );
-
-#define ASSERT( exp )         if (!(exp)) RtlAssert( #exp, __FILE__, __LINE__, NULL )
-#define ASSERTMSG( msg, exp ) if (!(exp)) RtlAssert( #exp, __FILE__, __LINE__, msg )
-#define PAGED_CODE()          if (KeGetCurrentIrql() > APC_LEVEL) ASSERT(0); 
-
-#else
-#define ASSERT( exp )
-#define ASSERTMSG( msg, exp )
-#define PAGED_CODE()
-#endif /* DBG */
-
-/* Base types */
-
-#define IN
-#define OUT
-#define OPTIONAL
-
-typedef CONST CHAR *PCSTR;
-
-typedef struct _DMA_CONFIGURATION_BYTE0
-{
-    UCHAR   Channel:3;
-    UCHAR   Reserved:3;
-    UCHAR   Shared:1;
-    UCHAR   MoreEntries:1;
-} DMA_CONFIGURATION_BYTE0;
-
-typedef struct _DMA_CONFIGURATION_BYTE1
-{
-    UCHAR   Reserved0:2;
-    UCHAR   TransferSize:2;
-    UCHAR   Timing:2;
-    UCHAR   Reserved1:2;
-} DMA_CONFIGURATION_BYTE1;
-
-
-typedef struct _EISA_MEMORY_TYPE
-{
-    UCHAR   ReadWrite:1;
-    UCHAR   Cached:1;
-    UCHAR   Reserved0:1;
-    UCHAR   Type:2;
-    UCHAR   Shared:1;
-    UCHAR   Reserved1:1;
-    UCHAR   MoreEntries:1;
-} EISA_MEMORY_TYPE, *PEISA_MEMORY_TYPE;
-
-typedef struct _EISA_MEMORY_CONFIGURATION
-{
-    EISA_MEMORY_TYPE    ConfigurationByte;
-    UCHAR   DataSize;
-    USHORT  AddressLowWord;
-    UCHAR   AddressHighByte;
-    USHORT  MemorySize;
-} EISA_MEMORY_CONFIGURATION, *PEISA_MEMORY_CONFIGURATION;
-
-
-typedef struct _EISA_IRQ_DESCRIPTOR
-{
-    UCHAR   Interrupt:4;
-    UCHAR   Reserved:1;
-    UCHAR   LevelTriggered:1;
-    UCHAR   Shared:1;
-    UCHAR   MoreEntries:1;
-} EISA_IRQ_DESCRIPTOR, *PEISA_IRQ_DESCRIPTOR;
-
-typedef struct _EISA_IRQ_CONFIGURATION
-{
-    EISA_IRQ_DESCRIPTOR ConfigurationByte;
-    UCHAR   Reserved;
-} EISA_IRQ_CONFIGURATION, *PEISA_IRQ_CONFIGURATION;
-
-typedef struct _EISA_DMA_CONFIGURATION
-{
-    DMA_CONFIGURATION_BYTE0 ConfigurationByte0;
-    DMA_CONFIGURATION_BYTE1 ConfigurationByte1;
-} EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION;
-
-
-typedef struct _EISA_PORT_DESCRIPTOR
-{
-    UCHAR   NumberPorts:5;
-    UCHAR   Reserved:1;
-    UCHAR   Shared:1;
-    UCHAR   MoreEntries:1;
-} EISA_PORT_DESCRIPTOR, *PEISA_PORT_DESCRIPTOR;
-
-typedef struct _EISA_PORT_CONFIGURATION
-{
-    EISA_PORT_DESCRIPTOR    Configuration;
-    USHORT  PortAddress;
-} EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION;
-
-typedef struct _CM_EISA_SLOT_INFORMATION
-{
-    UCHAR   ReturnCode;
-    UCHAR   ReturnFlags;
-    UCHAR   MajorRevision;
-    UCHAR   MinorRevision;
-    USHORT  Checksum;
-    UCHAR   NumberFunctions;
-    UCHAR   FunctionInformation;
-    ULONG   CompressedId;
-} CM_EISA_SLOT_INFORMATION, *PCM_EISA_SLOT_INFORMATION;
-
-typedef struct _CM_EISA_FUNCTION_INFORMATION
-{
-    ULONG   CompressedId;
-    UCHAR   IdSlotFlags1;
-    UCHAR   IdSlotFlags2;
-    UCHAR   MinorRevision;
-    UCHAR   MajorRevision;
-    UCHAR   Selections[26];
-    UCHAR   FunctionFlags;
-    UCHAR   TypeString[80];
-    EISA_MEMORY_CONFIGURATION   EisaMemory[9];
-    EISA_IRQ_CONFIGURATION      EisaIrq[7];
-    EISA_DMA_CONFIGURATION      EisaDma[4];
-    EISA_PORT_CONFIGURATION     EisaPort[20];
-    UCHAR   InitializationData[60];
-} CM_EISA_FUNCTION_INFORMATION, *PCM_EISA_FUNCTION_INFORMATION;
-
-ULONG CDECL DbgPrint(
-    PCH Format,
-    ...);
-
-
-/* Core kernel functions */
-
-VOID
-STDCALL
-KeStallExecutionProcessor(
-    ULONG   MicroSeconds);
-
-
-#include <ddk/netevent.h>
-#include "ndisoid.h"
-#include "ntddndis.h"
-
-
-#if !defined(_MSC_VER)
-#ifndef GUID_DEFINED
-#define GUID_DEFINED
-typedef struct _GUID {
-    ULONG   Data1;
-    USHORT  Data2;
-    USHORT  Data3;
-    UCHAR   Data4[8];
-} GUID;
-#endif /* _GUID_DEFINED */
-#endif /* _MSC_VER */
-
-
-/* NDIS base types */
-
-typedef struct _NDIS_SPIN_LOCK {
-    KSPIN_LOCK  SpinLock;
-    KIRQL       OldIrql;
-} NDIS_SPIN_LOCK, * PNDIS_SPIN_LOCK;
-
-typedef struct _NDIS_EVENT {
-    KEVENT  Event;
-} NDIS_EVENT, *PNDIS_EVENT;
-
-typedef PVOID NDIS_HANDLE, *PNDIS_HANDLE;
-typedef int NDIS_STATUS, *PNDIS_STATUS;
-
-typedef UNICODE_STRING NDIS_STRING, *PNDIS_STRING;
-
-typedef MDL NDIS_BUFFER, *PNDIS_BUFFER;
-
-/* NDIS_STATUS constants */
-#define NDIS_STATUS_SUCCESS                     ((NDIS_STATUS)STATUS_SUCCESS)
-#define NDIS_STATUS_PENDING                     ((NDIS_STATUS)STATUS_PENDING)
-#define NDIS_STATUS_NOT_RECOGNIZED              ((NDIS_STATUS)0x00010001L)
-#define NDIS_STATUS_NOT_COPIED                  ((NDIS_STATUS)0x00010002L)
-#define NDIS_STATUS_NOT_ACCEPTED                ((NDIS_STATUS)0x00010003L)
-#define NDIS_STATUS_CALL_ACTIVE                 ((NDIS_STATUS)0x00010007L)
-#define NDIS_STATUS_ONLINE                      ((NDIS_STATUS)0x40010003L)
-#define NDIS_STATUS_RESET_START                 ((NDIS_STATUS)0x40010004L)
-#define NDIS_STATUS_RESET_END                   ((NDIS_STATUS)0x40010005L)
-#define NDIS_STATUS_RING_STATUS                 ((NDIS_STATUS)0x40010006L)
-#define NDIS_STATUS_CLOSED                      ((NDIS_STATUS)0x40010007L)
-#define NDIS_STATUS_WAN_LINE_UP                 ((NDIS_STATUS)0x40010008L)
-#define NDIS_STATUS_WAN_LINE_DOWN               ((NDIS_STATUS)0x40010009L)
-#define NDIS_STATUS_WAN_FRAGMENT                ((NDIS_STATUS)0x4001000AL)
-#define        NDIS_STATUS_MEDIA_CONNECT               ((NDIS_STATUS)0x4001000BL)
-#define        NDIS_STATUS_MEDIA_DISCONNECT            ((NDIS_STATUS)0x4001000CL)
-#define NDIS_STATUS_HARDWARE_LINE_UP            ((NDIS_STATUS)0x4001000DL)
-#define NDIS_STATUS_HARDWARE_LINE_DOWN          ((NDIS_STATUS)0x4001000EL)
-#define NDIS_STATUS_INTERFACE_UP                ((NDIS_STATUS)0x4001000FL)
-#define NDIS_STATUS_INTERFACE_DOWN              ((NDIS_STATUS)0x40010010L)
-#define NDIS_STATUS_MEDIA_BUSY                  ((NDIS_STATUS)0x40010011L)
-#define        NDIS_STATUS_WW_INDICATION               ((NDIS_STATUS)0x40010012L)
-#define NDIS_STATUS_TAPI_INDICATION             ((NDIS_STATUS)0x40010080L)
-
-#define NDIS_STATUS_NOT_RESETTABLE              ((NDIS_STATUS)0x80010001L)
-#define NDIS_STATUS_SOFT_ERRORS                        ((NDIS_STATUS)0x80010003L)
-#define NDIS_STATUS_HARD_ERRORS                 ((NDIS_STATUS)0x80010004L)
-#define NDIS_STATUS_BUFFER_OVERFLOW                ((NDIS_STATUS)STATUS_BUFFER_OVERFLOW)
-
-#define NDIS_STATUS_FAILURE                        ((NDIS_STATUS)STATUS_UNSUCCESSFUL)
-#define NDIS_STATUS_RESOURCES                   ((NDIS_STATUS)STATUS_INSUFFICIENT_RESOURCES)
-#define NDIS_STATUS_CLOSING                        ((NDIS_STATUS)0xC0010002L)
-#define NDIS_STATUS_BAD_VERSION                        ((NDIS_STATUS)0xC0010004L)
-#define NDIS_STATUS_BAD_CHARACTERISTICS         ((NDIS_STATUS)0xC0010005L)
-#define NDIS_STATUS_ADAPTER_NOT_FOUND           ((NDIS_STATUS)0xC0010006L)
-#define NDIS_STATUS_OPEN_FAILED                        ((NDIS_STATUS)0xC0010007L)
-#define NDIS_STATUS_DEVICE_FAILED               ((NDIS_STATUS)0xC0010008L)
-#define NDIS_STATUS_MULTICAST_FULL              ((NDIS_STATUS)0xC0010009L)
-#define NDIS_STATUS_MULTICAST_EXISTS            ((NDIS_STATUS)0xC001000AL)
-#define NDIS_STATUS_MULTICAST_NOT_FOUND                ((NDIS_STATUS)0xC001000BL)
-#define NDIS_STATUS_REQUEST_ABORTED                ((NDIS_STATUS)0xC001000CL)
-#define NDIS_STATUS_RESET_IN_PROGRESS           ((NDIS_STATUS)0xC001000DL)
-#define NDIS_STATUS_CLOSING_INDICATING          ((NDIS_STATUS)0xC001000EL)
-#define NDIS_STATUS_NOT_SUPPORTED               ((NDIS_STATUS)STATUS_NOT_SUPPORTED)
-#define NDIS_STATUS_INVALID_PACKET              ((NDIS_STATUS)0xC001000FL)
-#define NDIS_STATUS_OPEN_LIST_FULL              ((NDIS_STATUS)0xC0010010L)
-#define NDIS_STATUS_ADAPTER_NOT_READY           ((NDIS_STATUS)0xC0010011L)
-#define NDIS_STATUS_ADAPTER_NOT_OPEN            ((NDIS_STATUS)0xC0010012L)
-#define NDIS_STATUS_NOT_INDICATING              ((NDIS_STATUS)0xC0010013L)
-#define NDIS_STATUS_INVALID_LENGTH              ((NDIS_STATUS)0xC0010014L)
-#define NDIS_STATUS_INVALID_DATA                ((NDIS_STATUS)0xC0010015L)
-#define NDIS_STATUS_BUFFER_TOO_SHORT            ((NDIS_STATUS)0xC0010016L)
-#define NDIS_STATUS_INVALID_OID                        ((NDIS_STATUS)0xC0010017L)
-#define NDIS_STATUS_ADAPTER_REMOVED                ((NDIS_STATUS)0xC0010018L)
-#define NDIS_STATUS_UNSUPPORTED_MEDIA           ((NDIS_STATUS)0xC0010019L)
-#define NDIS_STATUS_GROUP_ADDRESS_IN_USE        ((NDIS_STATUS)0xC001001AL)
-#define NDIS_STATUS_FILE_NOT_FOUND              ((NDIS_STATUS)0xC001001BL)
-#define NDIS_STATUS_ERROR_READING_FILE          ((NDIS_STATUS)0xC001001CL)
-#define NDIS_STATUS_ALREADY_MAPPED              ((NDIS_STATUS)0xC001001DL)
-#define NDIS_STATUS_RESOURCE_CONFLICT           ((NDIS_STATUS)0xC001001EL)
-#define NDIS_STATUS_NO_CABLE                    ((NDIS_STATUS)0xC001001FL)
-
-#define NDIS_STATUS_INVALID_SAP                        ((NDIS_STATUS)0xC0010020L)
-#define NDIS_STATUS_SAP_IN_USE                  ((NDIS_STATUS)0xC0010021L)
-#define NDIS_STATUS_INVALID_ADDRESS             ((NDIS_STATUS)0xC0010022L)
-#define NDIS_STATUS_VC_NOT_ACTIVATED            ((NDIS_STATUS)0xC0010023L)
-#define NDIS_STATUS_DEST_OUT_OF_ORDER           ((NDIS_STATUS)0xC0010024L)
-#define NDIS_STATUS_VC_NOT_AVAILABLE            ((NDIS_STATUS)0xC0010025L)
-#define NDIS_STATUS_CELLRATE_NOT_AVAILABLE      ((NDIS_STATUS)0xC0010026L)
-#define NDIS_STATUS_INCOMPATABLE_QOS            ((NDIS_STATUS)0xC0010027L)
-#define NDIS_STATUS_AAL_PARAMS_UNSUPPORTED      ((NDIS_STATUS)0xC0010028L)
-#define NDIS_STATUS_NO_ROUTE_TO_DESTINATION     ((NDIS_STATUS)0xC0010029L)
-
-#define NDIS_STATUS_TOKEN_RING_OPEN_ERROR       ((NDIS_STATUS)0xC0011000L)
-
-
-/* NDIS error codes for error logging */
-
-#define NDIS_ERROR_CODE ULONG
-
-#define NDIS_ERROR_CODE_RESOURCE_CONFLICT                      EVENT_NDIS_RESOURCE_CONFLICT
-#define NDIS_ERROR_CODE_OUT_OF_RESOURCES                       EVENT_NDIS_OUT_OF_RESOURCE
-#define NDIS_ERROR_CODE_HARDWARE_FAILURE                       EVENT_NDIS_HARDWARE_FAILURE
-#define NDIS_ERROR_CODE_ADAPTER_NOT_FOUND                      EVENT_NDIS_ADAPTER_NOT_FOUND
-#define NDIS_ERROR_CODE_INTERRUPT_CONNECT                      EVENT_NDIS_INTERRUPT_CONNECT
-#define NDIS_ERROR_CODE_DRIVER_FAILURE                         EVENT_NDIS_DRIVER_FAILURE
-#define NDIS_ERROR_CODE_BAD_VERSION                                    EVENT_NDIS_BAD_VERSION
-#define NDIS_ERROR_CODE_TIMEOUT                                                EVENT_NDIS_TIMEOUT
-#define NDIS_ERROR_CODE_NETWORK_ADDRESS                                EVENT_NDIS_NETWORK_ADDRESS
-#define NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION      EVENT_NDIS_UNSUPPORTED_CONFIGURATION
-#define NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER     EVENT_NDIS_INVALID_VALUE_FROM_ADAPTER
-#define NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER        EVENT_NDIS_MISSING_CONFIGURATION_PARAMETER
-#define NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS                    EVENT_NDIS_BAD_IO_BASE_ADDRESS
-#define NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL                    EVENT_NDIS_RECEIVE_SPACE_SMALL
-#define NDIS_ERROR_CODE_ADAPTER_DISABLED                       EVENT_NDIS_ADAPTER_DISABLED
-
-
-/* Memory allocation flags. Used by Ndis[Allocate|Free]Memory */
-#define NDIS_MEMORY_CONTIGUOUS  0x00000001
-#define NDIS_MEMORY_NONCACHED   0x00000002
-
-/* NIC attribute flags. Used by NdisMSetAttributes(Ex) */
-#define NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT    0x00000001
-#define NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT   0x00000002
-#define NDIS_ATTRIBUTE_IGNORE_TOKEN_RING_ERRORS 0x00000004
-#define NDIS_ATTRIBUTE_BUS_MASTER               0x00000008
-#define NDIS_ATTRIBUTE_INTERMEDIATE_DRIVER      0x00000010
-#define NDIS_ATTRIBUTE_DESERIALIZE              0x00000020
-
-
-#define        MAXIMUM_PROCESSORS  32
-
-/* Lock */
-
-typedef union _NDIS_RW_LOCK_REFCOUNT {
-    UINT    RefCount;
-    UCHAR   cacheLine[16];
-} NDIS_RW_LOCK_REFCOUNT;
-
-typedef struct _NDIS_RW_LOCK {
-    union {
-        struct {
-            KSPIN_LOCK          SpinLock;
-            PVOID               Context;
-        } s;
-        UCHAR                   Reserved[16];
-    } u;
-
-    NDIS_RW_LOCK_REFCOUNT       RefCount[MAXIMUM_PROCESSORS];
-} NDIS_RW_LOCK, *PNDIS_RW_LOCK;
-
-typedef struct _LOCK_STATE {
-    USHORT  LockState;
-    KIRQL   OldIrql;
-} LOCK_STATE, *PLOCK_STATE;
-
-
-
-/* Timer */
-
-typedef VOID
-(*PNDIS_TIMER_FUNCTION)(
-    IN  PVOID   SystemSpecific1,
-    IN  PVOID   FunctionContext,
-    IN  PVOID   SystemSpecific2,
-    IN  PVOID   SystemSpecific3);
-
-typedef struct _NDIS_TIMER {
-    KTIMER  Timer;
-    KDPC    Dpc;
-} NDIS_TIMER, *PNDIS_TIMER;
-
-VOID
-DDKAPI
-NdisInitializeTimer(
-    IN OUT  PNDIS_TIMER             Timer,
-    IN      PNDIS_TIMER_FUNCTION    TimerFunction,
-    IN      PVOID                   FunctionContext);
-
-VOID
-DDKAPI
-NdisSetTimer(
-    IN PNDIS_TIMER  Timer,
-    IN UINT         MillisecondsToDelay);
-
-/* Hardware */
-
-typedef CM_MCA_POS_DATA NDIS_MCA_POS_DATA, *PNDIS_MCA_POS_DATA;
-typedef CM_EISA_SLOT_INFORMATION NDIS_EISA_SLOT_INFORMATION, *PNDIS_EISA_SLOT_INFORMATION;
-typedef CM_EISA_FUNCTION_INFORMATION NDIS_EISA_FUNCTION_INFORMATION, *PNDIS_EISA_FUNCTION_INFORMATION;
-typedef CM_PARTIAL_RESOURCE_LIST NDIS_RESOURCE_LIST, *PNDIS_RESOURCE_LIST;
-
-/* Hardware status codes (OID_GEN_HARDWARE_STATUS) */
-typedef enum _NDIS_HARDWARE_STATUS {
-    NdisHardwareStatusReady,
-    NdisHardwareStatusInitializing,
-    NdisHardwareStatusReset,
-    NdisHardwareStatusClosing,
-    NdisHardwareStatusNotReady
-} NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
-
-/* OID_GEN_GET_TIME_CAPS */
-typedef struct _GEN_GET_TIME_CAPS {
-    ULONG                       Flags;
-    ULONG                       ClockPrecision;
-} GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;
-
-/* Flag bits */
-#define        READABLE_LOCAL_CLOCK                    0x00000001
-#define        CLOCK_NETWORK_DERIVED                   0x00000002
-#define        CLOCK_PRECISION                         0x00000004
-#define        RECEIVE_TIME_INDICATION_CAPABLE         0x00000008
-#define        TIMED_SEND_CAPABLE                      0x00000010
-#define        TIME_STAMP_CAPABLE                      0x00000020
-
-/* OID_GEN_GET_NETCARD_TIME */
-typedef struct _GEN_GET_NETCARD_TIME {
-    ULONGLONG   ReadTime;
-} GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME;
-
-/* NDIS driver medium (OID_GEN_MEDIA_SUPPORTED / OID_GEN_MEDIA_IN_USE) */
-typedef enum _NDIS_MEDIUM {
-    NdisMedium802_3,
-    NdisMedium802_5,
-    NdisMediumFddi,
-    NdisMediumWan,
-    NdisMediumLocalTalk,
-    NdisMediumDix,              /* Defined for convenience, not a real medium */
-    NdisMediumArcnetRaw,
-    NdisMediumArcnet878_2,
-    NdisMediumAtm,
-    NdisMediumWirelessWan,
-    NdisMediumIrda,
-    NdisMediumBpc,
-    NdisMediumCoWan,
-    NdisMedium1394,
-    NdisMediumMax
-} NDIS_MEDIUM, *PNDIS_MEDIUM;
-
-/* NDIS packet filter bits (OID_GEN_CURRENT_PACKET_FILTER) */
-#define NDIS_PACKET_TYPE_DIRECTED               0x00000001
-#define NDIS_PACKET_TYPE_MULTICAST              0x00000002
-#define NDIS_PACKET_TYPE_ALL_MULTICAST          0x00000004
-#define NDIS_PACKET_TYPE_BROADCAST              0x00000008
-#define NDIS_PACKET_TYPE_SOURCE_ROUTING         0x00000010
-#define NDIS_PACKET_TYPE_PROMISCUOUS            0x00000020
-#define NDIS_PACKET_TYPE_SMT                    0x00000040
-#define NDIS_PACKET_TYPE_ALL_LOCAL              0x00000080
-#define NDIS_PACKET_TYPE_GROUP                  0x00001000
-#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL         0x00002000
-#define NDIS_PACKET_TYPE_FUNCTIONAL             0x00004000
-#define NDIS_PACKET_TYPE_MAC_FRAME              0x00008000
-
-/* NDIS protocol option bits (OID_GEN_PROTOCOL_OPTIONS) */
-#define NDIS_PROT_OPTION_ESTIMATED_LENGTH       0x00000001
-#define NDIS_PROT_OPTION_NO_LOOPBACK            0x00000002
-#define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT      0x00000004
-
-/* NDIS MAC option bits (OID_GEN_MAC_OPTIONS) */
-#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA     0x00000001
-#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED      0x00000002
-#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND      0x00000004
-#define NDIS_MAC_OPTION_NO_LOOPBACK             0x00000008
-#define NDIS_MAC_OPTION_FULL_DUPLEX             0x00000010
-#define        NDIS_MAC_OPTION_EOTX_INDICATION         0x00000020
-#define        NDIS_MAC_OPTION_8021P_PRIORITY          0x00000040
-#define NDIS_MAC_OPTION_RESERVED                0x80000000
-
-/* State of the LAN media (OID_GEN_MEDIA_CONNECT_STATUS) */
-typedef enum _NDIS_MEDIA_STATE {
-    NdisMediaStateConnected,
-    NdisMediaStateDisconnected
-} NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
-
-/* OID_GEN_SUPPORTED_GUIDS */
-typedef struct _NDIS_GUID {
-    GUID            Guid;
-    union {
-        NDIS_OID    Oid;
-        NDIS_STATUS Status;
-    } u;
-    ULONG           Size;
-    ULONG           Flags;
-} NDIS_GUID, *PNDIS_GUID;
-
-#define        NDIS_GUID_TO_OID            0x00000001
-#define        NDIS_GUID_TO_STATUS         0x00000002
-#define        NDIS_GUID_ANSI_STRING       0x00000004
-#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 struct _NDIS_PACKET_PRIVATE {
-    UINT                PhysicalCount;
-    UINT                TotalLength;
-    PNDIS_BUFFER        Head;
-    PNDIS_BUFFER        Tail;
-    PNDIS_PACKET_POOL   Pool;
-    UINT                Count;
-    ULONG               Flags;                  /* See fPACKET_xxx bits below */
-    BOOLEAN                ValidCounts;
-    UCHAR               NdisPacketFlags;
-    USHORT              NdisPacketOobOffset;
-} NDIS_PACKET_PRIVATE, * PNDIS_PACKET_PRIVATE;
-
-#define fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO    0x40
-#define fPACKET_ALLOCATED_BY_NDIS               0x80
-
-typedef struct _NDIS_PACKET {
-    NDIS_PACKET_PRIVATE  Private;
-    union {
-        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;
-
-typedef struct _NDIS_PACKET_OOB_DATA {
-    union {
-        ULONGLONG  TimeToSend;
-        ULONGLONG  TimeSent;
-    } u;
-    ULONGLONG      TimeReceived;
-    UINT           HeaderSize;
-    UINT           SizeMediaSpecificInfo;
-    PVOID          MediaSpecificInformation;
-    NDIS_STATUS    Status;
-} NDIS_PACKET_OOB_DATA, *PNDIS_PACKET_OOB_DATA;
-
-typedef struct _NDIS_PM_PACKET_PATTERN {
-    ULONG  Priority;
-    ULONG  Reserved;
-    ULONG  MaskSize;
-    ULONG  PatternOffset;
-    ULONG  PatternSize;
-    ULONG  PatternFlags;
-} NDIS_PM_PACKET_PATTERN,  *PNDIS_PM_PACKET_PATTERN;
-
-
-/* Request types used by NdisRequest */
-typedef enum _NDIS_REQUEST_TYPE {
-    NdisRequestQueryInformation,
-    NdisRequestSetInformation,
-    NdisRequestQueryStatistics,
-    NdisRequestOpen,
-    NdisRequestClose,
-    NdisRequestSend,
-    NdisRequestTransferData,
-    NdisRequestReset,
-    NdisRequestGeneric1,
-    NdisRequestGeneric2,
-    NdisRequestGeneric3,
-    NdisRequestGeneric4
-} NDIS_REQUEST_TYPE, *PNDIS_REQUEST_TYPE;
-
-typedef struct _NDIS_REQUEST {
-    UCHAR             MacReserved[16];
-    NDIS_REQUEST_TYPE RequestType;
-    union _DATA {
-        struct QUERY_INFORMATION {
-            NDIS_OID  Oid;
-            PVOID     InformationBuffer;
-            UINT      InformationBufferLength;
-            UINT      BytesWritten;
-            UINT      BytesNeeded;
-        } QUERY_INFORMATION;
-        struct SET_INFORMATION {
-            NDIS_OID  Oid;
-            PVOID     InformationBuffer;
-            UINT      InformationBufferLength;
-            UINT      BytesRead;
-            UINT      BytesNeeded;
-        } SET_INFORMATION;
-   } DATA;
-#ifdef NDIS50
-        UCHAR NdisReserved[36];
-        union {
-        UCHAR CallMgrReserved[8];
-                 UCHAR ProtocolReserved[8];
-        };
-        UCHAR MiniportReserved[8];
-#endif
-} NDIS_REQUEST, *PNDIS_REQUEST;
-
-
-
-/* Wide Area Networks definitions */
-
-typedef struct _NDIS_WAN_PACKET {
-    LIST_ENTRY  WanPacketQueue;
-    PUCHAR      CurrentBuffer;
-    ULONG       CurrentLength;
-    PUCHAR      StartBuffer;
-    PUCHAR      EndBuffer;
-    PVOID       ProtocolReserved1;
-    PVOID       ProtocolReserved2;
-    PVOID       ProtocolReserved3;
-    PVOID       ProtocolReserved4;
-    PVOID       MacReserved1;
-    PVOID       MacReserved2;
-    PVOID       MacReserved3;
-    PVOID       MacReserved4;
-} NDIS_WAN_PACKET, *PNDIS_WAN_PACKET;
-
-
-
-/* DMA channel information */
-
-typedef struct _NDIS_DMA_DESCRIPTION {
-    BOOLEAN     DemandMode;
-    BOOLEAN     AutoInitialize;
-    BOOLEAN     DmaChannelSpecified;
-    DMA_WIDTH   DmaWidth;
-    DMA_SPEED   DmaSpeed;
-    ULONG       DmaPort;
-    ULONG       DmaChannel;
-} NDIS_DMA_DESCRIPTION, *PNDIS_DMA_DESCRIPTION;
-
-typedef struct _NDIS_DMA_BLOCK {
-    PVOID           MapRegisterBase;
-    KEVENT          AllocationEvent;
-    PADAPTER_OBJECT SystemAdapterObject;
-    BOOLEAN         InProgress;
-} NDIS_DMA_BLOCK, *PNDIS_DMA_BLOCK;
-
-#define NDIS_DMA_24BITS 0
-#define NDIS_DMA_32BITS 1
-#define NDIS_DMA_64BITS 2
-
-/* Possible hardware architecture */
-typedef enum _NDIS_INTERFACE_TYPE {
-       NdisInterfaceInternal       = Internal,
-       NdisInterfaceIsa            = Isa,
-       NdisInterfaceEisa           = Eisa,
-       NdisInterfaceMca            = MicroChannel,
-       NdisInterfaceTurboChannel   = TurboChannel,
-       NdisInterfacePci            = PCIBus,
-       NdisInterfacePcMcia         = PCMCIABus
-} NDIS_INTERFACE_TYPE, *PNDIS_INTERFACE_TYPE;
-
-#define NdisInterruptLevelSensitive LevelSensitive
-#define NdisInterruptLatched        Latched
-typedef KINTERRUPT_MODE NDIS_INTERRUPT_MODE, *PNDIS_INTERRUPT_MODE;
-
-typedef enum _NDIS_PROCESSOR_TYPE {
-       NdisProcessorX86,
-       NdisProcessorMips,
-       NdisProcessorAlpha,
-       NdisProcessorPpc
-} NDIS_PROCESSOR_TYPE, *PNDIS_PROCESSOR_TYPE;
-
-typedef enum _NDIS_ENVIRONMENT_TYPE {
-       NdisEnvironmentWindows,
-       NdisEnvironmentWindowsNt
-} NDIS_ENVIRONMENT_TYPE, *PNDIS_ENVIRONMENT_TYPE;
-
-typedef enum _NDIS_PARAMETER_TYPE {
-    NdisParameterInteger,
-    NdisParameterHexInteger,
-    NdisParameterString,
-    NdisParameterMultiString,
-        NdisParameterBinary
-} NDIS_PARAMETER_TYPE, *PNDIS_PARAMETER_TYPE;
-
-typedef struct {
-       USHORT Length;
-       PVOID  Buffer;
-} BINARY_DATA;
-
-typedef struct _NDIS_CONFIGURATION_PARAMETER {
-    NDIS_PARAMETER_TYPE ParameterType;
-    union {
-        ULONG IntegerData;
-        NDIS_STRING StringData;
-        BINARY_DATA BinaryData;
-    } ParameterData;
-} NDIS_CONFIGURATION_PARAMETER, *PNDIS_CONFIGURATION_PARAMETER;
-
-
-typedef PHYSICAL_ADDRESS NDIS_PHYSICAL_ADDRESS, *PNDIS_PHYSICAL_ADDRESS;
-
-typedef struct _NDIS_PHYSICAL_ADDRESS_UNIT {
-       NDIS_PHYSICAL_ADDRESS           PhysicalAddress;
-       UINT                                            Length;
-} NDIS_PHYSICAL_ADDRESS_UNIT, *PNDIS_PHYSICAL_ADDRESS_UNIT;
-
-
-typedef VOID
-(STDCALL *ADAPTER_SHUTDOWN_HANDLER)(
-    IN  PVOID   ShutdownContext);
-
-
-
-//#ifdef NDIS_WRAPPER
-
-typedef struct _OID_LIST    OID_LIST, *POID_LIST;
-
-/* PnP state */
-
-typedef enum _NDIS_PNP_DEVICE_STATE {
-    NdisPnPDeviceAdded,
-    NdisPnPDeviceStarted,
-    NdisPnPDeviceQueryStopped,
-    NdisPnPDeviceStopped,
-    NdisPnPDeviceQueryRemoved,
-    NdisPnPDeviceRemoved,
-    NdisPnPDeviceSurpriseRemoved
-} NDIS_PNP_DEVICE_STATE;
-
-#define        NDIS_DEVICE_NOT_STOPPABLE               0x00000001
-#define        NDIS_DEVICE_NOT_REMOVEABLE              0x00000002
-#define        NDIS_DEVICE_NOT_SUSPENDABLE                 0x00000004
-#define NDIS_DEVICE_DISABLE_PM                  0x00000008
-#define NDIS_DEVICE_DISABLE_WAKE_UP             0x00000010
-#define NDIS_DEVICE_DISABLE_WAKE_ON_RECONNECT   0x00000020
-
-//#endif /* NDIS_WRAPPER */
-
-
-typedef struct _ATM_ADDRESS ATM_ADDRESS, *PATM_ADDRESS;
-
-
-/* OID_GEN_NETWORK_LAYER_ADDRESSES */
-typedef struct _NETWORK_ADDRESS {
-    USHORT  AddressLength; 
-    USHORT  AddressType; 
-    UCHAR   Address[1]; 
-} NETWORK_ADDRESS, *PNETWORK_ADDRESS;
-
-typedef struct _NETWORK_ADDRESS_LIST {
-    LONG    AddressCount; 
-    USHORT  AddressType; 
-    NETWORK_ADDRESS Address[1]; 
-} NETWORK_ADDRESS_LIST, *PNETWORK_ADDRESS_LIST;
-
-/* Protocol types supported by NDIS */
-#define        NDIS_PROTOCOL_ID_DEFAULT        0x00
-#define        NDIS_PROTOCOL_ID_TCP_IP         0x02
-#define        NDIS_PROTOCOL_ID_IPX            0x06
-#define        NDIS_PROTOCOL_ID_NBF            0x07
-#define        NDIS_PROTOCOL_ID_MAX            0x0F
-#define        NDIS_PROTOCOL_ID_MASK           0x0F
-
-
-/* OID_GEN_TRANSPORT_HEADER_OFFSET */
-typedef struct _TRANSPORT_HEADER_OFFSET {
-    USHORT  ProtocolType; 
-    USHORT  HeaderOffset; 
-} TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
-
-
-/* OID_GEN_CO_LINK_SPEED / OID_GEN_CO_MINIMUM_LINK_SPEED */
-typedef struct _NDIS_CO_LINK_SPEED {
-    ULONG   Outbound;
-    ULONG   Inbound;
-} NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
-
-
-typedef enum _NDIS_AF {
-    CO_ADDRESS_FAMILY_Q2931 = 1,
-    CO_ADDRESS_FAMILY_SPANS,
-} NDIS_AF, *PNDIS_AF;
-
-typedef struct {
-    NDIS_AF  AddressFamily;
-    ULONG    MajorVersion;
-    ULONG    MinorVersion;
-} CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;
-
-typedef enum {
-    BestEffortService,
-    PredictiveService,
-    GuaranteedService
-} GUARANTEE;
-
-typedef struct _CO_FLOW_PARAMETERS {
-    ULONG       TokenRate;              /* In Bytes/sec */
-    ULONG       TokenBucketSize;        /* In Bytes */
-    ULONG       PeakBandwidth;          /* In Bytes/sec */
-    ULONG       Latency;                /* In microseconds */
-    ULONG       DelayVariation;         /* In microseconds */
-    GUARANTEE   LevelOfGuarantee;       /* Guaranteed, Predictive or Best Effort */
-    ULONG       CostOfCall;             /* Reserved for future use, */
-                                        /* must be set to 0 now */
-    ULONG       NetworkAvailability;    /* read-only: 1 if accessible, 0 if not */
-    ULONG       MaxSduSize;             /* In Bytes */
-} CO_FLOW_PARAMETERS, *PCO_FLOW_PARAMETERS;
-
-typedef struct _CO_SPECIFIC_PARAMETERS {
-    ULONG   ParamType;
-    ULONG   Length;
-    UCHAR   Parameters[1];
-} CO_SPECIFIC_PARAMETERS, *PCO_SPECIFIC_PARAMETERS;
-
-typedef struct _CO_CALL_MANAGER_PARAMETERS {
-    CO_FLOW_PARAMETERS      Transmit;
-    CO_FLOW_PARAMETERS      Receive;
-    CO_SPECIFIC_PARAMETERS  CallMgrSpecific;
-} CO_CALL_MANAGER_PARAMETERS, *PCO_CALL_MANAGER_PARAMETERS;
-
-/* CO_MEDIA_PARAMETERS.Flags constants */
-#define RECEIVE_TIME_INDICATION         0x00000001
-#define USE_TIME_STAMPS                 0x00000002
-#define TRANSMIT_VC                        0x00000004
-#define RECEIVE_VC                      0x00000008
-#define INDICATE_ERRED_PACKETS          0x00000010
-#define INDICATE_END_OF_TX              0x00000020
-#define RESERVE_RESOURCES_VC            0x00000040
-#define        ROUND_DOWN_FLOW                 0x00000080
-#define        ROUND_UP_FLOW                   0x00000100
-
-typedef struct _CO_MEDIA_PARAMETERS {
-    ULONG                       Flags;
-    ULONG                       ReceivePriority;
-    ULONG                       ReceiveSizeHint;
-    CO_SPECIFIC_PARAMETERS      MediaSpecific;
-} CO_MEDIA_PARAMETERS, *PCO_MEDIA_PARAMETERS;
-
-typedef struct _CO_CALL_PARAMETERS {
-    ULONG                           Flags;
-    PCO_CALL_MANAGER_PARAMETERS     CallMgrParameters;
-    PCO_MEDIA_PARAMETERS            MediaParameters;
-} CO_CALL_PARAMETERS, *PCO_CALL_PARAMETERS;
-
-typedef struct _CO_SAP {
-    ULONG   SapType;
-    ULONG   SapLength;
-    UCHAR   Sap[1];
-} CO_SAP, *PCO_SAP;
-
-typedef struct _NDIS_IPSEC_PACKET_INFO {
-    union {
-        struct {
-            NDIS_HANDLE    OffloadHandle;
-            NDIS_HANDLE    NextOffloadHandle;
-        } Transmit;
-        struct {
-            ULONG    SA_DELETE_REQ:1;
-            ULONG    CRYPTO_DONE:1;
-            ULONG    NEXT_CRYPTO_DONE:1;
-            ULONG    CryptoStatus;
-        } Receive;
-    } u;
-} NDIS_IPSEC_PACKET_INFO, *PNDIS_IPSEC_PACKET_INFO;
-
-
-#if 0
-
-/* Plug and play and power management */
-
-/* PnP and PM event codes */
-typedef enum _NET_PNP_EVENT_CODE {
-    NetEventSetPower,
-    NetEventQueryPower,
-    NetEventQueryRemoveDevice,
-    NetEventCancelRemoveDevice,
-    NetEventReconfigure,
-    NetEventBindList,
-    NetEventBindsComplete,
-    NetEventPnPCapabilities,
-    NetEventMaximum
-} NET_PNP_EVENT_CODE, *PNET_PNP_EVENT_CODE;
-
-/* Networking PnP event indication structure */
-typedef struct _NET_PNP_EVENT {
-    /* Event code */
-    NET_PNP_EVENT_CODE  NetEvent;
-    /* Event specific data */
-    PVOID               Buffer;
-    /* Length of event specific data */
-    ULONG               BufferLength;
-
-    /* Reserved areas */
-       ULONG_PTR           NdisReserved[4];
-       ULONG_PTR           TransportReserved[4];
-       ULONG_PTR           TdiReserved[4];
-       ULONG_PTR           TdiClientReserved[4];
-} NET_PNP_EVENT, *PNET_PNP_EVENT;
-
-/* Device power state structure */
-typedef enum _NET_DEVICE_POWER_STATE {
-    NetDeviceStateUnspecified = 0,
-    NetDeviceStateD0,
-    NetDeviceStateD1,
-    NetDeviceStateD2,
-    NetDeviceStateD3,
-    NetDeviceStateMaximum
-} NET_DEVICE_POWER_STATE, *PNET_DEVICE_POWER_STATE;
-
-#endif
-
-/* Call Manager */
-
-typedef NDIS_STATUS STDCALL_FUNC (*CO_CREATE_VC_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolAfContext,
-    IN  NDIS_HANDLE     NdisVcHandle,
-    OUT PNDIS_HANDLE    ProtocolVcContext);
-
-typedef NDIS_STATUS STDCALL_FUNC (*CO_DELETE_VC_HANDLER)(
-    IN  NDIS_HANDLE ProtocolVcContext);
-
-typedef NDIS_STATUS STDCALL_FUNC (*CO_REQUEST_HANDLER)(
-    IN  NDIS_HANDLE         ProtocolAfContext,
-    IN  NDIS_HANDLE         ProtocolVcContext       OPTIONAL,
-    IN  NDIS_HANDLE            ProtocolPartyContext    OPTIONAL,
-    IN  OUT PNDIS_REQUEST   NdisRequest);
-
-typedef VOID STDCALL_FUNC (*CO_REQUEST_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS     Status,
-    IN  NDIS_HANDLE     ProtocolAfContext       OPTIONAL,
-    IN  NDIS_HANDLE     ProtocolVcContext       OPTIONAL,
-    IN  NDIS_HANDLE     ProtocolPartyContext    OPTIONAL,
-    IN  PNDIS_REQUEST   NdisRequest);
-
-
-typedef NDIS_STATUS STDCALL_FUNC (*CM_OPEN_AF_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrBindingContext,
-       IN      PCO_ADDRESS_FAMILY              AddressFamily,
-       IN      NDIS_HANDLE                             NdisAfHandle,
-       OUT     PNDIS_HANDLE                    CallMgrAfContext
-       );
-
-typedef
-NDIS_STATUS
-(STDCALL *CM_CLOSE_AF_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrAfContext);
-
-typedef
-NDIS_STATUS
-(STDCALL *CM_REG_SAP_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrAfContext,
-       IN      PCO_SAP                                 Sap,
-       IN      NDIS_HANDLE                             NdisSapHandle,
-       OUT     PNDIS_HANDLE                    CallMgrSapContext);
-
-typedef
-NDIS_STATUS
-(STDCALL *CM_DEREG_SAP_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrSapContext);
-
-typedef
-NDIS_STATUS
-(STDCALL *CM_MAKE_CALL_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrVcContext,
-       IN OUT PCO_CALL_PARAMETERS      CallParameters,
-       IN      NDIS_HANDLE                             NdisPartyHandle         OPTIONAL,
-       OUT     PNDIS_HANDLE                    CallMgrPartyContext OPTIONAL);
-
-typedef
-NDIS_STATUS
-(STDCALL *CM_CLOSE_CALL_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrVcContext,
-       IN      NDIS_HANDLE                             CallMgrPartyContext     OPTIONAL,
-       IN      PVOID                                   CloseData                       OPTIONAL,
-       IN      UINT                                    Size                            OPTIONAL);
-
-typedef
-VOID
-(STDCALL *CM_INCOMING_CALL_COMPLETE_HANDLER)(
-       IN      NDIS_STATUS                             Status,
-       IN      NDIS_HANDLE                             CallMgrVcContext,
-       IN      PCO_CALL_PARAMETERS             CallParameters);
-
-typedef
-NDIS_STATUS
-STDCALL_FUNC (*CM_ADD_PARTY_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrVcContext,
-       IN OUT PCO_CALL_PARAMETERS      CallParameters,
-       IN      NDIS_HANDLE                             NdisPartyHandle,
-       OUT     PNDIS_HANDLE                    CallMgrPartyContext
-       );
-
-typedef
-NDIS_STATUS
-STDCALL_FUNC (*CM_DROP_PARTY_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrPartyContext,
-       IN      PVOID                                   CloseData       OPTIONAL,
-       IN      UINT                                    Size            OPTIONAL
-       );
-
-typedef
-VOID
-STDCALL_FUNC (*CM_ACTIVATE_VC_COMPLETE_HANDLER)(
-       IN      NDIS_STATUS                             Status,
-       IN      NDIS_HANDLE                             CallMgrVcContext,
-       IN      PCO_CALL_PARAMETERS             CallParameters
-       );
-
-typedef
-VOID
-STDCALL_FUNC (*CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
-       IN      NDIS_STATUS                             Status,
-       IN      NDIS_HANDLE                             CallMgrVcContext
-       );
-
-typedef
-NDIS_STATUS
-(STDCALL *CM_MODIFY_CALL_QOS_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrVcContext,
-       IN      PCO_CALL_PARAMETERS             CallParameters);
-
-typedef struct _NDIS_CALL_MANAGER_CHARACTERISTICS {
-    UCHAR   MajorVersion;
-    UCHAR   MinorVersion;
-    USHORT  Filler;
-    UINT    Reserved;
-    CO_CREATE_VC_HANDLER                CmCreateVcHandler;
-    CO_DELETE_VC_HANDLER                CmDeleteVcHandler;
-    CM_OPEN_AF_HANDLER                  CmOpenAfHandler;
-    CM_CLOSE_AF_HANDLER                        CmCloseAfHandler;
-    CM_REG_SAP_HANDLER                  CmRegisterSapHandler;
-    CM_DEREG_SAP_HANDLER                CmDeregisterSapHandler;
-    CM_MAKE_CALL_HANDLER                CmMakeCallHandler;
-    CM_CLOSE_CALL_HANDLER               CmCloseCallHandler;
-    CM_INCOMING_CALL_COMPLETE_HANDLER   CmIncomingCallCompleteHandler;
-    CM_ADD_PARTY_HANDLER                CmAddPartyHandler;
-    CM_DROP_PARTY_HANDLER               CmDropPartyHandler;
-    CM_ACTIVATE_VC_COMPLETE_HANDLER     CmActivateVcCompleteHandler;
-    CM_DEACTIVATE_VC_COMPLETE_HANDLER   CmDeactivateVcCompleteHandler;
-    CM_MODIFY_CALL_QOS_HANDLER          CmModifyCallQoSHandler;
-    CO_REQUEST_HANDLER                  CmRequestHandler;
-    CO_REQUEST_COMPLETE_HANDLER         CmRequestCompleteHandler;
-} NDIS_CALL_MANAGER_CHARACTERISTICS, *PNDIS_CALL_MANAGER_CHARACTERISTICS;
-
-
-
-/* Call Manager clients */
-
-typedef VOID STDCALL_FUNC (*CL_OPEN_AF_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE ProtocolAfContext,
-    IN  NDIS_HANDLE NdisAfHandle);
-
-typedef VOID
-(STDCALL *CL_CLOSE_AF_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE ProtocolAfContext);
-
-typedef VOID
-(STDCALL *CL_REG_SAP_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE ProtocolSapContext,
-    IN  PCO_SAP     Sap,
-    IN  NDIS_HANDLE NdisSapHandle);
-
-typedef VOID
-(STDCALL *CL_DEREG_SAP_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE ProtocolSapContext);
-
-typedef VOID
-(STDCALL *CL_MAKE_CALL_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS         Status,
-    IN  NDIS_HANDLE         ProtocolVcContext,
-    IN  NDIS_HANDLE         NdisPartyHandle     OPTIONAL,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID
-(STDCALL *CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS         Status,
-    IN  NDIS_HANDLE         ProtocolVcContext,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID
-(STDCALL *CL_CLOSE_CALL_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE ProtocolVcContext,
-    IN  NDIS_HANDLE ProtocolPartyContext    OPTIONAL);
-
-typedef VOID
-(STDCALL *CL_ADD_PARTY_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS         Status,
-    IN  NDIS_HANDLE         ProtocolPartyContext,
-    IN  NDIS_HANDLE         NdisPartyHandle,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID
-(STDCALL *CL_DROP_PARTY_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE ProtocolPartyContext);
-
-typedef NDIS_STATUS
-(STDCALL *CL_INCOMING_CALL_HANDLER)(
-    IN  NDIS_HANDLE             ProtocolSapContext,
-    IN  NDIS_HANDLE             ProtocolVcContext,
-    IN  OUT PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID
-(STDCALL *CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
-    IN  NDIS_HANDLE         ProtocolVcContext,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID
-(STDCALL *CL_INCOMING_CLOSE_CALL_HANDLER)(
-    IN  NDIS_STATUS CloseStatus,
-    IN  NDIS_HANDLE ProtocolVcContext,
-    IN  PVOID       CloseData   OPTIONAL,
-    IN  UINT        Size        OPTIONAL);
-
-typedef VOID
-(STDCALL *CL_INCOMING_DROP_PARTY_HANDLER)(
-    IN  NDIS_STATUS DropStatus,
-    IN  NDIS_HANDLE ProtocolPartyContext,
-    IN  PVOID       CloseData   OPTIONAL,
-    IN  UINT        Size        OPTIONAL);
-
-typedef VOID
-(STDCALL *CL_CALL_CONNECTED_HANDLER)(
-    IN  NDIS_HANDLE ProtocolVcContext);
-
-
-typedef struct _NDIS_CLIENT_CHARACTERISTICS {
-    UCHAR   MajorVersion;
-    UCHAR   MinorVersion;
-    USHORT  Filler;
-    UINT    Reserved;
-    CO_CREATE_VC_HANDLER                ClCreateVcHandler;
-    CO_DELETE_VC_HANDLER                ClDeleteVcHandler;
-    CO_REQUEST_HANDLER                  ClRequestHandler;
-    CO_REQUEST_COMPLETE_HANDLER         ClRequestCompleteHandler;
-    CL_OPEN_AF_COMPLETE_HANDLER         ClOpenAfCompleteHandler;
-    CL_CLOSE_AF_COMPLETE_HANDLER        ClCloseAfCompleteHandler;
-    CL_REG_SAP_COMPLETE_HANDLER         ClRegisterSapCompleteHandler;
-    CL_DEREG_SAP_COMPLETE_HANDLER       ClDeregisterSapCompleteHandler;
-    CL_MAKE_CALL_COMPLETE_HANDLER       ClMakeCallCompleteHandler;
-    CL_MODIFY_CALL_QOS_COMPLETE_HANDLER        ClModifyCallQoSCompleteHandler;
-    CL_CLOSE_CALL_COMPLETE_HANDLER      ClCloseCallCompleteHandler;
-    CL_ADD_PARTY_COMPLETE_HANDLER       ClAddPartyCompleteHandler;
-    CL_DROP_PARTY_COMPLETE_HANDLER      ClDropPartyCompleteHandler;
-    CL_INCOMING_CALL_HANDLER            ClIncomingCallHandler;
-    CL_INCOMING_CALL_QOS_CHANGE_HANDLER ClIncomingCallQoSChangeHandler;
-    CL_INCOMING_CLOSE_CALL_HANDLER      ClIncomingCloseCallHandler;
-    CL_INCOMING_DROP_PARTY_HANDLER      ClIncomingDropPartyHandler;
-    CL_CALL_CONNECTED_HANDLER           ClCallConnectedHandler;
-} NDIS_CLIENT_CHARACTERISTICS, *PNDIS_CLIENT_CHARACTERISTICS;
-
-
-/* NDIS protocol structures */
-
-/* Prototypes for NDIS 3.0 protocol characteristics */
-
-typedef VOID
-(STDCALL *OPEN_ADAPTER_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  NDIS_STATUS     Status,
-    IN  NDIS_STATUS     OpenErrorStatus);
-
-typedef VOID
-(STDCALL *CLOSE_ADAPTER_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  NDIS_STATUS     Status);
-
-typedef VOID
-(STDCALL *RESET_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  NDIS_STATUS     Status);
-
-typedef VOID
-(STDCALL *REQUEST_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  PNDIS_REQUEST   NdisRequest,
-    IN  NDIS_STATUS     Status);
-
-typedef VOID
-(STDCALL *STATUS_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  NDIS_STATUS     GeneralStatus,
-    IN  PVOID           StatusBuffer,
-    IN  UINT            StatusBufferSize);
-
-typedef VOID
-(STDCALL *STATUS_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext);
-
-typedef VOID
-(STDCALL *SEND_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  PNDIS_PACKET    Packet,
-    IN  NDIS_STATUS     Status);
-
-typedef VOID
-(STDCALL *WAN_SEND_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE         ProtocolBindingContext,
-    IN  PNDIS_WAN_PACKET    Packet,
-    IN  NDIS_STATUS         Status);
-
-typedef VOID
-(STDCALL *TRANSFER_DATA_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  PNDIS_PACKET    Packet,
-    IN  NDIS_STATUS     Status,
-    IN  UINT            BytesTransferred);
-
-typedef VOID
-(STDCALL *WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
-    VOID);
-
-typedef NDIS_STATUS
-(STDCALL *RECEIVE_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  NDIS_HANDLE     MacReceiveContext,
-    IN  PVOID           HeaderBuffer,
-    IN  UINT            HeaderBufferSize,
-    IN  PVOID           LookAheadBuffer,
-    IN  UINT            LookaheadBufferSize,
-    IN  UINT            PacketSize);
-
-typedef NDIS_STATUS
-(STDCALL *WAN_RECEIVE_HANDLER)(
-    IN  NDIS_HANDLE     NdisLinkHandle,
-    IN  PUCHAR          Packet,
-    IN  ULONG           PacketSize);
-
-typedef VOID
-(STDCALL *RECEIVE_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext);
-
-
-/* Protocol characteristics for NDIS 3.0 protocols */
-#ifdef _MSC_VER
-typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS {
-    UCHAR                           MajorNdisVersion;
-    UCHAR                           MinorNdisVersion;
-    union
-    {
-        UINT                        Reserved;
-        UINT                        Flags;
-    } u1;
-    OPEN_ADAPTER_COMPLETE_HANDLER   OpenAdapterCompleteHandler;
-    CLOSE_ADAPTER_COMPLETE_HANDLER  CloseAdapterCompleteHandler;
-    union
-    {
-        SEND_COMPLETE_HANDLER       SendCompleteHandler;
-        WAN_SEND_COMPLETE_HANDLER   WanSendCompleteHandler;
-    } u2;
-    union
-    {
-        TRANSFER_DATA_COMPLETE_HANDLER      TransferDataCompleteHandler;
-        WAN_TRANSFER_DATA_COMPLETE_HANDLER  WanTransferDataCompleteHandler;
-    } u3;
-
-    RESET_COMPLETE_HANDLER          ResetCompleteHandler;
-    REQUEST_COMPLETE_HANDLER        RequestCompleteHandler;
-    union
-    {
-        RECEIVE_HANDLER                    ReceiveHandler;
-        WAN_RECEIVE_HANDLER         WanReceiveHandler;
-    } u4;
-    RECEIVE_COMPLETE_HANDLER        ReceiveCompleteHandler;
-    STATUS_HANDLER                  StatusHandler;
-    STATUS_COMPLETE_HANDLER            StatusCompleteHandler;
-    NDIS_STRING                            Name;
-} NDIS30_PROTOCOL_CHARACTERISTICS;
-typedef NDIS30_PROTOCOL_CHARACTERISTICS NDIS30_PROTOCOL_CHARACTERISTICS_S;
-#else
-#define NDIS30_PROTOCOL_CHARACTERISTICS \
-    UCHAR                           MajorNdisVersion; \
-    UCHAR                           MinorNdisVersion; \
-    union { \
-        UINT                        Reserved; \
-        UINT                        Flags; \
-    } u1; \
-    OPEN_ADAPTER_COMPLETE_HANDLER   OpenAdapterCompleteHandler; \
-    CLOSE_ADAPTER_COMPLETE_HANDLER  CloseAdapterCompleteHandler; \
-    union { \
-        SEND_COMPLETE_HANDLER       SendCompleteHandler; \
-        WAN_SEND_COMPLETE_HANDLER   WanSendCompleteHandler; \
-    } u2; \
-    union { \
-        TRANSFER_DATA_COMPLETE_HANDLER      TransferDataCompleteHandler; \
-        WAN_TRANSFER_DATA_COMPLETE_HANDLER  WanTransferDataCompleteHandler; \
-    } u3; \
-    RESET_COMPLETE_HANDLER          ResetCompleteHandler; \
-    REQUEST_COMPLETE_HANDLER        RequestCompleteHandler; \
-    union { \
-        RECEIVE_HANDLER                    ReceiveHandler; \
-        WAN_RECEIVE_HANDLER         WanReceiveHandler; \
-    } u4; \
-    RECEIVE_COMPLETE_HANDLER        ReceiveCompleteHandler; \
-    STATUS_HANDLER                  StatusHandler; \
-    STATUS_COMPLETE_HANDLER            StatusCompleteHandler; \
-    NDIS_STRING                            Name; 
-typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS_S {
-   NDIS30_PROTOCOL_CHARACTERISTICS;
-} NDIS30_PROTOCOL_CHARACTERISTICS_S, *PNDIS30_PROTOCOL_CHARACTERISTICS_S;
-#endif
-
-/* Prototypes for NDIS 4.0 protocol characteristics */
-
-typedef INT
-(STDCALL *RECEIVE_PACKET_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  PNDIS_PACKET    Packet);
-
-typedef VOID
-(STDCALL *BIND_HANDLER)(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     BindContext,
-    IN  PNDIS_STRING    DeviceName,
-    IN  PVOID           SystemSpecific1,
-    IN  PVOID           SystemSpecific2);
-
-typedef VOID
-(STDCALL *UNBIND_HANDLER)(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  NDIS_HANDLE     UnbindContext);
-
-typedef VOID
-(STDCALL *TRANSLATE_HANDLER)(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    OUT PNET_PNP_ID     IdList,
-    IN  ULONG           IdListLength,
-    OUT PULONG          BytesReturned);
-
-typedef VOID
-(STDCALL *UNLOAD_PROTOCOL_HANDLER)(
-    VOID);
-
-
-/* Protocol characteristics for NDIS 4.0 protocols */
-#ifdef _MSC_VER
-typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS {
-    NDIS30_PROTOCOL_CHARACTERISTICS;
-
-    RECEIVE_PACKET_HANDLER  ReceivePacketHandler;
-    BIND_HANDLER            BindAdapterHandler;
-    UNBIND_HANDLER          UnbindAdapterHandler;
-    TRANSLATE_HANDLER       TranslateHandler;
-    UNLOAD_PROTOCOL_HANDLER UnloadHandler;
-} NDIS40_PROTOCOL_CHARACTERISTICS;
-typedef NDIS40_PROTOCOL_CHARACTERISTICS NDIS40_PROTOCOL_CHARACTERISTICS_S;
-#else
-#define NDIS40_PROTOCOL_CHARACTERISTICS \
-    NDIS30_PROTOCOL_CHARACTERISTICS; \
-    RECEIVE_PACKET_HANDLER  ReceivePacketHandler; \
-    BIND_HANDLER            BindAdapterHandler; \
-    UNBIND_HANDLER          UnbindAdapterHandler; \
-    TRANSLATE_HANDLER       TranslateHandler; \
-    UNLOAD_PROTOCOL_HANDLER UnloadHandler; 
-typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS_S {
-   NDIS40_PROTOCOL_CHARACTERISTICS;
-} NDIS40_PROTOCOL_CHARACTERISTICS_S, *PNDIS40_PROTOCOL_CHARACTERISTICS_S;
-#endif
-
-
-/* Prototypes for NDIS 5.0 protocol characteristics */
-
-#ifdef NDIS50
-
-typedef VOID
-(STDCALL *CO_SEND_COMPLETE_HANDLER)(
-    IN  NDIS_STATUS     Status,
-    IN  NDIS_HANDLE     ProtocolVcContext,
-    IN  PNDIS_PACKET    Packet);
-
-typedef VOID
-(STDCALL *CO_STATUS_HANDLER)(
-    IN  NDIS_HANDLE ProtocolBindingContext,
-    IN  NDIS_HANDLE ProtocolVcContext   OPTIONAL,
-    IN  NDIS_STATUS GeneralStatus,
-    IN  PVOID       StatusBuffer,
-    IN  UINT        StatusBufferSize);
-
-typedef UINT
-(STDCALL *CO_RECEIVE_PACKET_HANDLER)(
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  NDIS_HANDLE     ProtocolVcContext,
-    IN  PNDIS_PACKET    Packet);
-
-typedef VOID
-(STDCALL *CO_AF_REGISTER_NOTIFY_HANDLER)(
-    IN  NDIS_HANDLE         ProtocolBindingContext,
-    IN  PCO_ADDRESS_FAMILY  AddressFamily);
-
-#ifdef _MSC_VER
-typedef struct _NDIS50_PROTOCOL_CHARACTERISTICS {
-    NDIS40_PROTOCOL_CHARACTERISTICS;
-
-    PVOID                           ReservedHandlers[4];
-
-    CO_SEND_COMPLETE_HANDLER        CoSendCompleteHandler;
-    CO_STATUS_HANDLER               CoStatusHandler;
-    CO_RECEIVE_PACKET_HANDLER       CoReceivePacketHandler;
-    CO_AF_REGISTER_NOTIFY_HANDLER   CoAfRegisterNotifyHandler;
-} NDIS50_PROTOCOL_CHARACTERISTICS;
-typedef NDIS50_PROTOCOL_CHARACTERISTICS NDIS50_PROTOCOL_CHARACTERISTICS_S;
-#else
-#define NDIS50_PROTOCOL_CHARACTERISTICS \
-    NDIS40_PROTOCOL_CHARACTERISTICS; \
-    PVOID                           ReservedHandlers[4]; \
-    CO_SEND_COMPLETE_HANDLER        CoSendCompleteHandler; \
-    CO_STATUS_HANDLER               CoStatusHandler; \
-    CO_RECEIVE_PACKET_HANDLER       CoReceivePacketHandler; \
-    CO_AF_REGISTER_NOTIFY_HANDLER   CoAfRegisterNotifyHandler;
-typedef struct _NDIS50_PROTOCOL_CHARACTERISTICS_S {
-   NDIS50_PROTOCOL_CHARACTERISTICS;
-} NDIS50_PROTOCOL_CHARACTERISTICS_S, *PNDIS50_PROTOCOL_CHARACTERISTICS_S;
-#endif
-#endif /* NDIS50 */
-
-
-#ifndef NDIS50
-#ifndef NDIS40
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
-   NDIS30_PROTOCOL_CHARACTERISTICS;
-} NDIS_PROTOCOL_CHARACTERISTICS;
-#else /* NDIS40 */
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
-   NDIS40_PROTOCOL_CHARACTERISTICS;
-} NDIS_PROTOCOL_CHARACTERISTICS;
-#endif /* NDIS40 */
-#else /* NDIS50 */
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
-   NDIS50_PROTOCOL_CHARACTERISTICS;
-} NDIS_PROTOCOL_CHARACTERISTICS;
-#endif /* NDIS50 */
-
-typedef NDIS_PROTOCOL_CHARACTERISTICS *PNDIS_PROTOCOL_CHARACTERISTICS;
-
-
-
-/* Buffer management routines */
-
-VOID
-DDKAPI
-NdisAllocateBuffer(
-    OUT PNDIS_STATUS    Status,
-    OUT PNDIS_BUFFER    *Buffer,
-    IN  NDIS_HANDLE     PoolHandle,
-    IN  PVOID           VirtualAddress,
-    IN  UINT            Length);
-
-VOID
-DDKAPI
-NdisAllocateBufferPool(
-    OUT PNDIS_STATUS    Status,
-    OUT PNDIS_HANDLE    PoolHandle,
-    IN  UINT            NumberOfDescriptors);
-
-VOID
-DDKAPI
-NdisAllocatePacket(
-    OUT PNDIS_STATUS    Status,
-    OUT PNDIS_PACKET    *Packet,
-    IN  NDIS_HANDLE     PoolHandle);
-
-VOID
-DDKAPI
-NdisAllocatePacketPool(
-    OUT PNDIS_STATUS    Status,
-    OUT PNDIS_HANDLE    PoolHandle,
-    IN  UINT            NumberOfDescriptors,
-    IN  UINT            ProtocolReservedLength);
-
-VOID
-DDKAPI
-NdisCopyBuffer(
-    OUT PNDIS_STATUS    Status,
-    OUT PNDIS_BUFFER    *Buffer,
-    IN  NDIS_HANDLE     PoolHandle,
-    IN  PVOID           MemoryDescriptor,
-    IN  UINT            Offset,
-    IN  UINT            Length);
-
-VOID
-DDKAPI
-NdisCopyFromPacketToPacket(
-    IN  PNDIS_PACKET    Destination,
-    IN  UINT            DestinationOffset,
-    IN  UINT            BytesToCopy,
-    IN  PNDIS_PACKET    Source,
-    IN  UINT            SourceOffset,
-    OUT PUINT           BytesCopied);
-
-VOID
-DDKAPI
-NdisDprAllocatePacket(
-    OUT PNDIS_STATUS    Status,
-    OUT PNDIS_PACKET    *Packet,
-    IN  NDIS_HANDLE     PoolHandle);
-
-VOID
-DDKAPI
-NdisDprAllocatePacketNonInterlocked(
-    OUT PNDIS_STATUS    Status,
-    OUT PNDIS_PACKET    *Packet,
-    IN NDIS_HANDLE      PoolHandle);
-
-VOID
-DDKAPI
-NdisDprFreePacket(
-    IN  PNDIS_PACKET    Packet);
-
-VOID
-DDKAPI
-NdisDprFreePacketNonInterlocked(
-    IN  PNDIS_PACKET    Packet);
-
-VOID
-DDKAPI
-NdisFreeBufferPool(
-    IN  NDIS_HANDLE PoolHandle);
-
-VOID
-DDKAPI
-NdisFreePacket(
-    IN   PNDIS_PACKET   Packet);
-
-VOID
-DDKAPI
-NdisFreePacketPool(
-    IN  NDIS_HANDLE PoolHandle);
-
-VOID
-DDKAPI
-NdisReturnPackets(
-    IN  PNDIS_PACKET    *PacketsToReturn,
-    IN  UINT            NumberOfPackets);
-
-VOID
-DDKAPI
-NdisUnchainBufferAtBack(
-    IN OUT  PNDIS_PACKET    Packet,
-    OUT     PNDIS_BUFFER    *Buffer);
-
-VOID
-DDKAPI
-NdisUnchainBufferAtFront(
-    IN OUT  PNDIS_PACKET    Packet,
-    OUT     PNDIS_BUFFER    *Buffer);
-
-VOID 
-DDKAPI
-NdisAdjustBufferLength(
-    IN  PNDIS_BUFFER    Buffer,
-    IN  UINT            Length);
-
-ULONG 
-DDKAPI
-NDIS_BUFFER_TO_SPAN_PAGES(
-    IN  PNDIS_BUFFER    Buffer);
-
-VOID
-DDKAPI
-NdisFreeBuffer(
-    IN  PNDIS_BUFFER    Buffer);
-
-
-
-/*
- * VOID NdisGetBufferPhysicalArraySize(
- *     IN  PNDIS_BUFFER    Buffer,
- *     OUT PUINT           ArraySize);
- */
-VOID 
-DDKAPI
-NdisGetBufferPhysicalArraySize(
-    IN  PNDIS_BUFFER    Buffer,
-    OUT PUINT           ArraySize);
-
-/*
- * VOID NdisGetFirstBufferFromPacket(
- *     IN  PNDIS_PACKET    _Packet,
- *     OUT PNDIS_BUFFER    * _FirstBuffer,
- *     OUT PVOID           * _FirstBufferVA,
- *     OUT PUINT           _FirstBufferLength,
- *     OUT PUINT           _TotalBufferLength)
- */
-VOID
-DDKAPI
-NdisGetFirstBufferFromPacket(
-   IN  PNDIS_PACKET    _Packet,
-   OUT PNDIS_BUFFER    * _FirstBuffer,
-   OUT PVOID           * _FirstBufferVA,
-   OUT PUINT           _FirstBufferLength,
-   OUT PUINT           _TotalBufferLength);
-
-VOID 
-DDKAPI
-NdisQueryBuffer(
-     IN  PNDIS_BUFFER    Buffer,
-     OUT PVOID           *VirtualAddress OPTIONAL,
-     OUT PUINT           Length);
-
-VOID 
-DDKAPI
-NdisQueryBufferOffset(
-    IN  PNDIS_BUFFER    Buffer,
-    OUT PUINT           Offset,
-    OUT PUINT           Length);
-
-/*
- * PVOID NDIS_BUFFER_LINKAGE(
- *     IN  PNDIS_BUFFER    Buffer);
- */
-#define NDIS_BUFFER_LINKAGE(Buffer) \
-{                                   \
-    (Buffer)->Next;                 \
-}
-
-
-/*
- * VOID NdisChainBufferAtBack(
- *     IN OUT  PNDIS_PACKET    Packet,
- *     IN OUT  PNDIS_BUFFER    Buffer)
- */
-#define NdisChainBufferAtBack(Packet,               \
-                              Buffer)               \
-{                                                   \
-       PNDIS_BUFFER NdisBuffer = (Buffer);             \
-                                                    \
-    while (NdisBuffer->Next != NULL)                \
-        NdisBuffer = NdisBuffer->Next;              \
-                                                    \
-    NdisBuffer->Next = NULL;                        \
-                                                    \
-    if ((Packet)->Private.Head != NULL)             \
-        (Packet)->Private.Tail->Next = (Buffer);    \
-    else                                            \
-        (Packet)->Private.Head = (Buffer);          \
-                                                    \
-       (Packet)->Private.Tail        = NdisBuffer;     \
-       (Packet)->Private.ValidCounts = FALSE;          \
-}
-
-
-/*
- * VOID
- * NdisChainBufferAtFront(
- *     IN OUT  PNDIS_PACKET    Packet,
- *     IN OUT  PNDIS_BUFFER    Buffer)
- */
-#define NdisChainBufferAtFront(Packet,          \
-                               Buffer)          \
-{                                               \
-       PNDIS_BUFFER _NdisBuffer = (Buffer);        \
-                                                \
-    while (_NdisBuffer->Next != NULL)           \
-        _NdisBuffer = _NdisBuffer->Next;        \
-                                                \
-    if ((Packet)->Private.Head == NULL)         \
-        (Packet)->Private.Tail = _NdisBuffer;   \
-                                                \
-       _NdisBuffer->Next = (Packet)->Private.Head; \
-       (Packet)->Private.Head        = (Buffer);   \
-       (Packet)->Private.ValidCounts = FALSE;      \
-}
-
-
-/*
- * VOID
- * NdisGetNextBuffer(
- *     IN  PNDIS_BUFFER    CurrentBuffer,
- *     OUT PNDIS_BUFFER    * NextBuffer)
- */
-#define NdisGetNextBuffer(CurrentBuffer,    \
-                          NextBuffer)       \
-{                                           \
-    *(NextBuffer) = (CurrentBuffer)->Next;  \
-}
-
-
-/*
- * UINT
- * NdisGetPacketFlags(
- *     IN  PNDIS_PACKET    Packet); 
- */
-#define NdisGetPacketFlags(Packet)  \
-{                                   \
-    (Packet)->Private.Flags;        \
-}
-
-
-/*
- * UINT NDIS_GET_PACKET_HEADER_SIZE(
- *     IN  PNDIS_PACKET    Packet);
- */
-#define NDIS_GET_PACKET_HEADER_SIZE(Packet) \
-{                                           \
-}
-
-
-/*
- * VOID
- * NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(
- *     IN  PNDIS_PACKET    Packet,
- *     IN  PPVOID          pMediaSpecificInfo,
- *     IN  PUINT           pSizeMediaSpecificInfo);
- */
-#define NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(Packet,                 \
-                                            pMediaSpecificInfo,     \
-                                            pSizeMediaSpecificInfo) \
-{                                                                   \
-}
-
-
-/*
- * VOID
- * NDIS_STATUS NDIS_GET_PACKET_STATUS(
- *     IN  PNDIS_PACKET    Packet);
- */
-#define NDIS_GET_PACKET_STATUS (Packet) \
-{                                       \
-}
-
-
-/*
- * ULONGLONG NDIS_GET_PACKET_TIME_RECEIVED(
- *     IN  PNDIS_PACKET    Packet);
- */
-#define NDIS_GET_PACKET_TIME_RECEIVED(Packet)   \
-{                                               \
-}
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_SENT(
- *     IN  PNDIS_PACKET    Packet);
- */
-#define NDIS_GET_PACKET_TIME_SENT(Packet)   \
-{                                           \
-}
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_TO_SEND(
- *     IN  PNDIS_PACKET    Packet);
- */
-#define NDIS_GET_PACKET_TIME_TO_SEND(Packet)    \
-{                                               \
-}
-
-
-/*
- * PNDIS_PACKET_OOB_DATA
- * NDIS_OOB_DATA_FROM_PACKET(
- *     IN  PNDIS_PACKET    _Packet);
- */
-#define NDIS_OOB_DATA_FROM_PACKET(_Packet)  \
-{                                           \
-}
-
-/*
- * VOID
- * NdisQueryPacket(
- *     IN  PNDIS_PACKET    Packet,
- *     OUT PUINT           PhysicalBufferCount OPTIONAL,
- *     OUT PUINT           BufferCount         OPTIONAL,
- *     OUT PNDIS_BUFFER    *FirstBuffer        OPTIONAL,
- *     OUT PUINT           TotalPacketLength   OPTIONAL);
- */
-#define NdisQueryPacket(Packet,                                                 \
-                        PhysicalBufferCount,                                    \
-                        BufferCount,                                            \
-                        FirstBuffer,                                            \
-                        TotalPacketLength)                                      \
-{                                                                               \
-    if (FirstBuffer)                                                            \
-        *((PNDIS_BUFFER*)FirstBuffer) = (Packet)->Private.Head;                 \
-    if ((TotalPacketLength) || (BufferCount) || (PhysicalBufferCount))          \
-    {                                                                           \
-        if (!(Packet)->Private.ValidCounts) {                                   \
-            UINT _Offset;                                                       \
-            UINT _PacketLength;                                                 \
-            PNDIS_BUFFER _NdisBuffer;                                           \
-            UINT _PhysicalBufferCount = 0;                                      \
-            UINT _TotalPacketLength   = 0;                                      \
-            UINT _Count               = 0;                                      \
-                                                                                \
-            for (_NdisBuffer = (Packet)->Private.Head;                          \
-                _NdisBuffer != (PNDIS_BUFFER)NULL;                              \
-                _NdisBuffer = _NdisBuffer->Next)                                \
-            {                                                                   \
-                _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer); \
-                NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength);   \
-                _TotalPacketLength += _PacketLength;                            \
-                _Count++;                                                       \
-            }                                                                   \
-            (Packet)->Private.PhysicalCount = _PhysicalBufferCount;             \
-            (Packet)->Private.TotalLength   = _TotalPacketLength;               \
-            (Packet)->Private.Count         = _Count;                           \
-            (Packet)->Private.ValidCounts   = TRUE;                             \
-               }                                                                       \
-                                                                                \
-        if (PhysicalBufferCount)                                                \
-            *((PUINT)PhysicalBufferCount) = (Packet)->Private.PhysicalCount;    \
-                                                                                \
-        if (BufferCount)                                                        \
-            *((PUINT)BufferCount) = (Packet)->Private.Count;                    \
-                                                                                \
-        if (TotalPacketLength)                                                  \
-            *((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength;        \
-    }                                                                           \
-}
-
-
-/*
- * VOID
- * NdisRecalculatePacketCounts(
- *     IN OUT  PNDIS_PACKET    Packet);
- */
-#define NdisRecalculatePacketCounts(Packet) \
-{                                           \
-}
-
-VOID
-DDKAPI
-NdisReinitializePacket(
-    IN OUT  PNDIS_PACKET    Packet);
-
-
-/*
- * VOID
- * NdisSetPacketFlags(
- *     IN  PNDIS_PACKET    Packet,
- *     IN  UINT            Flags); 
- */
-#define NdisSetPacketFlags(Packet, Flags)   \
-    (Packet)->Private.Flags = (Flags);
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_HEADER_SIZE(
- *     IN  PNDIS_PACKET    Packet,
- *     IN  UINT            HdrSize);
- */
-#define NDIS_SET_PACKET_HEADER_SIZE(Packet, HdrSize)    \
-{                                               \
-}
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(
- *     IN  PNDIS_PACKET    Packet,
- *     IN  PVOID           MediaSpecificInfo,
- *     IN  UINT            SizeMediaSpecificInfo);
- */
-#define NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(Packet,                 \
-                                            MediaSpecificInfo,      \
-                                            SizeMediaSpecificInfo)  \
-{                                                                   \
-}
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_STATUS(
- *     IN  PNDIS_PACKET    Packet,
- *     IN  NDIS_STATUS     Status);
- */
-#define NDIS_SET_PACKET_STATUS(Packet,  \
-                               Status)  \
-{                                       \
-}
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_RECEIVED(
- *     IN  PNDIS_PACKET    Packet,
- *     IN  ULONGLONG       TimeReceived);
- */
-#define NDIS_SET_PACKET_TIME_RECEIVED(Packet)       \
-                                      TimeReceived) \
-{                                                   \
-}
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_SENT(
- *     IN  PNDIS_PACKET    Packet,
- *     IN  ULONGLONG       TimeSent);
- */
-#define NDIS_SET_PACKET_TIME_SENT(Packet,   \
-                                  TimeSent) \
-{                                           \
-}
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_TO_SEND(
- *     IN  PNDIS_PACKET    Packet,
- *     IN  ULONGLONG       TimeToSend);
- */
-#define NDIS_SET_PACKET_TIME_TO_SEND(Packet,        \
-                                     TimeToSend)    \
-{                                                   \
-}
-
-
-/*
- * VOID
- * NdisSetSendFlags(
- *   IN  PNDIS_PACKET    Packet,
- *   IN  UINT            Flags);
- */
-#define NdisSetSendFlags(Packet, Flags)(    \
-    NdisSetPacketFlags((Packet), (Flags)))
-
-
-
-/* Memory management routines */
-
-VOID
-DDKAPI
-NdisCreateLookaheadBufferFromSharedMemory(
-    IN  PVOID   pSharedMemory,
-    IN  UINT    LookaheadLength,
-    OUT PVOID   *pLookaheadBuffer);
-
-VOID
-DDKAPI
-NdisDestroyLookaheadBufferFromSharedMemory(
-    IN  PVOID   pLookaheadBuffer);
-
-VOID
-DDKAPI
-NdisMoveFromMappedMemory(
-    OUT PVOID   Destination,
-    IN  PVOID   Source,
-    IN  ULONG   Length);
-
-VOID
-DDKAPI
-NdisMoveMappedMemory(
-    OUT PVOID   Destination,
-    IN  PVOID   Source,
-    IN  ULONG   Length);
-
-VOID
-DDKAPI
-NdisMoveToMappedMemory(
-    OUT PVOID   Destination,
-    IN  PVOID   Source,
-    IN  ULONG   Length);
-
-VOID
-DDKAPI
-NdisMUpdateSharedMemory(
-    IN  NDIS_HANDLE             MiniportAdapterHandle,
-    IN  ULONG                   Length,
-    IN  PVOID                   VirtualAddress,
-    IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
-
-NDIS_STATUS
-DDKAPI
-NdisAllocateMemory(
-    OUT PVOID                   *VirtualAddress,
-    IN  UINT                    Length,
-    IN  UINT                    MemoryFlags,
-    IN  NDIS_PHYSICAL_ADDRESS   HighestAcceptableAddress);
-
-VOID
-DDKAPI
-NdisFreeMemory(
-    IN  PVOID   VirtualAddress,
-    IN  UINT    Length,
-    IN  UINT    MemoryFlags);
-
-VOID
-DDKAPI
-NdisImmediateReadSharedMemory(
-    IN  NDIS_HANDLE WrapperConfigurationContext,
-    IN  ULONG       SharedMemoryAddress,
-    OUT PUCHAR      Buffer,
-    IN  ULONG       Length);
-
-VOID
-DDKAPI
-NdisImmediateWriteSharedMemory(
-    IN  NDIS_HANDLE WrapperConfigurationContext,
-    IN  ULONG       SharedMemoryAddress,
-    IN  PUCHAR      Buffer,
-    IN  ULONG       Length);
-
-VOID
-DDKAPI
-NdisMAllocateSharedMemory(
-    IN NDIS_HANDLE             MiniportAdapterHandle,
-    IN ULONG                   Length,
-    IN BOOLEAN                 Cached,
-    OUT        PVOID                   *VirtualAddress,
-    OUT        PNDIS_PHYSICAL_ADDRESS  PhysicalAddress);
-
-NDIS_STATUS
-DDKAPI
-NdisMAllocateSharedMemoryAsync(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  ULONG       Length,
-    IN  BOOLEAN     Cached,
-    IN  PVOID       Context);
-
-VOID
-DDKAPI
-NdisMFreeSharedMemory(
-    IN  NDIS_HANDLE             MiniportAdapterHandle,
-    IN  ULONG                   Length,
-    IN  BOOLEAN                 Cached,
-    IN  PVOID                   VirtualAddress,
-    IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
-
-VOID
-DDKAPI
-NdisUpdateSharedMemory(
-    IN  NDIS_HANDLE             NdisAdapterHandle,
-    IN  ULONG                   Length,
-    IN  PVOID                   VirtualAddress,
-    IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
-
-
-/*
- * ULONG
- * NdisGetPhysicalAddressHigh(
- *     IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
- */
-#define NdisGetPhysicalAddressHigh(PhysicalAddress) \
-    ((PhysicalAddress).HighPart)
-
-/*
- * VOID
- * NdisSetPhysicalAddressHigh(
- *     IN   NDIS_PHYSICAL_ADDRESS   PhysicalAddress,
- *     IN   ULONG                   Value);
- */
-#define NdisSetPhysicalAddressHigh(PhysicalAddress, Value)  \
-    ((PhysicalAddress).HighPart) = (Value)
-
-/*
- * ULONG
- * NdisGetPhysicalAddressLow(
- *     IN   NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
- */
-#define NdisGetPhysicalAddressLow(PhysicalAddress)  \
-    ((PhysicalAddress).LowPart)
-
-
-/*
- * VOID
- * NdisSetPhysicalAddressLow(
- *     IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress,
- *     IN  ULONG                   Value);
- */
-#define NdisSetPhysicalAddressLow(PhysicalAddress, Value)   \
-    ((PhysicalAddress).LowPart) = (Value)
-
-/*
- * VOID
- * NDIS_PHYSICAL_ADDRESS_CONST(
- *     IN  ULONG   Low,
- *     IN  LONG    High); 
- */
-#define NDIS_PHYSICAL_ADDRESS_CONST(Low, High)  \
-    { {(ULONG)(Low), (LONG)(High)} }
-
-
-/*
- * VOID
- * NdisMoveMemory(
- *     OUT PVOID   Destination,
- *     IN  PVOID   Source,
- *     IN  ULONG   Length);
- */
-#define NdisMoveMemory(Destination, Source, Length) \
-    RtlCopyMemory(Destination, Source, Length)
-
-
-/*
- * VOID
- * NdisRetrieveUlong(
- *     IN  PULONG  DestinationAddress,
- *     IN  PULONG  SourceAddress);
- */
-#define NdisRetrieveUlong(DestinationAddress, SourceAddress)    \
-    RtlRetrieveUlong(DestinationAddress, SourceAddress)
-
-
-/*
- * VOID
- * NdisStoreUlong(
- *     IN  PULONG  DestinationAddress,
- *     IN  ULONG   Value); 
- */
-#define NdisStoreUlong(DestinationAddress, Value)   \
-    RtlStoreUlong(DestinationAddress, Value)
-
-
-/*
- * VOID
- * NdisZeroMemory(
- *     IN PVOID    Destination,
- *     IN ULONG    Length)
- */
-#define NdisZeroMemory(Destination, Length) \
-    RtlZeroMemory(Destination, Length)
-
-
-
-//
-// System processor count
-//
-
-CCHAR
-DDKAPI
-NdisSystemProcessorCount(
-       VOID);
-
-VOID
-DDKAPI
-NdisImmediateReadPortUchar(
-       IN      NDIS_HANDLE                             WrapperConfigurationContext,
-       IN      ULONG                                   Port,
-       OUT PUCHAR                                      Data);
-
-VOID
-DDKAPI
-NdisImmediateReadPortUshort(
-       IN      NDIS_HANDLE                             WrapperConfigurationContext,
-       IN      ULONG                                   Port,
-       OUT PUSHORT Data);
-
-VOID
-DDKAPI
-NdisImmediateReadPortUlong(
-       IN      NDIS_HANDLE                             WrapperConfigurationContext,
-       IN      ULONG                                   Port,
-       OUT PULONG Data);
-
-VOID
-DDKAPI
-NdisImmediateWritePortUchar(
-       IN      NDIS_HANDLE                             WrapperConfigurationContext,
-       IN      ULONG                                   Port,
-       IN      UCHAR                                   Data);
-
-VOID
-DDKAPI
-NdisImmediateWritePortUshort(
-       IN      NDIS_HANDLE                             WrapperConfigurationContext,
-       IN      ULONG                                   Port,
-       IN      USHORT                                  Data);
-
-VOID
-DDKAPI
-NdisImmediateWritePortUlong(
-       IN      NDIS_HANDLE                             WrapperConfigurationContext,
-       IN      ULONG                                   Port,
-       IN      ULONG                                   Data);
-
-VOID
-DDKAPI
-NdisImmediateReadSharedMemory(
-       IN      NDIS_HANDLE                             WrapperConfigurationContext,
-       IN      ULONG                                   SharedMemoryAddress,
-       IN      PUCHAR                                  Buffer,
-       IN      ULONG                                   Length);
-
-VOID
-DDKAPI
-NdisImmediateWriteSharedMemory(
-       IN      NDIS_HANDLE                             WrapperConfigurationContext,
-       IN      ULONG                                   SharedMemoryAddress,
-       IN      PUCHAR                                  Buffer,
-       IN      ULONG                                   Length);
-
-ULONG
-DDKAPI
-NdisImmediateReadPciSlotInformation(
-       IN      NDIS_HANDLE                             WrapperConfigurationContext,
-       IN      ULONG                                   SlotNumber,
-       IN      ULONG                                   Offset,
-       IN      PVOID                                   Buffer,
-       IN      ULONG                                   Length);
-
-ULONG
-DDKAPI
-NdisImmediateWritePciSlotInformation(
-       IN      NDIS_HANDLE                             WrapperConfigurationContext,
-       IN      ULONG                                   SlotNumber,
-       IN      ULONG                                   Offset,
-       IN      PVOID                                   Buffer,
-       IN      ULONG                                   Length);
-
-ULONG
-DDKAPI
-NdisReadPciSlotInformation(
-    IN  NDIS_HANDLE NdisAdapterHandle,
-    IN  ULONG       SlotNumber,
-    IN  ULONG       Offset,
-    IN  PVOID       Buffer,
-    IN  ULONG       Length);
-
-ULONG
-DDKAPI
-NdisWritePciSlotInformation(
-    IN  NDIS_HANDLE NdisAdapterHandle,
-    IN  ULONG       SlotNumber,
-    IN  ULONG       Offset,
-    IN  PVOID       Buffer,
-    IN  ULONG       Length);
-
-
-
-/* String management routines */
-
-/*
- * NDIS_STATUS NdisAnsiStringToUnicodeString(
- *     IN OUT  PNDIS_STRING        DestinationString,
- *     IN      PNDIS_ANSI_STRING   SourceString);
- */
-NDIS_STATUS
-DDKAPI
-NdisAnsiStringToUnicodeString(
-    IN OUT  PNDIS_STRING        DestinationString,
-    IN      PANSI_STRING   SourceString);
-
-/*
- * BOOLEAN
- * NdisEqualString(
- *     IN  PNDIS_STRING    String1,
- *     IN  PNDIS_STRING    String2,
- *     IN  BOOLEAN         CaseInsensitive)
- */
-BOOLEAN
-DDKAPI
-NdisEqualString(
-    IN  PNDIS_STRING    String1,
-    IN  PNDIS_STRING    String2,
-    IN  BOOLEAN         CaseInsensitive);
-
-/*
- * VOID NdisInitAnsiString(
- *     IN OUT  PNDIS_ANSI_STRING   DestinationString,
- *     IN      PCSTR               SourceString)
- */
-VOID
-DDKAPI
-NdisInitAnsiString(
-    IN OUT  PANSI_STRING   DestinationString,
-    IN      PCSTR               SourceString);
-
-/*
- * VOID NdisInitUnicodeString(
- *     IN OUT  PNDIS_STRING    DestinationString,
- *     IN      PCWSTR          SourceString)
- */
-VOID
-DDKAPI
-NdisInitUnicodeString(
-    IN OUT  PNDIS_STRING    DestinationString,
-    IN      PCWSTR          SourceString);
-
-/*
- * NDIS_STATUS NdisUnicodeStringToAnsiString(
- *     IN OUT  PNDIS_ANSI_STRING   DestinationString,
- *     IN      PNDIS_STRING        SourceString)
- */
-NDIS_STATUS
-DDKAPI
-NdisUnicodeStringToAnsiString(
-    IN OUT  PANSI_STRING   DestinationString,
-    IN      PNDIS_STRING        SourceString);
-
-#define NdisFreeString(_s)  NdisFreeMemory((s).Buffer, (s).MaximumLength, 0)
-#define NdisPrintString(_s) DbgPrint("%ls", (s).Buffer)
-
-
-
-/* I/O routines */
-
-/*
- * VOID
- * NdisRawReadPortBufferUchar(
- *     IN  ULONG   Port,
- *     OUT PUCHAR  Buffer,
- *     IN  ULONG   Length);
- */
-#define NdisRawReadPortBufferUchar(Port, Buffer, Length)    \
-    READ_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawReadPortBufferUlong(
- *     IN  ULONG   Port,
- *     OUT PULONG  Buffer,
- *     IN  ULONG   Length);
- */
-#define NdisRawReadPortBufferUlong(Port, Buffer, Length)  \
-    READ_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawReadPortBufferUshort(
- *     IN  ULONG   Port,
- *     OUT PUSHORT Buffer,
- *     IN  ULONG   Length);
- */
-#define NdisRawReadPortBufferUshort(Port, Buffer, Length)   \
-    READ_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
-
-
-/*
- * VOID
- * NdisRawReadPortUchar(
- *     IN  ULONG   Port,
- *     OUT PUCHAR  Data);
- */
-#define NdisRawReadPortUchar(Port, Data)    \
-    *(Data) = READ_PORT_UCHAR((PUCHAR)(Port))
-
-/*
- * VOID
- * NdisRawReadPortUlong(
- *     IN  ULONG   Port,
- *     OUT PULONG  Data);
- */
-#define NdisRawReadPortUlong(Port, Data)    \
-    *(Data) = READ_PORT_ULONG((PULONG)(Port))
-
-/*
- * VOID
- * NdisRawReadPortUshort(
- *     IN  ULONG   Port,
- *     OUT PUSHORT Data);
- */
-#define NdisRawReadPortUshort(Port, Data)   \
-    *(Data) = READ_PORT_USHORT((PUSHORT)(Port))
-
-
-/*
- * VOID
- * NdisRawWritePortBufferUchar(
- *     IN  ULONG   Port,
- *     IN  PUCHAR  Buffer,
- *     IN  ULONG   Length);
- */
-#define NdisRawWritePortBufferUchar(Port, Buffer, Length) \
-    WRITE_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawWritePortBufferUlong(
- *     IN  ULONG   Port,
- *     IN  PULONG  Buffer,
- *     IN  ULONG   Length);
- */
-#define NdisRawWritePortBufferUlong(Port, Buffer, Length)   \
-    WRITE_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawWritePortBufferUshort(
- *     IN  ULONG   Port,
- *     IN  PUSHORT Buffer,
- *     IN  ULONG   Length);
- */
-#define NdisRawWritePortBufferUshort(Port, Buffer, Length)  \
-    WRITE_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
-
-
-/*
- * VOID
- * NdisRawWritePortUchar(
- *     IN  ULONG   Port,
- *     IN  UCHAR   Data);
- */
-#define NdisRawWritePortUchar(Port, Data)   \
-    WRITE_PORT_UCHAR((PUCHAR)(Port), (UCHAR)(Data))
-
-/*
- * VOID
- * NdisRawWritePortUlong(
- *     IN  ULONG   Port,
- *     IN  ULONG   Data);
- */
-#define NdisRawWritePortUlong(Port, Data)   \
-    WRITE_PORT_ULONG((PULONG)(Port), (ULONG)(Data))
-
-/*
- * VOID
- * NdisRawWritePortUshort(
- *     IN  ULONG   Port,
- *     IN  USHORT  Data);
- */
-#define NdisRawWritePortUshort(Port, Data) \
-    WRITE_PORT_USHORT((PUSHORT)(Port), (USHORT)(Data))
-
-
-/*
- * VOID
- * NdisReadRegisterUchar(
- *     IN  PUCHAR  Register,
- *     OUT PUCHAR  Data);
- */
-#define NdisReadRegisterUchar(Register, Data)   \
-    *((PUCHAR)(Data)) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUlong(
- *     IN  PULONG  Register,
- *     OUT PULONG  Data);
- */
-#define NdisReadRegisterUlong(Register, Data)   \
-    *((PULONG)(Data)) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUshort(
- *     IN  PUSHORT Register,
- *     OUT PUSHORT Data);
- */
-#define NdisReadRegisterUshort(Register, Data)  \
-    *((PUSHORT)(Data)) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUchar(
- *     IN  PUCHAR  Register,
- *     IN  UCHAR   Data);
- */
-#define NdisWriteRegisterUchar(Register, Data)  \
-    WRITE_REGISTER_UCHAR((Register), (Data))
-
-/*
- * VOID
- * NdisReadRegisterUlong(
- *     IN  PULONG  Register,
- *     IN  ULONG   Data);
- */
-#define NdisWriteRegisterUlong(Register, Data)  \
-       WRITE_REGISTER_ULONG((Register), (Data))
-
-/*
- * VOID
- * NdisReadRegisterUshort(
- *     IN  PUSHORT Register,
- *     IN  USHORT  Data);
- */
-#define NdisWriteRegisterUshort(Register, Data) \
-    WRITE_REGISTER_USHORT((Register), (Data))
-
-
-/* Linked lists */
-
-VOID
-DDKAPI
-NdisInitializeListHead(
-    IN  PLIST_ENTRY ListHead);
-
-VOID
-DDKAPI
-NdisInterlockedAddUlong(
-    IN  PULONG          Addend,
-    IN  ULONG           Increment,
-    IN  PNDIS_SPIN_LOCK SpinLock);
-
-PLIST_ENTRY
-DDKAPI
-NdisInterlockedInsertHeadList(
-    IN  PLIST_ENTRY     ListHead,
-    IN  PLIST_ENTRY     ListEntry,
-    IN  PNDIS_SPIN_LOCK SpinLock);
-
-PLIST_ENTRY
-DDKAPI
-NdisInterlockedInsertTailList(
-    IN  PLIST_ENTRY     ListHead,
-    IN  PLIST_ENTRY     ListEntry,
-    IN  PNDIS_SPIN_LOCK SpinLock); 
-
-PLIST_ENTRY
-DDKAPI
-NdisInterlockedRemoveHeadList(
-    IN  PLIST_ENTRY     ListHead,
-    IN  PNDIS_SPIN_LOCK SpinLock); 
-
-
-VOID
-DDKAPI
-NdisCloseConfiguration(
-    IN  NDIS_HANDLE ConfigurationHandle);
-
-VOID
-DDKAPI
-NdisReadConfiguration(
-    OUT PNDIS_STATUS                    Status,
-    OUT PNDIS_CONFIGURATION_PARAMETER   *ParameterValue,
-    IN  NDIS_HANDLE                     ConfigurationHandle,
-    IN  PNDIS_STRING                    Keyword,
-    IN  NDIS_PARAMETER_TYPE             ParameterType);
-
-VOID
-DDKAPI
-NdisReadNetworkAddress(
-    OUT PNDIS_STATUS Status,
-        OUT PVOID        *NetworkAddress,
-        OUT PUINT        NetworkAddressLength,
-        IN  NDIS_HANDLE  ConfigurationHandle);
-
-VOID
-DDKAPI
-NdisWriteConfiguration(
-    OUT PNDIS_STATUS                    Status,
-    IN  NDIS_HANDLE                     ConfigurationHandle,
-    IN  PNDIS_STRING                    Keyword,
-    IN  PNDIS_CONFIGURATION_PARAMETER   ParameterValue);
-
-VOID
-DDKAPI
-NdisOpenConfiguration(
-       OUT PNDIS_STATUS Status,
-       OUT PNDIS_HANDLE ConfigurationHandle,
-       IN NDIS_HANDLE   WrapperConfigurationContext);
-
-VOID
-DDKAPI
-NdisOpenConfigurationKeyByIndex(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     ConfigurationHandle,
-    IN  ULONG           Index,
-    OUT PNDIS_STRING    KeyName,
-    OUT PNDIS_HANDLE    KeyHandle);
-
-VOID
-DDKAPI
-NdisOpenConfigurationKeyByName(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     ConfigurationHandle,
-    IN  PNDIS_STRING    SubKeyName,
-    OUT PNDIS_HANDLE    SubKeyHandle);
-
-
-VOID
-/*DDKAPI*/
-NdisWriteErrorLogEntry(
-    IN  NDIS_HANDLE     NdisAdapterHandle,
-    IN  NDIS_ERROR_CODE ErrorCode,
-    IN  ULONG           NumberOfErrorValues,
-    ...); 
-
-/*
- * VOID
- * NdisStallExecution(
- *     IN  UINT    MicrosecondsToStall)
- */
-#define NdisStallExecution(MicroSecondsToStall)     \
-    KeStallExecutionProcessor(MicroSecondsToStall)
-
-
-#define NdisZeroMappedMemory(Destination,Length)               RtlZeroMemory(Destination,Length)
-/* moved to ndis/memory.c by robd
-#define NdisMoveMappedMemory(Destination,Source,Length) RtlCopyMemory(Destination,Source,Length)
- */
-/* moved to ndis/control.c by robd
-#define NdisReinitializePacket(Packet)                                                                         \
-{                                                                                                                                                      \
-       (Packet)->Private.Head = (PNDIS_BUFFER)NULL;                                                    \
-       (Packet)->Private.ValidCounts = FALSE;                                                                  \
-}
- */
-VOID
-DDKAPI
-NdisInitializeEvent(
-       IN      PNDIS_EVENT                             Event
-);
-
-VOID
-DDKAPI
-NdisSetEvent(
-       IN      PNDIS_EVENT                             Event
-);
-
-VOID
-DDKAPI
-NdisResetEvent(
-       IN      PNDIS_EVENT                             Event
-);
-
-BOOLEAN
-DDKAPI
-NdisWaitEvent(
-       IN      PNDIS_EVENT                             Event,
-       IN      UINT                                    msToWait
-);
-
-
-/* NDIS helper macros */
-
-/*
- * NDIS_INIT_FUNCTION(FunctionName)
- */
-#define NDIS_INIT_FUNCTION(FunctionName)    \
-    alloc_text(init, FunctionName)
-
-/*
- * NDIS_PAGABLE_FUNCTION(FunctionName) 
- */
-#define NDIS_PAGABLE_FUNCTION(FunctionName) \
-    alloc_text(page, FunctionName)
-
-
-
-/* NDIS 4.0 extensions */
-
-#ifdef NDIS40
-
-VOID
-DDKAPI
-NdisMFreeSharedMemory(
-    IN  NDIS_HANDLE             MiniportAdapterHandle,
-    IN  ULONG                   Length,
-    IN  BOOLEAN                 Cached,
-    IN  PVOID                   VirtualAddress,
-    IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
-
-VOID
-DDKAPI
-NdisMWanIndicateReceive(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     MiniportAdapterHandle,
-    IN  NDIS_HANDLE     NdisLinkContext,
-    IN  PUCHAR          PacketBuffer,
-    IN  UINT            PacketSize);
-
-VOID
-DDKAPI
-NdisMWanIndicateReceiveComplete(
-    IN  NDIS_HANDLE MiniportAdapterHandle);
-
-VOID
-DDKAPI
-NdisMWanSendComplete(
-    IN  NDIS_HANDLE         MiniportAdapterHandle,
-    IN  PNDIS_WAN_PACKET    Packet,
-    IN  NDIS_STATUS         Status);
-
-NDIS_STATUS
-DDKAPI
-NdisPciAssignResources(
-    IN  NDIS_HANDLE         NdisMacHandle,
-    IN  NDIS_HANDLE         NdisWrapperHandle,
-    IN  NDIS_HANDLE         WrapperConfigurationContext,
-    IN  ULONG               SlotNumber,
-    OUT PNDIS_RESOURCE_LIST *AssignedResources);
-
-VOID
-DDKAPI
-NdisReadEisaSlotInformationEx(
-    OUT PNDIS_STATUS                    Status,
-    IN  NDIS_HANDLE                     WrapperConfigurationContext,
-    OUT PUINT                           SlotNumber,
-    OUT PNDIS_EISA_FUNCTION_INFORMATION *EisaData,
-    OUT PUINT                           NumberOfFunctions);
-
-VOID
-DDKAPI
-NdisReadMcaPosInformation(
-    OUT PNDIS_STATUS        Status,
-    IN  NDIS_HANDLE         WrapperConfigurationContext,
-    IN  PUINT               ChannelNumber,
-    OUT PNDIS_MCA_POS_DATA  McaData);
-
-#endif /* NDIS40 */
-
-
-#if    USE_KLOCKS
-
-#define        DISPATCH_LEVEL          2
-
-#define NdisAllocateSpinLock(_SpinLock)        KeInitializeSpinLock(&(_SpinLock)->SpinLock)
-
-#define NdisFreeSpinLock(_SpinLock)
-
-#define NdisAcquireSpinLock(_SpinLock) KeAcquireSpinLock(&(_SpinLock)->SpinLock, &(_SpinLock)->OldIrql)
-
-#define NdisReleaseSpinLock(_SpinLock) KeReleaseSpinLock(&(_SpinLock)->SpinLock,(_SpinLock)->OldIrql)
-
-#define NdisDprAcquireSpinLock(_SpinLock)                                              \
-{                                                                                                                              \
-       KeAcquireSpinLockAtDpcLevel(&(_SpinLock)->SpinLock);            \
-       (_SpinLock)->OldIrql = DISPATCH_LEVEL;                                          \
-}
-
-#define NdisDprReleaseSpinLock(_SpinLock) KeReleaseSpinLockFromDpcLevel(&(_SpinLock)->SpinLock)
-
-#else
-
-//
-// Ndis Spin Locks
-//
-
-VOID
-DDKAPI
-NdisAllocateSpinLock(
-       IN      PNDIS_SPIN_LOCK                 SpinLock
-       );
-
-
-VOID
-DDKAPI
-NdisFreeSpinLock(
-       IN      PNDIS_SPIN_LOCK                 SpinLock
-       );
-
-
-VOID
-DDKAPI
-NdisAcquireSpinLock(
-       IN      PNDIS_SPIN_LOCK                 SpinLock
-       );
-
-
-VOID
-DDKAPI
-NdisReleaseSpinLock(
-       IN      PNDIS_SPIN_LOCK                 SpinLock
-       );
-
-
-VOID
-DDKAPI
-NdisDprAcquireSpinLock(
-       IN      PNDIS_SPIN_LOCK                 SpinLock
-       );
-
-
-VOID
-DDKAPI
-NdisDprReleaseSpinLock(
-       IN      PNDIS_SPIN_LOCK                 SpinLock
-       );
-
-#endif
-
-VOID
-DDKAPI
-NdisGetCurrentSystemTime(
-       PLARGE_INTEGER                          pSystemTime
-       );
-
-
-VOID
-DDKAPI
-NdisAcquireReadWriteLock(
-    IN  PNDIS_RW_LOCK   Lock,
-    IN  BOOLEAN         fWrite,
-    IN  PLOCK_STATE     LockState);
-
-NDIS_STATUS
-DDKAPI
-NdisAllocateMemoryWithTag(
-    OUT PVOID   *VirtualAddress,
-    IN  UINT    Length,
-    IN  ULONG   Tag);
-
-VOID
-DDKAPI
-NdisAllocatePacketPoolEx(
-    OUT PNDIS_STATUS    Status,
-    OUT PNDIS_HANDLE    PoolHandle,
-    IN  UINT            NumberOfDescriptors,
-    IN  UINT            NumberOfOverflowDescriptors,
-    IN  UINT            ProtocolReservedLength);
-
-ULONG
-DDKAPI
-NdisBufferLength(
-    IN  PNDIS_BUFFER    Buffer);
-
-PVOID
-DDKAPI
-NdisBufferVirtualAddress(
-    IN  PNDIS_BUFFER    Buffer);
-
-VOID
-DDKAPI
-NdisCompletePnPEvent(
-    IN  NDIS_STATUS     Status,
-    IN  NDIS_HANDLE     NdisBindingHandle,
-    IN  PNET_PNP_EVENT  NetPnPEvent);
-
-VOID
-DDKAPI
-NdisConvertStringToAtmAddress(
-    OUT PNDIS_STATUS    Status,
-    IN  PNDIS_STRING    String,
-    OUT PATM_ADDRESS    AtmAddress);
-
-VOID
-DDKAPI
-NdisGetCurrentProcessorCounts(
-    OUT PULONG  pIdleCount,
-    OUT PULONG  pKernelAndUser,
-    OUT PULONG  pIndex);
-
-VOID
-DDKAPI
-NdisGetDriverHandle(
-    IN  PNDIS_HANDLE    NdisBindingHandle,
-    OUT PNDIS_HANDLE    NdisDriverHandle);
-
-PNDIS_PACKET
-DDKAPI
-NdisGetReceivedPacket(
-    IN  PNDIS_HANDLE    NdisBindingHandle,
-    IN  PNDIS_HANDLE    MacContext);
-
-VOID
-DDKAPI
-NdisGetSystemUptime(
-    OUT PULONG  pSystemUpTime);
-
-VOID
-DDKAPI
-NdisInitializeReadWriteLock(
-    IN  PNDIS_RW_LOCK   Lock);
-
-LONG
-DDKAPI
-NdisInterlockedDecrement(
-    IN  PLONG   Addend);
-
-LONG
-DDKAPI
-NdisInterlockedIncrement(
-    IN  PLONG   Addend);
-
-PSINGLE_LIST_ENTRY
-DDKAPI
-NdisInterlockedPopEntrySList(
-    IN  PSLIST_HEADER   ListHead,
-    IN  PKSPIN_LOCK     Lock);
-
-PSINGLE_LIST_ENTRY
-DDKAPI
-NdisInterlockedPushEntrySList(
-    IN  PSLIST_HEADER       ListHead,
-    IN  PSINGLE_LIST_ENTRY  ListEntry,
-    IN  PKSPIN_LOCK         Lock);
-
-
-NDIS_STATUS
-DDKAPI
-NdisMDeregisterDevice(
-    IN  NDIS_HANDLE NdisDeviceHandle);
-
-VOID
-DDKAPI
-NdisMGetDeviceProperty(
-    IN      NDIS_HANDLE         MiniportAdapterHandle,
-    IN OUT  PDEVICE_OBJECT      *PhysicalDeviceObject           OPTIONAL,
-    IN OUT  PDEVICE_OBJECT      *FunctionalDeviceObject         OPTIONAL,
-    IN OUT  PDEVICE_OBJECT      *NextDeviceObject               OPTIONAL,
-    IN OUT  PCM_RESOURCE_LIST   *AllocatedResources             OPTIONAL,
-    IN OUT  PCM_RESOURCE_LIST   *AllocatedResourcesTranslated   OPTIONAL);
-
-NDIS_STATUS
-DDKAPI
-NdisMInitializeScatterGatherDma(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  BOOLEAN     Dma64BitAddresses,
-    IN  ULONG       MaximumPhysicalMapping);
-
-NDIS_STATUS
-DDKAPI
-NdisMPromoteMiniport(
-    IN  NDIS_HANDLE MiniportAdapterHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisMQueryAdapterInstanceName(
-    OUT PNDIS_STRING    AdapterInstanceName,
-    IN  NDIS_HANDLE     MiniportAdapterHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisMRegisterDevice(
-    IN  NDIS_HANDLE         NdisWrapperHandle,
-    IN  PNDIS_STRING        DeviceName,
-    IN  PNDIS_STRING        SymbolicName,
-    IN  PDRIVER_DISPATCH    MajorFunctions[],
-    OUT PDEVICE_OBJECT      *pDeviceObject,
-    OUT NDIS_HANDLE         *NdisDeviceHandle);
-
-VOID
-DDKAPI
-NdisMRegisterUnloadHandler(
-    IN  NDIS_HANDLE     NdisWrapperHandle,
-    IN  PDRIVER_UNLOAD  UnloadHandler);
-
-NDIS_STATUS
-DDKAPI
-NdisMRemoveMiniport(
-    IN  NDIS_HANDLE MiniportAdapterHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisMSetMiniportSecondary(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  NDIS_HANDLE PrimaryMiniportAdapterHandle);
-
-UINT
-DDKAPI
-NdisPacketPoolUsage(
-    IN  NDIS_HANDLE PoolHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisQueryAdapterInstanceName(
-    OUT PNDIS_STRING    AdapterInstanceName,
-    IN  NDIS_HANDLE     NdisBindingHandle);
-
-VOID
-DDKAPI
-NdisQueryBufferSafe(
-    IN  PNDIS_BUFFER    Buffer,
-    OUT PVOID           *VirtualAddress OPTIONAL,
-    OUT PUINT           Length,
-    IN  UINT            Priority);
-
-ULONG
-DDKAPI
-NdisReadPcmciaAttributeMemory(
-    IN  NDIS_HANDLE NdisAdapterHandle,
-    IN  ULONG       Offset,
-    IN  PVOID       Buffer,
-    IN  ULONG       Length);
-
-VOID
-DDKAPI
-NdisReleaseReadWriteLock(
-    IN  PNDIS_RW_LOCK   Lock,
-    IN  PLOCK_STATE     LockState);
-
-
-NDIS_STATUS
-DDKAPI
-NdisWriteEventLogEntry(
-    IN  PVOID       LogHandle,
-    IN  NDIS_STATUS EventCode,
-    IN  ULONG       UniqueEventValue,
-    IN  USHORT      NumStrings,
-    IN  PVOID       StringsList OPTIONAL,
-    IN  ULONG       DataSize,
-    IN  PVOID       Data        OPTIONAL);
-
-ULONG
-DDKAPI
-NdisWritePcmciaAttributeMemory(
-    IN  NDIS_HANDLE NdisAdapterHandle,
-    IN  ULONG       Offset,
-    IN  PVOID       Buffer,
-    IN  ULONG       Length);
-
-
-/* Connectionless services */
-
-NDIS_STATUS
-DDKAPI
-NdisClAddParty(
-    IN      NDIS_HANDLE         NdisVcHandle,
-    IN      NDIS_HANDLE         ProtocolPartyContext,
-    IN OUT  PCO_CALL_PARAMETERS CallParameters,
-    OUT     PNDIS_HANDLE        NdisPartyHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisClCloseAddressFamily(
-    IN  NDIS_HANDLE NdisAfHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisClCloseCall(
-    IN  NDIS_HANDLE NdisVcHandle,
-    IN  NDIS_HANDLE NdisPartyHandle OPTIONAL,
-    IN  PVOID       Buffer          OPTIONAL,
-    IN  UINT        Size);
-
-NDIS_STATUS
-DDKAPI
-NdisClDeregisterSap(
-    IN  NDIS_HANDLE NdisSapHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisClDropParty(
-    IN  NDIS_HANDLE NdisPartyHandle,
-    IN  PVOID       Buffer  OPTIONAL,
-    IN  UINT        Size);
-
-VOID
-DDKAPI
-NdisClIncomingCallComplete(
-    IN  NDIS_STATUS         Status,
-    IN  NDIS_HANDLE         NdisVcHandle,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-NDIS_STATUS
-DDKAPI
-NdisClMakeCall(
-    IN      NDIS_HANDLE         NdisVcHandle,
-    IN OUT  PCO_CALL_PARAMETERS CallParameters,
-    IN      NDIS_HANDLE         ProtocolPartyContext    OPTIONAL,
-    OUT     PNDIS_HANDLE        NdisPartyHandle         OPTIONAL);
-
-NDIS_STATUS 
-DDKAPI
-NdisClModifyCallQoS(
-    IN  NDIS_HANDLE         NdisVcHandle,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-
-NDIS_STATUS
-DDKAPI
-NdisClOpenAddressFamily(
-    IN  NDIS_HANDLE                     NdisBindingHandle,
-    IN  PCO_ADDRESS_FAMILY              AddressFamily,
-    IN  NDIS_HANDLE                     ProtocolAfContext,
-    IN  PNDIS_CLIENT_CHARACTERISTICS    ClCharacteristics,
-    IN  UINT                            SizeOfClCharacteristics,
-    OUT PNDIS_HANDLE                    NdisAfHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisClRegisterSap(
-    IN  NDIS_HANDLE     NdisAfHandle,
-    IN  NDIS_HANDLE     ProtocolSapContext,
-    IN  PCO_SAP         Sap,
-    OUT PNDIS_HANDLE    NdisSapHandle);
-
-
-/* Call Manager services */
-
-NDIS_STATUS
-DDKAPI
-NdisCmActivateVc(
-    IN      NDIS_HANDLE         NdisVcHandle,
-    IN OUT  PCO_CALL_PARAMETERS CallParameters);
-
-VOID
-DDKAPI
-NdisCmAddPartyComplete(
-    IN  NDIS_STATUS         Status,
-    IN  NDIS_HANDLE         NdisPartyHandle,
-    IN  NDIS_HANDLE         CallMgrPartyContext OPTIONAL,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-VOID
-DDKAPI
-NdisCmCloseAddressFamilyComplete(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE NdisAfHandle);
-
-VOID
-DDKAPI
-NdisCmCloseCallComplete(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE NdisVcHandle,
-    IN  NDIS_HANDLE NdisPartyHandle OPTIONAL);
-
-NDIS_STATUS
-DDKAPI
-NdisCmDeactivateVc(
-    IN  NDIS_HANDLE NdisVcHandle);
-
-VOID
-DDKAPI
-NdisCmDeregisterSapComplete(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE NdisSapHandle);
-
-VOID
-DDKAPI
-NdisCmDispatchCallConnected(
-    IN  NDIS_HANDLE NdisVcHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisCmDispatchIncomingCall(
-    IN  NDIS_HANDLE         NdisSapHandle,
-    IN  NDIS_HANDLE         NdisVcHandle,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-VOID
-DDKAPI
-NdisCmDispatchIncomingCallQoSChange(
-    IN  NDIS_HANDLE         NdisVcHandle,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-VOID
-DDKAPI
-NdisCmDispatchIncomingCloseCall(
-    IN  NDIS_STATUS CloseStatus,
-    IN  NDIS_HANDLE NdisVcHandle,
-    IN  PVOID       Buffer  OPTIONAL,
-    IN  UINT        Size);
-
-VOID
-DDKAPI
-NdisCmDispatchIncomingDropParty(
-    IN  NDIS_STATUS DropStatus,
-    IN  NDIS_HANDLE NdisPartyHandle,
-    IN  PVOID       Buffer  OPTIONAL,
-    IN  UINT        Size);
-
-VOID
-DDKAPI
-NdisCmDropPartyComplete(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE NdisPartyHandle);
-
-VOID
-DDKAPI
-NdisCmMakeCallComplete(
-    IN  NDIS_STATUS         Status,
-    IN  NDIS_HANDLE         NdisVcHandle,
-    IN  NDIS_HANDLE         NdisPartyHandle     OPTIONAL,
-    IN  NDIS_HANDLE         CallMgrPartyContext OPTIONAL,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-VOID
-DDKAPI
-NdisCmModifyCallQoSComplete(
-    IN  NDIS_STATUS         Status,
-    IN  NDIS_HANDLE         NdisVcHandle,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-VOID
-DDKAPI
-NdisCmOpenAddressFamilyComplete(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE NdisAfHandle,
-    IN  NDIS_HANDLE CallMgrAfContext);
-
-NDIS_STATUS
-DDKAPI
-NdisCmRegisterAddressFamily(
-    IN  NDIS_HANDLE                         NdisBindingHandle,
-    IN  PCO_ADDRESS_FAMILY                  AddressFamily,
-    IN  PNDIS_CALL_MANAGER_CHARACTERISTICS  CmCharacteristics,
-    IN  UINT                                SizeOfCmCharacteristics);
-
-VOID
-DDKAPI
-NdisCmRegisterSapComplete(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE NdisSapHandle,
-    IN  NDIS_HANDLE CallMgrSapContext);
-
-
-NDIS_STATUS
-DDKAPI
-NdisMCmActivateVc(
-    IN  NDIS_HANDLE         NdisVcHandle,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-NDIS_STATUS
-DDKAPI
-NdisMCmCreateVc(
-    IN  NDIS_HANDLE     MiniportAdapterHandle,
-    IN  NDIS_HANDLE     NdisAfHandle,
-    IN  NDIS_HANDLE     MiniportVcContext,
-    OUT PNDIS_HANDLE    NdisVcHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisMCmDeactivateVc(
-    IN  NDIS_HANDLE NdisVcHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisMCmDeleteVc(
-    IN  NDIS_HANDLE NdisVcHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisMCmRegisterAddressFamily(
-    IN  NDIS_HANDLE                         MiniportAdapterHandle,
-    IN  PCO_ADDRESS_FAMILY                  AddressFamily,
-    IN  PNDIS_CALL_MANAGER_CHARACTERISTICS  CmCharacteristics,
-    IN  UINT                                SizeOfCmCharacteristics);
-
-NDIS_STATUS
-DDKAPI
-NdisMCmRequest(
-    IN      NDIS_HANDLE     NdisAfHandle,
-    IN      NDIS_HANDLE     NdisVcHandle    OPTIONAL,
-    IN      NDIS_HANDLE     NdisPartyHandle OPTIONAL,
-    IN OUT  PNDIS_REQUEST   NdisRequest);
-
-
-/* Connection-oriented services */
-
-NDIS_STATUS
-DDKAPI
-NdisCoCreateVc(
-    IN  NDIS_HANDLE         NdisBindingHandle,
-    IN  NDIS_HANDLE         NdisAfHandle  OPTIONAL,
-    IN  NDIS_HANDLE         ProtocolVcContext,
-    IN  OUT PNDIS_HANDLE    NdisVcHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisCoDeleteVc(
-    IN  NDIS_HANDLE NdisVcHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisCoRequest(
-    IN      NDIS_HANDLE     NdisBindingHandle,
-    IN      NDIS_HANDLE     NdisAfHandle    OPTIONAL,
-    IN      NDIS_HANDLE     NdisVcHandle    OPTIONAL,
-    IN      NDIS_HANDLE     NdisPartyHandle OPTIONAL,
-    IN OUT  PNDIS_REQUEST   NdisRequest);
-
-VOID
-DDKAPI
-NdisCoRequestComplete(
-    IN  NDIS_STATUS     Status,
-    IN  NDIS_HANDLE     NdisAfHandle,
-    IN  NDIS_HANDLE     NdisVcHandle    OPTIONAL,
-    IN  NDIS_HANDLE     NdisPartyHandle OPTIONAL,
-    IN  PNDIS_REQUEST   NdisRequest);
-
-VOID
-DDKAPI
-NdisCoSendPackets(
-    IN  NDIS_HANDLE     NdisVcHandle,
-    IN  PPNDIS_PACKET   PacketArray,
-    IN  UINT            NumberOfPackets);
-
-
-VOID
-DDKAPI
-NdisMCoActivateVcComplete(
-    IN  NDIS_STATUS         Status,
-    IN  NDIS_HANDLE         NdisVcHandle,
-    IN  PCO_CALL_PARAMETERS CallParameters);
-
-VOID
-DDKAPI
-NdisMCoDeactivateVcComplete(
-    IN  NDIS_STATUS Status,
-    IN  NDIS_HANDLE NdisVcHandle);
-
-VOID
-DDKAPI
-NdisMCoIndicateReceivePacket(
-    IN  NDIS_HANDLE     NdisVcHandle,
-    IN  PPNDIS_PACKET   PacketArray,
-    IN  UINT            NumberOfPackets);
-
-VOID
-DDKAPI
-NdisMCoIndicateStatus(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  NDIS_HANDLE NdisVcHandle    OPTIONAL,
-    IN  NDIS_STATUS GeneralStatus,
-    IN  PVOID       StatusBuffer    OPTIONAL,
-    IN  ULONG       StatusBufferSize);
-
-VOID
-DDKAPI
-NdisMCoReceiveComplete(
-    IN  NDIS_HANDLE MiniportAdapterHandle);
-
-VOID
-DDKAPI
-NdisMCoRequestComplete(
-    IN  NDIS_STATUS     Status,
-    IN  NDIS_HANDLE     MiniportAdapterHandle,
-    IN  PNDIS_REQUEST   Request);
-
-VOID 
-DDKAPI
-NdisMCoSendComplete(
-    IN  NDIS_STATUS     Status,
-    IN  NDIS_HANDLE     NdisVcHandle,
-    IN  PNDIS_PACKET    Packet);
-
-
-/* NDIS 5.0 extensions for intermediate drivers */
-
-VOID
-DDKAPI
-NdisIMAssociateMiniport(
-    IN  NDIS_HANDLE DriverHandle,
-    IN  NDIS_HANDLE ProtocolHandle);
-
-NDIS_STATUS 
-DDKAPI
-NdisIMCancelInitializeDeviceInstance(
-    IN  NDIS_HANDLE     DriverHandle,
-    IN  PNDIS_STRING    DeviceInstance);
-
-VOID
-DDKAPI
-NdisIMCopySendCompletePerPacketInfo(
-    IN  PNDIS_PACKET    DstPacket,
-    IN  PNDIS_PACKET    SrcPacket);
-
-VOID
-DDKAPI
-NdisIMCopySendPerPacketInfo(
-    IN  PNDIS_PACKET    DstPacket,
-    IN  PNDIS_PACKET    SrcPacket);
-
-VOID
-DDKAPI
-NdisIMDeregisterLayeredMiniport(
-    IN  NDIS_HANDLE DriverHandle);
-
-NDIS_HANDLE
-DDKAPI
-NdisIMGetBindingContext(
-    IN  NDIS_HANDLE NdisBindingHandle);
-
-NDIS_HANDLE
-DDKAPI
-NdisIMGetDeviceContext(
-    IN  NDIS_HANDLE MiniportAdapterHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisIMInitializeDeviceInstanceEx(
-    IN  NDIS_HANDLE     DriverHandle,
-    IN  PNDIS_STRING    DriverInstance,
-    IN  NDIS_HANDLE     DeviceContext   OPTIONAL);
-
-//#endif /* NDIS50 */
-
-
-
-/* Prototypes for NDIS_MINIPORT_CHARACTERISTICS */
-
-typedef BOOLEAN
-(STDCALL *W_CHECK_FOR_HANG_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID
-(STDCALL *W_DISABLE_INTERRUPT_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID
-(STDCALL *W_ENABLE_INTERRUPT_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID
-(STDCALL *W_HALT_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID
-(STDCALL *W_HANDLE_INTERRUPT_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterContext);
-
-typedef NDIS_STATUS
-(STDCALL *W_INITIALIZE_HANDLER)(
-    OUT PNDIS_STATUS    OpenErrorStatus,
-    OUT PUINT           SelectedMediumIndex,
-    IN  PNDIS_MEDIUM    MediumArray,
-    IN  UINT            MediumArraySize,
-    IN  NDIS_HANDLE     MiniportAdapterContext,
-    IN  NDIS_HANDLE     WrapperConfigurationContext);
-
-typedef VOID
-(STDCALL *W_ISR_HANDLER)(
-    OUT PBOOLEAN                               InterruptRecognized,
-    OUT PBOOLEAN                               QueueMiniportHandleInterrupt,
-    IN NDIS_HANDLE                             MiniportAdapterContext);
-
-typedef NDIS_STATUS
-(STDCALL *W_QUERY_INFORMATION_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterContext,
-    IN  NDIS_OID    Oid,
-    IN  PVOID       InformationBuffer,
-    IN  ULONG       InformationBufferLength,
-    OUT PULONG      BytesWritten,
-    OUT PULONG      BytesNeeded);
-
-typedef NDIS_STATUS
-(STDCALL *W_RECONFIGURE_HANDLER)(
-    OUT PNDIS_STATUS    OpenErrorStatus,
-    IN  NDIS_HANDLE     MiniportAdapterContext,
-    IN  NDIS_HANDLE        WrapperConfigurationContext);
-
-typedef NDIS_STATUS
-(STDCALL *W_RESET_HANDLER)(
-    OUT PBOOLEAN    AddressingReset,
-    IN  NDIS_HANDLE MiniportAdapterContext);
-
-typedef NDIS_STATUS
-(STDCALL *W_SEND_HANDLER)(
-    IN  NDIS_HANDLE     MiniportAdapterContext,
-    IN  PNDIS_PACKET    Packet,
-    IN  UINT            Flags);
-
-typedef NDIS_STATUS
-(STDCALL *WM_SEND_HANDLER)(
-    IN  NDIS_HANDLE         MiniportAdapterContext,
-    IN  NDIS_HANDLE         NdisLinkHandle,
-    IN  PNDIS_WAN_PACKET    Packet);
-
-typedef NDIS_STATUS
-(STDCALL *W_SET_INFORMATION_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterContext,
-    IN  NDIS_OID    Oid,
-    IN  PVOID       InformationBuffer,
-    IN  ULONG       InformationBufferLength,
-    OUT PULONG      BytesRead,
-    OUT PULONG      BytesNeeded);
-
-typedef NDIS_STATUS
-(STDCALL *W_TRANSFER_DATA_HANDLER)(
-    OUT PNDIS_PACKET    Packet,
-    OUT PUINT           BytesTransferred,
-    IN  NDIS_HANDLE     MiniportAdapterContext,
-    IN  NDIS_HANDLE     MiniportReceiveContext,
-    IN  UINT            ByteOffset,
-    IN  UINT            BytesToTransfer);
-
-typedef NDIS_STATUS
-(STDCALL *WM_TRANSFER_DATA_HANDLER)(
-    VOID);
-
-
-/* NDIS structures available only to miniport drivers */
-
-/* Technology specific defines */
-
-#define DECLARE_UNKNOWN_STRUCT(BaseName) \
-    typedef struct _##BaseName BaseName, *P##BaseName;
-
-
-/* ARCnet */
-
-typedef struct _ARC_BUFFER_LIST
-{
-    PVOID                   Buffer;
-    UINT                    Size;
-    UINT                    BytesLeft;
-    struct _ARC_BUFFER_LIST *Next;
-} ARC_BUFFER_LIST, *PARC_BUFFER_LIST;
-
-DECLARE_UNKNOWN_STRUCT(ARC_FILTER)
-
-
-VOID
-DDKAPI
-ArcFilterDprIndicateReceive(
-    IN  PARC_FILTER Filter,
-    IN  PUCHAR      pRawHeader,
-    IN  PUCHAR      pData,
-    IN  UINT        Length);
-
-VOID
-DDKAPI
-ArcFilterDprIndicateReceiveComplete(
-    IN  PARC_FILTER Filter);
-
-
-/* Ethernet */
-
-#define ETH_LENGTH_OF_ADDRESS   6
-
-DECLARE_UNKNOWN_STRUCT(ETH_BINDING_INFO);
-
-typedef VOID (*ETH_ADDRESS_CHANGE)(VOID);
-typedef VOID (*ETH_FILTER_CHANGE)(VOID);
-typedef VOID (*ETH_DEFERRED_CLOSE)(VOID);
-
-typedef struct _ETH_FILTER
-{
-    PNDIS_SPIN_LOCK             Lock;
-    CHAR                        (*MCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
-    struct _NDIS_MINIPORT_BLOCK *Miniport;
-    UINT                        CombinedPacketFilter;
-    PETH_BINDING_INFO           OpenList;
-    ETH_ADDRESS_CHANGE          AddressChangeAction;
-    ETH_FILTER_CHANGE           FilterChangeAction;
-    ETH_DEFERRED_CLOSE          CloseAction;
-    UINT                        MaxMulticastAddresses;
-    UINT                        NumAddresses;
-    UCHAR                       AdapterAddress[ETH_LENGTH_OF_ADDRESS];
-    UINT                        OldCombinedPacketFilter;
-    CHAR                        (*OldMCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
-    UINT                        OldNumAddresses;
-    PETH_BINDING_INFO           DirectedList;
-    PETH_BINDING_INFO           BMList;
-    PETH_BINDING_INFO           MCastSet;
-#if 0
-#ifdef NDIS_WRAPPER
-       UINT                        NumOpens;
-       NDIS_RW_LOCK                BindListLock;
-#endif
-#endif
-} ETH_FILTER, *PETH_FILTER;
-
-
-NDIS_STATUS
-DDKAPI
-EthChangeFilterAddresses(
-    IN  PETH_FILTER     Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle,
-    IN  PNDIS_REQUEST   NdisRequest,
-    IN  UINT            AddressCount,
-    IN  CHAR            Addresses[] [ETH_LENGTH_OF_ADDRESS],
-    IN  BOOLEAN         Set);
-
-BOOLEAN
-DDKAPI
-EthCreateFilter(
-    IN  UINT                MaximumMulticastAddresses,
-    IN  ETH_ADDRESS_CHANGE  AddressChangeAction,
-    IN  ETH_FILTER_CHANGE   FilterChangeAction,
-    IN  ETH_DEFERRED_CLOSE  CloseAction,
-    IN  PUCHAR              AdapterAddress,
-    IN  PNDIS_SPIN_LOCK     Lock,
-    OUT PETH_FILTER         *Filter);
-
-VOID
-DDKAPI
-EthDeleteFilter(
-    IN  PETH_FILTER Filter);
-
-NDIS_STATUS
-DDKAPI
-EthDeleteFilterOpenAdapter(
-    IN  PETH_FILTER    Filter,
-    IN  NDIS_HANDLE    NdisFilterHandle,
-    IN  PNDIS_REQUEST  NdisRequest);
-
-NDIS_STATUS
-DDKAPI
-EthFilterAdjust(
-    IN  PETH_FILTER     Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle,
-    IN  PNDIS_REQUEST   NdisRequest,
-    IN  UINT            FilterClasses,
-    IN  BOOLEAN         Set);
-
-VOID
-DDKAPI
-EthFilterIndicateReceive(
-    IN PETH_FILTER Filter,
-    IN NDIS_HANDLE MacReceiveContext,
-    IN PCHAR       Address,
-    IN PVOID       HeaderBuffer,
-    IN UINT        HeaderBufferSize,
-    IN PVOID       LookaheadBuffer,
-    IN UINT        LookaheadBufferSize,
-    IN UINT        PacketSize);
-
-VOID
-DDKAPI
-EthFilterIndicateReceiveComplete(
-    IN  PETH_FILTER Filter);
-
-BOOLEAN
-DDKAPI
-EthNoteFilterOpenAdapter(
-    IN  PETH_FILTER     Filter,
-    IN  NDIS_HANDLE     MacBindingHandle,
-    IN  NDIS_HANDLE     NdisBindingContext,
-    OUT PNDIS_HANDLE    NdisFilterHandle);
-
-UINT
-DDKAPI
-EthNumberOfOpenFilterAddresses(
-    IN  PETH_FILTER Filter,
-    IN  NDIS_HANDLE NdisFilterHandle);
-
-VOID
-DDKAPI
-EthQueryGlobalFilterAddresses (
-    OUT PNDIS_STATUS    Status,
-    IN  PETH_FILTER     Filter,
-    IN  UINT            SizeOfArray,
-    OUT PUINT           NumberOfAddresses,
-    IN  OUT    CHAR        AddressArray[] [ETH_LENGTH_OF_ADDRESS]);
-
-VOID
-DDKAPI
-EthQueryOpenFilterAddresses(
-    OUT            PNDIS_STATUS    Status,
-    IN     PETH_FILTER     Filter,
-    IN     NDIS_HANDLE     NdisFilterHandle,
-    IN     UINT            SizeOfArray,
-    OUT            PUINT           NumberOfAddresses,
-    IN OUT  CHAR            AddressArray[] [ETH_LENGTH_OF_ADDRESS]);
-
-BOOLEAN
-DDKAPI
-EthShouldAddressLoopBack(
-    IN  PETH_FILTER Filter,
-    IN  CHAR        Address[ETH_LENGTH_OF_ADDRESS]);
-
-
-/* FDDI */
-
-#define FDDI_LENGTH_OF_LONG_ADDRESS     6
-#define FDDI_LENGTH_OF_SHORT_ADDRESS    2
-
-DECLARE_UNKNOWN_STRUCT(FDDI_FILTER)
-
-typedef VOID (*FDDI_ADDRESS_CHANGE)(VOID);
-typedef VOID (*FDDI_FILTER_CHANGE)(VOID);
-typedef VOID (*FDDI_DEFERRED_CLOSE)(VOID);
-
-
-NDIS_STATUS
-DDKAPI
-FddiChangeFilterLongAddresses(
-    IN  PFDDI_FILTER    Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle,
-    IN  PNDIS_REQUEST   NdisRequest,
-    IN  UINT            AddressCount,
-    IN  CHAR            Addresses[] [FDDI_LENGTH_OF_LONG_ADDRESS],
-    IN  BOOLEAN         Set);
-
-NDIS_STATUS
-DDKAPI
-FddiChangeFilterShortAddresses(
-    IN  PFDDI_FILTER    Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle,
-    IN  PNDIS_REQUEST   NdisRequest,
-    IN  UINT            AddressCount,
-    IN  CHAR            Addresses[] [FDDI_LENGTH_OF_SHORT_ADDRESS],
-    IN  BOOLEAN         Set);
-
-BOOLEAN
-DDKAPI
-FddiCreateFilter(
-    IN  UINT                MaximumMulticastLongAddresses,
-    IN  UINT                MaximumMulticastShortAddresses,
-    IN  FDDI_ADDRESS_CHANGE AddressChangeAction,
-    IN  FDDI_FILTER_CHANGE  FilterChangeAction,
-    IN  FDDI_DEFERRED_CLOSE CloseAction,
-    IN  PUCHAR              AdapterLongAddress,
-    IN  PUCHAR              AdapterShortAddress,
-    IN  PNDIS_SPIN_LOCK     Lock,
-    OUT PFDDI_FILTER        *Filter);
-
-VOID
-DDKAPI
-FddiDeleteFilter(
-    IN  PFDDI_FILTER    Filter);
-
-NDIS_STATUS
-DDKAPI
-FddiDeleteFilterOpenAdapter(
-    IN  PFDDI_FILTER    Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle,
-    IN  PNDIS_REQUEST   NdisRequest);
-
-NDIS_STATUS
-DDKAPI
-FddiFilterAdjust(
-    IN  PFDDI_FILTER    Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle,
-    IN  PNDIS_REQUEST   NdisRequest,
-    IN  UINT            FilterClasses,
-    IN  BOOLEAN         Set);
-
-VOID
-DDKAPI
-FddiFilterIndicateReceive(
-    IN  PFDDI_FILTER    Filter,
-    IN  NDIS_HANDLE     MacReceiveContext,
-    IN  PCHAR           Address,
-    IN  UINT            AddressLength,
-    IN  PVOID           HeaderBuffer,
-    IN  UINT            HeaderBufferSize,
-    IN  PVOID           LookaheadBuffer,
-    IN  UINT            LookaheadBufferSize,
-    IN  UINT            PacketSize);
-
-VOID
-DDKAPI
-FddiFilterIndicateReceiveComplete(
-    IN  PFDDI_FILTER    Filter);
-
-BOOLEAN
-DDKAPI
-FddiNoteFilterOpenAdapter(
-    IN  PFDDI_FILTER    Filter,
-    IN  NDIS_HANDLE     MacBindingHandle,
-    IN  NDIS_HANDLE     NdisBindingContext,
-    OUT PNDIS_HANDLE    NdisFilterHandle);
-
-UINT
-DDKAPI
-FddiNumberOfOpenFilterLongAddresses(
-    IN  PFDDI_FILTER    Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle);
-
-UINT
-DDKAPI
-FddiNumberOfOpenFilterShortAddresses(
-    IN  PFDDI_FILTER    Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle);
-
-VOID
-DDKAPI
-FddiQueryGlobalFilterLongAddresses(
-    OUT     PNDIS_STATUS    Status,
-    IN      PFDDI_FILTER    Filter,
-    IN      UINT            SizeOfArray,
-    OUT     PUINT           NumberOfAddresses,
-    IN OUT  CHAR            AddressArray[] [FDDI_LENGTH_OF_LONG_ADDRESS]);
-
-VOID
-DDKAPI
-FddiQueryGlobalFilterShortAddresses(
-    OUT     PNDIS_STATUS    Status,
-    IN      PFDDI_FILTER    Filter,
-    IN      UINT            SizeOfArray,
-    OUT     PUINT           NumberOfAddresses,
-    IN OUT  CHAR            AddressArray[] [FDDI_LENGTH_OF_SHORT_ADDRESS]);
-
-VOID
-DDKAPI
-FddiQueryOpenFilterLongAddresses(
-    OUT     PNDIS_STATUS    Status,
-    IN      PFDDI_FILTER    Filter,
-    IN      NDIS_HANDLE     NdisFilterHandle,
-    IN      UINT            SizeOfArray,
-    OUT     PUINT           NumberOfAddresses,
-    IN OUT  CHAR            AddressArray[] [FDDI_LENGTH_OF_LONG_ADDRESS]);
-
-VOID
-DDKAPI
-FddiQueryOpenFilterShortAddresses(
-    OUT     PNDIS_STATUS    Status,
-    IN      PFDDI_FILTER    Filter,
-    IN      NDIS_HANDLE     NdisFilterHandle,
-    IN      UINT            SizeOfArray,
-    OUT     PUINT           NumberOfAddresses,
-    IN OUT  CHAR            AddressArray[] [FDDI_LENGTH_OF_SHORT_ADDRESS]);
-
-BOOLEAN
-DDKAPI
-FddiShouldAddressLoopBack(
-    IN  PFDDI_FILTER    Filter,
-    IN  CHAR            Address[],
-    IN  UINT            LengthOfAddress);
-
-
-/* Token Ring */
-
-#define TR_LENGTH_OF_FUNCTIONAL 4
-#define TR_LENGTH_OF_ADDRESS    6
-
-DECLARE_UNKNOWN_STRUCT(TR_FILTER)
-
-typedef VOID (*TR_ADDRESS_CHANGE)(VOID);
-typedef VOID (*TR_GROUP_CHANGE)(VOID);
-typedef VOID (*TR_FILTER_CHANGE)(VOID);
-typedef VOID (*TR_DEFERRED_CLOSE)(VOID);
-
-
-NDIS_STATUS
-DDKAPI
-TrChangeFunctionalAddress(
-    IN  PTR_FILTER      Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle,
-    IN  PNDIS_REQUEST   NdisRequest,
-    IN  CHAR            FunctionalAddressArray[TR_LENGTH_OF_FUNCTIONAL],
-    IN  BOOLEAN         Set);
-
-NDIS_STATUS
-DDKAPI
-TrChangeGroupAddress(
-    IN  PTR_FILTER      Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle,
-    IN  PNDIS_REQUEST   NdisRequest,
-    IN  CHAR            GroupAddressArray[TR_LENGTH_OF_FUNCTIONAL],
-    IN  BOOLEAN         Set);
-
-BOOLEAN
-DDKAPI
-TrCreateFilter(
-    IN  TR_ADDRESS_CHANGE   AddressChangeAction,
-    IN  TR_GROUP_CHANGE     GroupChangeAction,
-    IN  TR_FILTER_CHANGE    FilterChangeAction,
-    IN  TR_DEFERRED_CLOSE   CloseAction,
-    IN  PUCHAR              AdapterAddress,
-    IN  PNDIS_SPIN_LOCK     Lock,
-    OUT PTR_FILTER          *Filter);
-
-VOID
-DDKAPI
-TrDeleteFilter(
-    IN  PTR_FILTER  Filter);
-
-NDIS_STATUS
-DDKAPI
-TrDeleteFilterOpenAdapter (
-    IN  PTR_FILTER      Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle,
-    IN  PNDIS_REQUEST   NdisRequest);
-
-NDIS_STATUS
-DDKAPI
-TrFilterAdjust(
-    IN  PTR_FILTER      Filter,
-    IN  NDIS_HANDLE     NdisFilterHandle,
-    IN  PNDIS_REQUEST   NdisRequest,
-    IN  UINT            FilterClasses,
-    IN  BOOLEAN         Set);
-
-VOID
-DDKAPI
-TrFilterIndicateReceive(
-    IN  PTR_FILTER  Filter,
-    IN  NDIS_HANDLE MacReceiveContext,
-    IN  PVOID       HeaderBuffer,
-    IN  UINT        HeaderBufferSize,
-    IN  PVOID       LookaheadBuffer,
-    IN  UINT        LookaheadBufferSize,
-    IN  UINT        PacketSize);
-
-VOID
-DDKAPI
-TrFilterIndicateReceiveComplete(
-    IN  PTR_FILTER  Filter);
-
-BOOLEAN
-DDKAPI
-TrNoteFilterOpenAdapter(
-    IN  PTR_FILTER      Filter,
-    IN  NDIS_HANDLE     MacBindingHandle,
-    IN  NDIS_HANDLE     NdisBindingContext,
-    OUT PNDIS_HANDLE    NdisFilterHandle);
-
-BOOLEAN
-DDKAPI
-TrShouldAddressLoopBack(
-    IN  PTR_FILTER  Filter,
-    IN  CHAR        DestinationAddress[TR_LENGTH_OF_ADDRESS],
-    IN  CHAR        SourceAddress[TR_LENGTH_OF_ADDRESS]);
-
-
-
-#ifdef _MSC_VER
-typedef struct _NDIS30_MINIPORT_CHARACTERISTICS
-{
-    UCHAR                           MajorNdisVersion;
-    UCHAR                           MinorNdisVersion;
-    UINT                            Reserved;
-    W_CHECK_FOR_HANG_HANDLER        CheckForHangHandler;
-    W_DISABLE_INTERRUPT_HANDLER     DisableInterruptHandler;
-    W_ENABLE_INTERRUPT_HANDLER      EnableInterruptHandler;
-    W_HALT_HANDLER                  HaltHandler;
-    W_HANDLE_INTERRUPT_HANDLER      HandleInterruptHandler;
-    W_INITIALIZE_HANDLER            InitializeHandler;
-    W_ISR_HANDLER                   ISRHandler;
-    W_QUERY_INFORMATION_HANDLER     QueryInformationHandler;
-    W_RECONFIGURE_HANDLER           ReconfigureHandler;
-    W_RESET_HANDLER                 ResetHandler;
-    union
-    {
-        W_SEND_HANDLER              SendHandler;
-        WM_SEND_HANDLER             WanSendHandler;
-    } u1;
-    W_SET_INFORMATION_HANDLER       SetInformationHandler;
-    union
-    {
-        W_TRANSFER_DATA_HANDLER     TransferDataHandler;
-        WM_TRANSFER_DATA_HANDLER    WanTransferDataHandler;
-    } u2;
-} NDIS30_MINIPORT_CHARACTERISTICS;
-typedef NDIS30_MINIPORT_CHARACTERISTICS NDIS30_MINIPORT_CHARACTERISTICS_S;
-#else
-#define NDIS30_MINIPORT_CHARACTERISTICS \
-    UCHAR                           MajorNdisVersion; \
-    UCHAR                           MinorNdisVersion; \
-    UINT                            Reserved; \
-    W_CHECK_FOR_HANG_HANDLER        CheckForHangHandler; \
-    W_DISABLE_INTERRUPT_HANDLER     DisableInterruptHandler; \
-    W_ENABLE_INTERRUPT_HANDLER      EnableInterruptHandler; \
-    W_HALT_HANDLER                  HaltHandler; \
-    W_HANDLE_INTERRUPT_HANDLER      HandleInterruptHandler; \
-    W_INITIALIZE_HANDLER            InitializeHandler; \
-    W_ISR_HANDLER                   ISRHandler; \
-    W_QUERY_INFORMATION_HANDLER     QueryInformationHandler; \
-    W_RECONFIGURE_HANDLER           ReconfigureHandler; \
-    W_RESET_HANDLER                 ResetHandler; \
-    union { \
-        W_SEND_HANDLER              SendHandler; \
-        WM_SEND_HANDLER             WanSendHandler; \
-    } u1; \
-    W_SET_INFORMATION_HANDLER       SetInformationHandler; \
-    union { \
-        W_TRANSFER_DATA_HANDLER     TransferDataHandler; \
-        WM_TRANSFER_DATA_HANDLER    WanTransferDataHandler; \
-    } u2; 
-
-typedef struct _NDIS30_MINIPORT_CHARACTERISTICS_S {
-   NDIS30_MINIPORT_CHARACTERISTICS;
-} NDIS30_MINIPORT_CHARACTERISTICS_S, *PSNDIS30_MINIPORT_CHARACTERISTICS_S;
-#endif
-
-/* Extensions for NDIS 4.0 miniports */
-
-typedef VOID
-(STDCALL *W_SEND_PACKETS_HANDLER)(
-    IN  NDIS_HANDLE     MiniportAdapterContext,
-    IN  PPNDIS_PACKET   PacketArray,
-    IN  UINT            NumberOfPackets);
-
-#ifdef NDIS40
-
-typedef VOID
-(STDCALL *W_RETURN_PACKET_HANDLER)(
-    IN  NDIS_HANDLE     MiniportAdapterContext,
-    IN  PNDIS_PACKET    Packet);
-
-typedef VOID
-(STDCALL *W_ALLOCATE_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE             MiniportAdapterContext,
-    IN  PVOID                   VirtualAddress,
-    IN  PNDIS_PHYSICAL_ADDRESS  PhysicalAddress,
-    IN  ULONG                   Length,
-    IN  PVOID                   Context);
-
-#ifdef _MSC_VER
-typedef struct _NDIS40_MINIPORT_CHARACTERISTICS
-{
-    NDIS30_MINIPORT_CHARACTERISTICS;
-
-    W_RETURN_PACKET_HANDLER     ReturnPacketHandler;
-    W_SEND_PACKETS_HANDLER      SendPacketsHandler;
-    W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
-} NDIS40_MINIPORT_CHARACTERISTICS;
-typedef NDIS40_MINIPORT_CHARACTERISTICS NDIS40_MINIPORT_CHARACTERISTICS_S;
-#else
-#define NDIS40_MINIPORT_CHARACTERISTICS \
-    NDIS30_MINIPORT_CHARACTERISTICS; \
-    W_RETURN_PACKET_HANDLER     ReturnPacketHandler; \
-    W_SEND_PACKETS_HANDLER      SendPacketsHandler; \
-    W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
-typedef struct _NDIS40_MINIPORT_CHARACTERISTICS_S
-{
-   NDIS40_MINIPORT_CHARACTERISTICS;
-} NDIS40_MINIPORT_CHARACTERISTICS_S, *PSNDIS40_MINIPORT_CHARACTERISTICS_S;
-#endif
-
-#endif /* NDIS40 */
-
-/* Extensions for NDIS 5.0 miniports */
-
-#ifdef NDIS50
-
-typedef NDIS_STATUS
-(STDCALL *W_CO_CREATE_VC_HANDLER)(
-    IN  NDIS_HANDLE     MiniportAdapterContext,
-    IN  NDIS_HANDLE     NdisVcHandle,
-    OUT PNDIS_HANDLE    MiniportVcContext);
-
-typedef NDIS_STATUS
-(STDCALL *W_CO_DELETE_VC_HANDLER)(
-    IN  NDIS_HANDLE MiniportVcContext);
-
-typedef NDIS_STATUS
-(STDCALL *W_CO_ACTIVATE_VC_HANDLER)(
-    IN      NDIS_HANDLE         MiniportVcContext,
-    IN OUT  PCO_CALL_PARAMETERS CallParameters);
-
-typedef NDIS_STATUS
-(STDCALL *W_CO_DEACTIVATE_VC_HANDLER)(
-    IN  NDIS_HANDLE MiniportVcContext);
-
-typedef VOID
-(STDCALL *W_CO_SEND_PACKETS_HANDLER)(
-    IN  NDIS_HANDLE     MiniportVcContext,
-    IN  PPNDIS_PACKET   PacketArray,
-    IN  UINT            NumberOfPackets);
-
-typedef NDIS_STATUS
-(STDCALL *W_CO_REQUEST_HANDLER)(
-    IN      NDIS_HANDLE     MiniportAdapterContext,
-    IN      NDIS_HANDLE     MiniportVcContext   OPTIONAL,
-    IN OUT  PNDIS_REQUEST   NdisRequest);
-
-#ifdef _MSC_VER
-typedef struct _NDIS50_MINIPORT_CHARACTERISTICS {
-    NDIS40_MINIPORT_CHARACTERISTICS;
-
-    W_CO_CREATE_VC_HANDLER      CoCreateVcHandler;
-    W_CO_DELETE_VC_HANDLER         CoDeleteVcHandler;
-    W_CO_ACTIVATE_VC_HANDLER    CoActivateVcHandler;
-    W_CO_DEACTIVATE_VC_HANDLER  CoDeactivateVcHandler;
-    W_CO_SEND_PACKETS_HANDLER   CoSendPacketsHandler;
-    W_CO_REQUEST_HANDLER        CoRequestHandler;
-} NDIS50_MINIPORT_CHARACTERISTICS;
-typedef NDIS50_MINIPORT_CHARACTERISTICS NDIS50_MINIPORT_CHARACTERISTICS_S;
-#else
-#define NDIS50_MINIPORT_CHARACTERISTICS \
-    NDIS40_MINIPORT_CHARACTERISTICS; \
-    W_CO_CREATE_VC_HANDLER      CoCreateVcHandler; \
-    W_CO_DELETE_VC_HANDLER         CoDeleteVcHandler; \
-    W_CO_ACTIVATE_VC_HANDLER    CoActivateVcHandler; \
-    W_CO_DEACTIVATE_VC_HANDLER  CoDeactivateVcHandler; \
-    W_CO_SEND_PACKETS_HANDLER   CoSendPacketsHandler; \
-    W_CO_REQUEST_HANDLER        CoRequestHandler;
-typedef struct _NDIS50_MINIPORT_CHARACTERISTICS_S {
-   NDIS50_MINIPORT_CHARACTERISTICS;
-} NDIS50_MINIPORT_CHARACTERISTICS_S, *PSNDIS50_MINIPORT_CHARACTERISTICS_S;
-#endif
-
-#endif /* NDIS50 */
-
-
-#ifndef NDIS50
-#ifndef NDIS40
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS  
-{
-   NDIS30_MINIPORT_CHARACTERISTICS;
-} NDIS_MINIPORT_CHARACTERISTICS;
-#else /* NDIS40 */
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS 
-{
-   NDIS40_MINIPORT_CHARACTERISTICS;
-} NDIS_MINIPORT_CHARACTERISTICS;
-#endif /* NDIS40 */
-#else /* NDIS50 */
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS  
-{
-   NDIS50_MINIPORT_CHARACTERISTICS;
-} NDIS_MINIPORT_CHARACTERISTICS;
-#endif /* NDIS50 */
-
-typedef        NDIS_MINIPORT_CHARACTERISTICS *PNDIS_MINIPORT_CHARACTERISTICS;
-
-
-
-typedef NDIS_STATUS
-(STDCALL *SEND_HANDLER)(
-    IN  NDIS_HANDLE     MacBindingHandle,
-    IN  PNDIS_PACKET    Packet);
-
-typedef NDIS_STATUS
-(STDCALL *TRANSFER_DATA_HANDLER)(
-    IN  NDIS_HANDLE     MacBindingHandle,
-    IN  NDIS_HANDLE     MacReceiveContext,
-    IN  UINT            ByteOffset,
-    IN  UINT            BytesToTransfer,
-    OUT PNDIS_PACKET    Packet,
-    OUT PUINT           BytesTransferred);
-
-typedef NDIS_STATUS
-(STDCALL *RESET_HANDLER)(
-    IN  NDIS_HANDLE MacBindingHandle);
-
-typedef NDIS_STATUS
-(STDCALL *REQUEST_HANDLER)(
-    IN  NDIS_HANDLE     MacBindingHandle,
-    IN  PNDIS_REQUEST   NdisRequest);
-
-
-
-/* Structures available only to full MAC drivers */
-
-typedef BOOLEAN
-(*PNDIS_INTERRUPT_SERVICE)(
-    IN  PVOID   InterruptContext);
-
-typedef VOID
-(*PNDIS_DEFERRED_PROCESSING)(
-    IN  PVOID   SystemSpecific1,
-    IN  PVOID   InterruptContext,
-    IN  PVOID   SystemSpecific2,
-    IN  PVOID   SystemSpecific3);
-
-
-typedef struct _NDIS_INTERRUPT
-{
-    PKINTERRUPT                 InterruptObject;
-    KSPIN_LOCK                  DpcCountLock;
-    PNDIS_INTERRUPT_SERVICE     MacIsr;
-    PNDIS_DEFERRED_PROCESSING   MacDpc;
-    KDPC                        InterruptDpc;
-    PVOID                       InterruptContext;
-    UCHAR                       DpcCount;
-    BOOLEAN                     Removing;
-    /* Used to tell when all DPCs for the adapter are completed */
-    KEVENT                                             DpcsCompletedEvent;
-} NDIS_INTERRUPT, *PNDIS_INTERRUPT;
-
-
-/* NDIS adapter information */
-
-typedef NDIS_STATUS (*PNDIS_ACTIVATE_CALLBACK)(
-    IN  NDIS_HANDLE NdisAdatperHandle,
-    IN  NDIS_HANDLE MacAdapterContext,
-    IN  ULONG       DmaChannel);
-
-typedef struct _NDIS_PORT_DESCRIPTOR
-{
-    ULONG   InitialPort;
-    ULONG   NumberOfPorts;
-    PVOID * PortOffset;
-} NDIS_PORT_DESCRIPTOR, *PNDIS_PORT_DESCRIPTOR;
-
-typedef struct _NDIS_ADAPTER_INFORMATION
-{
-    ULONG                   DmaChannel;
-    BOOLEAN                    Master;
-    BOOLEAN                    Dma32BitAddresses;
-    PNDIS_ACTIVATE_CALLBACK ActivateCallback;
-    NDIS_INTERFACE_TYPE     AdapterType;
-    ULONG                   PhysicalMapRegistersNeeded;
-    ULONG                   MaximumPhysicalMapping;
-    ULONG                   NumberOfPortDescriptors;
-    NDIS_PORT_DESCRIPTOR    PortDescriptors[1];
-} NDIS_ADAPTER_INFORMATION, *PNDIS_ADAPTER_INFORMATION;
-
-
-/* Prototypes for NDIS_MAC_CHARACTERISTICS */
-
-typedef NDIS_STATUS STDCALL_FUNC (*OPEN_ADAPTER_HANDLER)(
-    OUT PNDIS_STATUS    OpenErrorStatus,
-    OUT NDIS_HANDLE *   MacBindingHandle,
-    OUT PUINT           SelectedMediumIndex,
-    IN  PNDIS_MEDIUM    MediumArray,
-    IN  UINT            MediumArraySize,
-    IN  NDIS_HANDLE     NdisBindingContext,
-    IN  NDIS_HANDLE     MacAdapterContext,
-    IN  UINT            OpenOptions,
-    IN  PSTRING         AddressingInformation OPTIONAL);
-
-typedef NDIS_STATUS STDCALL_FUNC (*CLOSE_ADAPTER_HANDLER)(
-    IN  NDIS_HANDLE MacBindingHandle);
-
-typedef NDIS_STATUS STDCALL_FUNC (*WAN_TRANSFER_DATA_HANDLER)(
-    VOID);
-
-typedef NDIS_STATUS STDCALL_FUNC (*QUERY_GLOBAL_STATISTICS_HANDLER)(
-    IN  NDIS_HANDLE     MacAdapterContext,
-    IN  PNDIS_REQUEST   NdisRequest);
-
-typedef VOID STDCALL_FUNC (*UNLOAD_MAC_HANDLER)(
-    IN  NDIS_HANDLE MacMacContext);
-
-typedef NDIS_STATUS STDCALL_FUNC (*ADD_ADAPTER_HANDLER)(
-    IN  NDIS_HANDLE     MacMacContext,
-    IN  NDIS_HANDLE     WrapperConfigurationContext,
-    IN  PNDIS_STRING    AdapterName);
-
-typedef VOID STDCALL_FUNC (*REMOVE_ADAPTER_HANDLER)(
-    IN  NDIS_HANDLE MacAdapterContext);
-
-typedef struct _NDIS_MAC_CHARACTERISTICS
-{
-    UCHAR                           MajorNdisVersion;
-    UCHAR                           MinorNdisVersion;
-    UINT                            Reserved;
-    OPEN_ADAPTER_HANDLER            OpenAdapterHandler;
-    CLOSE_ADAPTER_HANDLER           CloseAdapterHandler;
-    SEND_HANDLER                    SendHandler;
-    TRANSFER_DATA_HANDLER           TransferDataHandler;
-    RESET_HANDLER                   ResetHandler;
-    REQUEST_HANDLER                 RequestHandler;
-    QUERY_GLOBAL_STATISTICS_HANDLER QueryGlobalStatisticsHandler;
-    UNLOAD_MAC_HANDLER              UnloadMacHandler;
-    ADD_ADAPTER_HANDLER             AddAdapterHandler;
-    REMOVE_ADAPTER_HANDLER          RemoveAdapterHandler;
-    NDIS_STRING                     Name;
-} NDIS_MAC_CHARACTERISTICS, *PNDIS_MAC_CHARACTERISTICS;
-
-typedef        NDIS_MAC_CHARACTERISTICS        NDIS_WAN_MAC_CHARACTERISTICS;
-typedef        NDIS_WAN_MAC_CHARACTERISTICS    *PNDIS_WAN_MAC_CHARACTERISTICS;
-
-
-
-VOID
-DDKAPI
-NdisAllocateSharedMemory(
-    IN  NDIS_HANDLE             NdisAdapterHandle,
-    IN  ULONG                   Length,
-    IN  BOOLEAN                 Cached,
-    OUT PVOID                   *VirtualAddress,
-    OUT PNDIS_PHYSICAL_ADDRESS  PhysicalAddress);
-
-VOID
-DDKAPI
-NdisCompleteCloseAdapter(
-    IN  NDIS_HANDLE NdisBindingContext,
-    IN  NDIS_STATUS Status);
-
-VOID
-DDKAPI
-NdisCompleteOpenAdapter(
-    IN  NDIS_HANDLE NdisBindingContext,
-    IN  NDIS_STATUS Status,
-    IN  NDIS_STATUS OpenErrorStatus);
-
-NDIS_STATUS
-DDKAPI
-NdisDeregisterAdapter(
-    IN  NDIS_HANDLE NdisAdapterHandle);
-
-VOID
-DDKAPI
-NdisDeregisterAdapterShutdownHandler(
-    IN  NDIS_HANDLE NdisAdapterHandle);
-
-VOID
-DDKAPI
-NdisFreeSharedMemory(
-    IN  NDIS_HANDLE             NdisAdapterHandle,
-    IN  ULONG                   Length,
-    IN  BOOLEAN                 Cached,
-    IN  PVOID                   VirtualAddress,
-    IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
-
-VOID
-DDKAPI
-NdisInitializeInterrupt(
-    OUT     PNDIS_STATUS                Status,
-    IN OUT  PNDIS_INTERRUPT             Interrupt,
-    IN      NDIS_HANDLE                 NdisAdapterHandle,
-    IN      PNDIS_INTERRUPT_SERVICE     InterruptServiceRoutine,
-    IN      PVOID                       InterruptContext,
-    IN      PNDIS_DEFERRED_PROCESSING   DeferredProcessingRoutine,
-    IN      UINT                        InterruptVector,
-    IN      UINT                        InterruptLevel,
-    IN      BOOLEAN                     SharedInterrupt,
-    IN      NDIS_INTERRUPT_MODE         InterruptMode);
-
-VOID
-DDKAPI
-NdisMapIoSpace(
-    OUT PNDIS_STATUS            Status,
-    OUT PVOID                   *VirtualAddress,
-    IN  NDIS_HANDLE             NdisAdapterHandle,
-    IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress,
-    IN  UINT                    Length);
-
-NDIS_STATUS
-DDKAPI
-NdisRegisterAdapter(
-    OUT PNDIS_HANDLE    NdisAdapterHandle,
-    IN  NDIS_HANDLE     NdisMacHandle,
-    IN  NDIS_HANDLE     MacAdapterContext,
-    IN  NDIS_HANDLE     WrapperConfigurationContext,
-    IN  PNDIS_STRING    AdapterName,
-    IN  PVOID           AdapterInformation);
-
-VOID
-DDKAPI
-NdisRegisterAdapterShutdownHandler(
-    IN  NDIS_HANDLE                 NdisAdapterHandle,
-    IN  PVOID                       ShutdownContext,
-    IN  ADAPTER_SHUTDOWN_HANDLER    ShutdownHandler);
-
-VOID
-DDKAPI
-NdisRegisterMac(
-    OUT PNDIS_STATUS                Status,
-    OUT PNDIS_HANDLE                NdisMacHandle,
-    IN  NDIS_HANDLE                 NdisWrapperHandle,
-    IN  NDIS_HANDLE                 MacMacContext,
-    IN  PNDIS_MAC_CHARACTERISTICS   MacCharacteristics,
-    IN  UINT                        CharacteristicsLength);
-
-VOID
-DDKAPI
-NdisReleaseAdapterResources(
-    IN  NDIS_HANDLE NdisAdapterHandle);
-
-VOID
-DDKAPI
-NdisRemoveInterrupt(
-    IN  PNDIS_INTERRUPT Interrupt);
-
-
-
-typedef struct _NDIS_MAC_BLOCK      NDIS_MAC_BLOCK,      *PNDIS_MAC_BLOCK;
-typedef struct _NDIS_ADAPTER_BLOCK     NDIS_ADAPTER_BLOCK,  *PNDIS_ADAPTER_BLOCK;
-typedef struct _NDIS_MINIPORT_BLOCK NDIS_MINIPORT_BLOCK, *PNDIS_MINIPORT_BLOCK;
-typedef struct _NDIS_PROTOCOL_BLOCK NDIS_PROTOCOL_BLOCK, *PNDIS_PROTOCOL_BLOCK;
-typedef struct _NDIS_OPEN_BLOCK                NDIS_OPEN_BLOCK,     *PNDIS_OPEN_BLOCK;
-typedef struct _NDIS_M_DRIVER_BLOCK NDIS_M_DRIVER_BLOCK, *PNDIS_M_DRIVER_BLOCK;
-typedef        struct _NDIS_AF_LIST        NDIS_AF_LIST,        *PNDIS_AF_LIST;
-typedef        struct _NULL_FILTER         NULL_FILTER,         *PNULL_FILTER;
-
-
-typedef struct _REFERENCE {
-    KSPIN_LOCK  SpinLock;
-    USHORT      ReferenceCount;
-    BOOLEAN     Closing;
-} REFERENCE, *PREFERENCE;
-
-typedef struct _NDIS_MINIPORT_INTERRUPT {
-    PKINTERRUPT                 InterruptObject;
-    KSPIN_LOCK                  DpcCountLock;
-    PVOID                       MiniportIdField;
-    W_ISR_HANDLER               MiniportIsr;
-    W_HANDLE_INTERRUPT_HANDLER  MiniportDpc;
-    KDPC                        InterruptDpc;
-    PNDIS_MINIPORT_BLOCK        Miniport;
-    UCHAR                       DpcCount;
-    BOOLEAN                     Filler1;
-    KEVENT                      DpcsCompletedEvent;
-    BOOLEAN                     SharedInterrupt;
-    BOOLEAN                        IsrRequested;
-} NDIS_MINIPORT_INTERRUPT, *PNDIS_MINIPORT_INTERRUPT;
-
-typedef struct _NDIS_MINIPORT_TIMER {
-    KTIMER                      Timer;
-    KDPC                        Dpc;
-    PNDIS_TIMER_FUNCTION        MiniportTimerFunction;
-    PVOID                       MiniportTimerContext;
-    PNDIS_MINIPORT_BLOCK        Miniport;
-    struct _NDIS_MINIPORT_TIMER *NextDeferredTimer;
-} NDIS_MINIPORT_TIMER, *PNDIS_MINIPORT_TIMER;
-
-
-typedef struct _MAP_REGISTER_ENTRY {
-    PVOID   MapRegister;
-    BOOLEAN WriteToDevice;
-} MAP_REGISTER_ENTRY, *PMAP_REGISTER_ENTRY;
-
-
-typedef enum _NDIS_WORK_ITEM_TYPE {
-    NdisWorkItemRequest,
-    NdisWorkItemSend,
-    NdisWorkItemReturnPackets,
-    NdisWorkItemResetRequested,
-    NdisWorkItemResetInProgress,
-    NdisWorkItemHalt,
-    NdisWorkItemSendLoopback,
-    NdisWorkItemMiniportCallback,
-    NdisMaxWorkItems
-} NDIS_WORK_ITEM_TYPE, *PNDIS_WORK_ITEM_TYPE;
-
-#define        NUMBER_OF_WORK_ITEM_TYPES   NdisMaxWorkItems
-#define        NUMBER_OF_SINGLE_WORK_ITEMS 6
-
-typedef struct _NDIS_MINIPORT_WORK_ITEM {
-    SINGLE_LIST_ENTRY   Link;
-    NDIS_WORK_ITEM_TYPE WorkItemType;
-    PVOID               WorkItemContext;
-    BOOLEAN             Allocated;
-    NDIS_HANDLE         Initiator;
-} NDIS_MINIPORT_WORK_ITEM, *PNDIS_MINIPORT_WORK_ITEM;
-
-
-typedef struct _NDIS_BIND_PATHS {
-    UINT        Number;
-    NDIS_STRING Paths[1];
-} NDIS_BIND_PATHS, *PNDIS_BIND_PATHS;
-
-typedef struct _FILTERDBS {
-    union {
-        PETH_FILTER     EthDB;
-        PNULL_FILTER    NullDB;
-    } u;
-    PTR_FILTER          TrDB;
-    PFDDI_FILTER        FddiDB;
-    PARC_FILTER         ArcDB;
-} FILTERDBS, *PFILTERDBS;
-
-
-typedef VOID 
-(STDCALL *ETH_RCV_COMPLETE_HANDLER)(
-    IN  PETH_FILTER Filter);
-
-typedef VOID
-(STDCALL *ETH_RCV_INDICATE_HANDLER)(
-    IN  PETH_FILTER Filter,
-    IN  NDIS_HANDLE MacReceiveContext,
-    IN  PCHAR       Address,
-    IN  PVOID       HeaderBuffer,
-    IN  UINT        HeaderBufferSize,
-    IN  PVOID       LookaheadBuffer,
-    IN  UINT        LookaheadBufferSize,
-    IN  UINT        PacketSize);
-
-typedef VOID
-(STDCALL *FDDI_RCV_COMPLETE_HANDLER)(
-    IN  PFDDI_FILTER    Filter);
-
-typedef VOID
-(STDCALL *FDDI_RCV_INDICATE_HANDLER)(
-    IN  PFDDI_FILTER    Filter,
-    IN  NDIS_HANDLE     MacReceiveContext,
-    IN  PCHAR           Address,
-    IN  UINT            AddressLength,
-    IN  PVOID           HeaderBuffer,
-    IN  UINT            HeaderBufferSize,
-    IN  PVOID           LookaheadBuffer,
-    IN  UINT            LookaheadBufferSize,
-    IN  UINT            PacketSize);
-
-typedef VOID
-(STDCALL *FILTER_PACKET_INDICATION_HANDLER)(
-    IN  NDIS_HANDLE     Miniport,
-    IN  PPNDIS_PACKET   PacketArray,
-    IN  UINT            NumberOfPackets);
-
-typedef VOID
-(STDCALL *TR_RCV_COMPLETE_HANDLER)(
-    IN  PTR_FILTER  Filter);
-
-typedef VOID
-(STDCALL *TR_RCV_INDICATE_HANDLER)(
-    IN  PTR_FILTER  Filter,
-    IN  NDIS_HANDLE MacReceiveContext,
-    IN  PVOID       HeaderBuffer,
-    IN  UINT        HeaderBufferSize,
-    IN  PVOID       LookaheadBuffer,
-    IN  UINT        LookaheadBufferSize,
-    IN  UINT        PacketSize);
-
-typedef VOID
-(STDCALL *WAN_RCV_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  NDIS_HANDLE NdisLinkContext);
-
-typedef VOID
-(STDCALL *WAN_RCV_HANDLER)(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     MiniportAdapterHandle,
-    IN  NDIS_HANDLE     NdisLinkContext,
-    IN  PUCHAR          Packet,
-    IN  ULONG           PacketSize);
-
-typedef VOID (FASTCALL *NDIS_M_DEQUEUE_WORK_ITEM)(
-    IN  PNDIS_MINIPORT_BLOCK    Miniport,
-    IN  NDIS_WORK_ITEM_TYPE     WorkItemType,
-    OUT PVOID                   *WorkItemContext);
-
-typedef VOID (FASTCALL *NDIS_M_PROCESS_DEFERRED)(
-    IN  PNDIS_MINIPORT_BLOCK    Miniport);
-
-typedef NDIS_STATUS (FASTCALL *NDIS_M_QUEUE_NEW_WORK_ITEM)(
-    IN  PNDIS_MINIPORT_BLOCK    Miniport,
-    IN  NDIS_WORK_ITEM_TYPE     WorkItemType,
-    IN  PVOID                   WorkItemContext);
-
-typedef NDIS_STATUS (FASTCALL *NDIS_M_QUEUE_WORK_ITEM)(
-    IN  PNDIS_MINIPORT_BLOCK    Miniport,
-    IN  NDIS_WORK_ITEM_TYPE     WorkItemType,
-    IN  PVOID                   WorkItemContext);
-
-typedef VOID STDCALL_FUNC (*NDIS_M_REQ_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  NDIS_STATUS Status);
-
-typedef VOID STDCALL_FUNC (*NDIS_M_RESET_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  NDIS_STATUS Status,
-    IN  BOOLEAN AddressingReset);
-
-typedef VOID STDCALL_FUNC (*NDIS_M_SEND_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE     MiniportAdapterHandle,
-    IN  PNDIS_PACKET    Packet,
-    IN  NDIS_STATUS     Status);
-
-typedef VOID STDCALL_FUNC (*NDIS_M_SEND_RESOURCES_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterHandle);
-
-typedef BOOLEAN (FASTCALL *NDIS_M_START_SENDS)(
-    IN  PNDIS_MINIPORT_BLOCK    Miniport);
-
-typedef VOID
-(STDCALL *NDIS_M_STATUS_HANDLER)(
-    IN  NDIS_HANDLE MiniportHandle,
-    IN  NDIS_STATUS GeneralStatus,
-    IN  PVOID       StatusBuffer,
-    IN  UINT        StatusBufferSize);
-
-typedef VOID
-(STDCALL *NDIS_M_STS_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterHandle);
-
-typedef VOID
-(STDCALL *NDIS_M_TD_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE     MiniportAdapterHandle,
-    IN  PNDIS_PACKET    Packet,
-    IN  NDIS_STATUS     Status,
-    IN  UINT            BytesTransferred);
-
-typedef VOID
-(STDCALL *NDIS_WM_SEND_COMPLETE_HANDLER)(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  PVOID       Packet,
-    IN  NDIS_STATUS Status);
-
-
-//#ifdef NDIS_WRAPPER
-
-#define ARC_SEND_BUFFERS    8
-#define ARC_HEADER_SIZE     4
-
-typedef struct _NDIS_ARC_BUF {
-    NDIS_HANDLE ArcnetBufferPool;
-    PUCHAR      ArcnetLookaheadBuffer;
-    UINT        NumFree;
-    ARC_BUFFER_LIST ArcnetBuffers[ARC_SEND_BUFFERS];
-} NDIS_ARC_BUF, *PNDIS_ARC_BUF;
-
-#define NDIS_MINIPORT_WORK_QUEUE_SIZE 10
-
-typedef struct _NDIS_LOG {
-    PNDIS_MINIPORT_BLOCK    Miniport;
-    KSPIN_LOCK              LogLock;
-    PIRP                    Irp;
-    UINT                    TotalSize;
-    UINT                    CurrentSize;
-    UINT                    InPtr;
-    UINT                    OutPtr;
-    UCHAR                   LogBuf[1];
-} NDIS_LOG, *PNDIS_LOG;
-
-//#endif /* NDIS_WRAPPER */
-
-
-struct _NDIS_ADAPTER_BLOCK
-{
-    PDEVICE_OBJECT          DeviceObject;
-    PNDIS_MAC_BLOCK         MacHandle;
-    NDIS_HANDLE             MacAdapterContext;
-    NDIS_STRING             AdapterName;
-    PNDIS_OPEN_BLOCK        OpenQueue;
-    PNDIS_ADAPTER_BLOCK     NextAdapter;
-    REFERENCE               Ref;
-    PVOID                   BusDataContext;
-    BOOLEAN                 BeingRemoved;
-    UCHAR                   Flags;
-    PCM_RESOURCE_LIST       Resources;
-    PNDIS_STRING            pAdapterInstanceName;
-    PVOID                   WrapperContext;
-
-    ULONG                   BusNumber;
-    NDIS_INTERFACE_TYPE     BusType;
-    ULONG                   ChannelNumber;
-    NDIS_INTERFACE_TYPE     AdapterType;
-    BOOLEAN                 Master;
-    UCHAR                   AssignedProcessor;
-    ULONG                   PhysicalMapRegistersNeeded;
-    ULONG                   MaximumPhysicalMapping;
-    ULONG                   InitialPort;
-    ULONG                   NumberOfPorts;
-    PUCHAR                  InitialPortMapping;
-    BOOLEAN                 InitialPortMapped;
-    PUCHAR                  PortOffset;
-    PMAP_REGISTER_ENTRY     MapRegisters;
-
-    KEVENT                  AllocationEvent;
-    UINT                    CurrentMapRegister;
-    PADAPTER_OBJECT         SystemAdapterObject;
-#if 0
-#ifdef NDIS_WRAPPER
-    ULONG                   BusId;
-    ULONG                   SlotNumber;
-    NDIS_STRING             BaseName;
-    PDEVICE_OBJECT          PhysicalDeviceObject;
-    PDEVICE_OBJECT          NextDeviceObject;
-    PCM_RESOURCE_LIST       AllocatedResources;
-    PCM_RESOURCE_LIST       AllocatedResourcesTranslated;
-    NDIS_EVENT              OpenReadyEvent;
-    NDIS_PNP_DEVICE_STATE   PnPDeviceState;
-    PGET_SET_DEVICE_DATA    SetBusData;
-    PGET_SET_DEVICE_DATA    GetBusData;
-    POID_LIST               OidList;
-    ULONG                   PnPCapabilities;
-#endif /* NDIS_WRAPPER */
-#endif
-};
-
-/* XXX anyone with info on what this really is - please fix or mail me */
-#define NDIS_STATS PVOID
-
-struct _NDIS_MINIPORT_BLOCK {
-    ULONG                       NullValue;
-    PNDIS_MINIPORT_BLOCK        NextMiniport;
-    PNDIS_M_DRIVER_BLOCK        DriverHandle;
-    NDIS_HANDLE                        MiniportAdapterContext;
-    UNICODE_STRING              MiniportName;
-    PNDIS_BIND_PATHS            BindPaths;
-    NDIS_HANDLE                        OpenQueue;
-    REFERENCE                   Ref;
-    NDIS_HANDLE                        DeviceContext;
-    UCHAR                       Padding1;
-
-    UCHAR                       LockAcquired;
-    UCHAR                       PmodeOpens;
-    UCHAR                       AssignedProcessor;
-    KSPIN_LOCK                  Lock;
-    PNDIS_REQUEST               MediaRequest;
-    PNDIS_MINIPORT_INTERRUPT    Interrupt;
-    ULONG                       Flags;
-    ULONG                       PnPFlags;
-    LIST_ENTRY                 PacketList;
-    PNDIS_PACKET                FirstPendingPacket;
-    PNDIS_PACKET                ReturnPacketsQueue;
-    ULONG                       RequestBuffer;
-    PVOID                       SetMCastBuffer;
-    PNDIS_MINIPORT_BLOCK        PrimaryMiniport;
-    PVOID                       WrapperContext;
-    PVOID                       BusDataContext;
-    ULONG                       PnPCapabilities;
-    PCM_RESOURCE_LIST           Resources;
-    NDIS_TIMER                  WakeUpDpcTimer;
-    UNICODE_STRING              BaseName;
-    UNICODE_STRING              SymbolicLinkName;
-    ULONG                       CheckForHangSeconds;
-    USHORT                      CFHangTicks;
-    USHORT                      CFHangCurrentTick;
-    NDIS_STATUS                        ResetStatus;
-    NDIS_HANDLE                        ResetOpen;
-    FILTERDBS                   FilterDbs;
-    FILTER_PACKET_INDICATION_HANDLER    PacketIndicateHandler;
-    NDIS_M_SEND_COMPLETE_HANDLER        SendCompleteHandler;
-    NDIS_M_SEND_RESOURCES_HANDLER       SendResourcesHandler;
-    NDIS_M_RESET_COMPLETE_HANDLER       ResetCompleteHandler;
-    NDIS_MEDIUM                        MediaType;
-    ULONG                       BusNumber;
-    NDIS_INTERFACE_TYPE         BusType;
-    NDIS_INTERFACE_TYPE                AdapterType;
-    PDEVICE_OBJECT              DeviceObject;
-    PDEVICE_OBJECT              PhysicalDeviceObject;
-    PDEVICE_OBJECT              NextDeviceObject;
-    PMAP_REGISTER_ENTRY         MapRegisters;
-    PNDIS_AF_LIST               CallMgrAfList;
-    PVOID                       MiniportThread;
-    PVOID                       SetInfoBuf;
-    USHORT                      SetInfoBufLen;
-    USHORT                      MaxSendPackets;
-    NDIS_STATUS                        FakeStatus;
-    PVOID                       LockHandler;
-    PUNICODE_STRING                pAdapterInstanceName;
-    PADAPTER_OBJECT             SystemAdapterObject;
-    UINT                        MacOptions;
-    PNDIS_REQUEST               PendingRequest;
-    UINT                        MaximumLongAddresses;
-    UINT                        MaximumShortAddresses;
-    UINT                        CurrentLookahead;
-    UINT                        MaximumLookahead;
-    W_HANDLE_INTERRUPT_HANDLER  HandleInterruptHandler;
-    W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler;
-    W_ENABLE_INTERRUPT_HANDLER  EnableInterruptHandler;
-    W_SEND_PACKETS_HANDLER      SendPacketsHandler;
-    NDIS_M_START_SENDS          DeferredSendHandler;
-    ETH_RCV_INDICATE_HANDLER    EthRxIndicateHandler;
-    TR_RCV_INDICATE_HANDLER        TrRxIndicateHandler;
-    FDDI_RCV_INDICATE_HANDLER   FddiRxIndicateHandler;
-    ETH_RCV_COMPLETE_HANDLER    EthRxCompleteHandler;
-    TR_RCV_COMPLETE_HANDLER        TrRxCompleteHandler;
-    FDDI_RCV_COMPLETE_HANDLER   FddiRxCompleteHandler;
-    NDIS_M_STATUS_HANDLER       StatusHandler;
-    NDIS_M_STS_COMPLETE_HANDLER StatusCompleteHandler;
-    NDIS_M_TD_COMPLETE_HANDLER  TDCompleteHandler;
-    NDIS_M_REQ_COMPLETE_HANDLER QueryCompleteHandler;
-    NDIS_M_REQ_COMPLETE_HANDLER SetCompleteHandler;
-    NDIS_WM_SEND_COMPLETE_HANDLER   WanSendCompleteHandler;
-    WAN_RCV_HANDLER                 WanRcvHandler;
-    WAN_RCV_COMPLETE_HANDLER        WanRcvCompleteHandler;
-    SINGLE_LIST_ENTRY           WorkQueue[NUMBER_OF_WORK_ITEM_TYPES];
-    SINGLE_LIST_ENTRY           SingleWorkItems[NUMBER_OF_SINGLE_WORK_ITEMS];
-    PNDIS_MAC_BLOCK                FakeMac;
-    UCHAR                       SendFlags;
-    UCHAR                       TrResetRing;
-    UCHAR                       ArcnetAddress;
-    union
-    {
-        PNDIS_ARC_BUF           ArcBuf;
-        PVOID                   BusInterface;
-    };
-    ULONG                       ChannelNumber;
-    PNDIS_LOG                   Log;
-    ULONG                       BusId;
-    ULONG                       SlotNumber;
-    PCM_RESOURCE_LIST           AllocatedResources;
-    PCM_RESOURCE_LIST           AllocatedResourcesTranslated;
-    SINGLE_LIST_ENTRY           PatternList;
-    NDIS_PNP_CAPABILITIES       PMCapabilities;
-    DEVICE_CAPABILITIES                DeviceCaps;
-    ULONG                       WakeUpEnable;
-    DEVICE_POWER_STATE          CurrentDeviceState;
-    PIRP                        pIrpWaitWake;
-    SYSTEM_POWER_STATE          WaitWakeSystemState;
-    LARGE_INTEGER               VcIndex;
-    KSPIN_LOCK                 VcCountLock;
-    LIST_ENTRY                  WmiEnabledVcs;
-    PNDIS_GUID                  pNdisGuidMap;
-    PNDIS_GUID                  pCustomGuidMap;
-    USHORT                      VcCount;
-    USHORT                      cNdisGuidMap;
-    USHORT                      cCustomGuidMap;
-    USHORT                      CurrentMapRegister;
-    PKEVENT                     AllocationEvent;
-    USHORT                      PhysicalMapRegistersNeeded;
-    USHORT                      SGMapRegistersNeeded;
-    ULONG                       MaximumPhysicalMapping;
-    NDIS_TIMER                  MediaDisconnectTimer;
-    USHORT                      MediaDisconnectTimeOut;
-    USHORT                      InstanceNumber;
-    NDIS_EVENT                  OpenReadyEvent;
-    NDIS_PNP_DEVICE_STATE       PnPDeviceState;
-    NDIS_PNP_DEVICE_STATE       OldPnPDeviceState;
-    PGET_SET_DEVICE_DATA        SetBusData;
-    PGET_SET_DEVICE_DATA        GetBusData;
-    POID_LIST                   OidList;
-    KDPC                        DeferredDpc;
-    NDIS_STATS                  NdisStats;
-    PNDIS_PACKET                IndicatedPacket[MAXIMUM_PROCESSORS];
-    PKEVENT                        RemoveReadyEvent;
-    PKEVENT                        AllOpensClosedEvent;
-    PKEVENT                     AllRequestsCompletedEvent;
-    ULONG                       InitTimeMs;
-    NDIS_MINIPORT_WORK_ITEM     WorkItemBuffer[NUMBER_OF_SINGLE_WORK_ITEMS];
-    PNDIS_MINIPORT_TIMER        TimerQueue;
-    ULONG                       DriverVerifyFlags;
-    PNDIS_MINIPORT_BLOCK        NextGlobalMiniport;
-    USHORT                      InternalResetCount;
-    USHORT                      MiniportResetCount;
-    USHORT                      MediaSenseConnectCount;
-    USHORT                      MediaSenseDisconnectCount;
-    PNDIS_PACKET                *xPackets;
-    ULONG                       UserModeOpenReferences;
-};
-
-
-/* Handler prototypes for NDIS_OPEN_BLOCK */
-
-typedef NDIS_STATUS STDCALL_FUNC (*WAN_SEND_HANDLER)(
-    IN  NDIS_HANDLE MacBindingHandle,
-    IN  NDIS_HANDLE LinkHandle,
-    IN  PVOID       Packet);
-
-/* NDIS 4.0 extension */
-
-typedef VOID STDCALL_FUNC (*SEND_PACKETS_HANDLER)(
-    IN  NDIS_HANDLE     MiniportAdapterContext,
-    IN  PPNDIS_PACKET   PacketArray,
-    IN  UINT            NumberOfPackets);
-
-
-struct _NDIS_OPEN_BLOCK
-{
-    PNDIS_MAC_BLOCK             MacHandle;
-    NDIS_HANDLE                 MacBindingHandle;
-    PNDIS_ADAPTER_BLOCK         AdapterHandle;
-    PNDIS_PROTOCOL_BLOCK        ProtocolHandle;
-    NDIS_HANDLE                        ProtocolBindingContext;
-    PNDIS_OPEN_BLOCK            AdapterNextOpen;
-    PNDIS_OPEN_BLOCK            ProtocolNextOpen;
-    PNDIS_OPEN_BLOCK            NextGlobalOpen;
-    BOOLEAN                     Closing;
-    BOOLEAN                        Unbinding;
-    BOOLEAN                     NoProtRsvdOnRcvPkt;
-    BOOLEAN                     ProcessingOpens;
-    PNDIS_STRING                BindDeviceName;
-    KSPIN_LOCK                  SpinLock;
-    PNDIS_STRING                RootDeviceName;
-
-    union
-    {
-        SEND_HANDLER            SendHandler;
-        WAN_SEND_HANDLER        WanSendHandler;
-    } u1;
-    TRANSFER_DATA_HANDLER       TransferDataHandler;
-
-    SEND_COMPLETE_HANDLER       SendCompleteHandler;
-    TRANSFER_DATA_COMPLETE_HANDLER  TransferDataCompleteHandler;
-    RECEIVE_HANDLER             ReceiveHandler;
-    RECEIVE_COMPLETE_HANDLER    ReceiveCompleteHandler;
-
-    union
-    {
-        RECEIVE_HANDLER                PostNt31ReceiveHandler;
-        WAN_RECEIVE_HANDLER     WanReceiveHandler;
-    } u2;
-    RECEIVE_COMPLETE_HANDLER    PostNt31ReceiveCompleteHandler;
-
-    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;
-    REQUEST_COMPLETE_HANDLER    RequestCompleteHandler;
-};
-
-
-
-/* Routines for NDIS miniport drivers */
-
-/*
- * VOID NdisMInitializeWrapper(
- *     OUT PNDIS_HANDLE    NdisWrapperHandle,
- *     IN  PVOID           SystemSpecific1,
- *     IN  PVOID           SystemSpecific2,
- *     IN  PVOID           SystemSpecific3);
- */
-#define NdisMInitializeWrapper(NdisWrapperHandle, \
-                               SystemSpecific1,   \
-                               SystemSpecific2,   \
-                               SystemSpecific3)   \
-    NdisInitializeWrapper((NdisWrapperHandle),    \
-                          (SystemSpecific1),      \
-                          (SystemSpecific2),      \
-                          (SystemSpecific3))
-
-VOID
-DDKAPI
-NdisInitializeWrapper(
-    OUT PNDIS_HANDLE    NdisWrapperHandle,
-    IN  PVOID           SystemSpecific1,
-    IN  PVOID           SystemSpecific2,
-    IN  PVOID           SystemSpecific3);
-
-NDIS_STATUS
-DDKAPI
-NdisMAllocateMapRegisters(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  UINT        DmaChannel,
-    IN  BOOLEAN     Dma32BitAddresses,
-    IN  ULONG       PhysicalMapRegistersNeeded,
-    IN  ULONG       MaximumPhysicalMapping);
-
-/*
- * VOID NdisMArcIndicateReceive(
- *     IN  NDIS_HANDLE MiniportAdapterHandle,
- *     IN  PUCHAR      HeaderBuffer,
- *     IN  PUCHAR      DataBuffer,
- *     IN  UINT        Length);
- */
-#define NdisMArcIndicateReceive(MiniportAdapterHandle, \
-                                HeaderBuffer,          \
-                                DataBuffer,            \
-                                Length)                \
-{                                                      \
-    ArcFilterDprIndicateReceive(                       \
-        (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.ArcDB), \
-        (HeaderBuffer), \
-        (DataBuffer),   \
-        (Length));      \
-}
-
-/*
- * VOID NdisMArcIndicateReceiveComplete(
- *     IN  NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMArcIndicateReceiveComplete(MiniportAdapterHandle) \
-{                                                              \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ArcRxCompleteHandler)( \
-        ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.ArcDB);      \
-}
-
-VOID
-DDKAPI
-NdisMCloseLog(
-    IN  NDIS_HANDLE LogHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisMCreateLog(
-    IN  NDIS_HANDLE     MiniportAdapterHandle,
-    IN  UINT            Size,
-    OUT PNDIS_HANDLE    LogHandle);
-
-VOID
-DDKAPI
-NdisMDeregisterAdapterShutdownHandler(
-    IN  NDIS_HANDLE MiniportHandle);
-
-VOID
-DDKAPI
-NdisMDeregisterInterrupt(
-    IN  PNDIS_MINIPORT_INTERRUPT    Interrupt);
-
-VOID
-DDKAPI
-NdisMDeregisterIoPortRange(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  UINT        InitialPort,
-    IN  UINT        NumberOfPorts,
-    IN  PVOID       PortOffset);
-
-/*
- * VOID NdisMEthIndicateReceive(
- *     IN  NDIS_HANDLE MiniportAdapterHandle,
- *     IN  NDIS_HANDLE MiniportReceiveContext,
- *     IN  PVOID       HeaderBuffer,
- *     IN  UINT        HeaderBufferSize,
- *     IN  PVOID       LookaheadBuffer,
- *     IN  UINT        LookaheadBufferSize,
- *     IN  UINT        PacketSize);
- */
-#define NdisMEthIndicateReceive(MiniportAdapterHandle,  \
-                                MiniportReceiveContext, \
-                                HeaderBuffer,           \
-                                HeaderBufferSize,       \
-                                LookaheadBuffer,        \
-                                LookaheadBufferSize,    \
-                                PacketSize)             \
-{                                                       \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxIndicateHandler)( \
-               ((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.u.EthDB,  \
-               (MiniportReceiveContext), \
-               (HeaderBuffer),           \
-               (HeaderBuffer),           \
-               (HeaderBufferSize),       \
-               (LookaheadBuffer),        \
-               (LookaheadBufferSize),    \
-               (PacketSize));            \
-}
-
-/*
- * VOID
- * NdisMEthIndicateReceiveComplete(
- *     IN  NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMEthIndicateReceiveComplete(MiniportAdapterHandle) \
-{                                                              \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxCompleteHandler)( \
-        ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.u.EthDB);    \
-}
-
-/*
- * VOID
- * NdisMFddiIndicateReceive(
- *     IN  NDIS_HANDLE MiniportAdapterHandle,
- *     IN  NDIS_HANDLE MiniportReceiveContext,
- *     IN  PVOID       HeaderBuffer,
- *     IN  UINT        HeaderBufferSize,
- *     IN  PVOID       LookaheadBuffer,
- *     IN  UINT        LookaheadBufferSize,
- *     IN  UINT        PacketSize);
- */
-#define NdisMFddiIndicateReceive(MiniportAdapterHandle,  \
-                                 MiniportReceiveContext, \
-                                 HeaderBuffer,           \
-                                 HeaderBufferSize,       \
-                                 LookaheadBuffer,        \
-                                 LookaheadBufferSize,    \
-                                 PacketSize)             \
-{                                                        \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxIndicateHandler)( \
-        (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.FddiDB),   \
-        (MiniportReceiveContext),              \
-        (PUCHAR)(HeaderBuffer) + 1,            \
-        (((*(PUCHAR*)(HeaderBuffer)) & 0x40) ? \
-            FDDI_LENGTH_OF_LONG_ADDRESS :      \
-                   FDDI_LENGTH_OF_SHORT_ADDRESS),     \
-        (HeaderBuffer),                        \
-        (HeaderBufferSize),                    \
-        (LookaheadBuffer),                     \
-        (LookaheadBufferSize),                 \
-        (PacketSize));                         \
-}
-
-/*
- * VOID
- * NdisMFddiIndicateReceiveComplete(
- *     IN  NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMFddiIndicateReceiveComplete(MiniportAdapterHandle) \
-{                                                               \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxCompleteHandler)( \
-        ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.FddiDB);      \
-}
-
-VOID
-DDKAPI
-NdisMFlushLog(
-    IN  NDIS_HANDLE LogHandle);
-
-VOID
-DDKAPI
-NdisMFreeMapRegisters(
-    IN  NDIS_HANDLE MiniportAdapterHandle);
-
-VOID
-DDKAPI
-NdisMIndicateStatus(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  NDIS_STATUS GeneralStatus,
-    IN  PVOID       StatusBuffer,
-    IN  UINT        StatusBufferSize);
-
-VOID
-DDKAPI
-NdisMIndicateStatusComplete(
-    IN  NDIS_HANDLE MiniportAdapterHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisMMapIoSpace(
-    OUT PVOID *                 VirtualAddress,
-    IN  NDIS_HANDLE             MiniportAdapterHandle,
-    IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress,
-    IN  UINT                    Length);
-
-VOID
-DDKAPI
-NdisMQueryInformationComplete(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  NDIS_STATUS Status);
-
-VOID
-DDKAPI
-NdisMRegisterAdapterShutdownHandler(
-    IN  NDIS_HANDLE                 MiniportHandle,
-    IN  PVOID                       ShutdownContext,
-    IN  ADAPTER_SHUTDOWN_HANDLER    ShutdownHandler);
-
-NDIS_STATUS
-DDKAPI
-NdisMRegisterInterrupt(
-    OUT PNDIS_MINIPORT_INTERRUPT    Interrupt,
-    IN  NDIS_HANDLE                 MiniportAdapterHandle,
-    IN  UINT                        InterruptVector,
-    IN  UINT                        InterruptLevel,
-    IN  BOOLEAN                            RequestIsr,
-    IN  BOOLEAN                     SharedInterrupt,
-    IN  NDIS_INTERRUPT_MODE         InterruptMode);
-
-NDIS_STATUS
-DDKAPI
-NdisMRegisterIoPortRange(
-    OUT PVOID *     PortOffset,
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  UINT        InitialPort,
-    IN  UINT        NumberOfPorts);
-
-NDIS_STATUS
-DDKAPI
-NdisMRegisterMiniport(
-    IN  NDIS_HANDLE                     NdisWrapperHandle,
-    IN  PNDIS_MINIPORT_CHARACTERISTICS  MiniportCharacteristics,
-    IN  UINT                            CharacteristicsLength);
-
-VOID
-DDKAPI
-NdisMSetTimer(
-       IN PNDIS_MINIPORT_TIMER Timer,
-       IN UINT                 MillisecondsToDelay);
-
-VOID
-DDKAPI
-NdisMInitializeTimer(
-       IN OUT PNDIS_MINIPORT_TIMER Timer,
-       IN NDIS_HANDLE              MiniportAdapterHandle,
-       IN PNDIS_TIMER_FUNCTION     TimerFunction,
-       IN PVOID                    FunctionContext);
-
-VOID
-DDKAPI
-NdisMSetPeriodicTimer(
-       IN PNDIS_MINIPORT_TIMER Timer,
-       IN UINT                 MillisecondPeriod);
-
-VOID
-DDKAPI
-NdisMCancelTimer(
-       IN  PNDIS_MINIPORT_TIMER Timer,
-       OUT PBOOLEAN             TimerCancelled);
-
-
-#ifndef NDIS_WRAPPER
-
-/*
- * VOID
- * NdisMResetComplete(
- *     IN  NDIS_HANDLE MiniportAdapterHandle,
- *     IN  NDIS_STATUS Status,
- *     IN  BOOLEAN     AddressingReset);
- */
-#define        NdisMResetComplete(MiniportAdapterHandle, \
-                           Status,                \
-                           AddressingReset)       \
-{                                                 \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ResetCompleteHandler)( \
-        MiniportAdapterHandle, Status, AddressingReset); \
-}
-
-/*
- * VOID
- * NdisMSendComplete(
- *     IN  NDIS_HANDLE     MiniportAdapterHandle,
- *     IN  PNDIS_PACKET    Packet,
- *     IN  NDIS_STATUS     Status);
- */
-#define        NdisMSendComplete(MiniportAdapterHandle, \
-                          Packet,                \
-                          Status)                \
-{                                                \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendCompleteHandler)( \
-        MiniportAdapterHandle, Packet, Status);  \
-}
-
-/*
- * VOID
- * NdisMSendResourcesAvailable(
- *     IN  NDIS_HANDLE MiniportAdapterHandle);
- */
-#define        NdisMSendResourcesAvailable(MiniportAdapterHandle) \
-{                                                \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendResourcesHandler)( \
-        MiniportAdapterHandle); \
-}
-
-/*
- * VOID
- * NdisMTransferDataComplete(
- *     IN  NDIS_HANDLE     MiniportAdapterHandle,
- *     IN  PNDIS_PACKET    Packet,
- *     IN  NDIS_STATUS     Status,
- *     IN  UINT            BytesTransferred);
- */
-#define        NdisMTransferDataComplete(MiniportAdapterHandle, \
-                                  Packet,                \
-                                  Status,                \
-                                  BytesTransferred)      \
-{                                                        \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TDCompleteHandler)( \
-        MiniportAdapterHandle, Packet, Status, BytesTransferred)           \
-}
-
-#endif /* NDIS_WRAPPER */
-
-
-VOID
-DDKAPI
-NdisMSetAttributes(
-    IN  NDIS_HANDLE         MiniportAdapterHandle,
-    IN  NDIS_HANDLE         MiniportAdapterContext,
-    IN  BOOLEAN             BusMaster,
-    IN  NDIS_INTERFACE_TYPE AdapterType);
-
-VOID 
-DDKAPI
-NdisMSetAttributesEx(
-    IN  NDIS_HANDLE         MiniportAdapterHandle,
-    IN  NDIS_HANDLE         MiniportAdapterContext,
-    IN  UINT                CheckForHangTimeInSeconds   OPTIONAL,
-    IN  ULONG               AttributeFlags,
-    IN  NDIS_INTERFACE_TYPE AdapterType); 
-
-VOID
-DDKAPI
-NdisMSetInformationComplete(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  NDIS_STATUS Status);
-
-VOID
-DDKAPI
-NdisMSleep(
-    IN  ULONG   MicrosecondsToSleep);
-
-BOOLEAN
-DDKAPI
-NdisMSynchronizeWithInterrupt(
-    IN  PNDIS_MINIPORT_INTERRUPT    Interrupt,
-    IN  PVOID                       SynchronizeFunction,
-    IN  PVOID                       SynchronizeContext);
-
-/*
- * VOID
- * NdisMTrIndicateReceive(
- *     IN  NDIS_HANDLE MiniportAdapterHandle,
- *     IN  NDIS_HANDLE MiniportReceiveContext,
- *     IN  PVOID       HeaderBuffer,
- *     IN  UINT        HeaderBufferSize,
- *     IN  PVOID       LookaheadBuffer,
- *     IN  UINT        LookaheadBufferSize,
- *     IN  UINT        PacketSize);
- */
-#define NdisMTrIndicateReceive(MiniportAdapterHandle,  \
-                               MiniportReceiveContext, \
-                               HeaderBuffer,           \
-                               HeaderBufferSize,       \
-                               LookaheadBuffer,        \
-                               LookaheadBufferSize,    \
-                               PacketSize)             \
-{                                                      \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxIndicateHandler)( \
-        (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.TrDB),   \
-               (MiniportReceiveContext), \
-               (HeaderBuffer),           \
-               (HeaderBuffer),           \
-               (HeaderBufferSize),       \
-               (LookaheadBuffer),        \
-               (LookaheadBufferSize),    \
-               (PacketSize));            \
-}
-
-/*
- * VOID
- * NdisMTrIndicateReceiveComplete(
- *     IN  NDIS_HANDLE  MiniportAdapterHandle);
- */
-#define NdisMTrIndicateReceiveComplete(MiniportAdapterHandle) \
-{                                                             \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxCompleteHandler)( \
-        ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.TrDB);      \
-}
-
-NDIS_STATUS
-DDKAPI
-NdisMWriteLogData(
-    IN  NDIS_HANDLE LogHandle,
-    IN  PVOID       LogBuffer,
-    IN  UINT        LogBufferSize);
-
-VOID
-DDKAPI
-NdisMQueryAdapterResources(
-    OUT PNDIS_STATUS        Status,
-    IN  NDIS_HANDLE         WrapperConfigurationContext,
-    OUT PNDIS_RESOURCE_LIST ResourceList,
-    IN  OUT PUINT           BufferSize);
-
-VOID
-DDKAPI
-NdisTerminateWrapper(
-    IN  NDIS_HANDLE NdisWrapperHandle,
-    IN  PVOID       SystemSpecific);
-
-VOID
-DDKAPI
-NdisMUnmapIoSpace(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  PVOID       VirtualAddress,
-    IN  UINT        Length);
-
-
-
-/* NDIS intermediate miniport structures */
-
-typedef VOID (*W_MINIPORT_CALLBACK)(
-    IN  NDIS_HANDLE MiniportAdapterContext,
-    IN  PVOID       CallbackContext);
-
-
-
-/* Routines for intermediate miniport drivers */
-
-NDIS_STATUS
-DDKAPI
-NdisIMDeInitializeDeviceInstance(
-    IN  NDIS_HANDLE NdisMiniportHandle);
-
-NDIS_STATUS
-DDKAPI
-NdisIMInitializeDeviceInstance(
-    IN  NDIS_HANDLE     DriverHandle,
-    IN  PNDIS_STRING    DeviceInstance);
-
-NDIS_STATUS
-DDKAPI
-NdisIMQueueMiniportCallback(
-    IN  NDIS_HANDLE         MiniportAdapterHandle,
-    IN  W_MINIPORT_CALLBACK CallbackRoutine,
-    IN  PVOID               CallbackContext);
-
-NDIS_STATUS
-DDKAPI
-NdisIMRegisterLayeredMiniport(
-    IN  NDIS_HANDLE                     NdisWrapperHandle,
-    IN  PNDIS_MINIPORT_CHARACTERISTICS  MiniportCharacteristics,
-    IN  UINT                            CharacteristicsLength,
-    OUT PNDIS_HANDLE                    DriverHandle);
-
-VOID
-DDKAPI
-NdisIMRevertBack(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  NDIS_HANDLE SwitchHandle);
-
-BOOLEAN
-DDKAPI
-NdisIMSwitchToMiniport(
-    IN  NDIS_HANDLE     MiniportAdapterHandle,
-    OUT PNDIS_HANDLE    SwitchHandle);
-
-
-/* Functions obsoleted by NDIS 5.0 */
-
-VOID
-DDKAPI
-NdisFreeDmaChannel(
-    IN  PNDIS_HANDLE    NdisDmaHandle);
-
-VOID
-DDKAPI
-NdisFreeSharedMemory(
-    IN NDIS_HANDLE              NdisAdapterHandle,
-    IN ULONG                    Length,
-    IN BOOLEAN                  Cached,
-    IN PVOID                    VirtualAddress,
-    IN NDIS_PHYSICAL_ADDRESS    PhysicalAddress); 
-
-NDIS_STATUS
-DDKAPI
-NdisIMQueueMiniportCallback(
-    IN  NDIS_HANDLE         MiniportAdapterHandle,
-    IN  W_MINIPORT_CALLBACK CallbackRoutine,
-    IN  PVOID               CallbackContext);
-
-VOID
-DDKAPI
-NdisIMRevertBack(
-    IN  NDIS_HANDLE MiniportAdapterHandle,
-    IN  NDIS_HANDLE SwitchHandle);
-
-BOOLEAN
-DDKAPI
-NdisIMSwitchToMiniport(
-    IN  NDIS_HANDLE     MiniportAdapterHandle,
-    OUT PNDIS_HANDLE    SwitchHandle);
-
-VOID
-DDKAPI
-NdisSetupDmaTransfer(
-    OUT PNDIS_STATUS    Status,
-    IN  PNDIS_HANDLE    NdisDmaHandle,
-    IN  PNDIS_BUFFER    Buffer,
-    IN  ULONG           Offset,
-    IN  ULONG           Length,
-    IN  BOOLEAN         WriteToDevice);
-
-NTSTATUS
-DDKAPI
-NdisUpcaseUnicodeString(
-    OUT PUNICODE_STRING DestinationString,  
-    IN  PUNICODE_STRING SourceString);
-
-VOID
-DDKAPI
-NdisUpdateSharedMemory(
-    IN  NDIS_HANDLE             NdisAdapterHandle,
-    IN  ULONG                   Length,
-    IN  PVOID                   VirtualAddress,
-    IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
-
-
-/* Routines for NDIS protocol drivers */
-
-VOID
-DDKAPI
-NdisRequest(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     NdisBindingHandle,
-    IN  PNDIS_REQUEST   NdisRequest);
-
-VOID
-DDKAPI
-NdisReset(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     NdisBindingHandle);
-
-VOID
-DDKAPI
-NdisSend(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     NdisBindingHandle,
-    IN  PNDIS_PACKET    Packet);
-
-VOID
-DDKAPI
-NdisSendPackets(
-    IN  NDIS_HANDLE     NdisBindingHandle,
-    IN  PPNDIS_PACKET   PacketArray,
-    IN  UINT            NumberOfPackets);
-
-VOID
-DDKAPI
-NdisTransferData(
-    OUT     PNDIS_STATUS    Status,
-    IN      NDIS_HANDLE     NdisBindingHandle,
-    IN      NDIS_HANDLE     MacReceiveContext,
-    IN      UINT            ByteOffset,
-    IN      UINT            BytesToTransfer,
-    IN OUT     PNDIS_PACKET    Packet,
-    OUT     PUINT           BytesTransferred);
-/*
-#define NdisTransferData(Status,           \
-                        NdisBindingHandle, \
-                        MacReceiveContext, \
-                        ByteOffset,        \
-                        BytesToTransfer,   \
-                        Packet,            \
-                        BytesTransferred)  \
-{                                          \
-    *(Status) =        (((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->TransferDataHandler)( \
-        ((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->MacBindingHandle,              \
-        (MacReceiveContext), \
-        (ByteOffset),        \
-        (BytesToTransfer),   \
-        (Packet),            \
-        (BytesTransferred)); \
-}
-*/
-
-
-VOID
-DDKAPI
-NdisCloseAdapter(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     NdisBindingHandle);
-
-VOID
-DDKAPI
-NdisCompleteBindAdapter(
-    IN  NDIS_HANDLE BindAdapterContext,
-    IN  NDIS_STATUS Status,
-    IN  NDIS_STATUS OpenStatus);
-
-VOID
-DDKAPI
-NdisCompleteUnbindAdapter(
-    IN  NDIS_HANDLE UnbindAdapterContext,
-    IN  NDIS_STATUS Status);
-
-VOID
-DDKAPI
-NdisDeregisterProtocol(
-    OUT PNDIS_STATUS    Status,
-    IN  NDIS_HANDLE     NdisProtocolHandle);
-
-VOID
-DDKAPI
-NdisOpenAdapter(
-    OUT PNDIS_STATUS    Status,
-    OUT PNDIS_STATUS    OpenErrorStatus,
-    OUT PNDIS_HANDLE    NdisBindingHandle,
-    OUT PUINT           SelectedMediumIndex,
-    IN  PNDIS_MEDIUM    MediumArray,
-    IN  UINT            MediumArraySize,
-    IN  NDIS_HANDLE     NdisProtocolHandle,
-    IN  NDIS_HANDLE     ProtocolBindingContext,
-    IN  PNDIS_STRING    AdapterName,
-    IN  UINT            OpenOptions,
-    IN  PSTRING         AddressingInformation);
-
-VOID
-DDKAPI
-NdisOpenProtocolConfiguration(
-    OUT PNDIS_STATUS    Status,
-    OUT PNDIS_HANDLE    ConfigurationHandle,
-    IN  PNDIS_STRING    ProtocolSection);
-
-NDIS_STATUS
-DDKAPI
-NdisQueryReceiveInformation(
-    IN  NDIS_HANDLE NdisBindingHandle,
-    IN  NDIS_HANDLE MacContext,
-    OUT PLONGLONG   TimeSent            OPTIONAL,
-    OUT PLONGLONG   TimeReceived        OPTIONAL,
-    IN  PUCHAR      Buffer,
-    IN  UINT        BufferSize,
-    OUT PUINT       SizeNeeded);
-
-VOID
-DDKAPI
-NdisRegisterProtocol(
-    OUT PNDIS_STATUS                    Status,
-    OUT PNDIS_HANDLE                    NdisProtocolHandle,
-    IN  PNDIS_PROTOCOL_CHARACTERISTICS  ProtocolCharacteristics,
-    IN  UINT                            CharacteristicsLength);
-
-VOID
-DDKAPI
-NdisReturnPackets(
-    IN  PNDIS_PACKET    *PacketsToReturn,
-    IN  UINT            NumberOfPackets);
-
-#ifdef __cplusplus
-};
-#endif /* __cplusplus */
-
-#endif /* __NDIS_H */
-
-/* EOF */
-
-/*
- * XXX - these macros are disabled for the moment due to the fact that there are definitions for them elsewhere.
- * We will have to decide which to keep; we don't need both (no BINARY_COMPATIBLE)
- */
-#if 0
-#define NdisAdjustBufferLength(Buffer,  \
-                               Length)  \
-{                                       \
-    (Buffer)->ByteCount = (Length);     \
-}
-
-#define NDIS_BUFFER_TO_SPAN_PAGES(Buffer)   \
-(                                           \
-    MmGetMdlByteCount(Buffer) == 0 ?        \
-        1 :                                 \
-        ADDRESS_AND_SIZE_TO_SPAN_PAGES(     \
-            MmGetMdlVirtualAddress(Buffer), \
-            MmGetMdlByteCount(Buffer))      \
-)
-
-#define NdisFreeBuffer(Buffer)  \
-{                               \
-    IoFreeMdl(Buffer) /* ??? */ \
-}
-
-#define NdisGetBufferPhysicalArraySize(Buffer,      \
-                                       ArraySize)   \
-{                                                   \
-}
-
-#define        NdisGetFirstBufferFromPacket(Packet,                \
-                                     FirstBuffer,           \
-                                     FirstBufferVA,         \
-                                     FirstBufferLength,     \
-                                     TotalBufferLength)     \
-{                                                           \
-    PNDIS_BUFFER _Buffer;                                   \
-                                                            \
-    _Buffer              = (Packet)->Private.Head;          \
-    *(FirstBuffer)       = _Buffer;                         \
-    *(FirstBufferVA)     = MmGetMdlVirtualAddress(_Buffer); \
-    if (_Buffer != NULL) {                                  \
-        *(FirstBufferLength) = MmGetMdlByteCount(_Buffer);  \
-        _Buffer = _Buffer->Next;                            \
-    } else                                                  \
-        *(FirstBufferLength) = 0;                           \
-    *(TotalBufferLength) = *(FirstBufferLength);            \
-    while (_Buffer != NULL) {                               \
-        *(TotalBufferLength) += MmGetMdlByteCount(_Buffer); \
-        _Buffer = _Buffer->Next;                            \
-    }                                                       \
-}
-
-#define NdisQueryBuffer(Buffer,                                       \
-                        VirtualAddress,                               \
-                        Length)                                       \
-{                                                                     \
-       if (VirtualAddress)                                               \
-               *((PVOID*)VirtualAddress) = MmGetSystemAddressForMdl(Buffer); \
-                                                                      \
-       *((PUINT)Length) = MmGetMdlByteCount(Buffer);                     \
-}
-
-#define NdisQueryBufferOffset(Buffer,               \
-                              Offset,               \
-                              Length)               \
-{                                                   \
-    *((PUINT)Offset) = MmGetMdlByteOffset(Buffer);  \
-    *((PUINT)Length) = MmGetMdlByteCount(Buffer);   \
-}
-
-#define        NdisAnsiStringToUnicodeString(DestinationString,    \
-                                      SourceString)         \
-    RtlAnsiStringToUnicodeString((DestinationString), (SourceString), FALSE)
-
-#define NdisEqualString(String1,            \
-                        String2,            \
-                        CaseInsensitive)    \
-    RtlEqualUnicodeString((String1), (String2), (CaseInsensitive))
-
-#define        NdisInitAnsiString(DestinationString,   \
-                           SourceString)        \
-    RtlInitString((DestinationString), (SourceString))
-
-#define        NdisInitUnicodeString(DestinationString,    \
-                              SourceString)         \
-    RtlInitUnicodeString((DestinationString), (SourceString))
-
-#define        NdisUnicodeStringToAnsiString(DestinationString,    \
-                                      SourceString)         \
-    RtlUnicodeStringToAnsiString((DestinationString), (SourceString), FALSE)
-
-#define NdisRequest(Status,            \
-                    NdisBindingHandle, \
-                    NdisRequest)       \
-{                                      \
-    *(Status) = (((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->RequestHandler)(         \
-        ((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->MacBindingHandle, (NdisRequest)); \
-}
-
-#define NdisReset(Status,            \
-                  NdisBindingHandle) \
-{                                    \
-    *(Status) = (((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->ResetHandler)( \
-        ((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->MacBindingHandle);      \
-}
-
-#define NdisSend(Status,            \
-                 NdisBindingHandle, \
-                 Packet)            \
-{                                   \
-    *(Status) = (((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->u1.SendHandler)(    \
-        ((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->MacBindingHandle, (Packet)); \
-}
-
-#define NdisSendPackets(NdisBindingHandle, \
-                        PacketArray,       \
-                        NumberOfPackets)   \
-{                                          \
-    (((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->SendPacketsHandler)( \
-        (PNDIS_OPEN_BLOCK)(NdisBindingHandle), (PacketArray), (NumberOfPackets)); \
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDIS_H */
-
-/* EOF */
diff --git a/reactos/include/net/ndisoid.h b/reactos/include/net/ndisoid.h
deleted file mode 100644 (file)
index 3d53b22..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS NDIS library
- * FILE:        include/net/ndisoid.h
- * PURPOSE:     NDIS Object ID constants
- */
-#ifndef __NDISOID_H
-#define __NDISOID_H
-
-
-typedef ULONG NDIS_OID, *PNDIS_OID;
-
-/* Self-contained variable data structure */
-typedef struct _NDIS_VAR_DATA_DESC
-{
-    USHORT  Length;           /* Number of bytes of data */
-    USHORT  MaximumLength; /* Number of bytes available */
-    LONG    Offset;        /* Offset of data relative to the descriptor */
-} NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC;
-
-
-
-/* NDIS 4.0 structures */
-
-/* Structure used by TRANSLATE_NAME IOCTL */
-typedef struct _NET_PNP_ID
-{
-    ULONG   ClassId;
-    ULONG   Token;
-} NET_PNP_ID, *PNET_PNP_ID;
-
-
-typedef struct _NET_PNP_TRANSLATE_LIST
-{
-    ULONG       BytesNeeded;
-    NET_PNP_ID  IdArray[ANYSIZE_ARRAY];
-} NET_PNP_TRANSLATE_LIST, *PNET_PNP_TRANSLATE_LIST;
-
-
-/* Token Ring objects */
-
-/* Token Ring operational characteristics */
-
-/* Mandatory */
-#define OID_802_5_PERMANENT_ADDRESS             0x02010101
-#define OID_802_5_CURRENT_ADDRESS               0x02010102
-#define OID_802_5_CURRENT_FUNCTIONAL            0x02010103
-#define OID_802_5_CURRENT_GROUP                 0x02010104
-#define OID_802_5_LAST_OPEN_STATUS              0x02010105
-#define OID_802_5_CURRENT_RING_STATUS           0x02010106
-#define OID_802_5_CURRENT_RING_STATE            0x02010107
-
-/* Token Ring statistics */
-
-/* Mandatory */
-#define OID_802_5_LINE_ERRORS                   0x02020101
-#define OID_802_5_LOST_FRAMES                   0x02020102
-#define OID_802_5_BURST_ERRORS                  0x02020201
-#define OID_802_5_AC_ERRORS                     0x02020202
-#define OID_802_5_ABORT_DELIMETERS              0x02020203
-#define OID_802_5_FRAME_COPIED_ERRORS           0x02020204
-#define OID_802_5_FREQUENCY_ERRORS              0x02020205
-#define OID_802_5_TOKEN_ERRORS                  0x02020206
-#define OID_802_5_INTERNAL_ERRORS               0x02020207
-
-
-/* FDDI objects */
-
-/* FDDI operational characteristics */
-
-/* Mandatory */
-#define OID_FDDI_LONG_PERMANENT_ADDR            0x03010101
-#define OID_FDDI_LONG_CURRENT_ADDR              0x03010102
-#define OID_FDDI_LONG_MULTICAST_LIST            0x03010103
-#define OID_FDDI_LONG_MAX_LIST_SIZE             0x03010104
-#define OID_FDDI_SHORT_PERMANENT_ADDR           0x03010105
-#define OID_FDDI_SHORT_CURRENT_ADDR             0x03010106
-#define OID_FDDI_SHORT_MULTICAST_LIST           0x03010107
-#define OID_FDDI_SHORT_MAX_LIST_SIZE            0x03010108
-
-/* FDDI statistics */
-
-/* Mandatory */
-#define OID_FDDI_ATTACHMENT_TYPE                0x03020101
-#define OID_FDDI_UPSTREAM_NODE_LONG             0x03020102
-#define OID_FDDI_DOWNSTREAM_NODE_LONG           0x03020103
-#define OID_FDDI_FRAME_ERRORS                   0x03020104
-#define OID_FDDI_FRAMES_LOST                    0x03020105
-#define OID_FDDI_RING_MGT_STATE                 0x03020106
-#define OID_FDDI_LCT_FAILURES                   0x03020107
-#define OID_FDDI_LEM_REJECTS                    0x03020108
-#define OID_FDDI_LCONNECTION_STATE              0x03020109
-
-
-/* LocalTalk objects */
-
-/* LocalTalk operational characteristics */
-
-/* Mandatory */
-#define OID_LTALK_CURRENT_NODE_ID               0x05010102
-
-/* LocalTalk statistics */
-
-/* Mandatory */
-#define OID_LTALK_IN_BROADCASTS                        0x05020101
-#define OID_LTALK_IN_LENGTH_ERRORS              0x05020102
-
-/* Optional */
-#define OID_LTALK_OUT_NO_HANDLERS               0x05020201
-#define OID_LTALK_COLLISIONS                    0x05020202
-#define OID_LTALK_DEFERS                        0x05020203
-#define OID_LTALK_NO_DATA_ERRORS                0x05020204
-#define OID_LTALK_RANDOM_CTS_ERRORS             0x05020205
-#define OID_LTALK_FCS_ERRORS                    0x05020206
-
-
-/* ARCNET objects */
-
-/* ARCNET operational characteristics */
-
-/* Mandatory */
-#define OID_ARCNET_PERMANENT_ADDRESS            0x06010101
-#define OID_ARCNET_CURRENT_ADDRESS              0x06010102
-
-/* ARCNET statistics */
-
-/* Optional */
-#define OID_ARCNET_RECONFIGURATIONS             0x06020201
-
-
-/* WAN objects */
-
-/* Mandatory */
-#define OID_WAN_PERMANENT_ADDRESS               0x04010101
-#define OID_WAN_CURRENT_ADDRESS                 0x04010102
-#define OID_WAN_QUALITY_OF_SERVICE              0x04010103
-#define OID_WAN_PROTOCOL_TYPE                   0x04010104
-#define OID_WAN_MEDIUM_SUBTYPE                  0x04010105
-#define OID_WAN_HEADER_FORMAT                   0x04010106
-#define OID_WAN_GET_INFO                        0x04010107
-#define OID_WAN_SET_LINK_INFO                   0x04010108
-#define OID_WAN_GET_LINK_INFO                   0x04010109
-#define OID_WAN_LINE_COUNT                      0x0401010A
-#define OID_WAN_PROTOCOL_CAPS                   0x0401010B
-#define OID_WAN_GET_BRIDGE_INFO                 0x0401020A
-#define OID_WAN_SET_BRIDGE_INFO                 0x0401020B
-
-/* Optional */
-#define OID_WAN_GET_COMP_INFO                   0x0401020C
-#define OID_WAN_SET_COMP_INFO                   0x0401020D
-#define OID_WAN_GET_STATS_INFO                  0x0401020E
-
-
-/* TAPI objects */
-
-/* Madatory */
-#define OID_TAPI_ANSWER                         0x07030102
-#define OID_TAPI_CLOSE                          0x07030103
-#define OID_TAPI_CLOSE_CALL                     0x07030104
-#define OID_TAPI_CONDITIONAL_MEDIA_DETECTION    0x07030105
-#define OID_TAPI_DROP                           0x07030109
-#define OID_TAPI_GET_ADDRESS_CAPS               0x0703010A
-#define OID_TAPI_GET_ADDRESS_ID                 0x0703010B
-#define OID_TAPI_GET_ADDRESS_STATUS             0x0703010C
-#define OID_TAPI_GET_CALL_ADDRESS_ID            0x0703010D
-#define OID_TAPI_GET_CALL_INFO                  0x0703010E
-#define OID_TAPI_GET_CALL_STATUS                0x0703010F
-#define OID_TAPI_GET_DEV_CAPS                   0x07030110
-#define OID_TAPI_GET_DEV_CONFIG                 0x07030111
-#define OID_TAPI_GET_ID                         0x07030113
-#define OID_TAPI_GET_LINE_DEV_STATUS            0x07030114
-#define OID_TAPI_MAKE_CALL                      0x07030115
-#define OID_TAPI_OPEN                           0x07030117
-#define OID_TAPI_PROVIDER_INITIALIZE            0x07030118
-#define OID_TAPI_PROVIDER_SHUTDOWN              0x07030119
-#define OID_TAPI_SET_APP_SPECIFIC               0x0703011D
-#define OID_TAPI_SET_CALL_PARAMS                0x0703011E
-#define OID_TAPI_SET_DEFAULT_MEDIA_DETECTION    0x0703011F
-#define OID_TAPI_SET_MEDIA_MODE                 0x07030121
-#define OID_TAPI_SET_STATUS_MESSAGES            0x07030122
-
-/* Optional */
-#define OID_TAPI_ACCEPT                         0x07030101
-#define OID_TAPI_CONFIG_DIALOG                  0x07030106
-#define OID_TAPI_DEV_SPECIFIC                   0x07030107
-#define OID_TAPI_DIAL                           0x07030108
-#define OID_TAPI_GET_EXTENSION_ID               0x07030112
-#define OID_TAPI_NEGOTIATE_EXT_VERSION          0x07030116
-#define OID_TAPI_SET_DEV_CONFIG                 0x07030120
-#define OID_TAPI_SECURE_CALL                    0x0703011A
-#define OID_TAPI_SELECT_EXT_VERSION             0x0703011B
-#define OID_TAPI_SEND_USER_USER_INFO            0x0703011C
-
-
-/* Wireless objects */
-
-/* Mandatory */
-#define OID_WW_GEN_NETWORK_TYPES_SUPPORTED      0x09010101
-#define OID_WW_GEN_NETWORK_TYPE_IN_USE          0x09010102
-#define OID_WW_GEN_HEADER_FORMATS_SUPPORTED     0x09010103
-#define OID_WW_GEN_HEADER_FORMAT_IN_USE         0x09010104
-#define OID_WW_GEN_INDICATION_REQUEST           0x09010105
-#define OID_WW_GEN_DEVICE_INFO                  0x09010106
-#define OID_WW_GEN_OPERATION_MODE               0x09010107
-#define OID_WW_GEN_LOCK_STATUS                  0x09010108
-#define OID_WW_GEN_DISABLE_TRANSMITTER          0x09010109
-#define OID_WW_GEN_NETWORK_ID                   0x0901010A
-#define OID_WW_GEN_PERMANENT_ADDRESS            0x0901010B
-#define OID_WW_GEN_CURRENT_ADDRESS              0x0901010C
-#define OID_WW_GEN_SUSPEND_DRIVER               0x0901010D
-#define OID_WW_GEN_BASESTATION_ID               0x0901010E
-#define OID_WW_GEN_CHANNEL_ID                   0x0901010F
-#define OID_WW_GEN_ENCRYPTION_SUPPORTED         0x09010110
-#define OID_WW_GEN_ENCRYPTION_IN_USE            0x09010111
-#define OID_WW_GEN_ENCRYPTION_STATE             0x09010112
-#define OID_WW_GEN_CHANNEL_QUALITY              0x09010113
-#define OID_WW_GEN_REGISTRATION_STATUS          0x09010114
-#define OID_WW_GEN_RADIO_LINK_SPEED             0x09010115
-#define OID_WW_GEN_LATENCY                      0x09010116
-#define OID_WW_GEN_BATTERY_LEVEL                0x09010117
-#define OID_WW_GEN_EXTERNAL_POWER               0x09010118
-
-/* Optional */
-#define OID_WW_GEN_PING_ADDRESS                        0x09010201
-#define OID_WW_GEN_RSSI                         0x09010202
-#define OID_WW_GEN_SIM_STATUS                   0x09010203
-#define OID_WW_GEN_ENABLE_SIM_PIN               0x09010204
-#define OID_WW_GEN_CHANGE_SIM_PIN               0x09010205
-#define OID_WW_GEN_SIM_PUK                      0x09010206
-#define OID_WW_GEN_SIM_EXCEPTION                0x09010207
-
-/* Metricom OIDs */
-#define OID_WW_MET_FUNCTION                     0x09190101
-
-/* DataTac OIDs */
-#define OID_WW_TAC_COMPRESSION                  0x09150101
-
-#define OID_WW_TAC_SET_CONFIG                   0x09150102
-#define OID_WW_TAC_GET_STATUS                   0x09150103
-#define OID_WW_TAC_USER_HEADER                  0x09150104
-
-/* Ardis OIDs */
-
-#define OID_WW_ARD_SNDCP                        0x09110101
-#define OID_WW_ARD_TMLY_MSG                        0x09110102
-#define OID_WW_ARD_DATAGRAM                     0x09110103
-
-/* CDPD OIDs */
-
-#define OID_WW_CDPD_CIRCUIT_SWITCHED            0x090D010E
-#define        OID_WW_CDPD_TEI                         0x090D010F
-#define        OID_WW_CDPD_RSSI                        0x090D0110
-
-#define OID_WW_CDPD_CS_SERVICE_PREFERENCE       0x090D0111
-#define OID_WW_CDPD_CS_SERVICE_STATUS           0x090D0112
-#define OID_WW_CDPD_CS_INFO                        0x090D0113
-#define OID_WW_CDPD_CS_SUSPEND                  0x090D0114
-#define OID_WW_CDPD_CS_DEFAULT_DIAL_CODE        0x090D0115
-#define OID_WW_CDPD_CS_CALLBACK                        0x090D0116
-#define OID_WW_CDPD_CS_SID_LIST                        0x090D0117
-#define OID_WW_CDPD_CS_CONFIGURATION            0x090D0118
-
-/* Pinpoint OIDs */
-
-#define OID_WW_PIN_LOC_AUTHORIZE                0x09090101
-#define OID_WW_PIN_LAST_LOCATION                0x09090102
-#define OID_WW_PIN_LOC_FIX                      0x09090103
-
-/* Mobitex OIDs */
-#define OID_WW_MBX_SUBADDR                      0x09050101
-/*  OID 0x09050102 is reserved and may not be used */
-#define OID_WW_MBX_FLEXLIST                        0x09050103
-#define OID_WW_MBX_GROUPLIST                    0x09050104
-#define OID_WW_MBX_TRAFFIC_AREA                        0x09050105
-#define OID_WW_MBX_LIVE_DIE                        0x09050106
-#define OID_WW_MBX_TEMP_DEFAULTLIST             0x09050107
-
-
-/* Connection-oriented objects */
-
-/* Connection-oriented operational characteristics */
-
-/* Mandatory */
-#define OID_GEN_CO_SUPPORTED_LIST               OID_GEN_SUPPORTED_LIST
-#define OID_GEN_CO_HARDWARE_STATUS              OID_GEN_HARDWARE_STATUS
-#define OID_GEN_CO_MEDIA_SUPPORTED              OID_GEN_MEDIA_SUPPORTED
-#define OID_GEN_CO_MEDIA_IN_USE                        OID_GEN_MEDIA_IN_USE
-#define OID_GEN_CO_LINK_SPEED                   OID_GEN_LINK_SPEED
-#define OID_GEN_CO_VENDOR_ID                    OID_GEN_VENDOR_ID
-#define OID_GEN_CO_VENDOR_DESCRIPTION           OID_GEN_VENDOR_DESCRIPTION
-#define OID_GEN_CO_DRIVER_VERSION               OID_GEN_DRIVER_VERSION
-#define OID_GEN_CO_PROTOCOL_OPTIONS                OID_GEN_PROTOCOL_OPTIONS
-#define OID_GEN_CO_MAC_OPTIONS                  OID_GEN_MAC_OPTIONS
-#define OID_GEN_CO_MEDIA_CONNECT_STATUS                OID_GEN_MEDIA_CONNECT_STATUS
-#define OID_GEN_CO_VENDOR_DRIVER_VERSION        OID_GEN_VENDOR_DRIVER_VERSION
-
-/* Optional */
-#define        OID_GEN_CO_SUPPORTED_GUIDS              OID_GEN_SUPPORTED_GUIDS
-#define OID_GEN_CO_GET_TIME_CAPS                OID_GEN_GET_TIME_CAPS
-#define OID_GEN_CO_GET_NETCARD_TIME                OID_GEN_GET_NETCARD_TIME
-#define OID_GEN_CO_MINIMUM_LINK_SPEED           0x00020120
-
-/* Connection-oriented statistics */
-
-#define        OID_GEN_CO_XMIT_PDUS_OK                 OID_GEN_XMIT_OK
-#define        OID_GEN_CO_RCV_PDUS_OK                  OID_GEN_RCV_OK
-#define        OID_GEN_CO_XMIT_PDUS_ERROR              OID_GEN_XMIT_ERROR
-#define        OID_GEN_CO_RCV_PDUS_ERROR               OID_GEN_RCV_ERROR
-#define        OID_GEN_CO_RCV_PDUS_NO_BUFFER           OID_GEN_RCV_NO_BUFFER
-#define        OID_GEN_CO_RCV_CRC_ERROR                OID_GEN_RCV_CRC_ERROR
-#define OID_GEN_CO_TRANSMIT_QUEUE_LENGTH        OID_GEN_TRANSMIT_QUEUE_LENGTH
-#define        OID_GEN_CO_BYTES_XMIT                   OID_GEN_DIRECTED_BYTES_XMIT
-#define OID_GEN_CO_BYTES_RCV                    OID_GEN_DIRECTED_BYTES_RCV
-#define        OID_GEN_CO_NETCARD_LOAD                 OID_GEN_NETCARD_LOAD
-#define        OID_GEN_CO_DEVICE_PROFILE               OID_GEN_DEVICE_PROFILE
-#define        OID_GEN_CO_BYTES_XMIT_OUTSTANDING       0x00020221
-
-#endif /* __NDISOID_H */
-
-/* PNP OIDs */
-#define OID_PNP_CAPABILITIES                     0xFD010100
-#define OID_PNP_SET_POWER                        0xFD010101
-#define OID_PNP_QUERY_POWER                      0xFD010102
-#define OID_PNP_ADD_WAKE_UP_PATTERN              0xFD010103
-#define OID_PNP_REMOVE_WAKE_UP_PATTERN           0xFD010104
-#define OID_PNP_WAKE_UP_PATTERN_LIST             0xFD010105
-#define OID_PNP_ENABLE_WAKE_UP                   0xFD010106
-
-
-/* EOF */
diff --git a/reactos/include/net/ntddndis.h b/reactos/include/net/ntddndis.h
deleted file mode 100644 (file)
index b23df2a..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * ntddndis.h
- *
- * NDIS device driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDNDIS_H
-#define __NTDDNDIS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-
-//#include <net/ndisoid.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum _NDIS_WAN_QUALITY {
-       NdisWanRaw,
-       NdisWanErrorControl,
-       NdisWanReliable
-} NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
-
-typedef enum _NDIS_DEVICE_POWER_STATE {
-    NdisDeviceStateUnspecified = 0,
-    NdisDeviceStateD0,
-    NdisDeviceStateD1,
-    NdisDeviceStateD2,
-    NdisDeviceStateD3,
-    NdisDeviceStateMaximum
-} NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE;
-
-typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES {
-    NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
-    NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
-    NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
-} NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;
-
-/* NDIS_PNP_CAPABILITIES.Flags constants */
-#define NDIS_DEVICE_WAKE_UP_ENABLE                0x00000001
-#define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE  0x00000002
-#define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE   0x00000004
-
-typedef struct _NDIS_PNP_CAPABILITIES {
-    ULONG                           Flags;
-    NDIS_PM_WAKE_UP_CAPABILITIES    WakeUpCapabilities;
-} NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;
-
-/* Required Object IDs (OIDs) */
-#define OID_GEN_SUPPORTED_LIST                  0x00010101
-#define OID_GEN_HARDWARE_STATUS                 0x00010102
-#define OID_GEN_MEDIA_SUPPORTED                 0x00010103
-#define OID_GEN_MEDIA_IN_USE                    0x00010104
-#define OID_GEN_MAXIMUM_LOOKAHEAD               0x00010105
-#define OID_GEN_MAXIMUM_FRAME_SIZE              0x00010106
-#define OID_GEN_LINK_SPEED                      0x00010107
-#define OID_GEN_TRANSMIT_BUFFER_SPACE           0x00010108
-#define OID_GEN_RECEIVE_BUFFER_SPACE            0x00010109
-#define OID_GEN_TRANSMIT_BLOCK_SIZE             0x0001010A
-#define OID_GEN_RECEIVE_BLOCK_SIZE              0x0001010B
-#define OID_GEN_VENDOR_ID                       0x0001010C
-#define OID_GEN_VENDOR_DESCRIPTION              0x0001010D
-#define OID_GEN_CURRENT_PACKET_FILTER           0x0001010E
-#define OID_GEN_CURRENT_LOOKAHEAD               0x0001010F
-#define OID_GEN_DRIVER_VERSION                  0x00010110
-#define OID_GEN_MAXIMUM_TOTAL_SIZE              0x00010111
-#define OID_GEN_PROTOCOL_OPTIONS                0x00010112
-#define OID_GEN_MAC_OPTIONS                     0x00010113
-#define OID_GEN_MEDIA_CONNECT_STATUS            0x00010114
-#define OID_GEN_MAXIMUM_SEND_PACKETS            0x00010115
-#define OID_GEN_VENDOR_DRIVER_VERSION           0x00010116
-#define        OID_GEN_SUPPORTED_GUIDS                 0x00010117
-#define        OID_GEN_NETWORK_LAYER_ADDRESSES         0x00010118
-#define OID_GEN_TRANSPORT_HEADER_OFFSET         0x00010119
-#define OID_GEN_MACHINE_NAME              0x0001021A
-#define OID_GEN_RNDIS_CONFIG_PARAMETER    0x0001021B
-#define OID_GEN_VLAN_ID                   0x0001021C
-
-/* Optional OIDs */
-#define OID_GEN_MEDIA_CAPABILITIES        0x00010201
-#define OID_GEN_PHYSICAL_MEDIUM           0x00010202
-
-/* Required statistics OIDs */
-#define OID_GEN_XMIT_OK                         0x00020101
-#define OID_GEN_RCV_OK                          0x00020102
-#define OID_GEN_XMIT_ERROR                      0x00020103
-#define OID_GEN_RCV_ERROR                       0x00020104
-#define OID_GEN_RCV_NO_BUFFER                   0x00020105
-
-/* Optional statistics OIDs */
-#define OID_GEN_DIRECTED_BYTES_XMIT             0x00020201
-#define OID_GEN_DIRECTED_FRAMES_XMIT            0x00020202
-#define OID_GEN_MULTICAST_BYTES_XMIT            0x00020203
-#define OID_GEN_MULTICAST_FRAMES_XMIT           0x00020204
-#define OID_GEN_BROADCAST_BYTES_XMIT            0x00020205
-#define OID_GEN_BROADCAST_FRAMES_XMIT           0x00020206
-#define OID_GEN_DIRECTED_BYTES_RCV              0x00020207
-#define OID_GEN_DIRECTED_FRAMES_RCV             0x00020208
-#define OID_GEN_MULTICAST_BYTES_RCV             0x00020209
-#define OID_GEN_MULTICAST_FRAMES_RCV            0x0002020A
-#define OID_GEN_BROADCAST_BYTES_RCV             0x0002020B
-#define OID_GEN_BROADCAST_FRAMES_RCV            0x0002020C
-#define OID_GEN_RCV_CRC_ERROR                   0x0002020D
-#define OID_GEN_TRANSMIT_QUEUE_LENGTH           0x0002020E
-#define OID_GEN_GET_TIME_CAPS             0x0002020F
-#define OID_GEN_GET_NETCARD_TIME          0x00020210
-#define OID_GEN_NETCARD_LOAD              0x00020211
-#define OID_GEN_DEVICE_PROFILE            0x00020212
-#define OID_GEN_INIT_TIME_MS              0x00020213
-#define OID_GEN_RESET_COUNTS              0x00020214
-#define OID_GEN_MEDIA_SENSE_COUNTS        0x00020215
-#define OID_GEN_FRIENDLY_NAME             0x00020216
-#define OID_GEN_MINIPORT_INFO             0x00020217
-#define OID_GEN_RESET_VERIFY_PARAMETERS   0x00020218
-
-/* IEEE 802.3 (Ethernet) OIDs */
-#define NDIS_802_3_MAC_OPTION_PRIORITY    0x00000001
-
-#define OID_802_3_PERMANENT_ADDRESS             0x01010101
-#define OID_802_3_CURRENT_ADDRESS               0x01010102
-#define OID_802_3_MULTICAST_LIST                0x01010103
-#define OID_802_3_MAXIMUM_LIST_SIZE             0x01010104
-#define OID_802_3_MAC_OPTIONS                   0x01010105
-#define OID_802_3_RCV_ERROR_ALIGNMENT           0x01020101
-#define OID_802_3_XMIT_ONE_COLLISION            0x01020102
-#define OID_802_3_XMIT_MORE_COLLISIONS          0x01020103
-#define OID_802_3_XMIT_DEFERRED                 0x01020201
-#define OID_802_3_XMIT_MAX_COLLISIONS           0x01020202
-#define OID_802_3_RCV_OVERRUN                   0x01020203
-#define OID_802_3_XMIT_UNDERRUN                 0x01020204
-#define OID_802_3_XMIT_HEARTBEAT_FAILURE        0x01020205
-#define OID_802_3_XMIT_TIMES_CRS_LOST           0x01020206
-#define OID_802_3_XMIT_LATE_COLLISIONS          0x01020207
-
-/* OID_GEN_MINIPORT_INFO constants */
-#define NDIS_MINIPORT_BUS_MASTER                      0x00000001
-#define NDIS_MINIPORT_WDM_DRIVER                      0x00000002
-#define NDIS_MINIPORT_SG_LIST                         0x00000004
-#define NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY            0x00000008
-#define NDIS_MINIPORT_INDICATES_PACKETS               0x00000010
-#define NDIS_MINIPORT_IGNORE_PACKET_QUEUE             0x00000020
-#define NDIS_MINIPORT_IGNORE_REQUEST_QUEUE            0x00000040
-#define NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS        0x00000080
-#define NDIS_MINIPORT_INTERMEDIATE_DRIVER             0x00000100
-#define NDIS_MINIPORT_IS_NDIS_5                       0x00000200
-#define NDIS_MINIPORT_IS_CO                           0x00000400
-#define NDIS_MINIPORT_DESERIALIZE                     0x00000800
-#define NDIS_MINIPORT_REQUIRES_MEDIA_POLLING          0x00001000
-#define NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE            0x00002000
-#define NDIS_MINIPORT_NETBOOT_CARD                    0x00004000
-#define NDIS_MINIPORT_PM_SUPPORTED                    0x00008000
-#define NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE  0x00010000
-#define NDIS_MINIPORT_USES_SAFE_BUFFER_APIS           0x00020000
-#define NDIS_MINIPORT_HIDDEN                          0x00040000
-#define NDIS_MINIPORT_SWENUM                          0x00080000
-#define NDIS_MINIPORT_SURPRISE_REMOVE_OK              0x00100000
-#define NDIS_MINIPORT_NO_HALT_ON_SUSPEND              0x00200000
-#define NDIS_MINIPORT_HARDWARE_DEVICE                 0x00400000
-#define NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS    0x00800000
-#define NDIS_MINIPORT_64BITS_DMA                      0x01000000
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDNDIS_H */