Minor progress to bring ros-ddk headers closer to the latest mingw-ddk headers. Teste...
authorRobert Dickenson <robd@reactos.org>
Fri, 17 Oct 2003 09:17:59 +0000 (09:17 +0000)
committerRobert Dickenson <robd@reactos.org>
Fri, 17 Oct 2003 09:17:59 +0000 (09:17 +0000)
svn path=/trunk/; revision=6342

reactos/include/net/ndis.h
reactos/include/net/ndisoid.h
reactos/include/net/netevent.h
reactos/include/net/ntddndis.h
reactos/include/net/tdi.h
reactos/include/net/tdiinfo.h
reactos/include/net/tdikrnl.h
reactos/include/net/tdistat.h [new file with mode: 0644]

index 2bdf10b..54609eb 100644 (file)
 #ifndef __NDIS_H
 #define __NDIS_H
 
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
 #ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
+extern "C" {
+#endif
+
+#pragma pack(push,4)
 
 #ifdef NDIS50
 #undef NDIS40
@@ -62,17 +67,17 @@ extern "C"
 #ifdef NDIS_WRAPPER
 
 #ifdef _MSC_VER
-#define EXPIMP __declspec(dllexport)
+#define DDKAPI __declspec(dllexport)
 #else
-#define EXPIMP STDCALL /* MS ndis.h is 100% stdcall due to compiler flag /Gz */
+#define DDKAPI STDCALL /* MS ndis.h is 100% stdcall due to compiler flag /Gz */
 #endif
 
 #else /* NDIS_WRAPPER */
 
 #ifdef _MSC_VER
-#define EXPIMP __declspec(dllimport)
+#define DDKAPI __declspec(dllimport)
 #else
-#define EXPIMP STDCALL
+#define DDKAPI STDCALL
 #endif
 
 #endif /* NDIS_WRAPPER */
@@ -249,14 +254,12 @@ typedef struct _GUID {
 
 /* NDIS base types */
 
-typedef struct _NDIS_SPIN_LOCK
-{
+typedef struct _NDIS_SPIN_LOCK {
     KSPIN_LOCK  SpinLock;
     KIRQL       OldIrql;
 } NDIS_SPIN_LOCK, * PNDIS_SPIN_LOCK;
 
-typedef struct _NDIS_EVENT
-{
+typedef struct _NDIS_EVENT {
     KEVENT  Event;
 } NDIS_EVENT, *PNDIS_EVENT;
 
@@ -274,7 +277,6 @@ typedef MDL NDIS_BUFFER, *PNDIS_BUFFER;
 #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)
@@ -366,7 +368,7 @@ typedef MDL NDIS_BUFFER, *PNDIS_BUFFER;
 #define NDIS_ERROR_CODE_ADAPTER_DISABLED                       EVENT_NDIS_ADAPTER_DISABLED
 
 
-/* Memory allocation flags. Used by Ndis(Allocate|Free)Memory */
+/* Memory allocation flags. Used by Ndis[Allocate|Free]Memory */
 #define NDIS_MEMORY_CONTIGUOUS  0x00000001
 #define NDIS_MEMORY_NONCACHED   0x00000002
 
@@ -379,25 +381,18 @@ typedef MDL NDIS_BUFFER, *PNDIS_BUFFER;
 #define NDIS_ATTRIBUTE_DESERIALIZE              0x00000020
 
 
-
 #define        MAXIMUM_PROCESSORS  32
 
-
-
 /* Lock */
 
-typedef union _NDIS_RW_LOCK_REFCOUNT
-{
+typedef union _NDIS_RW_LOCK_REFCOUNT {
     UINT    RefCount;
     UCHAR   cacheLine[16];
 } NDIS_RW_LOCK_REFCOUNT;
 
-typedef struct _NDIS_RW_LOCK
-{
-    union
-    {
-        struct
-        {
+typedef struct _NDIS_RW_LOCK {
+    union {
+        struct {
             KSPIN_LOCK          SpinLock;
             PVOID               Context;
         } s;
@@ -407,8 +402,7 @@ typedef struct _NDIS_RW_LOCK
     NDIS_RW_LOCK_REFCOUNT       RefCount[MAXIMUM_PROCESSORS];
 } NDIS_RW_LOCK, *PNDIS_RW_LOCK;
 
-typedef struct _LOCK_STATE
-{
+typedef struct _LOCK_STATE {
     USHORT  LockState;
     KIRQL   OldIrql;
 } LOCK_STATE, *PLOCK_STATE;
@@ -417,27 +411,27 @@ typedef struct _LOCK_STATE
 
 /* Timer */
 
-typedef VOID (*PNDIS_TIMER_FUNCTION)(
+typedef VOID
+(*PNDIS_TIMER_FUNCTION)(
     IN  PVOID   SystemSpecific1,
     IN  PVOID   FunctionContext,
     IN  PVOID   SystemSpecific2,
     IN  PVOID   SystemSpecific3);
 
-typedef struct _NDIS_TIMER
-{
+typedef struct _NDIS_TIMER {
     KTIMER  Timer;
     KDPC    Dpc;
 } NDIS_TIMER, *PNDIS_TIMER;
 
 VOID
-EXPIMP
+DDKAPI
 NdisInitializeTimer(
     IN OUT  PNDIS_TIMER             Timer,
     IN      PNDIS_TIMER_FUNCTION    TimerFunction,
     IN      PVOID                   FunctionContext);
 
 VOID
-EXPIMP
+DDKAPI
 NdisSetTimer(
     IN PNDIS_TIMER  Timer,
     IN UINT         MillisecondsToDelay);
@@ -450,8 +444,7 @@ typedef CM_EISA_FUNCTION_INFORMATION NDIS_EISA_FUNCTION_INFORMATION, *PNDIS_EISA
 typedef CM_PARTIAL_RESOURCE_LIST NDIS_RESOURCE_LIST, *PNDIS_RESOURCE_LIST;
 
 /* Hardware status codes (OID_GEN_HARDWARE_STATUS) */
-typedef enum _NDIS_HARDWARE_STATUS
-{
+typedef enum _NDIS_HARDWARE_STATUS {
     NdisHardwareStatusReady,
     NdisHardwareStatusInitializing,
     NdisHardwareStatusReset,
@@ -460,8 +453,7 @@ typedef enum _NDIS_HARDWARE_STATUS
 } NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
 
 /* OID_GEN_GET_TIME_CAPS */
-typedef struct _GEN_GET_TIME_CAPS
-{
+typedef struct _GEN_GET_TIME_CAPS {
     ULONG                       Flags;
     ULONG                       ClockPrecision;
 } GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;
@@ -475,14 +467,12 @@ typedef struct _GEN_GET_TIME_CAPS
 #define        TIME_STAMP_CAPABLE                      0x00000020
 
 /* OID_GEN_GET_NETCARD_TIME */
-typedef struct _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
-{
+typedef enum _NDIS_MEDIUM {
     NdisMedium802_3,
     NdisMedium802_5,
     NdisMediumFddi,
@@ -530,18 +520,15 @@ typedef enum _NDIS_MEDIUM
 #define NDIS_MAC_OPTION_RESERVED                0x80000000
 
 /* State of the LAN media (OID_GEN_MEDIA_CONNECT_STATUS) */
-typedef enum _NDIS_MEDIA_STATE
-{
+typedef enum _NDIS_MEDIA_STATE {
     NdisMediaStateConnected,
     NdisMediaStateDisconnected
 } NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
 
 /* OID_GEN_SUPPORTED_GUIDS */
-typedef struct _NDIS_GUID
-{
+typedef struct _NDIS_GUID {
     GUID            Guid;
-    union
-    {
+    union {
         NDIS_OID    Oid;
         NDIS_STATUS Status;
     } u;
@@ -556,17 +543,14 @@ typedef struct _NDIS_GUID
 #define        NDIS_GUID_ARRAY             0x00000010
 
 
-
-typedef struct _NDIS_PACKET_POOL
-{
+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
-{
+typedef struct _NDIS_PACKET_PRIVATE {
     UINT                PhysicalCount;
     UINT                TotalLength;
     PNDIS_BUFFER        Head;
@@ -613,8 +597,7 @@ typedef struct _NDIS_PACKET_OOB_DATA {
     NDIS_STATUS    Status;
 } NDIS_PACKET_OOB_DATA, *PNDIS_PACKET_OOB_DATA;
 
-typedef struct _NDIS_PM_PACKET_PATTERN
-{
+typedef struct _NDIS_PM_PACKET_PATTERN {
     ULONG  Priority;
     ULONG  Reserved;
     ULONG  MaskSize;
@@ -625,8 +608,7 @@ typedef struct _NDIS_PM_PACKET_PATTERN
 
 
 /* Request types used by NdisRequest */
-typedef enum _NDIS_REQUEST_TYPE
-{
+typedef enum _NDIS_REQUEST_TYPE {
     NdisRequestQueryInformation,
     NdisRequestSetInformation,
     NdisRequestQueryStatistics,
@@ -674,8 +656,7 @@ typedef struct _NDIS_REQUEST {
 
 /* Wide Area Networks definitions */
 
-typedef struct _NDIS_WAN_PACKET
-{
+typedef struct _NDIS_WAN_PACKET {
     LIST_ENTRY  WanPacketQueue;
     PUCHAR      CurrentBuffer;
     ULONG       CurrentLength;
@@ -695,8 +676,7 @@ typedef struct _NDIS_WAN_PACKET
 
 /* DMA channel information */
 
-typedef struct _NDIS_DMA_DESCRIPTION
-{
+typedef struct _NDIS_DMA_DESCRIPTION {
     BOOLEAN     DemandMode;
     BOOLEAN     AutoInitialize;
     BOOLEAN     DmaChannelSpecified;
@@ -706,8 +686,7 @@ typedef struct _NDIS_DMA_DESCRIPTION
     ULONG       DmaChannel;
 } NDIS_DMA_DESCRIPTION, *PNDIS_DMA_DESCRIPTION;
 
-typedef struct _NDIS_DMA_BLOCK
-{
+typedef struct _NDIS_DMA_BLOCK {
     PVOID           MapRegisterBase;
     KEVENT          AllocationEvent;
     PADAPTER_OBJECT SystemAdapterObject;
@@ -719,8 +698,7 @@ typedef struct _NDIS_DMA_BLOCK
 #define NDIS_DMA_64BITS 2
 
 /* Possible hardware architecture */
-typedef enum _NDIS_INTERFACE_TYPE
-{
+typedef enum _NDIS_INTERFACE_TYPE {
        NdisInterfaceInternal       = Internal,
        NdisInterfaceIsa            = Isa,
        NdisInterfaceEisa           = Eisa,
@@ -734,22 +712,19 @@ typedef enum _NDIS_INTERFACE_TYPE
 #define NdisInterruptLatched        Latched
 typedef KINTERRUPT_MODE NDIS_INTERRUPT_MODE, *PNDIS_INTERRUPT_MODE;
 
-typedef enum _NDIS_PROCESSOR_TYPE
-{
+typedef enum _NDIS_PROCESSOR_TYPE {
        NdisProcessorX86,
        NdisProcessorMips,
        NdisProcessorAlpha,
        NdisProcessorPpc
 } NDIS_PROCESSOR_TYPE, *PNDIS_PROCESSOR_TYPE;
 
-typedef enum _NDIS_ENVIRONMENT_TYPE
-{
+typedef enum _NDIS_ENVIRONMENT_TYPE {
        NdisEnvironmentWindows,
        NdisEnvironmentWindowsNt
 } NDIS_ENVIRONMENT_TYPE, *PNDIS_ENVIRONMENT_TYPE;
 
-typedef enum _NDIS_PARAMETER_TYPE
-{
+typedef enum _NDIS_PARAMETER_TYPE {
     NdisParameterInteger,
     NdisParameterHexInteger,
     NdisParameterString,
@@ -757,33 +732,31 @@ typedef enum _NDIS_PARAMETER_TYPE
         NdisParameterBinary
 } NDIS_PARAMETER_TYPE, *PNDIS_PARAMETER_TYPE;
 
-typedef struct
-{
+typedef struct {
        USHORT Length;
        PVOID  Buffer;
 } BINARY_DATA;
 
-typedef struct _NDIS_CONFIGURATION_PARAMETER
-{
+typedef struct _NDIS_CONFIGURATION_PARAMETER {
     NDIS_PARAMETER_TYPE ParameterType;
-    union
-    {
+    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
-{
+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)(
+typedef VOID STDCALL
+(*ADAPTER_SHUTDOWN_HANDLER)(
     IN  PVOID   ShutdownContext);
 
 
@@ -794,8 +767,7 @@ typedef struct _OID_LIST    OID_LIST, *POID_LIST;
 
 /* PnP state */
 
-typedef enum _NDIS_PNP_DEVICE_STATE
-{
+typedef enum _NDIS_PNP_DEVICE_STATE {
     NdisPnPDeviceAdded,
     NdisPnPDeviceStarted,
     NdisPnPDeviceQueryStopped,
@@ -819,15 +791,13 @@ typedef struct _ATM_ADDRESS ATM_ADDRESS, *PATM_ADDRESS;
 
 
 /* OID_GEN_NETWORK_LAYER_ADDRESSES */
-typedef struct _NETWORK_ADDRESS
-{
+typedef struct _NETWORK_ADDRESS {
     USHORT  AddressLength; 
     USHORT  AddressType; 
     UCHAR   Address[1]; 
 } NETWORK_ADDRESS, *PNETWORK_ADDRESS;
 
-typedef struct _NETWORK_ADDRESS_LIST 
-{
+typedef struct _NETWORK_ADDRESS_LIST {
     LONG    AddressCount; 
     USHORT  AddressType; 
     NETWORK_ADDRESS Address[1]; 
@@ -841,44 +811,39 @@ typedef struct _NETWORK_ADDRESS_LIST
 #define        NDIS_PROTOCOL_ID_MAX            0x0F
 #define        NDIS_PROTOCOL_ID_MASK           0x0F
 
+
 /* OID_GEN_TRANSPORT_HEADER_OFFSET */
-typedef struct _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
-{
+typedef struct _NDIS_CO_LINK_SPEED {
     ULONG   Outbound;
     ULONG   Inbound;
 } NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
 
 
-typedef enum _NDIS_AF
-{
+typedef enum _NDIS_AF {
     CO_ADDRESS_FAMILY_Q2931 = 1,
     CO_ADDRESS_FAMILY_SPANS,
 } NDIS_AF, *PNDIS_AF;
 
-typedef struct
-{
+typedef struct {
     NDIS_AF  AddressFamily;
     ULONG    MajorVersion;
     ULONG    MinorVersion;
 } CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;
 
-typedef enum
-{
+typedef enum {
     BestEffortService,
     PredictiveService,
     GuaranteedService
 } GUARANTEE;
 
-typedef struct _CO_FLOW_PARAMETERS
-{
+typedef struct _CO_FLOW_PARAMETERS {
     ULONG       TokenRate;              /* In Bytes/sec */
     ULONG       TokenBucketSize;        /* In Bytes */
     ULONG       PeakBandwidth;          /* In Bytes/sec */
@@ -891,8 +856,7 @@ typedef struct _CO_FLOW_PARAMETERS
     ULONG       MaxSduSize;             /* In Bytes */
 } CO_FLOW_PARAMETERS, *PCO_FLOW_PARAMETERS;
 
-typedef struct _CO_SPECIFIC_PARAMETERS
-{
+typedef struct _CO_SPECIFIC_PARAMETERS {
     ULONG   ParamType;
     ULONG   Length;
     UCHAR   Parameters[1];
@@ -904,15 +868,7 @@ typedef struct _CO_CALL_MANAGER_PARAMETERS {
     CO_SPECIFIC_PARAMETERS  CallMgrSpecific;
 } CO_CALL_MANAGER_PARAMETERS, *PCO_CALL_MANAGER_PARAMETERS;
 
-typedef struct _CO_MEDIA_PARAMETERS
-{
-    ULONG                       Flags;
-    ULONG                       ReceivePriority;
-    ULONG                       ReceiveSizeHint;
-    CO_SPECIFIC_PARAMETERS      MediaSpecific;
-} CO_MEDIA_PARAMETERS, *PCO_MEDIA_PARAMETERS;
-
-/* Definitions for the flags in CO_MEDIA_PARAMETERS */
+/* CO_MEDIA_PARAMETERS.Flags constants */
 #define RECEIVE_TIME_INDICATION         0x00000001
 #define USE_TIME_STAMPS                 0x00000002
 #define TRANSMIT_VC                        0x00000004
@@ -923,8 +879,14 @@ typedef struct _CO_MEDIA_PARAMETERS
 #define        ROUND_DOWN_FLOW                 0x00000080
 #define        ROUND_UP_FLOW                   0x00000100
 
-typedef struct _CO_CALL_PARAMETERS
-{
+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;
@@ -936,18 +898,13 @@ typedef struct _CO_SAP {
     UCHAR   Sap[1];
 } CO_SAP, *PCO_SAP;
 
-typedef struct _NDIS_IPSEC_PACKET_INFO
-{
-    union
-    {
-        struct
-        {
+typedef struct _NDIS_IPSEC_PACKET_INFO {
+    union {
+        struct {
             NDIS_HANDLE    OffloadHandle;
             NDIS_HANDLE    NextOffloadHandle;
         } Transmit;
-        struct
-        {
+        struct {
             ULONG    SA_DELETE_REQ:1;
             ULONG    CRYPTO_DONE:1;
             ULONG    NEXT_CRYPTO_DONE:1;
@@ -960,8 +917,7 @@ typedef struct _NDIS_IPSEC_PACKET_INFO
 /* Plug and play and power management */
 
 /* PnP and PM event codes */
-typedef enum _NET_PNP_EVENT_CODE
-{
+typedef enum _NET_PNP_EVENT_CODE {
     NetEventSetPower,
     NetEventQueryPower,
     NetEventQueryRemoveDevice,
@@ -974,8 +930,7 @@ typedef enum _NET_PNP_EVENT_CODE
 } NET_PNP_EVENT_CODE, *PNET_PNP_EVENT_CODE;
 
 /* Networking PnP event indication structure */
-typedef struct _NET_PNP_EVENT
-{
+typedef struct _NET_PNP_EVENT {
     /* Event code */
     NET_PNP_EVENT_CODE  NetEvent;
     /* Event specific data */
@@ -991,8 +946,7 @@ typedef struct _NET_PNP_EVENT
 } NET_PNP_EVENT, *PNET_PNP_EVENT;
 
 /* Device power state structure */
-typedef enum _NET_DEVICE_POWER_STATE
-{
+typedef enum _NET_DEVICE_POWER_STATE {
     NetDeviceStateUnspecified = 0,
     NetDeviceStateD0,
     NetDeviceStateD1,
@@ -1036,50 +990,50 @@ typedef NDIS_STATUS STDCALL (*CM_OPEN_AF_HANDLER)(
 
 typedef
 NDIS_STATUS
-STDCALL (*CM_CLOSE_AF_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrAfContext
-       );
+STDCALL
+(*CM_CLOSE_AF_HANDLER)(
+       IN      NDIS_HANDLE                             CallMgrAfContext);
 
 typedef
 NDIS_STATUS
-STDCALL (*CM_REG_SAP_HANDLER)(
+STDCALL
+(*CM_REG_SAP_HANDLER)(
        IN      NDIS_HANDLE                             CallMgrAfContext,
        IN      PCO_SAP                                 Sap,
        IN      NDIS_HANDLE                             NdisSapHandle,
-       OUT     PNDIS_HANDLE                    CallMgrSapContext
-       );
+       OUT     PNDIS_HANDLE                    CallMgrSapContext);
 
 typedef
 NDIS_STATUS
-STDCALL (*CM_DEREG_SAP_HANDLER)(
-       IN      NDIS_HANDLE                             CallMgrSapContext
-       );
+STDCALL
+(*CM_DEREG_SAP_HANDLER)(
+       IN      NDIS_HANDLE                             CallMgrSapContext);
 
 typedef
 NDIS_STATUS
-STDCALL (*CM_MAKE_CALL_HANDLER)(
+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
-       );
+       OUT     PNDIS_HANDLE                    CallMgrPartyContext OPTIONAL);
 
 typedef
 NDIS_STATUS
-STDCALL (*CM_CLOSE_CALL_HANDLER)(
+STDCALL
+(*CM_CLOSE_CALL_HANDLER)(
        IN      NDIS_HANDLE                             CallMgrVcContext,
        IN      NDIS_HANDLE                             CallMgrPartyContext     OPTIONAL,
        IN      PVOID                                   CloseData                       OPTIONAL,
-       IN      UINT                                    Size                            OPTIONAL
-       );
+       IN      UINT                                    Size                            OPTIONAL);
 
 typedef
 VOID
-STDCALL (*CM_INCOMING_CALL_COMPLETE_HANDLER)(
+STDCALL
+(*CM_INCOMING_CALL_COMPLETE_HANDLER)(
        IN      NDIS_STATUS                             Status,
        IN      NDIS_HANDLE                             CallMgrVcContext,
-       IN      PCO_CALL_PARAMETERS             CallParameters
-       );
+       IN      PCO_CALL_PARAMETERS             CallParameters);
 
 typedef
 NDIS_STATUS
@@ -1115,19 +1069,16 @@ STDCALL (*CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
 
 typedef
 NDIS_STATUS
-STDCALL (*CM_MODIFY_CALL_QOS_HANDLER)(
+STDCALL
+(*CM_MODIFY_CALL_QOS_HANDLER)(
        IN      NDIS_HANDLE                             CallMgrVcContext,
-       IN      PCO_CALL_PARAMETERS             CallParameters
-       );
+       IN      PCO_CALL_PARAMETERS             CallParameters);
 
-typedef struct _NDIS_CALL_MANAGER_CHARACTERISTICS
-{
+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;
@@ -1155,79 +1106,89 @@ typedef VOID STDCALL (*CL_OPEN_AF_COMPLETE_HANDLER)(
     IN  NDIS_HANDLE ProtocolAfContext,
     IN  NDIS_HANDLE NdisAfHandle);
 
-typedef VOID STDCALL (*CL_CLOSE_AF_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*CL_CLOSE_AF_COMPLETE_HANDLER)(
     IN  NDIS_STATUS Status,
     IN  NDIS_HANDLE ProtocolAfContext);
 
-typedef VOID STDCALL (*CL_REG_SAP_COMPLETE_HANDLER)(
+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)(
+typedef VOID STDCALL
+(*CL_DEREG_SAP_COMPLETE_HANDLER)(
     IN  NDIS_STATUS Status,
     IN  NDIS_HANDLE ProtocolSapContext);
 
-typedef VOID STDCALL (*CL_MAKE_CALL_COMPLETE_HANDLER)(
+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)(
+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)(
+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)(
+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)(
+typedef VOID STDCALL
+(*CL_DROP_PARTY_COMPLETE_HANDLER)(
     IN  NDIS_STATUS Status,
     IN  NDIS_HANDLE ProtocolPartyContext);
 
-typedef NDIS_STATUS STDCALL (*CL_INCOMING_CALL_HANDLER)(
+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)(
+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)(
+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)(
+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)(
+typedef VOID STDCALL
+(*CL_CALL_CONNECTED_HANDLER)(
     IN  NDIS_HANDLE ProtocolVcContext);
 
 
-typedef struct _NDIS_CLIENT_CHARACTERISTICS
-{
+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;
@@ -1249,58 +1210,68 @@ typedef struct _NDIS_CLIENT_CHARACTERISTICS
 } NDIS_CLIENT_CHARACTERISTICS, *PNDIS_CLIENT_CHARACTERISTICS;
 
 
-
 /* NDIS protocol structures */
 
 /* Prototypes for NDIS 3.0 protocol characteristics */
 
-typedef VOID STDCALL (*OPEN_ADAPTER_COMPLETE_HANDLER)(
+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)(
+typedef VOID STDCALL
+(*CLOSE_ADAPTER_COMPLETE_HANDLER)(
     IN  NDIS_HANDLE     ProtocolBindingContext,
     IN  NDIS_STATUS     Status);
 
-typedef VOID STDCALL (*RESET_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*RESET_COMPLETE_HANDLER)(
     IN  NDIS_HANDLE     ProtocolBindingContext,
     IN  NDIS_STATUS     Status);
 
-typedef VOID STDCALL (*REQUEST_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*REQUEST_COMPLETE_HANDLER)(
     IN  NDIS_HANDLE     ProtocolBindingContext,
     IN  PNDIS_REQUEST   NdisRequest,
     IN  NDIS_STATUS     Status);
 
-typedef VOID STDCALL (*STATUS_HANDLER)(
+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)(
+typedef VOID STDCALL
+(*STATUS_COMPLETE_HANDLER)(
     IN  NDIS_HANDLE     ProtocolBindingContext);
 
-typedef VOID STDCALL (*SEND_COMPLETE_HANDLER)(
+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)(
+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)(
+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)(
+typedef VOID STDCALL
+(*WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
     VOID);
 
-typedef NDIS_STATUS STDCALL (*RECEIVE_HANDLER)(
+typedef NDIS_STATUS STDCALL
+(*RECEIVE_HANDLER)(
     IN  NDIS_HANDLE     ProtocolBindingContext,
     IN  NDIS_HANDLE     MacReceiveContext,
     IN  PVOID           HeaderBuffer,
@@ -1309,19 +1280,20 @@ typedef NDIS_STATUS STDCALL (*RECEIVE_HANDLER)(
     IN  UINT            LookaheadBufferSize,
     IN  UINT            PacketSize);
 
-typedef NDIS_STATUS STDCALL (*WAN_RECEIVE_HANDLER)(
+typedef NDIS_STATUS STDCALL
+(*WAN_RECEIVE_HANDLER)(
     IN  NDIS_HANDLE     NdisLinkHandle,
     IN  PUCHAR          Packet,
     IN  ULONG           PacketSize);
 
-typedef VOID STDCALL (*RECEIVE_COMPLETE_HANDLER)(
+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
-{
+typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS {
     UCHAR                           MajorNdisVersion;
     UCHAR                           MinorNdisVersion;
     union
@@ -1395,37 +1367,41 @@ typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS_S
 
 /* Prototypes for NDIS 4.0 protocol characteristics */
 
-typedef INT STDCALL (*RECEIVE_PACKET_HANDLER)(
+typedef INT STDCALL
+(*RECEIVE_PACKET_HANDLER)(
     IN  NDIS_HANDLE     ProtocolBindingContext,
     IN  PNDIS_PACKET    Packet);
 
-typedef VOID STDCALL (*BIND_HANDLER)(
+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)(
+typedef VOID STDCALL
+(*UNBIND_HANDLER)(
     OUT PNDIS_STATUS    Status,
     IN  NDIS_HANDLE     ProtocolBindingContext,
     IN  NDIS_HANDLE     UnbindContext);
 
-typedef VOID STDCALL (*TRANSLATE_HANDLER)(
+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)(
+typedef VOID STDCALL
+(*UNLOAD_PROTOCOL_HANDLER)(
     VOID);
 
 
 /* Protocol characteristics for NDIS 4.0 protocols */
 #ifdef _MSC_VER
-typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS
-{
+typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS {
     NDIS30_PROTOCOL_CHARACTERISTICS;
 
     RECEIVE_PACKET_HANDLER  ReceivePacketHandler;
@@ -1530,7 +1506,7 @@ typedef NDIS_PROTOCOL_CHARACTERISTICS *PNDIS_PROTOCOL_CHARACTERISTICS;
 /* Buffer management routines */
 
 VOID
-EXPIMP
+DDKAPI
 NdisAllocateBuffer(
     OUT PNDIS_STATUS    Status,
     OUT PNDIS_BUFFER    *Buffer,
@@ -1539,21 +1515,21 @@ NdisAllocateBuffer(
     IN  UINT            Length);
 
 VOID
-EXPIMP
+DDKAPI
 NdisAllocateBufferPool(
     OUT PNDIS_STATUS    Status,
     OUT PNDIS_HANDLE    PoolHandle,
     IN  UINT            NumberOfDescriptors);
 
 VOID
-EXPIMP
+DDKAPI
 NdisAllocatePacket(
     OUT PNDIS_STATUS    Status,
     OUT PNDIS_PACKET    *Packet,
     IN  NDIS_HANDLE     PoolHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisAllocatePacketPool(
     OUT PNDIS_STATUS    Status,
     OUT PNDIS_HANDLE    PoolHandle,
@@ -1561,7 +1537,7 @@ NdisAllocatePacketPool(
     IN  UINT            ProtocolReservedLength);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCopyBuffer(
     OUT PNDIS_STATUS    Status,
     OUT PNDIS_BUFFER    *Buffer,
@@ -1571,7 +1547,7 @@ NdisCopyBuffer(
     IN  UINT            Length);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCopyFromPacketToPacket(
     IN  PNDIS_PACKET    Destination,
     IN  UINT            DestinationOffset,
@@ -1581,58 +1557,58 @@ NdisCopyFromPacketToPacket(
     OUT PUINT           BytesCopied);
 
 VOID
-EXPIMP
+DDKAPI
 NdisDprAllocatePacket(
     OUT PNDIS_STATUS    Status,
     OUT PNDIS_PACKET    *Packet,
     IN  NDIS_HANDLE     PoolHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisDprAllocatePacketNonInterlocked(
     OUT PNDIS_STATUS    Status,
     OUT PNDIS_PACKET    *Packet,
     IN NDIS_HANDLE      PoolHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisDprFreePacket(
     IN  PNDIS_PACKET    Packet);
 
 VOID
-EXPIMP
+DDKAPI
 NdisDprFreePacketNonInterlocked(
     IN  PNDIS_PACKET    Packet);
 
 VOID
-EXPIMP
+DDKAPI
 NdisFreeBufferPool(
     IN  NDIS_HANDLE PoolHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisFreePacket(
     IN   PNDIS_PACKET   Packet);
 
 VOID
-EXPIMP
+DDKAPI
 NdisFreePacketPool(
     IN  NDIS_HANDLE PoolHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisReturnPackets(
     IN  PNDIS_PACKET    *PacketsToReturn,
     IN  UINT            NumberOfPackets);
 
 VOID
-EXPIMP
+DDKAPI
 NdisUnchainBufferAtBack(
     IN OUT  PNDIS_PACKET    Packet,
     OUT     PNDIS_BUFFER    *Buffer);
 
 VOID
-EXPIMP
+DDKAPI
 NdisUnchainBufferAtFront(
     IN OUT  PNDIS_PACKET    Packet,
     OUT     PNDIS_BUFFER    *Buffer);
@@ -1643,7 +1619,7 @@ NdisUnchainBufferAtFront(
  *     IN  UINT            Length);
  */
 VOID 
-EXPIMP
+DDKAPI
 NdisAdjustBufferLength(
     IN  PNDIS_BUFFER    Buffer,
     IN  UINT            Length);
@@ -1653,12 +1629,12 @@ NdisAdjustBufferLength(
  *     IN  PNDIS_BUFFER    Buffer);
  */
 ULONG 
-EXPIMP
+DDKAPI
 NDIS_BUFFER_TO_SPAN_PAGES(
     IN  PNDIS_BUFFER    Buffer);
 
 VOID
-EXPIMP
+DDKAPI
 NdisFreeBuffer(
     IN  PNDIS_BUFFER    Buffer);
 
@@ -1670,7 +1646,7 @@ NdisFreeBuffer(
  *     OUT PUINT           ArraySize);
  */
 VOID 
-EXPIMP
+DDKAPI
 NdisGetBufferPhysicalArraySize(
     IN  PNDIS_BUFFER    Buffer,
     OUT PUINT           ArraySize);
@@ -1684,7 +1660,7 @@ NdisGetBufferPhysicalArraySize(
  *     OUT PUINT           _TotalBufferLength)
  */
 VOID
-EXPIMP
+DDKAPI
 NdisGetFirstBufferFromPacket(
    IN  PNDIS_PACKET    _Packet,
    OUT PNDIS_BUFFER    * _FirstBuffer,
@@ -1693,14 +1669,14 @@ NdisGetFirstBufferFromPacket(
    OUT PUINT           _TotalBufferLength);
 
 VOID 
-EXPIMP
+DDKAPI
 NdisQueryBuffer(
      IN  PNDIS_BUFFER    Buffer,
      OUT PVOID           *VirtualAddress OPTIONAL,
      OUT PUINT           Length);
 
 VOID 
-EXPIMP
+DDKAPI
 NdisQueryBufferOffset(
     IN  PNDIS_BUFFER    Buffer,
     OUT PUINT           Offset,
@@ -1911,7 +1887,7 @@ NdisQueryBufferOffset(
 }
 
 VOID
-EXPIMP
+DDKAPI
 NdisReinitializePacket(
     IN OUT  PNDIS_PACKET    Packet);
 
@@ -2007,40 +1983,40 @@ NdisReinitializePacket(
 /* Memory management routines */
 
 VOID
-EXPIMP
+DDKAPI
 NdisCreateLookaheadBufferFromSharedMemory(
     IN  PVOID   pSharedMemory,
     IN  UINT    LookaheadLength,
     OUT PVOID   *pLookaheadBuffer);
 
 VOID
-EXPIMP
+DDKAPI
 NdisDestroyLookaheadBufferFromSharedMemory(
     IN  PVOID   pLookaheadBuffer);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMoveFromMappedMemory(
     OUT PVOID   Destination,
     IN  PVOID   Source,
     IN  ULONG   Length);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMoveMappedMemory(
     OUT PVOID   Destination,
     IN  PVOID   Source,
     IN  ULONG   Length);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMoveToMappedMemory(
     OUT PVOID   Destination,
     IN  PVOID   Source,
     IN  ULONG   Length);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMUpdateSharedMemory(
     IN  NDIS_HANDLE             MiniportAdapterHandle,
     IN  ULONG                   Length,
@@ -2048,7 +2024,7 @@ NdisMUpdateSharedMemory(
     IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisAllocateMemory(
     OUT PVOID                   *VirtualAddress,
     IN  UINT                    Length,
@@ -2056,14 +2032,14 @@ NdisAllocateMemory(
     IN  NDIS_PHYSICAL_ADDRESS   HighestAcceptableAddress);
 
 VOID
-EXPIMP
+DDKAPI
 NdisFreeMemory(
     IN  PVOID   VirtualAddress,
     IN  UINT    Length,
     IN  UINT    MemoryFlags);
 
 VOID
-EXPIMP
+DDKAPI
 NdisImmediateReadSharedMemory(
     IN  NDIS_HANDLE WrapperConfigurationContext,
     IN  ULONG       SharedMemoryAddress,
@@ -2071,7 +2047,7 @@ NdisImmediateReadSharedMemory(
     IN  ULONG       Length);
 
 VOID
-EXPIMP
+DDKAPI
 NdisImmediateWriteSharedMemory(
     IN  NDIS_HANDLE WrapperConfigurationContext,
     IN  ULONG       SharedMemoryAddress,
@@ -2079,7 +2055,7 @@ NdisImmediateWriteSharedMemory(
     IN  ULONG       Length);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMAllocateSharedMemory(
     IN NDIS_HANDLE             MiniportAdapterHandle,
     IN ULONG                   Length,
@@ -2088,7 +2064,7 @@ NdisMAllocateSharedMemory(
     OUT        PNDIS_PHYSICAL_ADDRESS  PhysicalAddress);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMAllocateSharedMemoryAsync(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  ULONG       Length,
@@ -2096,7 +2072,7 @@ NdisMAllocateSharedMemoryAsync(
     IN  PVOID       Context);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMFreeSharedMemory(
     IN  NDIS_HANDLE             MiniportAdapterHandle,
     IN  ULONG                   Length,
@@ -2105,7 +2081,7 @@ NdisMFreeSharedMemory(
     IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
 
 VOID
-EXPIMP
+DDKAPI
 NdisUpdateSharedMemory(
     IN  NDIS_HANDLE             NdisAdapterHandle,
     IN  ULONG                   Length,
@@ -2196,13 +2172,13 @@ NdisUpdateSharedMemory(
 //
 
 CCHAR
-EXPIMP
+DDKAPI
 NdisSystemProcessorCount(
        VOID
        );
 
 VOID
-EXPIMP
+DDKAPI
 NdisImmediateReadPortUchar(
        IN      NDIS_HANDLE                             WrapperConfigurationContext,
        IN      ULONG                                   Port,
@@ -2210,7 +2186,7 @@ NdisImmediateReadPortUchar(
        );
 
 VOID
-EXPIMP
+DDKAPI
 NdisImmediateReadPortUshort(
        IN      NDIS_HANDLE                             WrapperConfigurationContext,
        IN      ULONG                                   Port,
@@ -2218,7 +2194,7 @@ NdisImmediateReadPortUshort(
        );
 
 VOID
-EXPIMP
+DDKAPI
 NdisImmediateReadPortUlong(
        IN      NDIS_HANDLE                             WrapperConfigurationContext,
        IN      ULONG                                   Port,
@@ -2226,7 +2202,7 @@ NdisImmediateReadPortUlong(
        );
 
 VOID
-EXPIMP
+DDKAPI
 NdisImmediateWritePortUchar(
        IN      NDIS_HANDLE                             WrapperConfigurationContext,
        IN      ULONG                                   Port,
@@ -2234,7 +2210,7 @@ NdisImmediateWritePortUchar(
        );
 
 VOID
-EXPIMP
+DDKAPI
 NdisImmediateWritePortUshort(
        IN      NDIS_HANDLE                             WrapperConfigurationContext,
        IN      ULONG                                   Port,
@@ -2242,7 +2218,7 @@ NdisImmediateWritePortUshort(
        );
 
 VOID
-EXPIMP
+DDKAPI
 NdisImmediateWritePortUlong(
        IN      NDIS_HANDLE                             WrapperConfigurationContext,
        IN      ULONG                                   Port,
@@ -2250,7 +2226,7 @@ NdisImmediateWritePortUlong(
        );
 
 VOID
-EXPIMP
+DDKAPI
 NdisImmediateReadSharedMemory(
        IN      NDIS_HANDLE                             WrapperConfigurationContext,
        IN      ULONG                                   SharedMemoryAddress,
@@ -2259,7 +2235,7 @@ NdisImmediateReadSharedMemory(
        );
 
 VOID
-EXPIMP
+DDKAPI
 NdisImmediateWriteSharedMemory(
        IN      NDIS_HANDLE                             WrapperConfigurationContext,
        IN      ULONG                                   SharedMemoryAddress,
@@ -2268,7 +2244,7 @@ NdisImmediateWriteSharedMemory(
        );
 
 ULONG
-EXPIMP
+DDKAPI
 NdisImmediateReadPciSlotInformation(
        IN      NDIS_HANDLE                             WrapperConfigurationContext,
        IN      ULONG                                   SlotNumber,
@@ -2278,7 +2254,7 @@ NdisImmediateReadPciSlotInformation(
        );
 
 ULONG
-EXPIMP
+DDKAPI
 NdisImmediateWritePciSlotInformation(
        IN      NDIS_HANDLE                             WrapperConfigurationContext,
        IN      ULONG                                   SlotNumber,
@@ -2288,7 +2264,7 @@ NdisImmediateWritePciSlotInformation(
        );
 
 ULONG
-EXPIMP
+DDKAPI
 NdisReadPciSlotInformation(
     IN  NDIS_HANDLE NdisAdapterHandle,
     IN  ULONG       SlotNumber,
@@ -2297,7 +2273,7 @@ NdisReadPciSlotInformation(
     IN  ULONG       Length);
 
 ULONG
-EXPIMP
+DDKAPI
 NdisWritePciSlotInformation(
     IN  NDIS_HANDLE NdisAdapterHandle,
     IN  ULONG       SlotNumber,
@@ -2313,7 +2289,7 @@ NdisWritePciSlotInformation(
  *     IN      PNDIS_ANSI_STRING   SourceString);
  */
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisAnsiStringToUnicodeString(
     IN OUT  PNDIS_STRING        DestinationString,
     IN      PANSI_STRING   SourceString);
@@ -2325,7 +2301,7 @@ NdisAnsiStringToUnicodeString(
  *     IN  BOOLEAN         CaseInsensitive)
  */
 BOOLEAN
-EXPIMP
+DDKAPI
 NdisEqualString(
     IN  PNDIS_STRING    String1,
     IN  PNDIS_STRING    String2,
@@ -2337,7 +2313,7 @@ NdisEqualString(
  *     IN      PCSTR               SourceString)
  */
 VOID
-EXPIMP
+DDKAPI
 NdisInitAnsiString(
     IN OUT  PANSI_STRING   DestinationString,
     IN      PCSTR               SourceString);
@@ -2348,7 +2324,7 @@ NdisInitAnsiString(
  *     IN      PCWSTR          SourceString)
  */
 VOID
-EXPIMP
+DDKAPI
 NdisInitUnicodeString(
     IN OUT  PNDIS_STRING    DestinationString,
     IN      PCWSTR          SourceString);
@@ -2359,7 +2335,7 @@ NdisInitUnicodeString(
  *     IN      PNDIS_STRING        SourceString)
  */
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisUnicodeStringToAnsiString(
     IN OUT  PANSI_STRING   DestinationString,
     IN      PNDIS_STRING        SourceString);
@@ -2372,7 +2348,8 @@ NdisUnicodeStringToAnsiString(
 /* I/O routines */
 
 /*
- * VOID NdisRawReadPortBufferUchar(
+ * VOID
+ * NdisRawReadPortBufferUchar(
  *     IN  ULONG   Port,
  *     OUT PUCHAR  Buffer,
  *     IN  ULONG   Length);
@@ -2381,7 +2358,8 @@ NdisUnicodeStringToAnsiString(
     READ_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
 
 /*
- * VOID NdisRawReadPortBufferUlong(
+ * VOID
+ * NdisRawReadPortBufferUlong(
  *     IN  ULONG   Port,
  *     OUT PULONG  Buffer,
  *     IN  ULONG   Length);
@@ -2390,7 +2368,8 @@ NdisUnicodeStringToAnsiString(
     READ_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
 
 /*
- * VOID NdisRawReadPortBufferUshort(
+ * VOID
+ * NdisRawReadPortBufferUshort(
  *     IN  ULONG   Port,
  *     OUT PUSHORT Buffer,
  *     IN  ULONG   Length);
@@ -2400,7 +2379,8 @@ NdisUnicodeStringToAnsiString(
 
 
 /*
- * VOID NdisRawReadPortUchar(
+ * VOID
+ * NdisRawReadPortUchar(
  *     IN  ULONG   Port,
  *     OUT PUCHAR  Data);
  */
@@ -2408,7 +2388,8 @@ NdisUnicodeStringToAnsiString(
     *(Data) = READ_PORT_UCHAR((PUCHAR)(Port))
 
 /*
- * VOID NdisRawReadPortUlong(
+ * VOID
+ * NdisRawReadPortUlong(
  *     IN  ULONG   Port,
  *     OUT PULONG  Data);
  */
@@ -2416,7 +2397,8 @@ NdisUnicodeStringToAnsiString(
     *(Data) = READ_PORT_ULONG((PULONG)(Port))
 
 /*
- * VOID NdisRawReadPortUshort(
+ * VOID
+ * NdisRawReadPortUshort(
  *     IN  ULONG   Port,
  *     OUT PUSHORT Data);
  */
@@ -2425,7 +2407,8 @@ NdisUnicodeStringToAnsiString(
 
 
 /*
- * VOID NdisRawWritePortBufferUchar(
+ * VOID
+ * NdisRawWritePortBufferUchar(
  *     IN  ULONG   Port,
  *     IN  PUCHAR  Buffer,
  *     IN  ULONG   Length);
@@ -2434,7 +2417,8 @@ NdisUnicodeStringToAnsiString(
     WRITE_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
 
 /*
- * VOID NdisRawWritePortBufferUlong(
+ * VOID
+ * NdisRawWritePortBufferUlong(
  *     IN  ULONG   Port,
  *     IN  PULONG  Buffer,
  *     IN  ULONG   Length);
@@ -2443,7 +2427,8 @@ NdisUnicodeStringToAnsiString(
     WRITE_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
 
 /*
- * VOID NdisRawWritePortBufferUshort(
+ * VOID
+ * NdisRawWritePortBufferUshort(
  *     IN  ULONG   Port,
  *     IN  PUSHORT Buffer,
  *     IN  ULONG   Length);
@@ -2453,7 +2438,8 @@ NdisUnicodeStringToAnsiString(
 
 
 /*
- * VOID NdisRawWritePortUchar(
+ * VOID
+ * NdisRawWritePortUchar(
  *     IN  ULONG   Port,
  *     IN  UCHAR   Data);
  */
@@ -2461,7 +2447,8 @@ NdisUnicodeStringToAnsiString(
     WRITE_PORT_UCHAR((PUCHAR)(Port), (UCHAR)(Data))
 
 /*
- * VOID NdisRawWritePortUlong(
+ * VOID
+ * NdisRawWritePortUlong(
  *     IN  ULONG   Port,
  *     IN  ULONG   Data);
  */
@@ -2469,7 +2456,8 @@ NdisUnicodeStringToAnsiString(
     WRITE_PORT_ULONG((PULONG)(Port), (ULONG)(Data))
 
 /*
- * VOID NdisRawWritePortUshort(
+ * VOID
+ * NdisRawWritePortUshort(
  *     IN  ULONG   Port,
  *     IN  USHORT  Data);
  */
@@ -2478,7 +2466,8 @@ NdisUnicodeStringToAnsiString(
 
 
 /*
- * VOID NdisReadRegisterUchar(
+ * VOID
+ * NdisReadRegisterUchar(
  *     IN  PUCHAR  Register,
  *     OUT PUCHAR  Data);
  */
@@ -2486,7 +2475,8 @@ NdisUnicodeStringToAnsiString(
     *((PUCHAR)(Data)) = *(Register)
 
 /*
- * VOID NdisReadRegisterUlong(
+ * VOID
+ * NdisReadRegisterUlong(
  *     IN  PULONG  Register,
  *     OUT PULONG  Data);
  */
@@ -2494,16 +2484,17 @@ NdisUnicodeStringToAnsiString(
     *((PULONG)(Data)) = *(Register)
 
 /*
- * VOID NdisReadRegisterUshort(
+ * VOID
+ * NdisReadRegisterUshort(
  *     IN  PUSHORT Register,
  *     OUT PUSHORT Data);
  */
 #define NdisReadRegisterUshort(Register, Data)  \
     *((PUSHORT)(Data)) = *(Register)
 
-
 /*
- * VOID NdisReadRegisterUchar(
+ * VOID
+ * NdisReadRegisterUchar(
  *     IN  PUCHAR  Register,
  *     IN  UCHAR   Data);
  */
@@ -2511,7 +2502,8 @@ NdisUnicodeStringToAnsiString(
     WRITE_REGISTER_UCHAR((Register), (Data))
 
 /*
- * VOID NdisReadRegisterUlong(
+ * VOID
+ * NdisReadRegisterUlong(
  *     IN  PULONG  Register,
  *     IN  ULONG   Data);
  */
@@ -2519,7 +2511,8 @@ NdisUnicodeStringToAnsiString(
        WRITE_REGISTER_ULONG((Register), (Data))
 
 /*
- * VOID NdisReadRegisterUshort(
+ * VOID
+ * NdisReadRegisterUshort(
  *     IN  PUSHORT Register,
  *     IN  USHORT  Data);
  */
@@ -2530,45 +2523,45 @@ NdisUnicodeStringToAnsiString(
 /* Linked lists */
 
 VOID
-EXPIMP
+DDKAPI
 NdisInitializeListHead(
     IN  PLIST_ENTRY ListHead);
 
 VOID
-EXPIMP
+DDKAPI
 NdisInterlockedAddUlong(
     IN  PULONG          Addend,
     IN  ULONG           Increment,
     IN  PNDIS_SPIN_LOCK SpinLock);
 
 PLIST_ENTRY
-EXPIMP
+DDKAPI
 NdisInterlockedInsertHeadList(
     IN  PLIST_ENTRY     ListHead,
     IN  PLIST_ENTRY     ListEntry,
     IN  PNDIS_SPIN_LOCK SpinLock);
 
 PLIST_ENTRY
-EXPIMP
+DDKAPI
 NdisInterlockedInsertTailList(
     IN  PLIST_ENTRY     ListHead,
     IN  PLIST_ENTRY     ListEntry,
     IN  PNDIS_SPIN_LOCK SpinLock); 
 
 PLIST_ENTRY
-EXPIMP
+DDKAPI
 NdisInterlockedRemoveHeadList(
     IN  PLIST_ENTRY     ListHead,
     IN  PNDIS_SPIN_LOCK SpinLock); 
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisCloseConfiguration(
     IN  NDIS_HANDLE ConfigurationHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisReadConfiguration(
     OUT PNDIS_STATUS                    Status,
     OUT PNDIS_CONFIGURATION_PARAMETER   *ParameterValue,
@@ -2577,7 +2570,7 @@ NdisReadConfiguration(
     IN  NDIS_PARAMETER_TYPE             ParameterType);
 
 VOID
-EXPIMP
+DDKAPI
 NdisReadNetworkAddress(
     OUT PNDIS_STATUS Status,
         OUT PVOID        *NetworkAddress,
@@ -2585,7 +2578,7 @@ NdisReadNetworkAddress(
         IN  NDIS_HANDLE  ConfigurationHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisWriteConfiguration(
     OUT PNDIS_STATUS                    Status,
     IN  NDIS_HANDLE                     ConfigurationHandle,
@@ -2593,14 +2586,14 @@ NdisWriteConfiguration(
     IN  PNDIS_CONFIGURATION_PARAMETER   ParameterValue);
 
 VOID
-EXPIMP
+DDKAPI
 NdisOpenConfiguration(
        OUT PNDIS_STATUS Status,
        OUT PNDIS_HANDLE ConfigurationHandle,
        IN NDIS_HANDLE   WrapperConfigurationContext);
 
 VOID
-EXPIMP
+DDKAPI
 NdisOpenConfigurationKeyByIndex(
     OUT PNDIS_STATUS    Status,
     IN  NDIS_HANDLE     ConfigurationHandle,
@@ -2609,7 +2602,7 @@ NdisOpenConfigurationKeyByIndex(
     OUT PNDIS_HANDLE    KeyHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisOpenConfigurationKeyByName(
     OUT PNDIS_STATUS    Status,
     IN  NDIS_HANDLE     ConfigurationHandle,
@@ -2618,7 +2611,7 @@ NdisOpenConfigurationKeyByName(
 
 
 VOID
-/*EXPIMP*/
+/*DDKAPI*/
 NdisWriteErrorLogEntry(
     IN  NDIS_HANDLE     NdisAdapterHandle,
     IN  NDIS_ERROR_CODE ErrorCode,
@@ -2629,7 +2622,8 @@ NdisWriteErrorLogEntry(
  */
 
 /*
- * VOID NdisStallExecution(
+ * VOID
+ * NdisStallExecution(
  *     IN  UINT    MicrosecondsToStall)
  */
 #define NdisStallExecution(MicroSecondsToStall)     \
@@ -2648,25 +2642,25 @@ NdisWriteErrorLogEntry(
 }
  */
 VOID
-EXPIMP
+DDKAPI
 NdisInitializeEvent(
        IN      PNDIS_EVENT                             Event
 );
 
 VOID
-EXPIMP
+DDKAPI
 NdisSetEvent(
        IN      PNDIS_EVENT                             Event
 );
 
 VOID
-EXPIMP
+DDKAPI
 NdisResetEvent(
        IN      PNDIS_EVENT                             Event
 );
 
 BOOLEAN
-EXPIMP
+DDKAPI
 NdisWaitEvent(
        IN      PNDIS_EVENT                             Event,
        IN      UINT                                    msToWait
@@ -2694,7 +2688,7 @@ NdisWaitEvent(
 #ifdef NDIS40
 
 VOID
-EXPIMP
+DDKAPI
 NdisMFreeSharedMemory(
     IN  NDIS_HANDLE             MiniportAdapterHandle,
     IN  ULONG                   Length,
@@ -2703,7 +2697,7 @@ NdisMFreeSharedMemory(
     IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMWanIndicateReceive(
     OUT PNDIS_STATUS    Status,
     IN  NDIS_HANDLE     MiniportAdapterHandle,
@@ -2712,19 +2706,19 @@ NdisMWanIndicateReceive(
     IN  UINT            PacketSize);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMWanIndicateReceiveComplete(
     IN  NDIS_HANDLE MiniportAdapterHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMWanSendComplete(
     IN  NDIS_HANDLE         MiniportAdapterHandle,
     IN  PNDIS_WAN_PACKET    Packet,
     IN  NDIS_STATUS         Status);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisPciAssignResources(
     IN  NDIS_HANDLE         NdisMacHandle,
     IN  NDIS_HANDLE         NdisWrapperHandle,
@@ -2733,7 +2727,7 @@ NdisPciAssignResources(
     OUT PNDIS_RESOURCE_LIST *AssignedResources);
 
 VOID
-EXPIMP
+DDKAPI
 NdisReadEisaSlotInformationEx(
     OUT PNDIS_STATUS                    Status,
     IN  NDIS_HANDLE                     WrapperConfigurationContext,
@@ -2742,7 +2736,7 @@ NdisReadEisaSlotInformationEx(
     OUT PUINT                           NumberOfFunctions);
 
 VOID
-EXPIMP
+DDKAPI
 NdisReadMcaPosInformation(
     OUT PNDIS_STATUS        Status,
     IN  NDIS_HANDLE         WrapperConfigurationContext,
@@ -2779,42 +2773,42 @@ NdisReadMcaPosInformation(
 //
 
 VOID
-EXPIMP
+DDKAPI
 NdisAllocateSpinLock(
        IN      PNDIS_SPIN_LOCK                 SpinLock
        );
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisFreeSpinLock(
        IN      PNDIS_SPIN_LOCK                 SpinLock
        );
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisAcquireSpinLock(
        IN      PNDIS_SPIN_LOCK                 SpinLock
        );
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisReleaseSpinLock(
        IN      PNDIS_SPIN_LOCK                 SpinLock
        );
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisDprAcquireSpinLock(
        IN      PNDIS_SPIN_LOCK                 SpinLock
        );
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisDprReleaseSpinLock(
        IN      PNDIS_SPIN_LOCK                 SpinLock
        );
@@ -2822,28 +2816,28 @@ NdisDprReleaseSpinLock(
 #endif
 
 VOID
-EXPIMP
+DDKAPI
 NdisGetCurrentSystemTime(
        PLARGE_INTEGER                          pSystemTime
        );
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisAcquireReadWriteLock(
     IN  PNDIS_RW_LOCK   Lock,
     IN  BOOLEAN         fWrite,
     IN  PLOCK_STATE     LockState);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisAllocateMemoryWithTag(
     OUT PVOID   *VirtualAddress,
     IN  UINT    Length,
     IN  ULONG   Tag);
 
 VOID
-EXPIMP
+DDKAPI
 NdisAllocatePacketPoolEx(
     OUT PNDIS_STATUS    Status,
     OUT PNDIS_HANDLE    PoolHandle,
@@ -2852,76 +2846,76 @@ NdisAllocatePacketPoolEx(
     IN  UINT            ProtocolReservedLength);
 
 ULONG
-EXPIMP
+DDKAPI
 NdisBufferLength(
     IN  PNDIS_BUFFER    Buffer);
 
 PVOID
-EXPIMP
+DDKAPI
 NdisBufferVirtualAddress(
     IN  PNDIS_BUFFER    Buffer);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCompletePnPEvent(
     IN  NDIS_STATUS     Status,
     IN  NDIS_HANDLE     NdisBindingHandle,
     IN  PNET_PNP_EVENT  NetPnPEvent);
 
 VOID
-EXPIMP
+DDKAPI
 NdisConvertStringToAtmAddress(
     OUT PNDIS_STATUS    Status,
     IN  PNDIS_STRING    String,
     OUT PATM_ADDRESS    AtmAddress);
 
 VOID
-EXPIMP
+DDKAPI
 NdisGetCurrentProcessorCounts(
     OUT PULONG  pIdleCount,
     OUT PULONG  pKernelAndUser,
     OUT PULONG  pIndex);
 
 VOID
-EXPIMP
+DDKAPI
 NdisGetDriverHandle(
     IN  PNDIS_HANDLE    NdisBindingHandle,
     OUT PNDIS_HANDLE    NdisDriverHandle);
 
 PNDIS_PACKET
-EXPIMP
+DDKAPI
 NdisGetReceivedPacket(
     IN  PNDIS_HANDLE    NdisBindingHandle,
     IN  PNDIS_HANDLE    MacContext);
 
 VOID
-EXPIMP
+DDKAPI
 NdisGetSystemUptime(
     OUT PULONG  pSystemUpTime);
 
 VOID
-EXPIMP
+DDKAPI
 NdisInitializeReadWriteLock(
     IN  PNDIS_RW_LOCK   Lock);
 
 LONG
-EXPIMP
+DDKAPI
 NdisInterlockedDecrement(
     IN  PLONG   Addend);
 
 LONG
-EXPIMP
+DDKAPI
 NdisInterlockedIncrement(
     IN  PLONG   Addend);
 
 PSINGLE_LIST_ENTRY
-EXPIMP
+DDKAPI
 NdisInterlockedPopEntrySList(
     IN  PSLIST_HEADER   ListHead,
     IN  PKSPIN_LOCK     Lock);
 
 PSINGLE_LIST_ENTRY
-EXPIMP
+DDKAPI
 NdisInterlockedPushEntrySList(
     IN  PSLIST_HEADER       ListHead,
     IN  PSINGLE_LIST_ENTRY  ListEntry,
@@ -2929,12 +2923,12 @@ NdisInterlockedPushEntrySList(
 
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMDeregisterDevice(
     IN  NDIS_HANDLE NdisDeviceHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMGetDeviceProperty(
     IN      NDIS_HANDLE         MiniportAdapterHandle,
     IN OUT  PDEVICE_OBJECT      *PhysicalDeviceObject           OPTIONAL,
@@ -2944,25 +2938,25 @@ NdisMGetDeviceProperty(
     IN OUT  PCM_RESOURCE_LIST   *AllocatedResourcesTranslated   OPTIONAL);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMInitializeScatterGatherDma(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  BOOLEAN     Dma64BitAddresses,
     IN  ULONG       MaximumPhysicalMapping);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMPromoteMiniport(
     IN  NDIS_HANDLE MiniportAdapterHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMQueryAdapterInstanceName(
     OUT PNDIS_STRING    AdapterInstanceName,
     IN  NDIS_HANDLE     MiniportAdapterHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMRegisterDevice(
     IN  NDIS_HANDLE         NdisWrapperHandle,
     IN  PNDIS_STRING        DeviceName,
@@ -2972,35 +2966,35 @@ NdisMRegisterDevice(
     OUT NDIS_HANDLE         *NdisDeviceHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMRegisterUnloadHandler(
     IN  NDIS_HANDLE     NdisWrapperHandle,
     IN  PDRIVER_UNLOAD  UnloadHandler);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMRemoveMiniport(
     IN  NDIS_HANDLE MiniportAdapterHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMSetMiniportSecondary(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  NDIS_HANDLE PrimaryMiniportAdapterHandle);
 
 UINT
-EXPIMP
+DDKAPI
 NdisPacketPoolUsage(
     IN  NDIS_HANDLE PoolHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisQueryAdapterInstanceName(
     OUT PNDIS_STRING    AdapterInstanceName,
     IN  NDIS_HANDLE     NdisBindingHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisQueryBufferSafe(
     IN  PNDIS_BUFFER    Buffer,
     OUT PVOID           *VirtualAddress OPTIONAL,
@@ -3008,7 +3002,7 @@ NdisQueryBufferSafe(
     IN  UINT            Priority);
 
 ULONG
-EXPIMP
+DDKAPI
 NdisReadPcmciaAttributeMemory(
     IN  NDIS_HANDLE NdisAdapterHandle,
     IN  ULONG       Offset,
@@ -3016,14 +3010,14 @@ NdisReadPcmciaAttributeMemory(
     IN  ULONG       Length);
 
 VOID
-EXPIMP
+DDKAPI
 NdisReleaseReadWriteLock(
     IN  PNDIS_RW_LOCK   Lock,
     IN  PLOCK_STATE     LockState);
 
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisWriteEventLogEntry(
     IN  PVOID       LogHandle,
     IN  NDIS_STATUS EventCode,
@@ -3034,7 +3028,7 @@ NdisWriteEventLogEntry(
     IN  PVOID       Data        OPTIONAL);
 
 ULONG
-EXPIMP
+DDKAPI
 NdisWritePcmciaAttributeMemory(
     IN  NDIS_HANDLE NdisAdapterHandle,
     IN  ULONG       Offset,
@@ -3045,7 +3039,7 @@ NdisWritePcmciaAttributeMemory(
 /* Connectionless services */
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisClAddParty(
     IN      NDIS_HANDLE         NdisVcHandle,
     IN      NDIS_HANDLE         ProtocolPartyContext,
@@ -3053,12 +3047,12 @@ NdisClAddParty(
     OUT     PNDIS_HANDLE        NdisPartyHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisClCloseAddressFamily(
     IN  NDIS_HANDLE NdisAfHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisClCloseCall(
     IN  NDIS_HANDLE NdisVcHandle,
     IN  NDIS_HANDLE NdisPartyHandle OPTIONAL,
@@ -3066,26 +3060,26 @@ NdisClCloseCall(
     IN  UINT        Size);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisClDeregisterSap(
     IN  NDIS_HANDLE NdisSapHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisClDropParty(
     IN  NDIS_HANDLE NdisPartyHandle,
     IN  PVOID       Buffer  OPTIONAL,
     IN  UINT        Size);
 
 VOID
-EXPIMP
+DDKAPI
 NdisClIncomingCallComplete(
     IN  NDIS_STATUS         Status,
     IN  NDIS_HANDLE         NdisVcHandle,
     IN  PCO_CALL_PARAMETERS CallParameters);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisClMakeCall(
     IN      NDIS_HANDLE         NdisVcHandle,
     IN OUT  PCO_CALL_PARAMETERS CallParameters,
@@ -3093,14 +3087,14 @@ NdisClMakeCall(
     OUT     PNDIS_HANDLE        NdisPartyHandle         OPTIONAL);
 
 NDIS_STATUS 
-EXPIMP
+DDKAPI
 NdisClModifyCallQoS(
     IN  NDIS_HANDLE         NdisVcHandle,
     IN  PCO_CALL_PARAMETERS CallParameters);
 
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisClOpenAddressFamily(
     IN  NDIS_HANDLE                     NdisBindingHandle,
     IN  PCO_ADDRESS_FAMILY              AddressFamily,
@@ -3110,7 +3104,7 @@ NdisClOpenAddressFamily(
     OUT PNDIS_HANDLE                    NdisAfHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisClRegisterSap(
     IN  NDIS_HANDLE     NdisAfHandle,
     IN  NDIS_HANDLE     ProtocolSapContext,
@@ -3121,13 +3115,13 @@ NdisClRegisterSap(
 /* Call Manager services */
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisCmActivateVc(
     IN      NDIS_HANDLE         NdisVcHandle,
     IN OUT  PCO_CALL_PARAMETERS CallParameters);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmAddPartyComplete(
     IN  NDIS_STATUS         Status,
     IN  NDIS_HANDLE         NdisPartyHandle,
@@ -3135,49 +3129,49 @@ NdisCmAddPartyComplete(
     IN  PCO_CALL_PARAMETERS CallParameters);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmCloseAddressFamilyComplete(
     IN  NDIS_STATUS Status,
     IN  NDIS_HANDLE NdisAfHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmCloseCallComplete(
     IN  NDIS_STATUS Status,
     IN  NDIS_HANDLE NdisVcHandle,
     IN  NDIS_HANDLE NdisPartyHandle OPTIONAL);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisCmDeactivateVc(
     IN  NDIS_HANDLE NdisVcHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmDeregisterSapComplete(
     IN  NDIS_STATUS Status,
     IN  NDIS_HANDLE NdisSapHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmDispatchCallConnected(
     IN  NDIS_HANDLE NdisVcHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisCmDispatchIncomingCall(
     IN  NDIS_HANDLE         NdisSapHandle,
     IN  NDIS_HANDLE         NdisVcHandle,
     IN  PCO_CALL_PARAMETERS CallParameters);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmDispatchIncomingCallQoSChange(
     IN  NDIS_HANDLE         NdisVcHandle,
     IN  PCO_CALL_PARAMETERS CallParameters);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmDispatchIncomingCloseCall(
     IN  NDIS_STATUS CloseStatus,
     IN  NDIS_HANDLE NdisVcHandle,
@@ -3185,7 +3179,7 @@ NdisCmDispatchIncomingCloseCall(
     IN  UINT        Size);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmDispatchIncomingDropParty(
     IN  NDIS_STATUS DropStatus,
     IN  NDIS_HANDLE NdisPartyHandle,
@@ -3193,13 +3187,13 @@ NdisCmDispatchIncomingDropParty(
     IN  UINT        Size);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmDropPartyComplete(
     IN  NDIS_STATUS Status,
     IN  NDIS_HANDLE NdisPartyHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmMakeCallComplete(
     IN  NDIS_STATUS         Status,
     IN  NDIS_HANDLE         NdisVcHandle,
@@ -3208,21 +3202,21 @@ NdisCmMakeCallComplete(
     IN  PCO_CALL_PARAMETERS CallParameters);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmModifyCallQoSComplete(
     IN  NDIS_STATUS         Status,
     IN  NDIS_HANDLE         NdisVcHandle,
     IN  PCO_CALL_PARAMETERS CallParameters);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmOpenAddressFamilyComplete(
     IN  NDIS_STATUS Status,
     IN  NDIS_HANDLE NdisAfHandle,
     IN  NDIS_HANDLE CallMgrAfContext);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisCmRegisterAddressFamily(
     IN  NDIS_HANDLE                         NdisBindingHandle,
     IN  PCO_ADDRESS_FAMILY                  AddressFamily,
@@ -3230,7 +3224,7 @@ NdisCmRegisterAddressFamily(
     IN  UINT                                SizeOfCmCharacteristics);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCmRegisterSapComplete(
     IN  NDIS_STATUS Status,
     IN  NDIS_HANDLE NdisSapHandle,
@@ -3238,13 +3232,13 @@ NdisCmRegisterSapComplete(
 
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMCmActivateVc(
     IN  NDIS_HANDLE         NdisVcHandle,
     IN  PCO_CALL_PARAMETERS CallParameters);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMCmCreateVc(
     IN  NDIS_HANDLE     MiniportAdapterHandle,
     IN  NDIS_HANDLE     NdisAfHandle,
@@ -3252,17 +3246,17 @@ NdisMCmCreateVc(
     OUT PNDIS_HANDLE    NdisVcHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMCmDeactivateVc(
     IN  NDIS_HANDLE NdisVcHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMCmDeleteVc(
     IN  NDIS_HANDLE NdisVcHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMCmRegisterAddressFamily(
     IN  NDIS_HANDLE                         MiniportAdapterHandle,
     IN  PCO_ADDRESS_FAMILY                  AddressFamily,
@@ -3270,7 +3264,7 @@ NdisMCmRegisterAddressFamily(
     IN  UINT                                SizeOfCmCharacteristics);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMCmRequest(
     IN      NDIS_HANDLE     NdisAfHandle,
     IN      NDIS_HANDLE     NdisVcHandle    OPTIONAL,
@@ -3281,7 +3275,7 @@ NdisMCmRequest(
 /* Connection-oriented services */
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisCoCreateVc(
     IN  NDIS_HANDLE         NdisBindingHandle,
     IN  NDIS_HANDLE         NdisAfHandle  OPTIONAL,
@@ -3289,12 +3283,12 @@ NdisCoCreateVc(
     IN  OUT PNDIS_HANDLE    NdisVcHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisCoDeleteVc(
     IN  NDIS_HANDLE NdisVcHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisCoRequest(
     IN      NDIS_HANDLE     NdisBindingHandle,
     IN      NDIS_HANDLE     NdisAfHandle    OPTIONAL,
@@ -3303,7 +3297,7 @@ NdisCoRequest(
     IN OUT  PNDIS_REQUEST   NdisRequest);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCoRequestComplete(
     IN  NDIS_STATUS     Status,
     IN  NDIS_HANDLE     NdisAfHandle,
@@ -3312,7 +3306,7 @@ NdisCoRequestComplete(
     IN  PNDIS_REQUEST   NdisRequest);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCoSendPackets(
     IN  NDIS_HANDLE     NdisVcHandle,
     IN  PPNDIS_PACKET   PacketArray,
@@ -3320,27 +3314,27 @@ NdisCoSendPackets(
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisMCoActivateVcComplete(
     IN  NDIS_STATUS         Status,
     IN  NDIS_HANDLE         NdisVcHandle,
     IN  PCO_CALL_PARAMETERS CallParameters);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMCoDeactivateVcComplete(
     IN  NDIS_STATUS Status,
     IN  NDIS_HANDLE NdisVcHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMCoIndicateReceivePacket(
     IN  NDIS_HANDLE     NdisVcHandle,
     IN  PPNDIS_PACKET   PacketArray,
     IN  UINT            NumberOfPackets);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMCoIndicateStatus(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  NDIS_HANDLE NdisVcHandle    OPTIONAL,
@@ -3349,19 +3343,19 @@ NdisMCoIndicateStatus(
     IN  ULONG       StatusBufferSize);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMCoReceiveComplete(
     IN  NDIS_HANDLE MiniportAdapterHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMCoRequestComplete(
     IN  NDIS_STATUS     Status,
     IN  NDIS_HANDLE     MiniportAdapterHandle,
     IN  PNDIS_REQUEST   Request);
 
 VOID 
-EXPIMP
+DDKAPI
 NdisMCoSendComplete(
     IN  NDIS_STATUS     Status,
     IN  NDIS_HANDLE     NdisVcHandle,
@@ -3371,46 +3365,46 @@ NdisMCoSendComplete(
 /* NDIS 5.0 extensions for intermediate drivers */
 
 VOID
-EXPIMP
+DDKAPI
 NdisIMAssociateMiniport(
     IN  NDIS_HANDLE DriverHandle,
     IN  NDIS_HANDLE ProtocolHandle);
 
 NDIS_STATUS 
-EXPIMP
+DDKAPI
 NdisIMCancelInitializeDeviceInstance(
     IN  NDIS_HANDLE     DriverHandle,
     IN  PNDIS_STRING    DeviceInstance);
 
 VOID
-EXPIMP
+DDKAPI
 NdisIMCopySendCompletePerPacketInfo(
     IN  PNDIS_PACKET    DstPacket,
     IN  PNDIS_PACKET    SrcPacket);
 
 VOID
-EXPIMP
+DDKAPI
 NdisIMCopySendPerPacketInfo(
     IN  PNDIS_PACKET    DstPacket,
     IN  PNDIS_PACKET    SrcPacket);
 
 VOID
-EXPIMP
+DDKAPI
 NdisIMDeregisterLayeredMiniport(
     IN  NDIS_HANDLE DriverHandle);
 
 NDIS_HANDLE
-EXPIMP
+DDKAPI
 NdisIMGetBindingContext(
     IN  NDIS_HANDLE NdisBindingHandle);
 
 NDIS_HANDLE
-EXPIMP
+DDKAPI
 NdisIMGetDeviceContext(
     IN  NDIS_HANDLE MiniportAdapterHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisIMInitializeDeviceInstanceEx(
     IN  NDIS_HANDLE     DriverHandle,
     IN  PNDIS_STRING    DriverInstance,
@@ -3520,7 +3514,7 @@ DECLARE_UNKNOWN_STRUCT(ARC_FILTER)
 
 
 VOID
-EXPIMP
+DDKAPI
 ArcFilterDprIndicateReceive(
     IN  PARC_FILTER Filter,
     IN  PUCHAR      pRawHeader,
@@ -3528,7 +3522,7 @@ ArcFilterDprIndicateReceive(
     IN  UINT        Length);
 
 VOID
-EXPIMP
+DDKAPI
 ArcFilterDprIndicateReceiveComplete(
     IN  PARC_FILTER Filter);
 
@@ -3572,7 +3566,7 @@ typedef struct _ETH_FILTER
 
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 EthChangeFilterAddresses(
     IN  PETH_FILTER     Filter,
     IN  NDIS_HANDLE     NdisFilterHandle,
@@ -3582,7 +3576,7 @@ EthChangeFilterAddresses(
     IN  BOOLEAN         Set);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 EthCreateFilter(
     IN  UINT                MaximumMulticastAddresses,
     IN  ETH_ADDRESS_CHANGE  AddressChangeAction,
@@ -3593,19 +3587,19 @@ EthCreateFilter(
     OUT PETH_FILTER         *Filter);
 
 VOID
-EXPIMP
+DDKAPI
 EthDeleteFilter(
     IN  PETH_FILTER Filter);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 EthDeleteFilterOpenAdapter(
     IN  PETH_FILTER    Filter,
     IN  NDIS_HANDLE    NdisFilterHandle,
     IN  PNDIS_REQUEST  NdisRequest);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 EthFilterAdjust(
     IN  PETH_FILTER     Filter,
     IN  NDIS_HANDLE     NdisFilterHandle,
@@ -3614,7 +3608,7 @@ EthFilterAdjust(
     IN  BOOLEAN         Set);
 
 VOID
-EXPIMP
+DDKAPI
 EthFilterIndicateReceive(
     IN PETH_FILTER Filter,
     IN NDIS_HANDLE MacReceiveContext,
@@ -3626,12 +3620,12 @@ EthFilterIndicateReceive(
     IN UINT        PacketSize);
 
 VOID
-EXPIMP
+DDKAPI
 EthFilterIndicateReceiveComplete(
     IN  PETH_FILTER Filter);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 EthNoteFilterOpenAdapter(
     IN  PETH_FILTER     Filter,
     IN  NDIS_HANDLE     MacBindingHandle,
@@ -3639,13 +3633,13 @@ EthNoteFilterOpenAdapter(
     OUT PNDIS_HANDLE    NdisFilterHandle);
 
 UINT
-EXPIMP
+DDKAPI
 EthNumberOfOpenFilterAddresses(
     IN  PETH_FILTER Filter,
     IN  NDIS_HANDLE NdisFilterHandle);
 
 VOID
-EXPIMP
+DDKAPI
 EthQueryGlobalFilterAddresses (
     OUT PNDIS_STATUS    Status,
     IN  PETH_FILTER     Filter,
@@ -3654,7 +3648,7 @@ EthQueryGlobalFilterAddresses (
     IN  OUT    CHAR        AddressArray[] [ETH_LENGTH_OF_ADDRESS]);
 
 VOID
-EXPIMP
+DDKAPI
 EthQueryOpenFilterAddresses(
     OUT            PNDIS_STATUS    Status,
     IN     PETH_FILTER     Filter,
@@ -3664,7 +3658,7 @@ EthQueryOpenFilterAddresses(
     IN OUT  CHAR            AddressArray[] [ETH_LENGTH_OF_ADDRESS]);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 EthShouldAddressLoopBack(
     IN  PETH_FILTER Filter,
     IN  CHAR        Address[ETH_LENGTH_OF_ADDRESS]);
@@ -3683,7 +3677,7 @@ typedef VOID (*FDDI_DEFERRED_CLOSE)(VOID);
 
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 FddiChangeFilterLongAddresses(
     IN  PFDDI_FILTER    Filter,
     IN  NDIS_HANDLE     NdisFilterHandle,
@@ -3693,7 +3687,7 @@ FddiChangeFilterLongAddresses(
     IN  BOOLEAN         Set);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 FddiChangeFilterShortAddresses(
     IN  PFDDI_FILTER    Filter,
     IN  NDIS_HANDLE     NdisFilterHandle,
@@ -3703,7 +3697,7 @@ FddiChangeFilterShortAddresses(
     IN  BOOLEAN         Set);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 FddiCreateFilter(
     IN  UINT                MaximumMulticastLongAddresses,
     IN  UINT                MaximumMulticastShortAddresses,
@@ -3716,19 +3710,19 @@ FddiCreateFilter(
     OUT PFDDI_FILTER        *Filter);
 
 VOID
-EXPIMP
+DDKAPI
 FddiDeleteFilter(
     IN  PFDDI_FILTER    Filter);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 FddiDeleteFilterOpenAdapter(
     IN  PFDDI_FILTER    Filter,
     IN  NDIS_HANDLE     NdisFilterHandle,
     IN  PNDIS_REQUEST   NdisRequest);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 FddiFilterAdjust(
     IN  PFDDI_FILTER    Filter,
     IN  NDIS_HANDLE     NdisFilterHandle,
@@ -3737,7 +3731,7 @@ FddiFilterAdjust(
     IN  BOOLEAN         Set);
 
 VOID
-EXPIMP
+DDKAPI
 FddiFilterIndicateReceive(
     IN  PFDDI_FILTER    Filter,
     IN  NDIS_HANDLE     MacReceiveContext,
@@ -3750,12 +3744,12 @@ FddiFilterIndicateReceive(
     IN  UINT            PacketSize);
 
 VOID
-EXPIMP
+DDKAPI
 FddiFilterIndicateReceiveComplete(
     IN  PFDDI_FILTER    Filter);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 FddiNoteFilterOpenAdapter(
     IN  PFDDI_FILTER    Filter,
     IN  NDIS_HANDLE     MacBindingHandle,
@@ -3763,19 +3757,19 @@ FddiNoteFilterOpenAdapter(
     OUT PNDIS_HANDLE    NdisFilterHandle);
 
 UINT
-EXPIMP
+DDKAPI
 FddiNumberOfOpenFilterLongAddresses(
     IN  PFDDI_FILTER    Filter,
     IN  NDIS_HANDLE     NdisFilterHandle);
 
 UINT
-EXPIMP
+DDKAPI
 FddiNumberOfOpenFilterShortAddresses(
     IN  PFDDI_FILTER    Filter,
     IN  NDIS_HANDLE     NdisFilterHandle);
 
 VOID
-EXPIMP
+DDKAPI
 FddiQueryGlobalFilterLongAddresses(
     OUT     PNDIS_STATUS    Status,
     IN      PFDDI_FILTER    Filter,
@@ -3784,7 +3778,7 @@ FddiQueryGlobalFilterLongAddresses(
     IN OUT  CHAR            AddressArray[] [FDDI_LENGTH_OF_LONG_ADDRESS]);
 
 VOID
-EXPIMP
+DDKAPI
 FddiQueryGlobalFilterShortAddresses(
     OUT     PNDIS_STATUS    Status,
     IN      PFDDI_FILTER    Filter,
@@ -3793,7 +3787,7 @@ FddiQueryGlobalFilterShortAddresses(
     IN OUT  CHAR            AddressArray[] [FDDI_LENGTH_OF_SHORT_ADDRESS]);
 
 VOID
-EXPIMP
+DDKAPI
 FddiQueryOpenFilterLongAddresses(
     OUT     PNDIS_STATUS    Status,
     IN      PFDDI_FILTER    Filter,
@@ -3803,7 +3797,7 @@ FddiQueryOpenFilterLongAddresses(
     IN OUT  CHAR            AddressArray[] [FDDI_LENGTH_OF_LONG_ADDRESS]);
 
 VOID
-EXPIMP
+DDKAPI
 FddiQueryOpenFilterShortAddresses(
     OUT     PNDIS_STATUS    Status,
     IN      PFDDI_FILTER    Filter,
@@ -3813,7 +3807,7 @@ FddiQueryOpenFilterShortAddresses(
     IN OUT  CHAR            AddressArray[] [FDDI_LENGTH_OF_SHORT_ADDRESS]);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 FddiShouldAddressLoopBack(
     IN  PFDDI_FILTER    Filter,
     IN  CHAR            Address[],
@@ -3834,7 +3828,7 @@ typedef VOID (*TR_DEFERRED_CLOSE)(VOID);
 
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 TrChangeFunctionalAddress(
     IN  PTR_FILTER      Filter,
     IN  NDIS_HANDLE     NdisFilterHandle,
@@ -3843,7 +3837,7 @@ TrChangeFunctionalAddress(
     IN  BOOLEAN         Set);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 TrChangeGroupAddress(
     IN  PTR_FILTER      Filter,
     IN  NDIS_HANDLE     NdisFilterHandle,
@@ -3852,7 +3846,7 @@ TrChangeGroupAddress(
     IN  BOOLEAN         Set);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 TrCreateFilter(
     IN  TR_ADDRESS_CHANGE   AddressChangeAction,
     IN  TR_GROUP_CHANGE     GroupChangeAction,
@@ -3863,19 +3857,19 @@ TrCreateFilter(
     OUT PTR_FILTER          *Filter);
 
 VOID
-EXPIMP
+DDKAPI
 TrDeleteFilter(
     IN  PTR_FILTER  Filter);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 TrDeleteFilterOpenAdapter (
     IN  PTR_FILTER      Filter,
     IN  NDIS_HANDLE     NdisFilterHandle,
     IN  PNDIS_REQUEST   NdisRequest);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 TrFilterAdjust(
     IN  PTR_FILTER      Filter,
     IN  NDIS_HANDLE     NdisFilterHandle,
@@ -3884,7 +3878,7 @@ TrFilterAdjust(
     IN  BOOLEAN         Set);
 
 VOID
-EXPIMP
+DDKAPI
 TrFilterIndicateReceive(
     IN  PTR_FILTER  Filter,
     IN  NDIS_HANDLE MacReceiveContext,
@@ -3895,12 +3889,12 @@ TrFilterIndicateReceive(
     IN  UINT        PacketSize);
 
 VOID
-EXPIMP
+DDKAPI
 TrFilterIndicateReceiveComplete(
     IN  PTR_FILTER  Filter);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 TrNoteFilterOpenAdapter(
     IN  PTR_FILTER      Filter,
     IN  NDIS_HANDLE     MacBindingHandle,
@@ -3908,7 +3902,7 @@ TrNoteFilterOpenAdapter(
     OUT PNDIS_HANDLE    NdisFilterHandle);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 TrShouldAddressLoopBack(
     IN  PTR_FILTER  Filter,
     IN  CHAR        DestinationAddress[TR_LENGTH_OF_ADDRESS],
@@ -4238,7 +4232,7 @@ typedef   NDIS_WAN_MAC_CHARACTERISTICS    *PNDIS_WAN_MAC_CHARACTERISTICS;
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisAllocateSharedMemory(
     IN  NDIS_HANDLE             NdisAdapterHandle,
     IN  ULONG                   Length,
@@ -4247,30 +4241,30 @@ NdisAllocateSharedMemory(
     OUT PNDIS_PHYSICAL_ADDRESS  PhysicalAddress);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCompleteCloseAdapter(
     IN  NDIS_HANDLE NdisBindingContext,
     IN  NDIS_STATUS Status);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCompleteOpenAdapter(
     IN  NDIS_HANDLE NdisBindingContext,
     IN  NDIS_STATUS Status,
     IN  NDIS_STATUS OpenErrorStatus);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisDeregisterAdapter(
     IN  NDIS_HANDLE NdisAdapterHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisDeregisterAdapterShutdownHandler(
     IN  NDIS_HANDLE NdisAdapterHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisFreeSharedMemory(
     IN  NDIS_HANDLE             NdisAdapterHandle,
     IN  ULONG                   Length,
@@ -4279,7 +4273,7 @@ NdisFreeSharedMemory(
     IN  NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
 
 VOID
-EXPIMP
+DDKAPI
 NdisInitializeInterrupt(
     OUT     PNDIS_STATUS                Status,
     IN OUT  PNDIS_INTERRUPT             Interrupt,
@@ -4293,7 +4287,7 @@ NdisInitializeInterrupt(
     IN      NDIS_INTERRUPT_MODE         InterruptMode);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMapIoSpace(
     OUT PNDIS_STATUS            Status,
     OUT PVOID                   *VirtualAddress,
@@ -4302,7 +4296,7 @@ NdisMapIoSpace(
     IN  UINT                    Length);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisRegisterAdapter(
     OUT PNDIS_HANDLE    NdisAdapterHandle,
     IN  NDIS_HANDLE     NdisMacHandle,
@@ -4312,14 +4306,14 @@ NdisRegisterAdapter(
     IN  PVOID           AdapterInformation);
 
 VOID
-EXPIMP
+DDKAPI
 NdisRegisterAdapterShutdownHandler(
     IN  NDIS_HANDLE                 NdisAdapterHandle,
     IN  PVOID                       ShutdownContext,
     IN  ADAPTER_SHUTDOWN_HANDLER    ShutdownHandler);
 
 VOID
-EXPIMP
+DDKAPI
 NdisRegisterMac(
     OUT PNDIS_STATUS                Status,
     OUT PNDIS_HANDLE                NdisMacHandle,
@@ -4329,12 +4323,12 @@ NdisRegisterMac(
     IN  UINT                        CharacteristicsLength);
 
 VOID
-EXPIMP
+DDKAPI
 NdisReleaseAdapterResources(
     IN  NDIS_HANDLE NdisAdapterHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisRemoveInterrupt(
     IN  PNDIS_INTERRUPT Interrupt);
 
@@ -4902,7 +4896,7 @@ struct _NDIS_OPEN_BLOCK
                           (SystemSpecific3))
 
 VOID
-EXPIMP
+DDKAPI
 NdisInitializeWrapper(
     OUT PNDIS_HANDLE    NdisWrapperHandle,
     IN  PVOID           SystemSpecific1,
@@ -4910,7 +4904,7 @@ NdisInitializeWrapper(
     IN  PVOID           SystemSpecific3);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMAllocateMapRegisters(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  UINT        DmaChannel,
@@ -4948,29 +4942,29 @@ NdisMAllocateMapRegisters(
 }
 
 VOID
-EXPIMP
+DDKAPI
 NdisMCloseLog(
     IN  NDIS_HANDLE LogHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMCreateLog(
     IN  NDIS_HANDLE     MiniportAdapterHandle,
     IN  UINT            Size,
     OUT PNDIS_HANDLE    LogHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMDeregisterAdapterShutdownHandler(
     IN  NDIS_HANDLE MiniportHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMDeregisterInterrupt(
     IN  PNDIS_MINIPORT_INTERRUPT    Interrupt);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMDeregisterIoPortRange(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  UINT        InitialPort,
@@ -5059,17 +5053,17 @@ NdisMDeregisterIoPortRange(
 }
 
 VOID
-EXPIMP
+DDKAPI
 NdisMFlushLog(
     IN  NDIS_HANDLE LogHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMFreeMapRegisters(
     IN  NDIS_HANDLE MiniportAdapterHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMIndicateStatus(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  NDIS_STATUS GeneralStatus,
@@ -5077,12 +5071,12 @@ NdisMIndicateStatus(
     IN  UINT        StatusBufferSize);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMIndicateStatusComplete(
     IN  NDIS_HANDLE MiniportAdapterHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMMapIoSpace(
     OUT PVOID *                 VirtualAddress,
     IN  NDIS_HANDLE             MiniportAdapterHandle,
@@ -5090,20 +5084,20 @@ NdisMMapIoSpace(
     IN  UINT                    Length);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMQueryInformationComplete(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  NDIS_STATUS Status);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMRegisterAdapterShutdownHandler(
     IN  NDIS_HANDLE                 MiniportHandle,
     IN  PVOID                       ShutdownContext,
     IN  ADAPTER_SHUTDOWN_HANDLER    ShutdownHandler);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMRegisterInterrupt(
     OUT PNDIS_MINIPORT_INTERRUPT    Interrupt,
     IN  NDIS_HANDLE                 MiniportAdapterHandle,
@@ -5114,7 +5108,7 @@ NdisMRegisterInterrupt(
     IN  NDIS_INTERRUPT_MODE         InterruptMode);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMRegisterIoPortRange(
     OUT PVOID *     PortOffset,
     IN  NDIS_HANDLE MiniportAdapterHandle,
@@ -5122,20 +5116,20 @@ NdisMRegisterIoPortRange(
     IN  UINT        NumberOfPorts);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMRegisterMiniport(
     IN  NDIS_HANDLE                     NdisWrapperHandle,
     IN  PNDIS_MINIPORT_CHARACTERISTICS  MiniportCharacteristics,
     IN  UINT                            CharacteristicsLength);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMSetTimer(
        IN PNDIS_MINIPORT_TIMER Timer,
        IN UINT                 MillisecondsToDelay);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMInitializeTimer(
        IN OUT PNDIS_MINIPORT_TIMER Timer,
        IN NDIS_HANDLE              MiniportAdapterHandle,
@@ -5143,13 +5137,13 @@ NdisMInitializeTimer(
        IN PVOID                    FunctionContext);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMSetPeriodicTimer(
        IN PNDIS_MINIPORT_TIMER Timer,
        IN UINT                 MillisecondPeriod);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMCancelTimer(
        IN  PNDIS_MINIPORT_TIMER Timer,
        OUT PBOOLEAN             TimerCancelled);
@@ -5215,7 +5209,7 @@ NdisMCancelTimer(
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisMSetAttributes(
     IN  NDIS_HANDLE         MiniportAdapterHandle,
     IN  NDIS_HANDLE         MiniportAdapterContext,
@@ -5223,7 +5217,7 @@ NdisMSetAttributes(
     IN  NDIS_INTERFACE_TYPE AdapterType);
 
 VOID 
-EXPIMP
+DDKAPI
 NdisMSetAttributesEx(
     IN  NDIS_HANDLE         MiniportAdapterHandle,
     IN  NDIS_HANDLE         MiniportAdapterContext,
@@ -5232,18 +5226,18 @@ NdisMSetAttributesEx(
     IN  NDIS_INTERFACE_TYPE AdapterType); 
 
 VOID
-EXPIMP
+DDKAPI
 NdisMSetInformationComplete(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  NDIS_STATUS Status);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMSleep(
     IN  ULONG   MicrosecondsToSleep);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 NdisMSynchronizeWithInterrupt(
     IN  PNDIS_MINIPORT_INTERRUPT    Interrupt,
     IN  PVOID                       SynchronizeFunction,
@@ -5289,14 +5283,14 @@ NdisMSynchronizeWithInterrupt(
 }
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisMWriteLogData(
     IN  NDIS_HANDLE LogHandle,
     IN  PVOID       LogBuffer,
     IN  UINT        LogBufferSize);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMQueryAdapterResources(
     OUT PNDIS_STATUS        Status,
     IN  NDIS_HANDLE         WrapperConfigurationContext,
@@ -5304,13 +5298,13 @@ NdisMQueryAdapterResources(
     IN  OUT PUINT           BufferSize);
 
 VOID
-EXPIMP
+DDKAPI
 NdisTerminateWrapper(
     IN  NDIS_HANDLE NdisWrapperHandle,
     IN  PVOID       SystemSpecific);
 
 VOID
-EXPIMP
+DDKAPI
 NdisMUnmapIoSpace(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  PVOID       VirtualAddress,
@@ -5329,25 +5323,25 @@ typedef VOID (*W_MINIPORT_CALLBACK)(
 /* Routines for intermediate miniport drivers */
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisIMDeInitializeDeviceInstance(
     IN  NDIS_HANDLE NdisMiniportHandle);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisIMInitializeDeviceInstance(
     IN  NDIS_HANDLE     DriverHandle,
     IN  PNDIS_STRING    DeviceInstance);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisIMQueueMiniportCallback(
     IN  NDIS_HANDLE         MiniportAdapterHandle,
     IN  W_MINIPORT_CALLBACK CallbackRoutine,
     IN  PVOID               CallbackContext);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisIMRegisterLayeredMiniport(
     IN  NDIS_HANDLE                     NdisWrapperHandle,
     IN  PNDIS_MINIPORT_CHARACTERISTICS  MiniportCharacteristics,
@@ -5355,13 +5349,13 @@ NdisIMRegisterLayeredMiniport(
     OUT PNDIS_HANDLE                    DriverHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisIMRevertBack(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  NDIS_HANDLE SwitchHandle);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 NdisIMSwitchToMiniport(
     IN  NDIS_HANDLE     MiniportAdapterHandle,
     OUT PNDIS_HANDLE    SwitchHandle);
@@ -5370,12 +5364,12 @@ NdisIMSwitchToMiniport(
 /* Functions obsoleted by NDIS 5.0 */
 
 VOID
-EXPIMP
+DDKAPI
 NdisFreeDmaChannel(
     IN  PNDIS_HANDLE    NdisDmaHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisFreeSharedMemory(
     IN NDIS_HANDLE              NdisAdapterHandle,
     IN ULONG                    Length,
@@ -5384,26 +5378,26 @@ NdisFreeSharedMemory(
     IN NDIS_PHYSICAL_ADDRESS    PhysicalAddress); 
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisIMQueueMiniportCallback(
     IN  NDIS_HANDLE         MiniportAdapterHandle,
     IN  W_MINIPORT_CALLBACK CallbackRoutine,
     IN  PVOID               CallbackContext);
 
 VOID
-EXPIMP
+DDKAPI
 NdisIMRevertBack(
     IN  NDIS_HANDLE MiniportAdapterHandle,
     IN  NDIS_HANDLE SwitchHandle);
 
 BOOLEAN
-EXPIMP
+DDKAPI
 NdisIMSwitchToMiniport(
     IN  NDIS_HANDLE     MiniportAdapterHandle,
     OUT PNDIS_HANDLE    SwitchHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisSetupDmaTransfer(
     OUT PNDIS_STATUS    Status,
     IN  PNDIS_HANDLE    NdisDmaHandle,
@@ -5413,13 +5407,13 @@ NdisSetupDmaTransfer(
     IN  BOOLEAN         WriteToDevice);
 
 NTSTATUS
-EXPIMP
+DDKAPI
 NdisUpcaseUnicodeString(
     OUT PUNICODE_STRING DestinationString,  
     IN  PUNICODE_STRING SourceString);
 
 VOID
-EXPIMP
+DDKAPI
 NdisUpdateSharedMemory(
     IN  NDIS_HANDLE             NdisAdapterHandle,
     IN  ULONG                   Length,
@@ -5430,34 +5424,34 @@ NdisUpdateSharedMemory(
 /* Routines for NDIS protocol drivers */
 
 VOID
-EXPIMP
+DDKAPI
 NdisRequest(
     OUT PNDIS_STATUS    Status,
     IN  NDIS_HANDLE     NdisBindingHandle,
     IN  PNDIS_REQUEST   NdisRequest);
 
 VOID
-EXPIMP
+DDKAPI
 NdisReset(
     OUT PNDIS_STATUS    Status,
     IN  NDIS_HANDLE     NdisBindingHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisSend(
     OUT PNDIS_STATUS    Status,
     IN  NDIS_HANDLE     NdisBindingHandle,
     IN  PNDIS_PACKET    Packet);
 
 VOID
-EXPIMP
+DDKAPI
 NdisSendPackets(
     IN  NDIS_HANDLE     NdisBindingHandle,
     IN  PPNDIS_PACKET   PacketArray,
     IN  UINT            NumberOfPackets);
 
 VOID
-EXPIMP
+DDKAPI
 NdisTransferData(
     OUT     PNDIS_STATUS    Status,
     IN      NDIS_HANDLE     NdisBindingHandle,
@@ -5487,32 +5481,32 @@ NdisTransferData(
 
 
 VOID
-EXPIMP
+DDKAPI
 NdisCloseAdapter(
     OUT PNDIS_STATUS    Status,
     IN  NDIS_HANDLE     NdisBindingHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCompleteBindAdapter(
     IN  NDIS_HANDLE BindAdapterContext,
     IN  NDIS_STATUS Status,
     IN  NDIS_STATUS OpenStatus);
 
 VOID
-EXPIMP
+DDKAPI
 NdisCompleteUnbindAdapter(
     IN  NDIS_HANDLE UnbindAdapterContext,
     IN  NDIS_STATUS Status);
 
 VOID
-EXPIMP
+DDKAPI
 NdisDeregisterProtocol(
     OUT PNDIS_STATUS    Status,
     IN  NDIS_HANDLE     NdisProtocolHandle);
 
 VOID
-EXPIMP
+DDKAPI
 NdisOpenAdapter(
     OUT PNDIS_STATUS    Status,
     OUT PNDIS_STATUS    OpenErrorStatus,
@@ -5527,14 +5521,14 @@ NdisOpenAdapter(
     IN  PSTRING         AddressingInformation);
 
 VOID
-EXPIMP
+DDKAPI
 NdisOpenProtocolConfiguration(
     OUT PNDIS_STATUS    Status,
     OUT PNDIS_HANDLE    ConfigurationHandle,
     IN  PNDIS_STRING    ProtocolSection);
 
 NDIS_STATUS
-EXPIMP
+DDKAPI
 NdisQueryReceiveInformation(
     IN  NDIS_HANDLE NdisBindingHandle,
     IN  NDIS_HANDLE MacContext,
@@ -5545,7 +5539,7 @@ NdisQueryReceiveInformation(
     OUT PUINT       SizeNeeded);
 
 VOID
-EXPIMP
+DDKAPI
 NdisRegisterProtocol(
     OUT PNDIS_STATUS                    Status,
     OUT PNDIS_HANDLE                    NdisProtocolHandle,
@@ -5553,7 +5547,7 @@ NdisRegisterProtocol(
     IN  UINT                            CharacteristicsLength);
 
 VOID
-EXPIMP
+DDKAPI
 NdisReturnPackets(
     IN  PNDIS_PACKET    *PacketsToReturn,
     IN  UINT            NumberOfPackets);
@@ -5688,4 +5682,11 @@ NdisReturnPackets(
     (((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->SendPacketsHandler)( \
         (PNDIS_OPEN_BLOCK)(NdisBindingHandle), (PacketArray), (NumberOfPackets)); \
 }
+
+#ifdef __cplusplus
+}
 #endif
+
+#endif /* __NDIS_H */
+
+/* EOF */
index 6166b25..20b285c 100644 (file)
@@ -36,96 +36,41 @@ typedef struct _NET_PNP_TRANSLATE_LIST
     NET_PNP_ID  IdArray[ANYSIZE_ARRAY];
 } NET_PNP_TRANSLATE_LIST, *PNET_PNP_TRANSLATE_LIST;
 
-
-
-/* Generel objects */
-
-/* General operational characteristics */
-
-/* Mandatory */
-#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
-
-/* Optional */
-#define        OID_GEN_SUPPORTED_GUIDS                 0x00010117
-#define        OID_GEN_NETWORK_LAYER_ADDRESSES         0x00010118
-#define OID_GEN_TRANSPORT_HEADER_OFFSET         0x00010119
-
-/* General statistics */
-
-/* Mandatory */
-#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 */
-#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
-
-
-/* Ethernet objects */
-
-/* Ethernet operational characteristics */
+/* Connection-oriented operational characteristics */
 
 /* Mandatory */
-#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_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_802_3_MAC_OPTIONS                   0x01010105
-
-/* Ethernet statistics */
-
-/* Mandatory */
-#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_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
 
-/* Optional */
-#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
+/* 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
 
 /* Token Ring objects */
 
@@ -366,43 +311,6 @@ typedef struct _NET_PNP_TRANSLATE_LIST
 #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 */
index 922d429..0cf66e0 100644 (file)
@@ -1,16 +1,42 @@
 /*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS NDIS library
- * FILE:        include/net/netevent.h
- * PURPOSE:     Network event constants
+ * netevent.h
+ *
+ * Network events
+ *
+ * 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 __NETEVENT_H
 #define __NETEVENT_H
 
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
 #define EVENT_TRANSPORT_REGISTER_FAILED  0xC000232CL
 
 #define EVENT_TRANSPORT_ADAPTER_NOT_FOUND 0xC000232EL
 
-#endif /* __NETEVENT_H */
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-/* EOF */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __NETEVENT_H */
index 5916792..61196da 100644 (file)
@@ -1,16 +1,49 @@
 /*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS NDIS library
- * FILE:        include/net/ntddndis.h
- * PURPOSE:     Structures for accessing NDIS devices
+ * 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 __NIDDNDIS_H
+#define __NTDDNDIS_H
+
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+#pragma pack(push,4)
+
+#include "ntddk.h"
 
 #include <net/ndisoid.h>
 
-typedef enum _NDIS_DEVICE_POWER_STATE
-{
+#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,
@@ -19,19 +52,152 @@ typedef enum _NDIS_DEVICE_POWER_STATE
     NdisDeviceStateMaximum
 } NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE;
 
-typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES
-{
+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;
 
-typedef struct _NDIS_PNP_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;
 
-#endif /* __NTDDNDIS_H */
+/* 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
+
+/* Optional */
+#define        OID_GEN_SUPPORTED_GUIDS                 0x00010117
+#define        OID_GEN_NETWORK_LAYER_ADDRESSES         0x00010118
+#define OID_GEN_TRANSPORT_HEADER_OFFSET         0x00010119
+
+/* General statistics */
+/* 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
+
+/* Connection-oriented objects */
 
-/* EOF */
+
+/* Ethernet objects */
+
+/* Ethernet operational characteristics */
+
+/* Mandatory */
+#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
+
+/* Optional */
+#define OID_802_3_MAC_OPTIONS                   0x01010105
+
+/* Ethernet statistics */
+
+/* Mandatory */
+#define OID_802_3_RCV_ERROR_ALIGNMENT           0x01020101
+#define OID_802_3_XMIT_ONE_COLLISION            0x01020102
+#define OID_802_3_XMIT_MORE_COLLISIONS          0x01020103
+
+/* Optional */
+#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 */
index a3b8c16..d8a87e5 100644 (file)
@@ -1,12 +1,41 @@
 /*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS TDI library
- * FILE:        include/net/tdi.h
- * PURPOSE:     TDI definitions for user mode clients
+ * tdi.h
+ *
+ * TDI user mode definitions
+ *
+ * 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 __TDI_H
 #define __TDI_H
 
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#pragma pack(push,4)
+
+#include "ntddk.h"
+#include "tdistat.h"
+
 /* FIXME: Missed some definitions in ntddk.h */
 
 /* Could be defined elsewhere 
@@ -22,9 +51,8 @@ typedef LONG    TDI_STATUS;
 typedef PVOID   CONNECTION_CONTEXT;
 
 
-
 /* TDI status codes */
-
+///*
 #define TDI_SUCCESS             STATUS_SUCCESS
 #define TDI_NO_RESOURCES        STATUS_INSUFFICIENT_RESOURCES
 #define TDI_ADDR_IN_USE         STATUS_ADDRESS_ALREADY_EXISTS
@@ -65,7 +93,7 @@ typedef PVOID   CONNECTION_CONTEXT;
 #define        TDI_OPTION_EOL              0
 #define        TDI_ADDRESS_OPTION_REUSE    1
 #define        TDI_ADDRESS_OPTION_DHCP     2
-
+// */
 
 
 /* TDI IOCTL codes */
@@ -127,8 +155,7 @@ NTSTATUS TdiDispatchInternalDeviceControl(
 
 /* TDI structures */
 
-typedef struct _TDI_CONNECTION_INFORMATION
-{
+typedef struct _TDI_CONNECTION_INFORMATION {
     LONG   UserDataLength;
     PVOID  UserData;
     LONG   OptionsLength;
@@ -137,8 +164,7 @@ typedef struct _TDI_CONNECTION_INFORMATION
     PVOID  RemoteAddress;
 } TDI_CONNECTION_INFORMATION, *PTDI_CONNECTION_INFORMATION;
 
-typedef struct _TDI_REQUEST
-{
+typedef struct _TDI_REQUEST {
     union {
         HANDLE              AddressHandle;
         CONNECTION_CONTEXT  ConnectionContext;
@@ -149,16 +175,13 @@ typedef struct _TDI_REQUEST
     TDI_STATUS TdiStatus;
 } TDI_REQUEST, *PTDI_REQUEST;
 
-typedef struct _TDI_REQUEST_STATUS
-{
+typedef struct _TDI_REQUEST_STATUS {
     TDI_STATUS  Status;
     PVOID  RequestContext;
     ULONG  BytesTransferred;
 } TDI_REQUEST_STATUS, *PTDI_REQUEST_STATUS;
 
-
-typedef struct _TA_ADDRESS
-{
+typedef struct _TA_ADDRESS {
     USHORT  AddressLength;
     USHORT  AddressType;
     UCHAR   Address[1];
@@ -188,40 +211,37 @@ typedef struct _TA_ADDRESS
 #define TDI_ADDRESS_TYPE_NETONE     20
 #define TDI_ADDRESS_TYPE_VNS        21
 #define TDI_ADDRESS_TYPE_NETBIOS_EX 22
-
+#define TDI_ADDRESS_TYPE_IP6                23
+#define TDI_ADDRESS_TYPE_NETBIOS_UNICODE_EX 24
 
 #define TdiTransportAddress             "TransportAddress"
 #define TdiConnectionContext            "ConnectionContext"
 #define TDI_TRANSPORT_ADDRESS_LENGTH    (sizeof(TdiTransportAddress) - 1)
 #define TDI_CONNECTION_CONTEXT_LENGTH   (sizeof(TdiConnectionContext) - 1)
 
-
-typedef struct _TRANSPORT_ADDRESS
-{
+typedef struct _TRANSPORT_ADDRESS {
     LONG        TAAddressCount;
     TA_ADDRESS  Address[1];
 } TRANSPORT_ADDRESS, *PTRANSPORT_ADDRESS;
 
-typedef struct _TDI_ADDRESS_INFO
-{
+typedef struct _TDI_ADDRESS_INFO {
     ULONG              ActivityCount;
     TRANSPORT_ADDRESS  Address;
 } TDI_ADDRESS_INFO, *PTDI_ADDRESS_INFO;
 
-typedef struct _TDI_ACTION_HEADER
-{
+typedef struct _TDI_ACTION_HEADER {
     ULONG   TransportId;
     USHORT  ActionCode;
     USHORT  Reserved;
 } TDI_ACTION_HEADER, *PTDI_ACTION_HEADER;
 
-typedef struct _TDI_ADDRESS_8022
-{
+typedef struct _TDI_ADDRESS_8022 {
     UCHAR MACAddress[6];
 } TDI_ADDRESS_8022, *PTDI_ADDRESS_8022;
 
-typedef struct _TDI_ADDRESS_APPLETALK
-{
+#define TDI_ADDRESS_LENGTH_8022           sizeof(TDI_ADDRESS_8022);
+
+typedef struct _TDI_ADDRESS_APPLETALK {
     USHORT  Network;
     UCHAR   Node;
     UCHAR   Socket;
@@ -229,8 +249,7 @@ typedef struct _TDI_ADDRESS_APPLETALK
 
 #define TDI_ADDRESS_LENGTH_APPLETALK    sizeof(TDI_ADDRESS_APPLETALK)
 
-typedef struct _TDI_ADDRESS_IP
-{
+typedef struct _TDI_ADDRESS_IP {
     USHORT  sin_port;
     ULONG   in_addr;
     UCHAR   sin_zero[8];
@@ -238,8 +257,7 @@ typedef struct _TDI_ADDRESS_IP
 
 #define TDI_ADDRESS_LENGTH_IP   sizeof(TDI_ADDRESS_IP)
 
-typedef struct _TDI_ADDRESS_IPX
-{
+typedef struct _TDI_ADDRESS_IPX {
     ULONG   NetworkAddress;
     UCHAR   NodeAddress[6];
     USHORT  Socket;
@@ -247,36 +265,35 @@ typedef struct _TDI_ADDRESS_IPX
 
 #define TDI_ADDRESS_LENGTH_IPX  sizeof(TDI_ADDRESS_IPX)
 
-typedef struct _TDI_ADDRESS_NETBIOS
-{
-    USHORT  NetbiosNameType;
-    UCHAR   NetbiosName[16];
-} TDI_ADDRESS_NETBIOS, *PTDI_ADDRESS_NETBIOS;
-
+/* TDI_ADDRESS_NETBIOS.NetbiosNameType constants */
 #define TDI_ADDRESS_NETBIOS_TYPE_UNIQUE         0x0000
 #define TDI_ADDRESS_NETBIOS_TYPE_GROUP          0x0001
 #define TDI_ADDRESS_NETBIOS_TYPE_QUICK_UNIQUE   0x0002
 #define TDI_ADDRESS_NETBIOS_TYPE_QUICK_GROUP    0x0003
 
+typedef struct _TDI_ADDRESS_NETBIOS {
+    USHORT  NetbiosNameType;
+    UCHAR   NetbiosName[16];
+} TDI_ADDRESS_NETBIOS, *PTDI_ADDRESS_NETBIOS;
+
 #define TDI_ADDRESS_LENGTH_NETBIOS  sizeof(TDI_ADDRESS_NETBIOS)
 
-typedef struct _TDI_ADDRESS_NETBIOS_EX
-{
+typedef struct _TDI_ADDRESS_NETBIOS_EX {
     UCHAR               EndpointName[16];
     TDI_ADDRESS_NETBIOS NetbiosAddress;
 } TDI_ADDRESS_NETBIOS_EX, *PTDI_ADDRESS_NETBIOS_EX;
 
 #define TDI_ADDRESS_LENGTH_NETBIOS_EX   sizeof(TDI_ADDRESS_NETBIOS_EX)
 
-typedef struct _TDI_ADDRESS_NETONE
-{
+/* TDI_ADDRESS_NETONE.NetoneNameType constants */
+#define TDI_ADDRESS_NETONE_TYPE_UNIQUE  0x0000
+#define TDI_ADDRESS_NETONE_TYPE_ROTORED 0x0001
+
+typedef struct _TDI_ADDRESS_NETONE {
     USHORT  NetoneNameType;
     UCHAR   NetoneName[20];
 } TDI_ADDRESS_NETONE, *PTDI_ADDRESS_NETONE;
 
-#define TDI_ADDRESS_NETONE_TYPE_UNIQUE  0x0000
-#define TDI_ADDRESS_NETONE_TYPE_ROTORED 0x0001
-
 #define TDI_ADDRESS_LENGTH_NETONE   sizeof(TDI_ADDRESS_NETONE)
 
 typedef struct _TDI_ADDRESS_NS
@@ -290,11 +307,11 @@ typedef struct _TDI_ADDRESS_NS
 
 #define ISO_MAX_ADDR_LENGTH 64
 
+/* TDI_ADDRESS_OSI_TSAP.tp_addr_type constants */
 #define ISO_HIERARCHICAL        0
 #define ISO_NON_HIERARCHICAL    1
 
-typedef struct _TDI_ADDRESS_OSI_TSAP
-{
+typedef struct _TDI_ADDRESS_OSI_TSAP {
     USHORT  tp_addr_type;
     USHORT  tp_taddr_len;
     USHORT  tp_tsel_len;
@@ -303,8 +320,7 @@ typedef struct _TDI_ADDRESS_OSI_TSAP
 
 #define TDI_ADDRESS_LENGTH_OSI_TSAP sizeof(TDI_ADDRESS_OSI_TSAP)
 
-typedef struct _TDI_ADDRESS_VNS
-{
+typedef struct _TDI_ADDRESS_VNS {
     UCHAR  net_address[4];
     UCHAR  subnet_addr[2];
     UCHAR  port[2];
@@ -314,66 +330,80 @@ typedef struct _TDI_ADDRESS_VNS
 
 #define TDI_ADDRESS_LENGTH_VNS  sizeof(TDI_ADDRESS_VNS)
 
-
-/* TDI request structures */
-
-typedef struct _TDI_CONNECT_REQUEST
-{
+typedef struct _TDI_ADDRESS_IP6 {
+  USHORT  sin6_port;
+  ULONG  sin6_flowinfo;
+  USHORT  sin6_addr[8];
+  ULONG  sin6_scope_id;
+} TDI_ADDRESS_IP6, *PTDI_ADDRESS_IP6;
+
+#define TDI_ADDRESS_LENGTH_IP6            sizeof(TDI_ADDRESS_IP6)
+
+enum eNameBufferType {
+       NBT_READONLY = 0,
+       NBT_WRITEONLY,
+       NBT_READWRITE,
+       NBT_WRITTEN
+};
+
+typedef struct _TDI_ADDRESS_NETBIOS_UNICODE_EX {
+  USHORT  NetbiosNameType;
+  enum eNameBufferType  NameBufferType;
+  UNICODE_STRING  EndpointName;
+  UNICODE_STRING  RemoteName;
+  WCHAR  EndpointBuffer[17];
+  WCHAR  RemoteNameBuffer[1];
+} TDI_ADDRESS_NETBIOS_UNICODE_EX, *PTDI_ADDRESS_NETBIOS_UNICODE_EX;
+
+
+typedef struct _TDI_CONNECT_REQUEST {
     TDI_REQUEST     Request;
     PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
     PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
     LARGE_INTEGER   Timeout;
 } TDI_REQUEST_CONNECT, *PTDI_REQUEST_CONNECT;
 
-typedef struct _TDI_REQUEST_ACCEPT
-{
+typedef struct _TDI_REQUEST_ACCEPT {
     TDI_REQUEST Request;
     PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
     PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
 } TDI_REQUEST_ACCEPT, *PTDI_REQUEST_ACCEPT;
 
-typedef struct _TDI_REQUEST_LISTEN
-{
+typedef struct _TDI_REQUEST_LISTEN {
     TDI_REQUEST Request;
     PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
     PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
     USHORT      ListenFlags;
 } TDI_REQUEST_LISTEN, *PTDI_REQUEST_LISTEN;
 
-typedef struct _TDI_DISCONNECT_REQUEST
-{
+typedef struct _TDI_DISCONNECT_REQUEST {
     TDI_REQUEST     Request;
     LARGE_INTEGER   Timeout;
 } TDI_REQUEST_DISCONNECT, *PTDI_REQUEST_DISCONNECT;
 
-typedef struct _TDI_REQUEST_SEND
-{
+typedef struct _TDI_REQUEST_SEND {
     TDI_REQUEST Request;
     USHORT      SendFlags;
 } TDI_REQUEST_SEND, *PTDI_REQUEST_SEND;
 
-typedef struct _TDI_REQUEST_RECEIVE
-{
+typedef struct _TDI_REQUEST_RECEIVE {
     TDI_REQUEST Request;
     USHORT      ReceiveFlags;
 } TDI_REQUEST_RECEIVE, *PTDI_REQUEST_RECEIVE;
 
-typedef struct _TDI_REQUEST_SEND_DATAGRAM
-{
+typedef struct _TDI_REQUEST_SEND_DATAGRAM {
     TDI_REQUEST Request;
     PTDI_CONNECTION_INFORMATION SendDatagramInformation;
 } TDI_REQUEST_SEND_DATAGRAM, *PTDI_REQUEST_SEND_DATAGRAM;
 
-typedef struct _TDI_REQUEST_RECEIVE_DATAGRAM
-{
+typedef struct _TDI_REQUEST_RECEIVE_DATAGRAM {
     TDI_REQUEST Request;
     PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation;
     PTDI_CONNECTION_INFORMATION ReturnInformation;
     USHORT      ReceiveFlags;
 } TDI_REQUEST_RECEIVE_DATAGRAM, *PTDI_REQUEST_RECEIVE_DATAGRAM;
 
-typedef struct _TDI_REQUEST_SET_EVENT
-{
+typedef struct _TDI_REQUEST_SET_EVENT {
     TDI_REQUEST Request;
     LONG        EventType;
     PVOID       EventHandler;
@@ -390,6 +420,7 @@ typedef struct _TDI_REQUEST_SET_EVENT
 #define TDI_RECEIVE_COPY_LOOKAHEAD      0x00000200
 #define TDI_RECEIVE_ENTIRE_MESSAGE      0x00000400
 #define TDI_RECEIVE_AT_DISPATCH_LEVEL   0x00000800
+#define TDI_RECEIVE_CONTROL_INFO          0x00001000
 
 /* Listen flags */
 #define TDI_QUERY_ACCEPT    0x00000001
@@ -399,6 +430,7 @@ typedef struct _TDI_REQUEST_SET_EVENT
 #define TDI_SEND_PARTIAL                0x0040
 #define TDI_SEND_NO_RESPONSE_EXPECTED   0x0080
 #define TDI_SEND_NON_BLOCKING           0x0100
+#define TDI_SEND_AND_DISCONNECT           0x0200
 
 /* Disconnect Flags */
 #define TDI_DISCONNECT_WAIT     0x0001
@@ -406,23 +438,22 @@ typedef struct _TDI_REQUEST_SET_EVENT
 #define TDI_DISCONNECT_RELEASE  0x0004
 
 /* TdiRequest structure for TdiQueryInformation request */
-typedef struct _TDI_REQUEST_QUERY_INFORMATION
-{
+typedef struct _TDI_REQUEST_QUERY_INFORMATION {
     TDI_REQUEST Request;
     ULONG       QueryType;
     PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
 } TDI_REQUEST_QUERY_INFORMATION, *PTDI_REQUEST_QUERY_INFORMATION;
 
 /* TdiRequest structure for TdiSetInformation request */
-typedef struct _TDI_REQUEST_SET_INFORMATION
-{
+typedef struct _TDI_REQUEST_SET_INFORMATION {
     TDI_REQUEST Request;
     ULONG       SetType;
     PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
 } TDI_REQUEST_SET_INFORMATION, *PTDI_REQUEST_SET_INFORMATION;
 
-typedef union _TDI_REQUEST_TYPE
-{
+typedef TDI_REQUEST_SET_INFORMATION  TDI_REQ_SET_INFORMATION, *PTDI_REQ_SET_INFORMATION;
+
+typedef union _TDI_REQUEST_TYPE {
     TDI_REQUEST_ACCEPT              TdiAccept;
     TDI_REQUEST_CONNECT             TdiConnect;
     TDI_REQUEST_DISCONNECT          TdiDisconnect;
@@ -437,7 +468,6 @@ typedef union _TDI_REQUEST_TYPE
 } TDI_REQUEST_TYPE, *PTDI_REQUEST_TYPE;
 
 
-
 /* Query information types */
 
 /* Generic query info types that must be supported by all transports */
@@ -456,8 +486,7 @@ typedef union _TDI_REQUEST_TYPE
 #define TDI_QUERY_SESSION_STATUS        0x00000200
 #define TDI_QUERY_FIND_NAME             0x00000300
 
-typedef struct _TA_APPLETALK_ADDR
-{
+typedef struct _TA_APPLETALK_ADDR {
     LONG    TAAddressCount;
     struct  _AddrAtalk {
         USHORT                  AddressLength;
@@ -466,8 +495,7 @@ typedef struct _TA_APPLETALK_ADDR
     } Address[1];
 } TA_APPLETALK_ADDRESS, *PTA_APPLETALK_ADDRESS;
 
-typedef struct _TA_ADDRESS_IP
-{
+typedef struct _TA_ADDRESS_IP {
     LONG    TAAddressCount;
     struct  _AddrIp {
         USHORT          AddressLength;
@@ -476,8 +504,7 @@ typedef struct _TA_ADDRESS_IP
     } Address[1];
 } TA_ADDRESS_IP, *PTA_ADDRESS_IP;
 
-typedef struct _TA_ADDRESS_IPX
-{
+typedef struct _TA_ADDRESS_IPX {
     LONG    TAAddressCount;
     struct  _AddrIpx {
         USHORT           AddressLength;
@@ -486,8 +513,7 @@ typedef struct _TA_ADDRESS_IPX
     } Address[1];
 } TA_IPX_ADDRESS, *PTA_IPX_ADDRESS;
 
-typedef struct _TA_NETBIOS_ADDRESS
-{
+typedef struct _TA_NETBIOS_ADDRESS {
     LONG    TAAddressCount;
     struct _Addr{
         USHORT              AddressLength;
@@ -496,8 +522,7 @@ typedef struct _TA_NETBIOS_ADDRESS
     } Address[1];
 } TA_NETBIOS_ADDRESS, *PTA_NETBIOS_ADDRESS;
 
-typedef struct _TA_ADDRESS_NS
-{
+typedef struct _TA_ADDRESS_NS {
     LONG    TAAddressCount;
     struct  _AddrNs {
         USHORT          AddressLength;
@@ -506,8 +531,7 @@ typedef struct _TA_ADDRESS_NS
     } Address[1];
 } TA_NS_ADDRESS, *PTA_NS_ADDRESS;
 
-typedef struct _TA_ADDRESS_VNS
-{
+typedef struct _TA_ADDRESS_VNS {
     LONG    TAAddressCount;
     struct  _AddrVns {
         USHORT          AddressLength;
@@ -516,11 +540,28 @@ typedef struct _TA_ADDRESS_VNS
     } Address[1];
 } TA_VNS_ADDRESS, *PTA_VNS_ADDRESS;
 
+typedef struct _TA_ADDRESS_IP6 {
+  LONG  TAAddressCount;
+  struct _AddrIp6 {
+    USHORT  AddressLength;
+    USHORT  AddressType;
+    TDI_ADDRESS_IP6  Address[1];
+  } Address [1];
+} TA_IP6_ADDRESS, *PTA_IP6_ADDRESS;
+
+typedef struct _TA_ADDRESS_NETBIOS_UNICODE_EX {
+  LONG  TAAddressCount;
+  struct _AddrNetbiosWCharEx {
+    USHORT  AddressLength;
+    USHORT  AddressType;
+    TDI_ADDRESS_NETBIOS_UNICODE_EX  Address[1];
+  } Address [1];
+} TA_NETBIOS_UNICODE_EX_ADDRESS, *PTA_NETBIOS_UNICODE_EX_ADDRESS;
+
 
 /* Structures used for TdiQueryInformation and TdiSetInformation */
 
-typedef struct _TDI_ENDPOINT_INFO
-{
+typedef struct _TDI_ENDPOINT_INFO {
     ULONG   State;
     ULONG   Event;
     ULONG   TransmittedTsdus;
@@ -534,8 +575,7 @@ typedef struct _TDI_ENDPOINT_INFO
     ULONG   SecurityCompartment;
 } TDI_ENDPOINT_INFO, *PTDI_ENDPOINT_INFO;
 
-typedef struct _TDI_CONNECTION_INFO
-{
+typedef struct _TDI_CONNECTION_INFO {
     ULONG           State;
     ULONG           Event; 
     ULONG           TransmittedTsdus;
@@ -549,19 +589,16 @@ typedef struct _TDI_CONNECTION_INFO
     BOOLEAN         Unreliable;
 } TDI_CONNECTION_INFO, *PTDI_CONNECTION_INFO;
 
-typedef struct _TDI_DATAGRAM_INFO
-{
+typedef struct _TDI_DATAGRAM_INFO {
     ULONG   MaximumDatagramBytes;
     ULONG   MaximumDatagramCount;
 } TDI_DATAGRAM_INFO, *PTDI_DATAGRAM_INFO;
 
-typedef struct _TDI_MAX_DATAGRAM_INFO
-{
+typedef struct _TDI_MAX_DATAGRAM_INFO {
     ULONG   MaxDatagramSize;
 } TDI_MAX_DATAGRAM_INFO, *PTDI_MAX_DATAGRAM_INFO;
 
-typedef struct _TDI_PROVIDER_INFO
-{
+typedef struct _TDI_PROVIDER_INFO {
     ULONG           Version;
     ULONG           MaxSendSize;
     ULONG           MaxConnectionUserData;
@@ -588,17 +625,20 @@ typedef struct _TDI_PROVIDER_INFO
 #define TDI_SERVICE_POINT_TO_POINT      0x00001000
 #define TDI_SERVICE_MESSAGE_MODE        0x00002000
 #define TDI_SERVICE_HALF_DUPLEX         0x00004000
+#define TDI_SERVICE_DGRAM_CONNECTION    0x00008000
+#define TDI_SERVICE_FORCE_ACCESS_CHECK  0x00010000
+#define TDI_SERVICE_SEND_AND_DISCONNECT 0x00020000
+#define TDI_SERVICE_DIRECT_ACCEPT       0x00040000
+#define TDI_SERVICE_ACCEPT_LOCAL_ADDR   0x00080000
 
-typedef struct _TDI_PROVIDER_RESOURCE_STATS
-{
+typedef struct _TDI_PROVIDER_RESOURCE_STATS {
     ULONG   ResourceId;
     ULONG   MaximumResourceUsed;
     ULONG   AverageResourceUsed;
     ULONG   ResourceExhausted;
 } TDI_PROVIDER_RESOURCE_STATS, *PTDI_PROVIDER_RESOURCE_STATS;
 
-typedef struct _TDI_PROVIDER_STATISTICS
-{
+typedef struct _TDI_PROVIDER_STATISTICS {
     ULONG           Version;
     ULONG           OpenConnections;
     ULONG           ConnectionsAfterNoRetry;
@@ -639,6 +679,30 @@ typedef struct _TDI_PROVIDER_STATISTICS
     TDI_PROVIDER_RESOURCE_STATS Resources[1];
 } TDI_PROVIDER_STATISTICS, *PTDI_PROVIDER_STATISTICS;
 
-#endif /* __TDI_H */
+#define TDI_EVENT_CONNECT                 0
+#define TDI_EVENT_DISCONNECT              1
+#define TDI_EVENT_ERROR                   2
+#define TDI_EVENT_RECEIVE                 3
+#define TDI_EVENT_RECEIVE_DATAGRAM        4
+#define TDI_EVENT_RECEIVE_EXPEDITED       5
+#define TDI_EVENT_SEND_POSSIBLE           6
 
-/* EOF */
+typedef struct _TDI_REQUEST_ASSOCIATE {
+  TDI_REQUEST  Request;
+  HANDLE  AddressHandle;
+} TDI_REQUEST_ASSOCIATE_ADDRESS, *PTDI_REQUEST_ASSOCIATE_ADDRESS;
+
+#define NDIS_PACKET_POOL_TAG_FOR_NWLNKIPX   'iPDN'
+#define NDIS_PACKET_POOL_TAG_FOR_NWLNKSPX   'sPDN'
+#define NDIS_PACKET_POOL_TAG_FOR_NWLNKNB    'nPDN'
+#define NDIS_PACKET_POOL_TAG_FOR_TCPIP      'tPDN'
+#define NDIS_PACKET_POOL_TAG_FOR_NBF        'bPDN'
+#define NDIS_PACKET_POOL_TAG_FOR_APPLETALK  'aPDN'
+
+#pragma pack(pop)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TDI_H */
index c734daa..415c66d 100644 (file)
 /*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS TDI library
- * FILE:        include/net/tdiinfo.h
- * PURPOSE:     TDI definitions for Tdi(Query/Set)InformationEx
+ * tdiinfo.h
+ *
+ * TDI set and query information 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 __TDIINFO_H
 #define __TDIINFO_H
 
-typedef struct TDIEntityID
-{
-    ULONG   tei_entity;
-       ULONG   tei_instance;
-} TDIEntityID;
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
 
-typedef struct TDIObjectID
-{
-    TDIEntityID        toi_entity;
-    ULONG   toi_class;
-       ULONG   toi_type;
-       ULONG   toi_id;
-} TDIObjectID;
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-#define        CONTEXT_SIZE                16
+#pragma pack(push,4)
 
-#define        MAX_TDI_ENTITIES                        512
-
-#define        INFO_CLASS_GENERIC          0x100
-#define        INFO_CLASS_PROTOCOL             0x200
-#define        INFO_CLASS_IMPLEMENTATION   0x300
-
-#define        INFO_TYPE_PROVIDER          0x100
-#define        INFO_TYPE_ADDRESS_OBJECT    0x200
-#define        INFO_TYPE_CONNECTION        0x300
+#include "ntddk.h"
 
 
-#define        ENTITY_LIST_ID              0
+typedef struct TDIEntityID {
+    ULONG   tei_entity;
+       ULONG   tei_instance;
+} TDIEntityID;
 
+#define        MAX_TDI_ENTITIES                        512
+#define INVALID_ENTITY_INSTANCE     -1
 #define        GENERIC_ENTITY              0
-
-
-#define        IF_ENTITY                   0x200
+#define        ENTITY_LIST_ID              0
+#define        ENTITY_TYPE_ID              1
 
 #define        AT_ENTITY                   0x280
-
-#define        CO_NL_ENTITY                0x300
 #define        CL_NL_ENTITY                0x301
-
-#define        ER_ENTITY                   0x380
-
-#define        CO_TL_ENTITY                0x400
 #define        CL_TL_ENTITY                0x401
-
-
-/* IDs supported by all entities */
-
-#define        ENTITY_TYPE_ID              1
-
-
-#define        IF_GENERIC                                      0x200
-#define        IF_MIB                                          0x202
+#define        CO_NL_ENTITY                0x300
+#define        CO_TL_ENTITY                0x400
+#define        ER_ENTITY                   0x380
+#define        IF_ENTITY                   0x200
 
 #define        AT_ARP                                          0x280
 #define        AT_NULL                                         0x282
-
+#define        CL_TL_NBF                                       0x401
+#define        CL_TL_UDP                                       0x403
 #define        CL_NL_IPX                                       0x301
 #define        CL_NL_IP                                        0x303
-
-#define        ER_ICMP                                         0x380
-
 #define        CO_TL_NBF                                       0x400
 #define        CO_TL_SPX                                       0x402
 #define        CO_TL_TCP                                       0x404
 #define        CO_TL_SPP                                       0x406
+#define        ER_ICMP                                         0x380
+#define        IF_GENERIC                                      0x200
+#define        IF_MIB                                          0x202
 
-#define        CL_TL_NBF                                       0x401
-#define        CL_TL_UDP                                       0x403
+/* TDIObjectID.toi_class constants */
+#define        INFO_CLASS_GENERIC          0x100
+#define        INFO_CLASS_PROTOCOL             0x200
+#define        INFO_CLASS_IMPLEMENTATION   0x300
 
-/* TCP specific structures */
+/* TDIObjectID.toi_type constants */
+#define        INFO_TYPE_PROVIDER          0x100
+#define        INFO_TYPE_ADDRESS_OBJECT    0x200
+#define        INFO_TYPE_CONNECTION        0x300
 
-typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX
-{
+typedef struct _TDIObjectID {
+    TDIEntityID        toi_entity;
+    ULONG   toi_class;
+       ULONG   toi_type;
+       ULONG   toi_id;
+} TDIObjectID;
+
+#define        CONTEXT_SIZE                16
+
+typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX {
        TDIObjectID ID;
        UCHAR       Context[CONTEXT_SIZE];
 } TCP_REQUEST_QUERY_INFORMATION_EX, *PTCP_REQUEST_QUERY_INFORMATION_EX;
 
-typedef struct _TCP_REQUEST_SET_INFORMATION_EX
-{
+#if defined(_WIN64)
+typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX32 {
+  TDIObjectID  ID;
+  ULONG32  Context[CONTEXT_SIZE / sizeof(ULONG32)];
+} TCP_REQUEST_QUERY_INFORMATION_EX32, *PTCP_REQUEST_QUERY_INFORMATION_EX32;
+#endif /* _WIN64 */
+
+typedef struct _TCP_REQUEST_SET_INFORMATION_EX {
        TDIObjectID ID;
        UINT        BufferSize;
        UCHAR       Buffer[1];
 } TCP_REQUEST_SET_INFORMATION_EX, *PTCP_REQUEST_SET_INFORMATION_EX;
 
-#endif /* __TDIINFO_H */
+#pragma pack(pop)
 
-/* EOF */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TDIINFO_H */
index abfc4cb..b221231 100644 (file)
@@ -1,20 +1,56 @@
 /*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS TDI library
- * FILE:        include/net/tdikrnl.h
- * PURPOSE:     TDI definitions for kernel mode drivers
+ * tdikrnl.h
+ *
+ * TDI kernel mode definitions
+ *
+ * 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 __TDIKRNL_H
 #define __TDIKRNL_H
 
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#pragma pack(push,4)
+
+#include "ntddk.h"
 #include "tdi.h"
 
 #ifndef STDCALL
 #define STDCALL
 #endif
+#define DDKAPI STDCALL
+
+#if defined(_TDI_)
+//  #define TDIKRNLAPI DECLSPEC_EXPORT
+  #define TDIKRNLAPI
+#else
+//  #define TDIKRNLAPI DECLSPEC_IMPORT
+  #define TDIKRNLAPI
+#endif
+
 
-typedef struct _TDI_REQUEST_KERNEL
-{
+typedef struct _TDI_REQUEST_KERNEL {
     ULONG   RequestFlags;
     PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
     PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
@@ -40,7 +76,6 @@ typedef struct _TDI_REQUEST_KERNEL
 #define TDI_DIRECT_SEND             0x27
 #define TDI_DIRECT_SEND_DATAGRAM    0x29
 
-
 #define TDI_TRANSPORT_ADDRESS_FILE  1
 #define TDI_CONNECTION_FILE         2
 #define TDI_CONTROL_CHANNEL_FILE    3
@@ -50,8 +85,7 @@ typedef struct _TDI_REQUEST_KERNEL
 #define IOCTL_TDI_QUERY_DIRECT_SENDDG_HANDLER   TDI_CONTROL_CODE(0x81, METHOD_NEITHER)
 
 /* TdiAssociateAddress */
-typedef struct _TDI_REQUEST_KERNEL_ASSOCIATE
-{
+typedef struct _TDI_REQUEST_KERNEL_ASSOCIATE {
     HANDLE AddressHandle;
 } TDI_REQUEST_KERNEL_ASSOCIATE, *PTDI_REQUEST_KERNEL_ASSOCIATE;
 
@@ -60,22 +94,31 @@ typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_DISASSOCIATE,
     *PTDI_REQUEST_KERNEL_DISASSOCIATE;
 
 /* TdiAccept */
-typedef struct _TDI_REQUEST_KERNEL_ACCEPT
-{
+typedef struct _TDI_REQUEST_KERNEL_ACCEPT {
     PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
     PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
 } TDI_REQUEST_KERNEL_ACCEPT, *PTDI_REQUEST_KERNEL_ACCEPT;
 
+/* TdiConnect */
+typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_CONNECT,
+  *PTDI_REQUEST_KERNEL_CONNECT;
+
+/* TdiDisconnect */
+typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_DISCONNECT,
+  *PTDI_REQUEST_KERNEL_DISCONNECT;
+
+/* TdiListen */
+typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_LISTEN,
+  *PTDI_REQUEST_KERNEL_LISTEN;
+
 /* TdiReceive */
-typedef struct _TDI_REQUEST_KERNEL_RECEIVE
-{
+typedef struct _TDI_REQUEST_KERNEL_RECEIVE {
     ULONG   ReceiveLength;
     ULONG   ReceiveFlags;
 } TDI_REQUEST_KERNEL_RECEIVE, *PTDI_REQUEST_KERNEL_RECEIVE;
 
 /* TdiReceiveDatagram */
-typedef struct _TDI_REQUEST_KERNEL_RECEIVEDG
-{
+typedef struct _TDI_REQUEST_KERNEL_RECEIVEDG {
     ULONG   ReceiveLength;
     PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation;
     PTDI_CONNECTION_INFORMATION ReturnDatagramInformation;
@@ -83,37 +126,32 @@ typedef struct _TDI_REQUEST_KERNEL_RECEIVEDG
 } TDI_REQUEST_KERNEL_RECEIVEDG, *PTDI_REQUEST_KERNEL_RECEIVEDG;
 
 /* TdiSend */
-typedef struct _TDI_REQUEST_KERNEL_SEND
-{
+typedef struct _TDI_REQUEST_KERNEL_SEND {
     ULONG   SendLength;
     ULONG   SendFlags;
 } TDI_REQUEST_KERNEL_SEND, *PTDI_REQUEST_KERNEL_SEND;
 
 /* TdiSendDatagram */
-typedef struct _TDI_REQUEST_KERNEL_SENDDG
-{
+typedef struct _TDI_REQUEST_KERNEL_SENDDG {
     ULONG   SendLength;
     PTDI_CONNECTION_INFORMATION SendDatagramInformation;
 } TDI_REQUEST_KERNEL_SENDDG, *PTDI_REQUEST_KERNEL_SENDDG;
 
 /* TdiSetEventHandler */
-typedef struct _TDI_REQUEST_KERNEL_SET_EVENT
-{
+typedef struct _TDI_REQUEST_KERNEL_SET_EVENT {
     LONG    EventType;
     PVOID   EventHandler;
     PVOID   EventContext;
 } TDI_REQUEST_KERNEL_SET_EVENT, *PTDI_REQUEST_KERNEL_SET_EVENT;
 
 /* TdiQueryInformation */
-typedef struct _TDI_REQUEST_KERNEL_QUERY_INFO
-{
+typedef struct _TDI_REQUEST_KERNEL_QUERY_INFO {
     LONG    QueryType;
     PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
 } TDI_REQUEST_KERNEL_QUERY_INFORMATION, *PTDI_REQUEST_KERNEL_QUERY_INFORMATION;
 
 /* TdiSetInformation */
-typedef struct _TDI_REQUEST_KERNEL_SET_INFO
-{
+typedef struct _TDI_REQUEST_KERNEL_SET_INFO {
     LONG    SetType;
     PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
 } TDI_REQUEST_KERNEL_SET_INFORMATION, *PTDI_REQUEST_KERNEL_SET_INFORMATION;
@@ -130,8 +168,10 @@ typedef struct _TDI_REQUEST_KERNEL_SET_INFO
 #define TDI_EVENT_CHAINED_RECEIVE           7
 #define TDI_EVENT_CHAINED_RECEIVE_DATAGRAM  8
 #define TDI_EVENT_CHAINED_RECEIVE_EXPEDITED 9
+#define TDI_EVENT_ERROR_EX                  10
 
-typedef NTSTATUS (*PTDI_IND_CONNECT)(
+typedef NTSTATUS 
+(*PTDI_IND_CONNECT)(
     IN PVOID  TdiEventContext,
     IN LONG   RemoteAddressLength,
     IN PVOID  RemoteAddress,
@@ -142,7 +182,10 @@ typedef NTSTATUS (*PTDI_IND_CONNECT)(
     OUT CONNECTION_CONTEXT  *ConnectionContext,
     OUT PIRP  *AcceptIrp);
 
-NTSTATUS STDCALL TdiDefaultConnectHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultConnectHandler(
     IN PVOID  TdiEventContext,
     IN LONG   RemoteAddressLength,
     IN PVOID  RemoteAddress,
@@ -153,7 +196,8 @@ NTSTATUS STDCALL TdiDefaultConnectHandler(
     OUT CONNECTION_CONTEXT *ConnectionContext,
     OUT PIRP  *AcceptIrp);
 
-typedef NTSTATUS (*PTDI_IND_DISCONNECT)(
+typedef NTSTATUS 
+(*PTDI_IND_DISCONNECT)(
     IN PVOID  TdiEventContext,
     IN CONNECTION_CONTEXT  ConnectionContext,
     IN LONG   DisconnectDataLength,
@@ -162,7 +206,10 @@ typedef NTSTATUS (*PTDI_IND_DISCONNECT)(
     IN PVOID  DisconnectInformation,
     IN ULONG  DisconnectFlags);
 
-NTSTATUS STDCALL TdiDefaultDisconnectHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultDisconnectHandler(
     IN PVOID  TdiEventContext,
     IN CONNECTION_CONTEXT  ConnectionContext,
     IN LONG   DisconnectDataLength,
@@ -171,15 +218,26 @@ NTSTATUS STDCALL TdiDefaultDisconnectHandler(
     IN PVOID  DisconnectInformation,
     IN ULONG  DisconnectFlags);
 
-typedef NTSTATUS (*PTDI_IND_ERROR)(
+typedef NTSTATUS 
+(*PTDI_IND_ERROR)(
     IN PVOID     TdiEventContext,
     IN NTSTATUS  Status);
 
-NTSTATUS STDCALL TdiDefaultErrorHandler(
+typedef NTSTATUS DDKAPI
+(*PTDI_IND_ERROR_EX)(
+  IN PVOID  TdiEventContext,
+  IN NTSTATUS  Status,
+  IN PVOID  Buffer);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultErrorHandler(
     IN PVOID     TdiEventContext,
     IN NTSTATUS  Status);
 
-typedef NTSTATUS (*PTDI_IND_RECEIVE)(
+typedef NTSTATUS 
+(*PTDI_IND_RECEIVE)(
     IN PVOID   TdiEventContext,
     IN CONNECTION_CONTEXT ConnectionContext,
     IN ULONG   ReceiveFlags,
@@ -189,7 +247,10 @@ typedef NTSTATUS (*PTDI_IND_RECEIVE)(
     IN PVOID   Tsdu,
     OUT PIRP   *IoRequestPacket);
 
-NTSTATUS STDCALL  TdiDefaultReceiveHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultReceiveHandler(
     IN PVOID   TdiEventContext,
     IN CONNECTION_CONTEXT ConnectionContext,
     IN ULONG   ReceiveFlags,
@@ -199,7 +260,8 @@ NTSTATUS STDCALL  TdiDefaultReceiveHandler(
     IN PVOID   Tsdu,
     OUT PIRP   *IoRequestPacket);
 
-typedef NTSTATUS (*PTDI_IND_RECEIVE_DATAGRAM)(
+typedef NTSTATUS 
+(*PTDI_IND_RECEIVE_DATAGRAM)(
     IN PVOID   TdiEventContext,
     IN LONG    SourceAddressLength,
     IN PVOID   SourceAddress,
@@ -212,7 +274,9 @@ typedef NTSTATUS (*PTDI_IND_RECEIVE_DATAGRAM)(
     IN PVOID   Tsdu,
     OUT PIRP   *IoRequestPacket);
 
-NTSTATUS STDCALL TdiDefaultRcvDatagramHandler(
+TDIKRNLAPI
+NTSTATUS DDKAPI
+TdiDefaultRcvDatagramHandler(
     IN PVOID   TdiEventContext,
     IN LONG    SourceAddressLength,
     IN PVOID   SourceAddress,
@@ -225,7 +289,8 @@ NTSTATUS STDCALL TdiDefaultRcvDatagramHandler(
     IN PVOID   Tsdu,
     OUT PIRP   *IoRequestPacket);
 
-typedef NTSTATUS (*PTDI_IND_RECEIVE_EXPEDITED)(
+typedef NTSTATUS 
+(*PTDI_IND_RECEIVE_EXPEDITED)(
     IN PVOID   TdiEventContext,
     IN CONNECTION_CONTEXT  ConnectionContext,
     IN ULONG   ReceiveFlags,
@@ -235,7 +300,10 @@ typedef NTSTATUS (*PTDI_IND_RECEIVE_EXPEDITED)(
     IN PVOID   Tsdu,
     OUT PIRP   *IoRequestPacket);
 
-NTSTATUS STDCALL TdiDefaultRcvExpeditedHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultRcvExpeditedHandler(
     IN PVOID   TdiEventContext,
     IN CONNECTION_CONTEXT ConnectionContext,
     IN ULONG   ReceiveFlags,
@@ -245,7 +313,8 @@ NTSTATUS STDCALL TdiDefaultRcvExpeditedHandler(
     IN PVOID   Tsdu,
     OUT PIRP   *IoRequestPacket);
 
-typedef NTSTATUS (*PTDI_IND_CHAINED_RECEIVE)(
+typedef NTSTATUS 
+(*PTDI_IND_CHAINED_RECEIVE)(
     IN PVOID  TdiEventContext,
     IN CONNECTION_CONTEXT  ConnectionContext,
     IN ULONG  ReceiveFlags,
@@ -254,7 +323,10 @@ typedef NTSTATUS (*PTDI_IND_CHAINED_RECEIVE)(
     IN PMDL   Tsdu,
     IN PVOID  TsduDescriptor);
 
-NTSTATUS STDCALL TdiDefaultChainedReceiveHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultChainedReceiveHandler(
     IN PVOID  TdiEventContext,
     IN CONNECTION_CONTEXT  ConnectionContext,
     IN ULONG  ReceiveFlags,
@@ -263,7 +335,8 @@ NTSTATUS STDCALL TdiDefaultChainedReceiveHandler(
     IN PMDL   Tsdu,
     IN PVOID  TsduDescriptor);
 
-typedef NTSTATUS (*PTDI_IND_CHAINED_RECEIVE_DATAGRAM)(
+typedef NTSTATUS 
+(*PTDI_IND_CHAINED_RECEIVE_DATAGRAM)(
     IN PVOID  TdiEventContext,
     IN LONG   SourceAddressLength,
     IN PVOID  SourceAddress,
@@ -275,7 +348,10 @@ typedef NTSTATUS (*PTDI_IND_CHAINED_RECEIVE_DATAGRAM)(
     IN PMDL   Tsdu,
     IN PVOID  TsduDescriptor);
 
-NTSTATUS STDCALL TdiDefaultChainedRcvDatagramHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultChainedRcvDatagramHandler(
     IN PVOID  TdiEventContext,
     IN LONG   SourceAddressLength,
     IN PVOID  SourceAddress,
@@ -287,7 +363,8 @@ NTSTATUS STDCALL TdiDefaultChainedRcvDatagramHandler(
     IN PMDL   Tsdu,
     IN PVOID  TsduDescriptor);
 
-typedef NTSTATUS (*PTDI_IND_CHAINED_RECEIVE_EXPEDITED)(
+typedef NTSTATUS 
+(*PTDI_IND_CHAINED_RECEIVE_EXPEDITED)(
     IN PVOID  TdiEventContext,
     IN CONNECTION_CONTEXT  ConnectionContext,
     IN ULONG  ReceiveFlags,
@@ -296,7 +373,10 @@ typedef NTSTATUS (*PTDI_IND_CHAINED_RECEIVE_EXPEDITED)(
     IN PMDL   Tsdu,
     IN PVOID  TsduDescriptor);
 
-NTSTATUS STDCALL TdiDefaultChainedRcvExpeditedHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultChainedRcvExpeditedHandler(
     IN PVOID  TdiEventContext,
     IN CONNECTION_CONTEXT  ConnectionContext,
     IN ULONG  ReceiveFlags,
@@ -305,12 +385,16 @@ NTSTATUS STDCALL TdiDefaultChainedRcvExpeditedHandler(
     IN PMDL   Tsdu,
     IN PVOID  TsduDescriptor);
 
-typedef NTSTATUS (*PTDI_IND_SEND_POSSIBLE)(
+typedef NTSTATUS 
+(*PTDI_IND_SEND_POSSIBLE)(
     IN PVOID  TdiEventContext,
     IN PVOID  ConnectionContext,
     IN ULONG  BytesAvailable);
 
-NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultSendPossibleHandler(
     IN PVOID  TdiEventContext,
     IN PVOID  ConnectionContext,
     IN ULONG  BytesAvailable);
@@ -320,21 +404,21 @@ NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
 /* Macros and functions to build IRPs */
 
 #define TdiBuildBaseIrp(                                                    \
-    Irp, DevObj, FileObj, CompRoutine, Contxt, IrpSp, Minor)                \
+  bIrp, bDevObj, bFileObj, bCompRoutine, bContxt, bIrpSp, bMinor)         \
 {                                                                           \
-    IrpSp->MajorFunction = IRP_MJ_INTERNAL_DEVICE_CONTROL;                  \
-    IrpSp->MinorFunction = (Minor);                                         \
-    IrpSp->DeviceObject  = (DevObj);                                        \
-    IrpSp->FileObject    = (FileObj);                                       \
-                                                                            \
-    if (CompRoutine)                                                        \
-        IoSetCompletionRoutine(Irp, CompRoutine, Contxt, TRUE, TRUE, TRUE)  \
+  bIrpSp->MajorFunction = IRP_MJ_INTERNAL_DEVICE_CONTROL;                 \
+  bIrpSp->MinorFunction = (bMinor);                                       \
+  bIrpSp->DeviceObject  = (bDevObj);                                      \
+  bIrpSp->FileObject    = (bFileObj);                                     \
+  if (bCompRoutine)                                                       \
+    IoSetCompletionRoutine(bIrp, bCompRoutine, bContxt, TRUE, TRUE, TRUE) \
     else                                                                    \
-        IoSetCompletionRoutine(Irp, NULL, NULL, FALSE, FALSE, FALSE);       \
+    IoSetCompletionRoutine(bIrp, NULL, NULL, FALSE, FALSE, FALSE);        \
 }
 
 /*
- * VOID TdiBuildAccept(
+ * VOID 
+ * TdiBuildAccept(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -361,7 +445,8 @@ NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
 }
 
 /*
- * VOID TdiBuildAction(
+ * VOID 
+ * TdiBuildAction(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -383,7 +468,8 @@ NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
 }
 
 /*
- * VOID TdiBuildAssociateAddress(
+ * VOID 
+ * TdiBuildAssociateAddress(
  *    IN PIRP  Irp,
  *    IN PDEVICE_OBJECT  DevObj,
  *    IN PFILE_OBJECT  FileObj,
@@ -407,7 +493,8 @@ NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
 }
 
 /*
- * VOID TdiBuildConnect(
+ * VOID
+ * TdiBuildConnect(
  *    IN PIRP  Irp,
  *    IN PDEVICE_OBJECT  DevObj,
  *    IN PFILE_OBJECT  FileObj,
@@ -436,7 +523,8 @@ NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
 }
 
 /*
- * VOID TdiBuildDisassociateAddress(
+ * VOID
+ * TdiBuildDisassociateAddress(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -455,7 +543,8 @@ NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
 }
 
 /*
- * VOID TdiBuildDisconnect(
+ * VOID
+ * TdiBuildDisconnect(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -486,7 +575,8 @@ NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
 }
 
 /*
- * PIRP TdiBuildInternalDeviceControlIrp(
+ * PIRP
+ * TdiBuildInternalDeviceControlIrp(
  *     IN CCHAR IrpSubFunction,
  *     IN PDEVICE_OBJECT DeviceObject,
  *     IN PFILE_OBJECT FileObject,
@@ -502,7 +592,8 @@ NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
         TRUE, Event, IoStatusBlock)
 
 /*
- * VOID TdiBuildListen(
+ * VOID
+ * TdiBuildListen(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -530,18 +621,25 @@ NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
     _Request->RequestFlags = (Flags);                                 \
 }
 
-VOID STDCALL TdiBuildNetbiosAddress(
+TDIKRNLAPI
+VOID 
+DDKAPI
+TdiBuildNetbiosAddress(
     IN PUCHAR NetbiosName,
     IN BOOLEAN IsGroupName,
     IN OUT PTA_NETBIOS_ADDRESS NetworkName);
 
-NTSTATUS STDCALL TdiBuildNetbiosAddressEa(
+TDIKRNLAPI
+NTSTATUS 
+DDKAPI
+TdiBuildNetbiosAddressEa(
     IN PUCHAR Buffer,
     IN BOOLEAN IsGroupName,
     IN PUCHAR NetbiosName);
 
 /*
- * VOID TdiBuildQueryInformation(
+ * VOID 
+ * TdiBuildQueryInformation(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -568,7 +666,8 @@ NTSTATUS STDCALL TdiBuildNetbiosAddressEa(
 }
 
 /*
- * VOID TdiBuildReceive(
+ * VOID
+ * TdiBuildReceive(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -597,7 +696,8 @@ NTSTATUS STDCALL TdiBuildNetbiosAddressEa(
 }
 
 /*
- * VOID TdiBuildReceiveDatagram(
+ * VOID
+ * TdiBuildReceiveDatagram(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -630,7 +730,8 @@ NTSTATUS STDCALL TdiBuildNetbiosAddressEa(
 }
 
 /*
- * VOID TdiBuildSend(
+ * VOID
+ * TdiBuildSend(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -659,7 +760,8 @@ NTSTATUS STDCALL TdiBuildNetbiosAddressEa(
 }
 
 /*
- * VOID TdiBuildSendDatagram(
+ * VOID
+ * TdiBuildSendDatagram(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -688,7 +790,8 @@ NTSTATUS STDCALL TdiBuildNetbiosAddressEa(
 }
 
 /*
- * VOID TdiBuildSetEventHandler(
+ * VOID
+ * TdiBuildSetEventHandler(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -717,7 +820,8 @@ NTSTATUS STDCALL TdiBuildNetbiosAddressEa(
 }
 
 /*
- * VOID TdiBuildSetInformation(
+ * VOID
+ * TdiBuildSetInformation(
  *     IN PIRP  Irp,
  *     IN PDEVICE_OBJECT  DevObj,
  *     IN PFILE_OBJECT  FileObj,
@@ -743,12 +847,93 @@ NTSTATUS STDCALL TdiBuildNetbiosAddressEa(
     (Irp)->MdlAddress = (MdlAddr);                                       \
 }
 
+/* TDI20_CLIENT_INTERFACE_INFO.TdiVersion constants */
+#define TDI_CURRENT_MAJOR_VERSION         2
+#define TDI_CURRENT_MINOR_VERSION         0
+
+#define TDI_CURRENT_VERSION ((TDI_CURRENT_MINOR_VERSION) << 8 \
+  | (TDI_CURRENT_MAJOR_VERSION))
+
+#define TDI_VERSION_ONE                   0x0001
+
+typedef enum _TDI_PNP_OPCODE {
+  TDI_PNP_OP_MIN,
+  TDI_PNP_OP_ADD,
+  TDI_PNP_OP_DEL,
+  TDI_PNP_OP_UPDATE,
+  TDI_PNP_OP_PROVIDERREADY,
+  TDI_PNP_OP_NETREADY,
+  TDI_PNP_OP_ADD_IGNORE_BINDING,
+  TDI_PNP_OP_DELETE_IGNORE_BINDING,
+  TDI_PNP_OP_MAX
+} TDI_PNP_OPCODE;
+
+/* TDI_PNP_CONTEXT.ContextType */
+#define TDI_PNP_CONTEXT_TYPE_IF_NAME            0x1
+#define TDI_PNP_CONTEXT_TYPE_IF_ADDR            0x2
+#define TDI_PNP_CONTEXT_TYPE_PDO                0x3
+#define TDI_PNP_CONTEXT_TYPE_FIRST_OR_LAST_IF   0x4
+
+typedef struct _TDI_PNP_CONTEXT {
+  USHORT  ContextSize;
+  USHORT  ContextType;
+  UCHAR  ContextData[1];
+} TDI_PNP_CONTEXT, *PTDI_PNP_CONTEXT;
+
+typedef VOID DDKAPI
+(*TDI_ADD_ADDRESS_HANDLER)(
+  IN PTA_ADDRESS  Address);
+
+typedef VOID DDKAPI
+(*TDI_ADD_ADDRESS_HANDLER_V2)(
+  IN PTA_ADDRESS  Address,
+  IN PUNICODE_STRING  DeviceName,
+  IN PTDI_PNP_CONTEXT  Context);
+
+typedef VOID DDKAPI
+(*TDI_BINDING_HANDLER)(
+  IN TDI_PNP_OPCODE  PnPOpcode,
+  IN PUNICODE_STRING  DeviceName,
+  IN PWSTR  MultiSZBindList);
+
+typedef VOID DDKAPI
+(*TDI_BIND_HANDLER)(
+  IN PUNICODE_STRING  DeviceName);
+
+typedef VOID DDKAPI
+(*TDI_DEL_ADDRESS_HANDLER)(
+  IN PTA_ADDRESS  Address);
+
+typedef VOID DDKAPI
+(*TDI_DEL_ADDRESS_HANDLER_V2)(
+  IN PTA_ADDRESS  Address,
+  IN PUNICODE_STRING  DeviceName,
+  IN PTDI_PNP_CONTEXT  Context);
+
+typedef NTSTATUS DDKAPI
+(*TDI_PNP_POWER_HANDLER)(
+  IN PUNICODE_STRING  DeviceName,
+  IN PNET_PNP_EVENT  PowerEvent,
+  IN PTDI_PNP_CONTEXT  Context1,
+  IN PTDI_PNP_CONTEXT  Context2);
+
+typedef VOID DDKAPI
+(*TDI_UNBIND_HANDLER)(
+  IN PUNICODE_STRING  DeviceName);
+
+typedef VOID DDKAPI
+(*ProviderPnPPowerComplete)(
+  IN PNET_PNP_EVENT  NetEvent,
+  IN NTSTATUS  ProviderStatus);
+
+
 
 
 /* TDI functions */
 
 /*
- * VOID TdiCompleteRequest(
+ * VOID
+ * TdiCompleteRequest(
  *     IN PIRP Irp,
  *     IN NTSTATUS Status);
  */
@@ -758,7 +943,10 @@ NTSTATUS STDCALL TdiBuildNetbiosAddressEa(
     IoCompleteRequest((Irp), IO_NETWORK_INCREMENT); \
 }
 
-NTSTATUS STDCALL TdiCopyBufferToMdl(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiCopyBufferToMdl(
     IN PVOID SourceBuffer,
     IN ULONG SourceOffset,
     IN ULONG SourceBytesToCopy,
@@ -767,7 +955,8 @@ NTSTATUS STDCALL TdiCopyBufferToMdl(
     IN PULONG BytesCopied);
 
 /*
- * VOID TdiCopyLookaheadData(
+ * VOID
+ * TdiCopyLookaheadData(
  *     IN PVOID Destination,
  *     IN PVOID Source,
  *     IN ULONG Length,
@@ -776,7 +965,20 @@ NTSTATUS STDCALL TdiCopyBufferToMdl(
 #define TdiCopyLookaheadData(Destination, Source, Length, ReceiveFlags) \
     RtlCopyMemory(Destination, Source, Length)
 
-NTSTATUS STDCALL TdiCopyMdlToBuffer(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiCopyMdlChainToMdlChain (
+  IN PMDL  SourceMdlChain,
+  IN ULONG  SourceOffset,
+  IN PMDL  DestinationMdlChain,
+  IN ULONG  DestinationOffset,
+  OUT PULONG  BytesCopied);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiCopyMdlToBuffer(
     IN PMDL SourceMdlChain,
     IN ULONG SourceOffset,
     IN PVOID DestinationBuffer,
@@ -784,21 +986,157 @@ NTSTATUS STDCALL TdiCopyMdlToBuffer(
     IN ULONG DestinationBufferSize,
     OUT PULONG BytesCopied);
 
-VOID STDCALL TdiMapBuffer(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDeregisterAddressChangeHandler(
+  IN HANDLE  BindingHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDeregisterDeviceObject(
+  IN HANDLE  DevRegistrationHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDeregisterNetAddress(
+  IN HANDLE  AddrRegistrationHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDeregisterPnPHandlers(
+  IN HANDLE  BindingHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDeregisterProvider(
+  IN HANDLE  ProviderHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiEnumerateAddresses(
+  IN HANDLE  BindingHandle);
+
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiInitialize(
+  VOID);
+
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiMapBuffer(
     IN PMDL MdlChain);
 
-NTSTATUS STDCALL TdiMapUserRequest(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiMapUserRequest(
     IN PDEVICE_OBJECT DeviceObject,
     IN PIRP Irp,
     IN PIO_STACK_LOCATION IrpSp);
 
-VOID STDCALL TdiReturnChainedReceives(
+TDIKRNLAPI
+BOOLEAN
+DDKAPI
+TdiMatchPdoWithChainedReceiveContext(
+  IN PVOID TsduDescriptor,
+  IN PVOID PDO);
+
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiPnPPowerComplete(
+  IN HANDLE  BindingHandle,
+  IN PNET_PNP_EVENT  PowerEvent,
+  IN NTSTATUS  Status);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiPnPPowerRequest(
+  IN PUNICODE_STRING  DeviceName,
+  IN PNET_PNP_EVENT  PowerEvent,
+  IN PTDI_PNP_CONTEXT  Context1,
+  IN PTDI_PNP_CONTEXT  Context2,
+  IN ProviderPnPPowerComplete  ProtocolCompletionHandler);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiProviderReady(
+  IN HANDLE  ProviderHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterAddressChangeHandler(
+  IN TDI_ADD_ADDRESS_HANDLER  AddHandler,
+  IN TDI_DEL_ADDRESS_HANDLER  DeleteHandler,
+  OUT HANDLE  *BindingHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterDeviceObject(
+  IN PUNICODE_STRING  DeviceName,
+  OUT HANDLE  *DevRegistrationHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterNetAddress(
+  IN PTA_ADDRESS  Address,
+  IN PUNICODE_STRING  DeviceName,
+  IN PTDI_PNP_CONTEXT  Context,
+  OUT HANDLE  *AddrRegistrationHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterNotificationHandler(
+  IN TDI_BIND_HANDLER  BindHandler,
+  IN TDI_UNBIND_HANDLER  UnbindHandler,
+  OUT HANDLE  *BindingHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterPnPHandlers(
+  IN PTDI_CLIENT_INTERFACE_INFO  ClientInterfaceInfo,
+  IN ULONG  InterfaceInfoSize,
+  OUT HANDLE  *BindingHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterProvider(
+  IN PUNICODE_STRING  ProviderName,
+  OUT HANDLE  *ProviderHandle);
+
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiReturnChainedReceives(
     IN PVOID *TsduDescriptors,
     IN ULONG  NumberOfTsdus);
 
-VOID STDCALL TdiUnmapBuffer(
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiUnmapBuffer(
     IN PMDL MdlChain);
 
-#endif /* __TDIKRNL_H */
+#pragma pack(pop)
 
-/* EOF */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TDIKRNL_H */
diff --git a/reactos/include/net/tdistat.h b/reactos/include/net/tdistat.h
new file mode 100644 (file)
index 0000000..f0588d2
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * tdistat.h
+ *
+ * TDI status codes
+ *
+ * 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 __TDISTAT_H
+#define __TDISTAT_H
+
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define TDI_SUCCESS                       STATUS_SUCCESS
+#define TDI_NO_RESOURCES                  STATUS_INSUFFICIENT_RESOURCES
+#define TDI_ADDR_IN_USE                   STATUS_ADDRESS_ALREADY_EXISTS
+#define TDI_BAD_ADDR                      STATUS_INVALID_ADDRESS_COMPONENT
+#define TDI_NO_FREE_ADDR                  STATUS_TOO_MANY_ADDRESSES
+#define TDI_ADDR_INVALID                  STATUS_INVALID_ADDRESS
+#define TDI_ADDR_DELETED                  STATUS_ADDRESS_CLOSED
+#define TDI_BUFFER_OVERFLOW               STATUS_BUFFER_OVERFLOW
+#define TDI_BAD_EVENT_TYPE                STATUS_INVALID_PARAMETER
+#define TDI_BAD_OPTION                    STATUS_INVALID_PARAMETER
+#define TDI_CONN_REFUSED                  STATUS_CONNECTION_REFUSED
+#define TDI_INVALID_CONNECTION            STATUS_CONNECTION_INVALID
+#define TDI_ALREADY_ASSOCIATED            STATUS_ADDRESS_ALREADY_ASSOCIATED
+#define TDI_NOT_ASSOCIATED                STATUS_ADDRESS_NOT_ASSOCIATED
+#define TDI_CONNECTION_ACTIVE             STATUS_CONNECTION_ACTIVE
+#define TDI_CONNECTION_ABORTED            STATUS_CONNECTION_ABORTED
+#define TDI_CONNECTION_RESET              STATUS_CONNECTION_RESET
+#define TDI_TIMED_OUT                     STATUS_IO_TIMEOUT
+#define TDI_GRACEFUL_DISC                 STATUS_GRACEFUL_DISCONNECT
+#define TDI_NOT_ACCEPTED                  STATUS_DATA_NOT_ACCEPTED
+#define TDI_MORE_PROCESSING               STATUS_MORE_PROCESSING_REQUIRED
+#define TDI_INVALID_STATE                 STATUS_INVALID_DEVICE_STATE
+#define TDI_INVALID_PARAMETER             STATUS_INVALID_PARAMETER
+#define TDI_DEST_NET_UNREACH              STATUS_NETWORK_UNREACHABLE
+#define TDI_DEST_HOST_UNREACH             STATUS_HOST_UNREACHABLE
+#define TDI_DEST_UNREACHABLE              TDI_DEST_HOST_UNREACH
+#define TDI_DEST_PROT_UNREACH             STATUS_PROTOCOL_UNREACHABLE
+#define TDI_DEST_PORT_UNREACH             STATUS_PORT_UNREACHABLE
+#define TDI_INVALID_QUERY                 STATUS_INVALID_DEVICE_REQUEST
+#define TDI_REQ_ABORTED                   STATUS_REQUEST_ABORTED
+#define TDI_BUFFER_TOO_SMALL              STATUS_BUFFER_TOO_SMALL
+#define TDI_CANCELLED                     STATUS_CANCELLED
+#define        TDI_BUFFER_TOO_BIG                          STATUS_INVALID_BUFFER_SIZE
+#define TDI_INVALID_REQUEST               STATUS_INVALID_DEVICE_REQUEST
+#define TDI_PENDING                       STATUS_PENDING
+#define TDI_ITEM_NOT_FOUND                STATUS_OBJECT_NAME_NOT_FOUND
+
+#define TDI_STATUS_BAD_VERSION            0xC0010004L
+#define TDI_STATUS_BAD_CHARACTERISTICS    0xC0010005L
+
+#define        TDI_OPTION_EOL                    0
+
+#define        TDI_ADDRESS_OPTION_REUSE          1
+#define        TDI_ADDRESS_OPTION_DHCP           2
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TDISTAT_H */