#ifndef __NDIS_H
#define __NDIS_H
+#ifndef NDIS_WDM
+#define NDIS_WDM 0
+#endif
+
+/* Helper macro to enable gcc's extension. */
+#ifndef __GNU_EXTENSION
+#ifdef __GNUC__
+#define __GNU_EXTENSION __extension__
+#else
+#define __GNU_EXTENSION
+#endif
+#endif
+
#include "ntddk.h"
-#include "ntddndis.h"
#include "netpnp.h"
+#include "ntstatus.h"
#include "netevent.h"
#include <qos.h>
+typedef int NDIS_STATUS, *PNDIS_STATUS;
+
+#include "ntddndis.h"
+
#if !defined(_WINDEF_H)
typedef unsigned int UINT, *PUINT;
#endif
extern "C" {
#endif
+#ifndef __NET_PNP__
+#define __NET_PNP__
+
+typedef enum _NET_DEVICE_POWER_STATE {
+ NetDeviceStateUnspecified = 0,
+ NetDeviceStateD0,
+ NetDeviceStateD1,
+ NetDeviceStateD2,
+ NetDeviceStateD3,
+ NetDeviceStateMaximum
+} NET_DEVICE_POWER_STATE, *PNET_DEVICE_POWER_STATE;
+
+typedef enum _NET_PNP_EVENT_CODE {
+ NetEventSetPower,
+ NetEventQueryPower,
+ NetEventQueryRemoveDevice,
+ NetEventCancelRemoveDevice,
+ NetEventReconfigure,
+ NetEventBindList,
+ NetEventBindsComplete,
+ NetEventPnPCapabilities,
+ NetEventPause,
+ NetEventRestart,
+ NetEventPortActivation,
+ NetEventPortDeactivation,
+ NetEventIMReEnableDevice,
+ NetEventMaximum
+} NET_PNP_EVENT_CODE, *PNET_PNP_EVENT_CODE;
+
+typedef struct _NET_PNP_EVENT {
+ NET_PNP_EVENT_CODE NetEvent;
+ PVOID Buffer;
+ ULONG BufferLength;
+ ULONG_PTR NdisReserved[4];
+ ULONG_PTR TransportReserved[4];
+ ULONG_PTR TdiReserved[4];
+ ULONG_PTR TdiClientReserved[4];
+} NET_PNP_EVENT, *PNET_PNP_EVENT;
+
+#endif /* __NET_PNP__ */
+
+#if !defined(NDIS_WRAPPER)
+
+#if (defined(NDIS_MINIPORT_MAJOR_VERSION) || \
+ (defined(NDIS_MINIPORT_MINOR_VERSION)) || \
+ (defined(NDIS_PROTOCOL_MAJOR_VERSION)) || \
+ (defined(NDIS_PROTOCOL_MINOR_VERSION)) || \
+ (defined(NDIS_FILTER_MAJOR_VERSION)) || \
+ (defined(NDIS_FILTER_MINOR_VERSION)))
+#error "Driver should not redefine NDIS reserved macros"
+#endif
+
+#if defined(NDIS_MINIPORT_DRIVER)
+
+#if defined(NDIS620_MINIPORT)
+#define NDIS_MINIPORT_MAJOR_VERSION 6
+#define NDIS_MINIPORT_MINOR_VERSION 20
+#elif defined(NDIS61_MINIPORT)
+#define NDIS_MINIPORT_MAJOR_VERSION 6
+#define NDIS_MINIPORT_MINOR_VERSION 1
+#elif defined(NDIS60_MINIPORT)
+#define NDIS_MINIPORT_MAJOR_VERSION 6
+#define NDIS_MINIPORT_MINOR_VERSION 0
+#elif defined(NDIS51_MINIPORT)
+#define NDIS_MINIPORT_MAJOR_VERSION 5
+#define NDIS_MINIPORT_MINOR_VERSION 1
+#elif defined(NDIS50_MINIPORT)
+#define NDIS_MINIPORT_MAJOR_VERSION 5
+#define NDIS_MINIPORT_MINOR_VERSION 0
+#else
+#error "Only NDIS miniport drivers with version >= 5 are supported"
+#endif
+
+#if ((NDIS_MINIPORT_MAJOR_VERSION == 6) && \
+ (NDIS_MINIPORT_MINOR_VERSION != 20) && \
+ (NDIS_MINIPORT_MINOR_VERSION != 1) && \
+ (NDIS_MINIPORT_MINOR_VERSION != 0))
+#error "Invalid miniport major/minor version combination"
+#elif ((NDIS_MINIPORT_MAJOR_VERSION == 5) && \
+ (NDIS_MINIPORT_MINOR_VERSION != 1) && \
+ (NDIS_MINIPORT_MINOR_VERSION != 0))
+#error "Invalid miniport major/minor version combination"
+#endif
+
+#if (NDIS_MINIPORT_MAJOR_VERSION == 6) && \
+ ((NDIS_MINIPORT_MINOR_VERSION == 20 && NTDDI_VERSION < NTDDI_WIN7) || \
+ (NDIS_MINIPORT_MINOR_VERSION == 1 && NTDDI_VERSION < NTDDI_VISTA) || \
+ (NDIS_MINIPORT_MINOR_VERSION == 0 && NTDDI_VERSION < NTDDI_VISTA))
+#error "Wrong NDIS/DDI version"
+#elif ((NDIS_MINIPORT_MAJOR_VERSION == 5) && \
+ (((NDIS_MINIPORT_MINOR_VERSION == 1) && (NTDDI_VERSION < NTDDI_WINXP)) || \
+ ((NDIS_MINIPORT_MINOR_VERSION == 0) && (NTDDI_VERSION < NTDDI_WIN2K))))
+#error "Wrong NDIS/DDI version"
+#endif
+
+
+#endif /* defined(NDIS_MINIPORT_DRIVER) */
+
+#if defined(NDIS30)
+#error "Only NDIS Protocol drivers version 4 or later are supported"
+#endif
+
+#if defined(NDIS620)
+#define NDIS_PROTOCOL_MAJOR_VERSION 6
+#define NDIS_PROTOCOL_MINOR_VERSION 20
+#define NDIS_FILTER_MAJOR_VERSION 6
+#define NDIS_FILTER_MINOR_VERSION 20
+#elif defined(NDIS61)
+#define NDIS_PROTOCOL_MAJOR_VERSION 6
+#define NDIS_PROTOCOL_MINOR_VERSION 1
+#define NDIS_FILTER_MAJOR_VERSION 6
+#define NDIS_FILTER_MINOR_VERSION 1
+#elif defined(NDIS60)
+#define NDIS_PROTOCOL_MAJOR_VERSION 6
+#define NDIS_PROTOCOL_MINOR_VERSION 0
+#define NDIS_FILTER_MAJOR_VERSION 6
+#define NDIS_FILTER_MINOR_VERSION 0
+#elif defined(NDIS51)
+#define NDIS_PROTOCOL_MAJOR_VERSION 5
+#define NDIS_PROTOCOL_MINOR_VERSION 1
+#elif defined(NDIS50)
+#define NDIS_PROTOCOL_MAJOR_VERSION 5
+#define NDIS_PROTOCOL_MINOR_VERSION 0
+#elif defined(NDIS40)
+#define NDIS_PROTOCOL_MAJOR_VERSION 4
+#define NDIS_PROTOCOL_MINOR_VERSION 0
+#endif
+
+#if !defined(NDIS_MINIPORT_DRIVER) && !defined(NDIS_PROTOCOL_MAJOR_VERSION)
+#define NDIS40
+#define NDIS_PROTOCOL_MAJOR_VERSION 4
+#define NDIS_PROTOCOL_MINOR_VERSION 0
+#endif
+
+#if defined(NDIS_FILTER_MAJOR_VERSION)
+
+#if ((NDIS_FILTER_MAJOR_VERSION == 6) && \
+ (NDIS_FILTER_MINOR_VERSION != 20) && \
+ (NDIS_FILTER_MINOR_VERSION != 1) && \
+ (NDIS_FILTER_MINOR_VERSION != 0))
+#error "Invalid Filter version"
+#endif
+
+#endif /* defined(NDIS_FILTER_MAJOR_VERSION) */
+
+
+#if defined(NDIS_PROTOCOL_MAJOR_VERSION)
+
+#if ((NDIS_PROTOCOL_MAJOR_VERSION == 6) && \
+ (NDIS_PROTOCOL_MINOR_VERSION != 20) && \
+ (NDIS_PROTOCOL_MINOR_VERSION != 1) && \
+ (NDIS_PROTOCOL_MINOR_VERSION != 0))
+#error "Invalid Protocol version"
+#elif ((NDIS_PROTOCOL_MAJOR_VERSION == 5) && \
+ (NDIS_PROTOCOL_MINOR_VERSION != 1) && (NDIS_PROTOCOL_MINOR_VERSION != 0))
+#error "Invalid Protocol version"
+#elif ((NDIS_PROTOCOL_MAJOR_VERSION == 4) && (NDIS_PROTOCOL_MINOR_VERSION != 0))
+#error "Invalid Protocol major/minor version"
+#endif
+
+#if ((NDIS_PROTOCOL_MAJOR_VERSION == 6) && (NTDDI_VERSION < NTDDI_VISTA))
+#error "Wrong NDIS/DDI version"
+#endif
+
+#endif /* defined(NDIS_PROTOCOL_MAJOR_VERSION) */
+
+#endif /* !defined(NDIS_WRAPPER) */
+
+#if !defined(NDIS_LEGACY_MINIPORT)
+
+#if ((defined(NDIS_MINIPORT_DRIVER) && (NDIS_MINIPORT_MAJOR_VERSION < 6)) || NDIS_WRAPPER)
+#define NDIS_LEGACY_MINIPORT 1
+#else
+#define NDIS_LEGACY_MINIPORT 0
+#endif
+
+#endif /* !defined(NDIS_LEGACY_MINIPORT) */
+
+#if !defined(NDIS_LEGACY_PROTOCOL)
+
+#if ((defined(NDIS_PROTOCOL_MAJOR_VERSION) && (NDIS_PROTOCOL_MAJOR_VERSION < 6)) || NDIS_WRAPPER)
+#define NDIS_LEGACY_PROTOCOL 1
+#else
+#define NDIS_LEGACY_PROTOCOL 0
+#endif
+
+#endif /* !defined(NDIS_LEGACY_PROTOCOL) */
+
#if defined(NDIS_WRAPPER)
- #define NDISAPI DECLSPEC_EXPORT
+ #define NDISAPI
#else
#define NDISAPI DECLSPEC_IMPORT
#endif
#define NDIS_PROTOCOL_MINOR_VERSION 1
#endif
-#if defined(NDIS_MINIPORT_DRIVER) && !defined(BINARY_COMPATIBLE)
-#define BINARY_COMPATIBLE 1
-#endif
-
-#if !defined(_M_IX86) && BINARY_COMPATIBLE
-#undef BINARY_COMPATIBLE
-#define BINARY_COMPATIBLE 0
-#endif
-
#if 1
/* FIXME: */
typedef PVOID QUEUED_CLOSE;
} NDIS_EVENT, *PNDIS_EVENT;
typedef PVOID NDIS_HANDLE, *PNDIS_HANDLE;
-typedef int NDIS_STATUS, *PNDIS_STATUS;
typedef ANSI_STRING NDIS_ANSI_STRING, *PNDIS_ANSI_STRING;
typedef UNICODE_STRING NDIS_STRING, *PNDIS_STRING;
} NDIS_RW_LOCK_REFCOUNT;
typedef struct _NDIS_RW_LOCK {
- union {
- struct {
+ __GNU_EXTENSION union {
+ __GNU_EXTENSION struct {
KSPIN_LOCK SpinLock;
PVOID Context;
};
/* Timer */
-typedef VOID DDKAPI
-(*PNDIS_TIMER_FUNCTION)(
+typedef VOID
+(NTAPI *PNDIS_TIMER_FUNCTION)(
IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
KDPC Dpc;
} NDIS_TIMER, *PNDIS_TIMER;
-
-
/* Hardware */
typedef CM_MCA_POS_DATA NDIS_MCA_POS_DATA, *PNDIS_MCA_POS_DATA;
ULONGLONG ReadTime;
} GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME;
-/* NDIS driver medium (OID_GEN_MEDIA_SUPPORTED / OID_GEN_MEDIA_IN_USE) */
-typedef enum _NDIS_MEDIUM {
- NdisMedium802_3,
- NdisMedium802_5,
- NdisMediumFddi,
- NdisMediumWan,
- NdisMediumLocalTalk,
- NdisMediumDix,
- NdisMediumArcnetRaw,
- NdisMediumArcnet878_2,
- NdisMediumAtm,
- NdisMediumWirelessWan,
- NdisMediumIrda,
- NdisMediumBpc,
- NdisMediumCoWan,
- NdisMedium1394,
- NdisMediumMax
-} NDIS_MEDIUM, *PNDIS_MEDIUM;
-
/* NDIS packet filter bits (OID_GEN_CURRENT_PACKET_FILTER) */
#define NDIS_PACKET_TYPE_DIRECTED 0x00000001
#define NDIS_PACKET_TYPE_MULTICAST 0x00000002
} NDIS_PACKET_PRIVATE, * PNDIS_PACKET_PRIVATE;
typedef struct _NDIS_PACKET {
- NDIS_PACKET_PRIVATE Private;
- union {
- struct {
- UCHAR MiniportReserved[2 * sizeof(PVOID)];
- UCHAR WrapperReserved[2 * sizeof(PVOID)];
- };
- struct {
- UCHAR MiniportReservedEx[3 * sizeof(PVOID)];
- UCHAR WrapperReservedEx[sizeof(PVOID)];
- };
- struct {
- UCHAR MacReserved[4 * sizeof(PVOID)];
- };
- };
- ULONG_PTR Reserved[2];
- UCHAR ProtocolReserved[1];
+ NDIS_PACKET_PRIVATE Private;
+ _ANONYMOUS_UNION union {
+ _ANONYMOUS_STRUCT struct {
+ UCHAR MiniportReserved[2 * sizeof(PVOID)];
+ UCHAR WrapperReserved[2 * sizeof(PVOID)];
+ } DUMMYSTRUCTNAME;
+ _ANONYMOUS_STRUCT struct {
+ UCHAR MiniportReservedEx[3 * sizeof(PVOID)];
+ UCHAR WrapperReservedEx[sizeof(PVOID)];
+ } DUMMYSTRUCTNAME;
+ _ANONYMOUS_STRUCT struct {
+ UCHAR MacReserved[4 * sizeof(PVOID)];
+ } DUMMYSTRUCTNAME;
+ } DUMMYUNIONNAME;
+ ULONG_PTR Reserved[2];
+ UCHAR ProtocolReserved[1];
} NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET;
typedef enum _NDIS_CLASS_ID {
ULONG PatternFlags;
} NDIS_PM_PACKET_PATTERN, *PNDIS_PM_PACKET_PATTERN;
+typedef struct _NDIS_PACKET_STACK {
+ ULONG_PTR IMReserved[2];
+ ULONG_PTR NdisReserved[4];
+} NDIS_PACKET_STACK, *PNDIS_PACKET_STACK;
/* Request types used by NdisRequest */
typedef enum _NDIS_REQUEST_TYPE {
} DATA;
#if (defined(NDIS50) || defined(NDIS51))
UCHAR NdisReserved[9 * sizeof(PVOID)];
- union {
+ __GNU_EXTENSION union {
UCHAR CallMgrReserved[2 * sizeof(PVOID)];
UCHAR ProtocolReserved[2 * sizeof(PVOID)];
};
} NDIS_WAN_LINE_UP, *PNDIS_WAN_LINE_UP;
-typedef VOID DDKAPI
-(*ADAPTER_SHUTDOWN_HANDLER)(
+typedef VOID
+(NTAPI *ADAPTER_SHUTDOWN_HANDLER)(
IN PVOID ShutdownContext);
+typedef NTSTATUS
+(NTAPI *TDI_REGISTER_CALLBACK)(
+ IN PUNICODE_STRING DeviceName,
+ OUT HANDLE* TdiHandle);
+
+typedef NTSTATUS
+(NTAPI *TDI_PNP_HANDLER)(
+ IN PUNICODE_STRING UpperComponent,
+ IN PUNICODE_STRING LowerComponent,
+ IN PUNICODE_STRING BindList,
+ IN PVOID ReconfigBuffer,
+ IN UINT ReconfigBufferSize,
+ IN UINT Operation);
typedef struct _OID_LIST OID_LIST, *POID_LIST;
#define NDIS_PROTOCOL_ID_MAX 0x0F
#define NDIS_PROTOCOL_ID_MASK 0x0F
-
/* OID_GEN_TRANSPORT_HEADER_OFFSET */
typedef struct _TRANSPORT_HEADER_OFFSET {
USHORT ProtocolType;
USHORT HeaderOffset;
} TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
-
/* OID_GEN_CO_LINK_SPEED / OID_GEN_CO_MINIMUM_LINK_SPEED */
typedef struct _NDIS_CO_LINK_SPEED {
ULONG Outbound;
} NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
typedef ULONG NDIS_AF, *PNDIS_AF;
+
#define CO_ADDRESS_FAMILY_Q2931 ((NDIS_AF)0x1)
#define CO_ADDRESS_FAMILY_PSCHED ((NDIS_AF)0x2)
#define CO_ADDRESS_FAMILY_L2TP ((NDIS_AF)0x3)
PVOID NdisPacketInfo[MaxPerPacketInfo];
} NDIS_PACKET_EXTENSION, *PNDIS_PACKET_EXTENSION;
-typedef struct _NDIS_OBJECT_HEADER {
- UCHAR Type;
- UCHAR Revision;
- USHORT Size;
-} NDIS_OBJECT_HEADER, *PNDIS_OBJECT_HEADER;
-
typedef struct _NDIS_GENERIC_OBJECT {
NDIS_OBJECT_HEADER Header;
PVOID Caller;
} V4ESP;
} NDIS_TASK_IPSEC, *PNDIS_TASK_IPSEC;
-typedef struct _NDIS_TASK_OFFLOAD {
- ULONG Version;
- ULONG Size;
- NDIS_TASK Task;
- ULONG OffsetNextTask;
- ULONG TaskBufferLength;
- UCHAR TaskBuffer[1];
-} NDIS_TASK_OFFLOAD, *PNDIS_TASK_OFFLOAD;
-
-/* NDIS_TASK_OFFLOAD_HEADER.Version constants */
-#define NDIS_TASK_OFFLOAD_VERSION 1
-
typedef enum _NDIS_ENCAPSULATION {
UNSPECIFIED_Encapsulation,
NULL_Encapsulation,
ULONG EncapsulationHeaderSize;
} NDIS_ENCAPSULATION_FORMAT, *PNDIS_ENCAPSULATION_FORMAT;
+typedef struct _NDIS_TASK_OFFLOAD_HEADER {
+ ULONG Version;
+ ULONG Size;
+ ULONG Reserved;
+ ULONG OffsetFirstTask;
+ NDIS_ENCAPSULATION_FORMAT EncapsulationFormat;
+} NDIS_TASK_OFFLOAD_HEADER, *PNDIS_TASK_OFFLOAD_HEADER;
+
+typedef struct _NDIS_TASK_OFFLOAD {
+ ULONG Version;
+ ULONG Size;
+ NDIS_TASK Task;
+ ULONG OffsetNextTask;
+ ULONG TaskBufferLength;
+ UCHAR TaskBuffer[1];
+} NDIS_TASK_OFFLOAD, *PNDIS_TASK_OFFLOAD;
+
+/* NDIS_TASK_OFFLOAD_HEADER.Version constants */
+#define NDIS_TASK_OFFLOAD_VERSION 1
+
typedef struct _NDIS_TASK_TCP_IP_CHECKSUM {
struct {
ULONG IpOptionsSupported:1;
/* Call Manager */
-typedef VOID DDKAPI
-(*CM_ACTIVATE_VC_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CM_ACTIVATE_VC_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE CallMgrVcContext,
IN PCO_CALL_PARAMETERS CallParameters);
-typedef NDIS_STATUS DDKAPI
-(*CM_ADD_PARTY_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CM_ADD_PARTY_HANDLER)(
IN NDIS_HANDLE CallMgrVcContext,
IN OUT PCO_CALL_PARAMETERS CallParameters,
IN NDIS_HANDLE NdisPartyHandle,
OUT PNDIS_HANDLE CallMgrPartyContext);
-typedef NDIS_STATUS DDKAPI
-(*CM_CLOSE_AF_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CM_CLOSE_AF_HANDLER)(
IN NDIS_HANDLE CallMgrAfContext);
-typedef NDIS_STATUS DDKAPI
-(*CM_CLOSE_CALL_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CM_CLOSE_CALL_HANDLER)(
IN NDIS_HANDLE CallMgrVcContext,
IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
IN PVOID CloseData OPTIONAL,
IN UINT Size OPTIONAL);
-typedef NDIS_STATUS DDKAPI
-(*CM_DEREG_SAP_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CM_DEREG_SAP_HANDLER)(
IN NDIS_HANDLE CallMgrSapContext);
-typedef VOID DDKAPI
-(*CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE CallMgrVcContext);
-typedef NDIS_STATUS DDKAPI
-(*CM_DROP_PARTY_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CM_DROP_PARTY_HANDLER)(
IN NDIS_HANDLE CallMgrPartyContext,
IN PVOID CloseData OPTIONAL,
IN UINT Size OPTIONAL);
-typedef VOID DDKAPI
-(*CM_INCOMING_CALL_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CM_INCOMING_CALL_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE CallMgrVcContext,
IN PCO_CALL_PARAMETERS CallParameters);
-typedef NDIS_STATUS DDKAPI
-(*CM_MAKE_CALL_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CM_MAKE_CALL_HANDLER)(
IN NDIS_HANDLE CallMgrVcContext,
IN OUT PCO_CALL_PARAMETERS CallParameters,
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
OUT PNDIS_HANDLE CallMgrPartyContext OPTIONAL);
-typedef NDIS_STATUS DDKAPI
-(*CM_MODIFY_CALL_QOS_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CM_MODIFY_CALL_QOS_HANDLER)(
IN NDIS_HANDLE CallMgrVcContext,
IN PCO_CALL_PARAMETERS CallParameters);
-typedef NDIS_STATUS DDKAPI
-(*CM_OPEN_AF_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CM_OPEN_AF_HANDLER)(
IN NDIS_HANDLE CallMgrBindingContext,
IN PCO_ADDRESS_FAMILY AddressFamily,
IN NDIS_HANDLE NdisAfHandle,
OUT PNDIS_HANDLE CallMgrAfContext);
-typedef NDIS_STATUS DDKAPI
-(*CM_REG_SAP_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CM_REG_SAP_HANDLER)(
IN NDIS_HANDLE CallMgrAfContext,
IN PCO_SAP Sap,
IN NDIS_HANDLE NdisSapHandle,
OUT PNDIS_HANDLE CallMgrSapContext);
-typedef NDIS_STATUS DDKAPI
-(*CO_CREATE_VC_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CO_CREATE_VC_HANDLER)(
IN NDIS_HANDLE ProtocolAfContext,
IN NDIS_HANDLE NdisVcHandle,
OUT PNDIS_HANDLE ProtocolVcContext);
-typedef NDIS_STATUS DDKAPI
-(*CO_DELETE_VC_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CO_DELETE_VC_HANDLER)(
IN NDIS_HANDLE ProtocolVcContext);
-typedef VOID DDKAPI
-(*CO_REQUEST_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CO_REQUEST_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolAfContext OPTIONAL,
IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
IN PNDIS_REQUEST NdisRequest);
-typedef NDIS_STATUS DDKAPI
-(*CO_REQUEST_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CO_REQUEST_HANDLER)(
IN NDIS_HANDLE ProtocolAfContext,
IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
IN NDIS_HANDLE ProtocolAfContext,
IN NDIS_HANDLE NdisAfHandle);
-typedef VOID DDKAPI
-(*CL_CLOSE_AF_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CL_CLOSE_AF_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolAfContext);
-typedef VOID DDKAPI
-(*CL_REG_SAP_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CL_REG_SAP_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolSapContext,
IN PCO_SAP Sap,
IN NDIS_HANDLE NdisSapHandle);
-typedef VOID DDKAPI
-(*CL_DEREG_SAP_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CL_DEREG_SAP_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolSapContext);
-typedef VOID DDKAPI
-(*CL_MAKE_CALL_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *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 DDKAPI
-(*CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolVcContext,
IN PCO_CALL_PARAMETERS CallParameters);
-typedef VOID DDKAPI
-(*CL_CLOSE_CALL_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CL_CLOSE_CALL_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolVcContext,
IN NDIS_HANDLE ProtocolPartyContext OPTIONAL);
-typedef VOID DDKAPI
-(*CL_ADD_PARTY_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CL_ADD_PARTY_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolPartyContext,
IN NDIS_HANDLE NdisPartyHandle,
IN PCO_CALL_PARAMETERS CallParameters);
-typedef VOID DDKAPI
-(*CL_DROP_PARTY_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CL_DROP_PARTY_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolPartyContext);
-typedef NDIS_STATUS DDKAPI
-(*CL_INCOMING_CALL_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *CL_INCOMING_CALL_HANDLER)(
IN NDIS_HANDLE ProtocolSapContext,
IN NDIS_HANDLE ProtocolVcContext,
IN OUT PCO_CALL_PARAMETERS CallParameters);
-typedef VOID DDKAPI
-(*CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
+typedef VOID
+(NTAPI *CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
IN NDIS_HANDLE ProtocolVcContext,
IN PCO_CALL_PARAMETERS CallParameters);
-typedef VOID DDKAPI
-(*CL_INCOMING_CLOSE_CALL_HANDLER)(
+typedef VOID
+(NTAPI *CL_INCOMING_CLOSE_CALL_HANDLER)(
IN NDIS_STATUS CloseStatus,
IN NDIS_HANDLE ProtocolVcContext,
IN PVOID CloseData OPTIONAL,
IN UINT Size OPTIONAL);
-typedef VOID DDKAPI
-(*CL_INCOMING_DROP_PARTY_HANDLER)(
+typedef VOID
+(NTAPI *CL_INCOMING_DROP_PARTY_HANDLER)(
IN NDIS_STATUS DropStatus,
IN NDIS_HANDLE ProtocolPartyContext,
IN PVOID CloseData OPTIONAL,
IN UINT Size OPTIONAL);
-typedef VOID DDKAPI
-(*CL_CALL_CONNECTED_HANDLER)(
+typedef VOID
+(NTAPI *CL_CALL_CONNECTED_HANDLER)(
IN NDIS_HANDLE ProtocolVcContext);
/* Prototypes for NDIS 3.0 protocol characteristics */
-typedef VOID DDKAPI
-(*OPEN_ADAPTER_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *OPEN_ADAPTER_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_STATUS Status,
IN NDIS_STATUS OpenErrorStatus);
-typedef VOID DDKAPI
-(*CLOSE_ADAPTER_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CLOSE_ADAPTER_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_STATUS Status);
-typedef VOID DDKAPI
-(*RESET_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *RESET_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_STATUS Status);
-typedef VOID DDKAPI
-(*REQUEST_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *REQUEST_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_REQUEST NdisRequest,
IN NDIS_STATUS Status);
-typedef VOID DDKAPI
-(*STATUS_HANDLER)(
+typedef VOID
+(NTAPI *STATUS_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_STATUS GeneralStatus,
IN PVOID StatusBuffer,
IN UINT StatusBufferSize);
-typedef VOID DDKAPI
-(*STATUS_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *STATUS_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext);
-typedef VOID DDKAPI
-(*SEND_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *SEND_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_PACKET Packet,
IN NDIS_STATUS Status);
-typedef VOID DDKAPI
-(*WAN_SEND_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *WAN_SEND_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_WAN_PACKET Packet,
IN NDIS_STATUS Status);
-typedef VOID DDKAPI
-(*TRANSFER_DATA_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *TRANSFER_DATA_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_PACKET Packet,
IN NDIS_STATUS Status,
IN UINT BytesTransferred);
-typedef VOID DDKAPI
-(*WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
VOID);
-typedef NDIS_STATUS DDKAPI
-(*RECEIVE_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *RECEIVE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE MacReceiveContext,
IN PVOID HeaderBuffer,
IN UINT LookaheadBufferSize,
IN UINT PacketSize);
-typedef NDIS_STATUS DDKAPI
-(*WAN_RECEIVE_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *WAN_RECEIVE_HANDLER)(
IN NDIS_HANDLE NdisLinkHandle,
IN PUCHAR Packet,
IN ULONG PacketSize);
-typedef VOID DDKAPI
-(*RECEIVE_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *RECEIVE_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext);
/* Prototypes for NDIS 4.0 protocol characteristics */
-typedef INT DDKAPI
-(*RECEIVE_PACKET_HANDLER)(
+typedef INT
+(NTAPI *RECEIVE_PACKET_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_PACKET Packet);
-typedef VOID DDKAPI
-(*BIND_HANDLER)(
+typedef VOID
+(NTAPI *BIND_HANDLER)(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE BindContext,
IN PNDIS_STRING DeviceName,
IN PVOID SystemSpecific1,
IN PVOID SystemSpecific2);
-typedef VOID DDKAPI
-(*UNBIND_HANDLER)(
+typedef VOID
+(NTAPI *UNBIND_HANDLER)(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE UnbindContext);
-typedef NDIS_STATUS DDKAPI
-(*PNP_EVENT_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *PNP_EVENT_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNET_PNP_EVENT NetPnPEvent);
-typedef VOID DDKAPI
-(*UNLOAD_PROTOCOL_HANDLER)(
+typedef VOID
+(NTAPI *UNLOAD_PROTOCOL_HANDLER)(
VOID);
/* Prototypes for NDIS 5.0 protocol characteristics */
-typedef VOID DDKAPI
-(*CO_SEND_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *CO_SEND_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolVcContext,
IN PNDIS_PACKET Packet);
-typedef VOID DDKAPI
-(*CO_STATUS_HANDLER)(
+typedef VOID
+(NTAPI *CO_STATUS_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
IN NDIS_STATUS GeneralStatus,
IN PVOID StatusBuffer,
IN UINT StatusBufferSize);
-typedef UINT DDKAPI
-(*CO_RECEIVE_PACKET_HANDLER)(
+typedef UINT
+(NTAPI *CO_RECEIVE_PACKET_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE ProtocolVcContext,
IN PNDIS_PACKET Packet);
-typedef VOID DDKAPI
-(*CO_AF_REGISTER_NOTIFY_HANDLER)(
+typedef VOID
+(NTAPI *CO_AF_REGISTER_NOTIFY_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PCO_ADDRESS_FAMILY AddressFamily);
#if defined(NDIS50) || defined(NDIS51)
typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
- NDIS50_PROTOCOL_CHARACTERISTICS_S;
+ NDIS50_PROTOCOL_CHARACTERISTICS_S
} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
#elif defined(NDIS40)
typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
- NDIS40_PROTOCOL_CHARACTERISTICS_S;
+ NDIS40_PROTOCOL_CHARACTERISTICS_S
} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
#else /* NDIS30 */
typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisAllocateBuffer(
OUT PNDIS_STATUS Status,
OUT PNDIS_BUFFER *Buffer,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisAllocateBufferPool(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE PoolHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisAllocatePacket(
OUT PNDIS_STATUS Status,
OUT PNDIS_PACKET *Packet,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisAllocatePacketPool(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE PoolHandle,
IN UINT NumberOfDescriptors,
IN UINT ProtocolReservedLength);
+#define PROTOCOL_RESERVED_SIZE_IN_PACKET (4 * sizeof(PVOID))
+
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCopyBuffer(
OUT PNDIS_STATUS Status,
OUT PNDIS_BUFFER *Buffer,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCopyFromPacketToPacket(
IN PNDIS_PACKET Destination,
IN UINT DestinationOffset,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisDprAllocatePacket(
OUT PNDIS_STATUS Status,
OUT PNDIS_PACKET *Packet,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisDprAllocatePacketNonInterlocked(
OUT PNDIS_STATUS Status,
OUT PNDIS_PACKET *Packet,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisDprFreePacket(
IN PNDIS_PACKET Packet);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisDprFreePacketNonInterlocked(
IN PNDIS_PACKET Packet);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisFreeBufferPool(
IN NDIS_HANDLE PoolHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisFreePacket(
IN PNDIS_PACKET Packet);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisFreePacketPool(
IN NDIS_HANDLE PoolHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisReturnPackets(
IN PNDIS_PACKET *PacketsToReturn,
IN UINT NumberOfPackets);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisUnchainBufferAtBack(
IN OUT PNDIS_PACKET Packet,
OUT PNDIS_BUFFER *Buffer);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisUnchainBufferAtFront(
IN OUT PNDIS_PACKET Packet,
OUT PNDIS_BUFFER *Buffer);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisAdjustBufferLength(
IN PNDIS_BUFFER Buffer,
IN UINT Length);
NDISAPI
ULONG
-DDKAPI
+NTAPI
NdisBufferLength(
IN PNDIS_BUFFER Buffer);
NDISAPI
PVOID
-DDKAPI
+NTAPI
NdisBufferVirtualAddress(
IN PNDIS_BUFFER Buffer);
NDISAPI
ULONG
-DDKAPI
+NTAPI
NDIS_BUFFER_TO_SPAN_PAGES(
IN PNDIS_BUFFER Buffer);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisFreeBuffer(
IN PNDIS_BUFFER Buffer);
-#if BINARY_COMPATIBLE
-
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisGetBufferPhysicalArraySize(
IN PNDIS_BUFFER Buffer,
OUT PUINT ArraySize);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisGetFirstBufferFromPacket(
IN PNDIS_PACKET _Packet,
OUT PNDIS_BUFFER *_FirstBuffer,
OUT PUINT _FirstBufferLength,
OUT PUINT _TotalBufferLength);
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBuffer(
- IN PNDIS_BUFFER Buffer,
- OUT PVOID *VirtualAddress OPTIONAL,
- OUT PUINT Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBufferOffset(
- IN PNDIS_BUFFER Buffer,
- OUT PUINT Offset,
- OUT PUINT Length);
-
-#else
-
-/*
- * VOID
- * NdisGetBufferPhysicalArraySize(
- * IN PNDIS_BUFFER Buffer,
- * OUT PUINT ArraySize);
- */
-#define NdisGetBufferPhysicalArraySize(Buffer, \
- ArraySize) \
-{ \
- (*(ArraySize) = NDIS_BUFFER_TO_SPAN_PAGES(Buffer)) \
-}
-
/*
* VOID
- * NdisGetFirstBufferFromPacket(
- * IN PNDIS_PACKET _Packet,
- * OUT PNDIS_BUFFER * _FirstBuffer,
- * OUT PVOID * _FirstBufferVA,
- * OUT PUINT _FirstBufferLength,
- * OUT PUINT _TotalBufferLength)
+ * NdisGetFirstBufferFromPacketSafe(
+ * IN PNDIS_PACKET _Packet,
+ * OUT PNDIS_BUFFER * _FirstBuffer,
+ * OUT PVOID * _FirstBufferVA,
+ * OUT PUINT _FirstBufferLength,
+ * OUT PUINT _TotalBufferLength),
+ * IN MM_PAGE_PRIORITY _Priority)
*/
-#define NdisGetFirstBufferFromPacket(_Packet, \
+#define NdisGetFirstBufferFromPacketSafe(_Packet, \
_FirstBuffer, \
_FirstBufferVA, \
_FirstBufferLength, \
- _TotalBufferLength) \
+ _TotalBufferLength, \
+ _Priority) \
{ \
PNDIS_BUFFER _Buffer; \
\
*(_FirstBuffer) = _Buffer; \
if (_Buffer != NULL) \
{ \
- *(_FirstBufferVA) = MmGetSystemAddressForMdl(_Buffer); \
- *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer); \
- _Buffer = _Buffer->Next; \
- *(_TotalBufferLength) = *(_FirstBufferLength); \
- while (_Buffer != NULL) { \
- *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer); \
- _Buffer = _Buffer->Next; \
- } \
+ *(_FirstBufferVA) = MmGetSystemAddressForMdlSafe(_Buffer, _Priority); \
+ *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer); \
+ _Buffer = _Buffer->Next; \
+ *(_TotalBufferLength) = *(_FirstBufferLength); \
+ while (_Buffer != NULL) { \
+ *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer); \
+ _Buffer = _Buffer->Next; \
+ } \
} \
else \
{ \
} \
}
-/*
- * VOID
- * NdisQueryBuffer(
- * IN PNDIS_BUFFER Buffer,
- * OUT PVOID *VirtualAddress OPTIONAL,
- * OUT PUINT Length)
- */
-#define NdisQueryBuffer(Buffer, \
- VirtualAddress, \
- Length) \
-{ \
- if (ARGUMENT_PRESENT(VirtualAddress)) \
- *((PVOID*)VirtualAddress) = MmGetSystemAddressForMdl(Buffer); \
- \
- *((PUINT)Length) = MmGetMdlByteCount(Buffer); \
-}
-
-
-/*
- * VOID
- * NdisQueryBufferOffset(
- * IN PNDIS_BUFFER Buffer,
- * OUT PUINT Offset,
- * OUT PUINT Length);
- */
-#define NdisQueryBufferOffset(Buffer, \
- Offset, \
- Length) \
-{ \
- *((PUINT)Offset) = MmGetMdlByteOffset(Buffer); \
- *((PUINT)Length) = MmGetMdlByteCount(Buffer); \
-}
+NDISAPI
+VOID
+NTAPI
+NdisQueryBuffer(
+ IN PNDIS_BUFFER Buffer,
+ OUT PVOID *VirtualAddress OPTIONAL,
+ OUT PUINT Length);
-#endif /* BINARY_COMPATIBLE */
+NDISAPI
+VOID
+NTAPI
+NdisQueryBufferOffset(
+ IN PNDIS_BUFFER Buffer,
+ OUT PUINT Offset,
+ OUT PUINT Length);
/*
* PVOID
* OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
* OUT PUINT TotalPacketLength OPTIONAL);
*/
-#define NdisQueryPacketLength(Packet, \
- TotalPacketLength) \
-{ \
- if ((TotalPacketLength)) \
- { \
- if (!(Packet)->Private.ValidCounts) { \
- UINT _Offset; \
- UINT _PacketLength; \
- PNDIS_BUFFER _NdisBuffer; \
- UINT _PhysicalBufferCount = 0; \
- UINT _TotalPacketLength = 0; \
- UINT _Count = 0; \
- \
- for (_NdisBuffer = (Packet)->Private.Head; \
- _NdisBuffer != (PNDIS_BUFFER)NULL; \
- _NdisBuffer = _NdisBuffer->Next) \
- { \
- _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer); \
- NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength); \
- _TotalPacketLength += _PacketLength; \
- _Count++; \
- } \
- (Packet)->Private.PhysicalCount = _PhysicalBufferCount; \
- (Packet)->Private.TotalLength = _TotalPacketLength; \
- (Packet)->Private.Count = _Count; \
- (Packet)->Private.ValidCounts = TRUE; \
- } \
- \
- if (TotalPacketLength) \
- *((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength; \
- } \
+static __inline
+VOID
+NdisQueryPacketLength(
+ IN PNDIS_PACKET Packet,
+ OUT PUINT TotalPacketLength OPTIONAL)
+{
+ if (!(Packet)->Private.ValidCounts) \
+ NdisQueryPacket(Packet, NULL, NULL, NULL, TotalPacketLength); \
+ else \
+ *(TotalPacketLength) = (Packet)->Private.TotalLength; \
}
{ \
while (_Buffer->Next != NULL) \
{ \
- ´_Buffer = _Buffer->Next; \
+ _Buffer = _Buffer->Next; \
} \
(Packet)->Private.Tail = _Buffer; \
} \
* NdisReinitializePacket(
* IN OUT PNDIS_PACKET Packet);
*/
-#define NdisReinitializePacketCounts(Packet) \
+#define NdisReinitializePacket(Packet) \
{ \
(Packet)->Private.Head = (PNDIS_BUFFER)NULL; \
(Packet)->Private.ValidCounts = FALSE; \
/* Memory management routines */
-#if BINARY_COMPATIBLE
-
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCreateLookaheadBufferFromSharedMemory(
IN PVOID pSharedMemory,
IN UINT LookaheadLength,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisDestroyLookaheadBufferFromSharedMemory(
IN PVOID pLookaheadBuffer);
-#else
-
-/*
- * VOID
- * NdisCreateLookaheadBufferFromSharedMemory(
- * IN PVOID pSharedMemory,
- * IN UINT LookaheadLength,
- * OUT PVOID *pLookaheadBuffer)
- */
-#define NdisCreateLookaheadBufferFromSharedMemory(_pSharedMemory, \
- _LookaheadLength, \
- _pLookaheadBuffer) \
- ((*(_pLookaheadBuffer)) = (_pSharedMemory))
-
-/*
- * VOID
- * NdisDestroyLookaheadBufferFromSharedMemory(
- * IN PVOID pLookaheadBuffer)
- */
-#define NdisDestroyLookaheadBufferFromSharedMemory(_pLookaheadBuffer)
-
-#endif
-
#if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_ARM) || defined(_M_PPC)
/*
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisAllocateMemory(
OUT PVOID *VirtualAddress,
IN UINT Length,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisFreeMemory(
IN PVOID VirtualAddress,
IN UINT Length,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisImmediateReadSharedMemory(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG SharedMemoryAddress,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisImmediateWriteSharedMemory(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG SharedMemoryAddress,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMAllocateSharedMemory(
IN NDIS_HANDLE MiniportAdapterHandle,
IN ULONG Length,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMAllocateSharedMemoryAsync(
IN NDIS_HANDLE MiniportAdapterHandle,
IN ULONG Length,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisUpdateSharedMemory(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG Length,
#define NdisZeroMemory(Destination, Length) \
RtlZeroMemory(Destination, Length)
-
+typedef VOID
+(NTAPI *NDIS_BLOCK_INITIALIZER) (
+ IN PUCHAR Block,
+ IN SIZE_T NumberOfBytes
+ );
/* Configuration routines */
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisOpenConfiguration(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE ConfigurationHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisReadNetworkAddress(
OUT PNDIS_STATUS Status,
OUT PVOID *NetworkAddress,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisReadEisaSlotInformation(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE WrapperConfigurationContext,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisReadEisaSlotInformationEx(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE WrapperConfigurationContext,
NDISAPI
ULONG
-DDKAPI
+NTAPI
NdisReadPciSlotInformation(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG SlotNumber,
NDISAPI
ULONG
-DDKAPI
+NTAPI
NdisWritePciSlotInformation(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG SlotNumber,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisAnsiStringToUnicodeString(
IN OUT PNDIS_STRING DestinationString,
IN PNDIS_ANSI_STRING SourceString);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisInitAnsiString(
IN OUT PNDIS_ANSI_STRING DestinationString,
IN PCSTR SourceString);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisInitUnicodeString(
IN OUT PNDIS_STRING DestinationString,
IN PCWSTR SourceString);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisUnicodeStringToAnsiString(
IN OUT PNDIS_ANSI_STRING DestinationString,
IN PNDIS_STRING SourceString);
/* Spin lock reoutines */
-#if BINARY_COMPATIBLE
-
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisAllocateSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisFreeSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisAcquireSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisReleaseSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisDprAcquireSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisDprReleaseSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
-#else
-
-/*
- * VOID
- * NdisAllocateSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisAllocateSpinLock(_SpinLock) \
- KeInitializeSpinLock(&(_SpinLock)->SpinLock)
-
-/*
- * VOID
- * NdisFreeSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisFreeSpinLock(_SpinLock)
-
-/*
- * VOID
- * NdisAcquireSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisAcquireSpinLock(_SpinLock) \
- KeAcquireSpinLock(&(_SpinLock)->SpinLock, &(_SpinLock)->OldIrql)
-
-/*
- * VOID
- * NdisReleaseSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisReleaseSpinLock(_SpinLock) \
- KeReleaseSpinLock(&(_SpinLock)->SpinLock, (_SpinLock)->OldIrql)
-
-/*
- * VOID
- * NdisDprAcquireSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisDprAcquireSpinLock(_SpinLock) \
-{ \
- KeAcquireSpinLockAtDpcLevel(&(_SpinLock)->SpinLock); \
- (_SpinLock)->OldIrql = DISPATCH_LEVEL; \
-}
-
-/*
- * VOID
- * NdisDprReleaseSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisDprReleaseSpinLock(_SpinLock) \
- KeReleaseSpinLockFromDpcLevel(&(_SpinLock)->SpinLock)
-
-#endif /* BINARY_COMPATIBLE */
-
/* I/O routines */
/*
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCloseConfiguration(
IN NDIS_HANDLE ConfigurationHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisReadConfiguration(
OUT PNDIS_STATUS Status,
OUT PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisWriteConfiguration(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE WrapperConfigurationContext,
NDISAPI
VOID
-DDKCDECLAPI
+__cdecl
NdisWriteErrorLogEntry(
IN NDIS_HANDLE NdisAdapterHandle,
IN NDIS_ERROR_CODE ErrorCode,
*/
#define NdisStallExecution KeStallExecutionProcessor
-#if BINARY_COMPATIBLE
-
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisGetCurrentSystemTime(
IN PLARGE_INTEGER pSystemTime);
-#else
-
-/*
- * VOID
- * NdisGetCurrentSystemTime(
- * IN PLARGE_INTEGER pSystemTime);
- */
-#define NdisGetCurrentSystemTime KeQuerySystemTime
-
-#endif
-
NDISAPI
CCHAR
-DDKAPI
+NTAPI
NdisSystemProcessorCount(VOID);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisGetCurrentProcessorCpuUsage(
OUT PULONG pCpuUsage);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMFreeSharedMemory(
IN NDIS_HANDLE MiniportAdapterHandle,
IN ULONG Length,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMWanIndicateReceive(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE MiniportAdapterHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMWanIndicateReceiveComplete(
IN NDIS_HANDLE MiniportAdapterHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMWanSendComplete(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PNDIS_WAN_PACKET Packet,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisPciAssignResources(
IN NDIS_HANDLE NdisMacHandle,
IN NDIS_HANDLE NdisWrapperHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisAcquireReadWriteLock(
IN PNDIS_RW_LOCK Lock,
IN BOOLEAN fWrite,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisAllocateMemoryWithTag(
OUT PVOID *VirtualAddress,
IN UINT Length,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisAllocatePacketPoolEx(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE PoolHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
+NdisSetPacketPoolProtocolId(
+ IN NDIS_HANDLE PacketPoolHandle,
+ IN UINT ProtocolId);
+
+NDISAPI
+VOID
+NTAPI
NdisCompletePnPEvent(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisGetCurrentProcessorCounts(
OUT PULONG pIdleCount,
OUT PULONG pKernelAndUser,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisGetDriverHandle(
IN PNDIS_HANDLE NdisBindingHandle,
OUT PNDIS_HANDLE NdisDriverHandle);
NDISAPI
PNDIS_PACKET
-DDKAPI
+NTAPI
NdisGetReceivedPacket(
IN PNDIS_HANDLE NdisBindingHandle,
IN PNDIS_HANDLE MacContext);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisGetSystemUpTime(
OUT PULONG pSystemUpTime);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisInitializeReadWriteLock(
IN PNDIS_RW_LOCK Lock);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMDeregisterDevice(
IN NDIS_HANDLE NdisDeviceHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMGetDeviceProperty(
IN NDIS_HANDLE MiniportAdapterHandle,
IN OUT PDEVICE_OBJECT *PhysicalDeviceObject OPTIONAL,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMInitializeScatterGatherDma(
IN NDIS_HANDLE MiniportAdapterHandle,
IN BOOLEAN Dma64BitAddresses,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMPromoteMiniport(
IN NDIS_HANDLE MiniportAdapterHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMQueryAdapterInstanceName(
OUT PNDIS_STRING AdapterInstanceName,
IN NDIS_HANDLE MiniportAdapterHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMRegisterDevice(
IN NDIS_HANDLE NdisWrapperHandle,
IN PNDIS_STRING DeviceName,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMRegisterUnloadHandler(
IN NDIS_HANDLE NdisWrapperHandle,
IN PDRIVER_UNLOAD UnloadHandler);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMRemoveMiniport(
IN NDIS_HANDLE MiniportAdapterHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMSetMiniportSecondary(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE PrimaryMiniportAdapterHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisOpenConfigurationKeyByIndex(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE ConfigurationHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisOpenConfigurationKeyByName(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE ConfigurationHandle,
NDISAPI
UINT
-DDKAPI
+NTAPI
NdisPacketPoolUsage(
IN NDIS_HANDLE PoolHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisQueryAdapterInstanceName(
OUT PNDIS_STRING AdapterInstanceName,
IN NDIS_HANDLE NdisBindingHandle);
NDISAPI
ULONG
-DDKAPI
+NTAPI
NdisReadPcmciaAttributeMemory(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG Offset,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisReleaseReadWriteLock(
IN PNDIS_RW_LOCK Lock,
IN PLOCK_STATE LockState);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisWriteEventLogEntry(
IN PVOID LogHandle,
IN NDIS_STATUS EventCode,
NDISAPI
ULONG
-DDKAPI
+NTAPI
NdisWritePcmciaAttributeMemory(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG Offset,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisClAddParty(
IN NDIS_HANDLE NdisVcHandle,
IN NDIS_HANDLE ProtocolPartyContext,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisClCloseAddressFamily(
IN NDIS_HANDLE NdisAfHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisClCloseCall(
IN NDIS_HANDLE NdisVcHandle,
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisClDeregisterSap(
IN NDIS_HANDLE NdisSapHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisClDropParty(
IN NDIS_HANDLE NdisPartyHandle,
IN PVOID Buffer OPTIONAL,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisClIncomingCallComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisClMakeCall(
IN NDIS_HANDLE NdisVcHandle,
IN OUT PCO_CALL_PARAMETERS CallParameters,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisClModifyCallQoS(
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisClOpenAddressFamily(
IN NDIS_HANDLE NdisBindingHandle,
IN PCO_ADDRESS_FAMILY AddressFamily,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisClRegisterSap(
IN NDIS_HANDLE NdisAfHandle,
IN NDIS_HANDLE ProtocolSapContext,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisCmActivateVc(
IN NDIS_HANDLE NdisVcHandle,
IN OUT PCO_CALL_PARAMETERS CallParameters);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmAddPartyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisPartyHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmCloseAddressFamilyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisAfHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmCloseCallComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisCmDeactivateVc(
IN NDIS_HANDLE NdisVcHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmDeregisterSapComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisSapHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmDispatchCallConnected(
IN NDIS_HANDLE NdisVcHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisCmDispatchIncomingCall(
IN NDIS_HANDLE NdisSapHandle,
IN NDIS_HANDLE NdisVcHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmDispatchIncomingCallQoSChange(
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmDispatchIncomingCloseCall(
IN NDIS_STATUS CloseStatus,
IN NDIS_HANDLE NdisVcHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmDispatchIncomingDropParty(
IN NDIS_STATUS DropStatus,
IN NDIS_HANDLE NdisPartyHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmDropPartyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisPartyHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmMakeCallComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmModifyCallQoSComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmOpenAddressFamilyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisAfHandle,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisCmRegisterAddressFamily(
IN NDIS_HANDLE NdisBindingHandle,
IN PCO_ADDRESS_FAMILY AddressFamily,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCmRegisterSapComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisSapHandle,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMCmActivateVc(
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMCmCreateVc(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE NdisAfHandle,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMCmDeactivateVc(
IN NDIS_HANDLE NdisVcHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMCmDeleteVc(
IN NDIS_HANDLE NdisVcHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMCmRegisterAddressFamily(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PCO_ADDRESS_FAMILY AddressFamily,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMCmRequest(
IN NDIS_HANDLE NdisAfHandle,
IN NDIS_HANDLE NdisVcHandle OPTIONAL,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisCoCreateVc(
IN NDIS_HANDLE NdisBindingHandle,
IN NDIS_HANDLE NdisAfHandle OPTIONAL,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisCoDeleteVc(
IN NDIS_HANDLE NdisVcHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisCoRequest(
IN NDIS_HANDLE NdisBindingHandle,
IN NDIS_HANDLE NdisAfHandle OPTIONAL,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCoRequestComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisAfHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCoSendPackets(
IN NDIS_HANDLE NdisVcHandle,
IN PPNDIS_PACKET PacketArray,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMCoActivateVcComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMCoDeactivateVcComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMCoIndicateReceivePacket(
IN NDIS_HANDLE NdisVcHandle,
IN PPNDIS_PACKET PacketArray,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMCoIndicateStatus(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE NdisVcHandle OPTIONAL,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMCoReceiveComplete(
IN NDIS_HANDLE MiniportAdapterHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMCoRequestComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE MiniportAdapterHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMCoSendComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisIMAssociateMiniport(
IN NDIS_HANDLE DriverHandle,
IN NDIS_HANDLE ProtocolHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisIMCancelInitializeDeviceInstance(
IN NDIS_HANDLE DriverHandle,
IN PNDIS_STRING DeviceInstance);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisIMCopySendCompletePerPacketInfo(
IN PNDIS_PACKET DstPacket,
IN PNDIS_PACKET SrcPacket);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisIMCopySendPerPacketInfo(
IN PNDIS_PACKET DstPacket,
IN PNDIS_PACKET SrcPacket);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisIMDeregisterLayeredMiniport(
IN NDIS_HANDLE DriverHandle);
NDISAPI
NDIS_HANDLE
-DDKAPI
+NTAPI
NdisIMGetBindingContext(
IN NDIS_HANDLE NdisBindingHandle);
NDISAPI
NDIS_HANDLE
-DDKAPI
+NTAPI
NdisIMGetDeviceContext(
IN NDIS_HANDLE MiniportAdapterHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisIMInitializeDeviceInstanceEx(
IN NDIS_HANDLE DriverHandle,
IN PNDIS_STRING DriverInstance,
NDISAPI
PSINGLE_LIST_ENTRY
-DDKAPI
+NTAPI
NdisInterlockedPopEntrySList(
IN PSLIST_HEADER ListHead,
IN PKSPIN_LOCK Lock);
NDISAPI
PSINGLE_LIST_ENTRY
-DDKAPI
+NTAPI
NdisInterlockedPushEntrySList(
IN PSLIST_HEADER ListHead,
IN PSINGLE_LIST_ENTRY ListEntry,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisQueryBufferSafe(
IN PNDIS_BUFFER Buffer,
OUT PVOID *VirtualAddress OPTIONAL,
/* Prototypes for NDIS_MINIPORT_CHARACTERISTICS */
-typedef BOOLEAN DDKAPI
-(*W_CHECK_FOR_HANG_HANDLER)(
+typedef BOOLEAN
+(NTAPI *W_CHECK_FOR_HANG_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext);
-typedef VOID DDKAPI
-(*W_DISABLE_INTERRUPT_HANDLER)(
+typedef VOID
+(NTAPI *W_DISABLE_INTERRUPT_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext);
-typedef VOID DDKAPI
-(*W_ENABLE_INTERRUPT_HANDLER)(
+typedef VOID
+(NTAPI *W_ENABLE_INTERRUPT_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext);
-typedef VOID DDKAPI
-(*W_HALT_HANDLER)(
+typedef VOID
+(NTAPI *W_HALT_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext);
-typedef VOID DDKAPI
-(*W_HANDLE_INTERRUPT_HANDLER)(
+typedef VOID
+(NTAPI *W_HANDLE_INTERRUPT_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext);
-typedef NDIS_STATUS DDKAPI
-(*W_INITIALIZE_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_INITIALIZE_HANDLER)(
OUT PNDIS_STATUS OpenErrorStatus,
OUT PUINT SelectedMediumIndex,
IN PNDIS_MEDIUM MediumArray,
IN NDIS_HANDLE MiniportAdapterContext,
IN NDIS_HANDLE WrapperConfigurationContext);
-typedef VOID DDKAPI
-(*W_ISR_HANDLER)(
+typedef VOID
+(NTAPI *W_ISR_HANDLER)(
OUT PBOOLEAN InterruptRecognized,
OUT PBOOLEAN QueueMiniportHandleInterrupt,
IN NDIS_HANDLE MiniportAdapterContext);
-typedef NDIS_STATUS DDKAPI
-(*W_QUERY_INFORMATION_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_QUERY_INFORMATION_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN NDIS_OID Oid,
IN PVOID InformationBuffer,
OUT PULONG BytesWritten,
OUT PULONG BytesNeeded);
-typedef NDIS_STATUS DDKAPI
-(*W_RECONFIGURE_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_RECONFIGURE_HANDLER)(
OUT PNDIS_STATUS OpenErrorStatus,
IN NDIS_HANDLE MiniportAdapterContext,
IN NDIS_HANDLE WrapperConfigurationContext);
-typedef NDIS_STATUS DDKAPI
-(*W_RESET_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_RESET_HANDLER)(
OUT PBOOLEAN AddressingReset,
IN NDIS_HANDLE MiniportAdapterContext);
-typedef NDIS_STATUS DDKAPI
-(*W_SEND_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_SEND_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN PNDIS_PACKET Packet,
IN UINT Flags);
-typedef NDIS_STATUS DDKAPI
-(*WM_SEND_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *WM_SEND_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN NDIS_HANDLE NdisLinkHandle,
IN PNDIS_WAN_PACKET Packet);
-typedef NDIS_STATUS DDKAPI
-(*W_SET_INFORMATION_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_SET_INFORMATION_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN NDIS_OID Oid,
IN PVOID InformationBuffer,
OUT PULONG BytesRead,
OUT PULONG BytesNeeded);
-typedef NDIS_STATUS DDKAPI
-(*W_TRANSFER_DATA_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_TRANSFER_DATA_HANDLER)(
OUT PNDIS_PACKET Packet,
OUT PUINT BytesTransferred,
IN NDIS_HANDLE MiniportAdapterContext,
IN UINT ByteOffset,
IN UINT BytesToTransfer);
-typedef NDIS_STATUS DDKAPI
-(*WM_TRANSFER_DATA_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *WM_TRANSFER_DATA_HANDLER)(
VOID);
#define NDIS30_MINIPORT_CHARACTERISTICS_S \
UCHAR MajorNdisVersion; \
UCHAR MinorNdisVersion; \
- USHORT Filler; \
UINT Reserved; \
W_CHECK_FOR_HANG_HANDLER CheckForHangHandler; \
W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler; \
W_QUERY_INFORMATION_HANDLER QueryInformationHandler; \
W_RECONFIGURE_HANDLER ReconfigureHandler; \
W_RESET_HANDLER ResetHandler; \
- _ANONYMOUS_UNION union { \
- W_SEND_HANDLER SendHandler; \
- WM_SEND_HANDLER WanSendHandler; \
- } _UNION_NAME(u1); \
+ W_SEND_HANDLER SendHandler; \
W_SET_INFORMATION_HANDLER SetInformationHandler; \
- _ANONYMOUS_UNION union { \
- W_TRANSFER_DATA_HANDLER TransferDataHandler; \
- WM_TRANSFER_DATA_HANDLER WanTransferDataHandler; \
- } _UNION_NAME(u2);
+ W_TRANSFER_DATA_HANDLER TransferDataHandler;
typedef struct _NDIS30_MINIPORT_CHARACTERISTICS {
NDIS30_MINIPORT_CHARACTERISTICS_S
/* Extensions for NDIS 4.0 miniports */
-typedef VOID DDKAPI
-(*W_SEND_PACKETS_HANDLER)(
+typedef VOID
+(NTAPI *W_SEND_PACKETS_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN PPNDIS_PACKET PacketArray,
IN UINT NumberOfPackets);
-typedef VOID DDKAPI
-(*W_RETURN_PACKET_HANDLER)(
+typedef VOID
+(NTAPI *W_RETURN_PACKET_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN PNDIS_PACKET Packet);
-typedef VOID DDKAPI
-(*W_ALLOCATE_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *W_ALLOCATE_COMPLETE_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN PVOID VirtualAddress,
IN PNDIS_PHYSICAL_ADDRESS PhysicalAddress,
/* Extensions for NDIS 5.0 miniports */
-typedef NDIS_STATUS DDKAPI
-(*W_CO_CREATE_VC_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_CO_CREATE_VC_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN NDIS_HANDLE NdisVcHandle,
OUT PNDIS_HANDLE MiniportVcContext);
-typedef NDIS_STATUS DDKAPI
-(*W_CO_DELETE_VC_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_CO_DELETE_VC_HANDLER)(
IN NDIS_HANDLE MiniportVcContext);
-typedef NDIS_STATUS DDKAPI
-(*W_CO_ACTIVATE_VC_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_CO_ACTIVATE_VC_HANDLER)(
IN NDIS_HANDLE MiniportVcContext,
IN OUT PCO_CALL_PARAMETERS CallParameters);
-typedef NDIS_STATUS DDKAPI
-(*W_CO_DEACTIVATE_VC_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_CO_DEACTIVATE_VC_HANDLER)(
IN NDIS_HANDLE MiniportVcContext);
-typedef VOID DDKAPI
-(*W_CO_SEND_PACKETS_HANDLER)(
+typedef VOID
+(NTAPI *W_CO_SEND_PACKETS_HANDLER)(
IN NDIS_HANDLE MiniportVcContext,
IN PPNDIS_PACKET PacketArray,
IN UINT NumberOfPackets);
-typedef NDIS_STATUS DDKAPI
-(*W_CO_REQUEST_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *W_CO_REQUEST_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN NDIS_HANDLE MiniportVcContext OPTIONAL,
IN OUT PNDIS_REQUEST NdisRequest);
/* Extensions for NDIS 5.1 miniports */
-typedef VOID DDKAPI
-(*W_CANCEL_SEND_PACKETS_HANDLER)(
+typedef VOID
+(NTAPI *W_CANCEL_SEND_PACKETS_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN PVOID CancelId);
+typedef VOID
+(NTAPI *W_PNP_EVENT_NOTIFY_HANDLER)(
+ IN NDIS_HANDLE MiniportAdapterContext,
+ IN NDIS_DEVICE_PNP_EVENT PnPEvent,
+ IN PVOID InformationBuffer,
+ IN ULONG InformationBufferLength);
+
+typedef VOID
+(NTAPI *W_MINIPORT_SHUTDOWN_HANDLER)(
+ IN PVOID ShutdownContext);
+
+#ifdef __cplusplus
+
+#define NDIS51_MINIPORT_CHARACTERISTICS_S \
+ NDIS50_MINIPORT_CHARACTERISTICS Ndis50Chars; \
+ W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
+ W_PNP_EVENT_NOTIFY_HANDLER PnPEventNotifyHandler; \
+ W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler;
+
+#else
+
+#define NDIS51_MINIPORT_CHARACTERISTICS_S \
+ NDIS50_MINIPORT_CHARACTERISTICS_S \
+ W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler; \
+ W_PNP_EVENT_NOTIFY_HANDLER PnPEventNotifyHandler; \
+ W_MINIPORT_SHUTDOWN_HANDLER AdapterShutdownHandler;
+
+#endif
+
+typedef struct _NDIS51_MINIPORT_CHARACTERISTICS {
+ NDIS51_MINIPORT_CHARACTERISTICS_S
+} NDIS51_MINIPORT_CHARACTERISTICS, *PSNDIS51_MINIPORT_CHARACTERISTICS;
#if defined(NDIS51_MINIPORT)
typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS50_MINIPORT_CHARACTERISTICS_S
+ NDIS51_MINIPORT_CHARACTERISTICS_S
} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
#elif defined(NDIS50_MINIPORT)
typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
#endif
-typedef NDIS_STATUS DDKAPI
-(*SEND_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *SEND_HANDLER)(
IN NDIS_HANDLE MacBindingHandle,
IN PNDIS_PACKET Packet);
-typedef NDIS_STATUS DDKAPI
-(*TRANSFER_DATA_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *TRANSFER_DATA_HANDLER)(
IN NDIS_HANDLE MacBindingHandle,
IN NDIS_HANDLE MacReceiveContext,
IN UINT ByteOffset,
OUT PNDIS_PACKET Packet,
OUT PUINT BytesTransferred);
-typedef NDIS_STATUS DDKAPI
-(*RESET_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *RESET_HANDLER)(
IN NDIS_HANDLE MacBindingHandle);
-typedef NDIS_STATUS DDKAPI
-(*REQUEST_HANDLER)(
+typedef NDIS_STATUS
+(NTAPI *REQUEST_HANDLER)(
IN NDIS_HANDLE MacBindingHandle,
IN PNDIS_REQUEST NdisRequest);
/* Structures available only to full MAC drivers */
-typedef BOOLEAN DDKAPI
-(*PNDIS_INTERRUPT_SERVICE)(
+typedef BOOLEAN
+(NTAPI *PNDIS_INTERRUPT_SERVICE)(
IN PVOID InterruptContext);
-typedef VOID DDKAPI
-(*PNDIS_DEFERRED_PROCESSING)(
+typedef VOID
+(NTAPI *PNDIS_DEFERRED_PROCESSING)(
IN PVOID SystemSpecific1,
IN PVOID InterruptContext,
IN PVOID SystemSpecific2,
} NDIS_BIND_PATHS, *PNDIS_BIND_PATHS;
-typedef VOID DDKAPI
-(*ETH_RCV_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *ETH_RCV_COMPLETE_HANDLER)(
IN PETH_FILTER Filter);
-typedef VOID DDKAPI
-(*ETH_RCV_INDICATE_HANDLER)(
+typedef VOID
+(NTAPI *ETH_RCV_INDICATE_HANDLER)(
IN PETH_FILTER Filter,
IN NDIS_HANDLE MacReceiveContext,
IN PCHAR Address,
IN UINT LookaheadBufferSize,
IN UINT PacketSize);
-typedef VOID DDKAPI
-(*FDDI_RCV_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *FDDI_RCV_COMPLETE_HANDLER)(
IN PFDDI_FILTER Filter);
-typedef VOID DDKAPI
-(*FDDI_RCV_INDICATE_HANDLER)(
+typedef VOID
+(NTAPI *FDDI_RCV_INDICATE_HANDLER)(
IN PFDDI_FILTER Filter,
IN NDIS_HANDLE MacReceiveContext,
IN PCHAR Address,
IN UINT LookaheadBufferSize,
IN UINT PacketSize);
-typedef VOID DDKAPI
-(*FILTER_PACKET_INDICATION_HANDLER)(
+typedef VOID
+(NTAPI *FILTER_PACKET_INDICATION_HANDLER)(
IN NDIS_HANDLE Miniport,
IN PPNDIS_PACKET PacketArray,
IN UINT NumberOfPackets);
-typedef VOID DDKAPI
-(*TR_RCV_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *TR_RCV_COMPLETE_HANDLER)(
IN PTR_FILTER Filter);
-typedef VOID DDKAPI
-(*TR_RCV_INDICATE_HANDLER)(
+typedef VOID
+(NTAPI *TR_RCV_INDICATE_HANDLER)(
IN PTR_FILTER Filter,
IN NDIS_HANDLE MacReceiveContext,
IN PVOID HeaderBuffer,
IN UINT LookaheadBufferSize,
IN UINT PacketSize);
-typedef VOID DDKAPI
-(*WAN_RCV_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *WAN_RCV_COMPLETE_HANDLER)(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE NdisLinkContext);
-typedef VOID DDKAPI
-(*WAN_RCV_HANDLER)(
+typedef VOID
+(NTAPI *WAN_RCV_HANDLER)(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE NdisLinkContext,
IN PUCHAR Packet,
IN ULONG PacketSize);
-typedef VOID FASTCALL
-(*NDIS_M_DEQUEUE_WORK_ITEM)(
+typedef VOID
+(FASTCALL *NDIS_M_DEQUEUE_WORK_ITEM)(
IN PNDIS_MINIPORT_BLOCK Miniport,
IN NDIS_WORK_ITEM_TYPE WorkItemType,
OUT PVOID *WorkItemContext);
-typedef NDIS_STATUS FASTCALL
-(*NDIS_M_QUEUE_NEW_WORK_ITEM)(
+typedef NDIS_STATUS
+(FASTCALL *NDIS_M_QUEUE_NEW_WORK_ITEM)(
IN PNDIS_MINIPORT_BLOCK Miniport,
IN NDIS_WORK_ITEM_TYPE WorkItemType,
IN PVOID WorkItemContext);
-typedef NDIS_STATUS FASTCALL
-(*NDIS_M_QUEUE_WORK_ITEM)(
+typedef NDIS_STATUS
+(FASTCALL *NDIS_M_QUEUE_WORK_ITEM)(
IN PNDIS_MINIPORT_BLOCK Miniport,
IN NDIS_WORK_ITEM_TYPE WorkItemType,
IN PVOID WorkItemContext);
-typedef VOID DDKAPI
-(*NDIS_M_REQ_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *NDIS_M_REQ_COMPLETE_HANDLER)(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_STATUS Status);
-typedef VOID DDKAPI
-(*NDIS_M_RESET_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *NDIS_M_RESET_COMPLETE_HANDLER)(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_STATUS Status,
IN BOOLEAN AddressingReset);
-typedef VOID DDKAPI
-(*NDIS_M_SEND_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *NDIS_M_SEND_COMPLETE_HANDLER)(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PNDIS_PACKET Packet,
IN NDIS_STATUS Status);
-typedef VOID DDKAPI
-(*NDIS_M_SEND_RESOURCES_HANDLER)(
+typedef VOID
+(NTAPI *NDIS_M_SEND_RESOURCES_HANDLER)(
IN NDIS_HANDLE MiniportAdapterHandle);
-typedef BOOLEAN FASTCALL
-(*NDIS_M_START_SENDS)(
+typedef BOOLEAN
+(FASTCALL *NDIS_M_START_SENDS)(
IN PNDIS_MINIPORT_BLOCK Miniport);
-typedef VOID DDKAPI
-(*NDIS_M_STATUS_HANDLER)(
+typedef VOID
+(NTAPI *NDIS_M_STATUS_HANDLER)(
IN NDIS_HANDLE MiniportHandle,
IN NDIS_STATUS GeneralStatus,
IN PVOID StatusBuffer,
IN UINT StatusBufferSize);
-typedef VOID DDKAPI
-(*NDIS_M_STS_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *NDIS_M_STS_COMPLETE_HANDLER)(
IN NDIS_HANDLE MiniportAdapterHandle);
-typedef VOID DDKAPI
-(*NDIS_M_TD_COMPLETE_HANDLER)(
+typedef VOID
+(NTAPI *NDIS_M_TD_COMPLETE_HANDLER)(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PNDIS_PACKET Packet,
IN NDIS_STATUS Status,
IN UINT BytesTransferred);
-typedef VOID (DDKAPI *NDIS_WM_SEND_COMPLETE_HANDLER)(
+typedef VOID (NTAPI *NDIS_WM_SEND_COMPLETE_HANDLER)(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PVOID Packet,
IN NDIS_STATUS Status);
/* Handler prototypes for NDIS_OPEN_BLOCK */
-typedef NDIS_STATUS (DDKAPI *WAN_SEND_HANDLER)(
+typedef NDIS_STATUS (NTAPI *WAN_SEND_HANDLER)(
IN NDIS_HANDLE MacBindingHandle,
IN NDIS_HANDLE LinkHandle,
IN PVOID Packet);
/* NDIS 4.0 extension */
-typedef VOID (DDKAPI *SEND_PACKETS_HANDLER)(
+typedef VOID (NTAPI *SEND_PACKETS_HANDLER)(
IN NDIS_HANDLE MiniportAdapterContext,
IN PPNDIS_PACKET PacketArray,
IN UINT NumberOfPackets);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisInitializeWrapper(
OUT PNDIS_HANDLE NdisWrapperHandle,
IN PVOID SystemSpecific1,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMAllocateMapRegisters(
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT DmaChannel,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMCloseLog(
IN NDIS_HANDLE LogHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMCreateLog(
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT Size,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMDeregisterAdapterShutdownHandler(
IN NDIS_HANDLE MiniportHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMDeregisterInterrupt(
IN PNDIS_MINIPORT_INTERRUPT Interrupt);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMDeregisterIoPortRange(
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT InitialPort,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMFlushLog(
IN NDIS_HANDLE LogHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMFreeMapRegisters(
IN NDIS_HANDLE MiniportAdapterHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMMapIoSpace(
OUT PVOID *VirtualAddress,
IN NDIS_HANDLE MiniportAdapterHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMRegisterAdapterShutdownHandler(
IN NDIS_HANDLE MiniportHandle,
IN PVOID ShutdownContext,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMRegisterInterrupt(
OUT PNDIS_MINIPORT_INTERRUPT Interrupt,
IN NDIS_HANDLE MiniportAdapterHandle,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMRegisterIoPortRange(
OUT PVOID *PortOffset,
IN NDIS_HANDLE MiniportAdapterHandle,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMRegisterMiniport(
IN NDIS_HANDLE NdisWrapperHandle,
IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMSetTimer(
IN PNDIS_MINIPORT_TIMER Timer,
IN UINT MillisecondsToDelay);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMInitializeTimer(
IN OUT PNDIS_MINIPORT_TIMER Timer,
IN NDIS_HANDLE MiniportAdapterHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMSetPeriodicTimer(
- IN PNDIS_MINIPORT_TIMER Timer,
- IN UINT MillisecondPeriod);
+ IN PNDIS_MINIPORT_TIMER Timer,
+ IN UINT MillisecondPeriod);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMCancelTimer(
- IN PNDIS_MINIPORT_TIMER Timer,
- OUT PBOOLEAN TimerCancelled);
+ IN PNDIS_MINIPORT_TIMER Timer,
+ OUT PBOOLEAN TimerCancelled);
#if !defined(NDIS_WRAPPER)
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMSetAttributesEx(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE MiniportAdapterContext,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMSleep(
IN ULONG MicrosecondsToSleep);
NDISAPI
BOOLEAN
-DDKAPI
+NTAPI
NdisMSynchronizeWithInterrupt(
IN PNDIS_MINIPORT_INTERRUPT Interrupt,
IN PVOID SynchronizeFunction,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisMWriteLogData(
IN NDIS_HANDLE LogHandle,
IN PVOID LogBuffer,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMQueryAdapterResources(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE WrapperConfigurationContext,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisTerminateWrapper(
IN NDIS_HANDLE NdisWrapperHandle,
IN PVOID SystemSpecific);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisMUnmapIoSpace(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PVOID VirtualAddress,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisInitializeEvent(
IN PNDIS_EVENT Event);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisSetEvent(
IN PNDIS_EVENT Event);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisResetEvent(
IN PNDIS_EVENT Event);
NDISAPI
BOOLEAN
-DDKAPI
+NTAPI
NdisWaitEvent(
IN PNDIS_EVENT Event,
IN UINT Timeout);
/* NDIS intermediate miniport structures */
-typedef VOID (DDKAPI *W_MINIPORT_CALLBACK)(
+typedef VOID (NTAPI *W_MINIPORT_CALLBACK)(
IN NDIS_HANDLE MiniportAdapterContext,
IN PVOID CallbackContext);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisIMDeInitializeDeviceInstance(
IN NDIS_HANDLE NdisMiniportHandle);
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisIMRegisterLayeredMiniport(
IN NDIS_HANDLE NdisWrapperHandle,
IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisFreeDmaChannel(
IN PNDIS_HANDLE NdisDmaHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisSetupDmaTransfer(
OUT PNDIS_STATUS Status,
IN PNDIS_HANDLE NdisDmaHandle,
NDISAPI
NTSTATUS
-DDKAPI
+NTAPI
NdisUpcaseUnicodeString(
OUT PUNICODE_STRING DestinationString,
IN PUNICODE_STRING SourceString);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisRequest(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisReset(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisSend(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisSendPackets(
IN NDIS_HANDLE NdisBindingHandle,
IN PPNDIS_PACKET PacketArray,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisTransferData(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCloseAdapter(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCompleteBindAdapter(
IN NDIS_HANDLE BindAdapterContext,
IN NDIS_STATUS Status,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisCompleteUnbindAdapter(
IN NDIS_HANDLE UnbindAdapterContext,
IN NDIS_STATUS Status);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisDeregisterProtocol(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisProtocolHandle);
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisOpenAdapter(
OUT PNDIS_STATUS Status,
OUT PNDIS_STATUS OpenErrorStatus,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisOpenProtocolConfiguration(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE ConfigurationHandle,
NDISAPI
VOID
-DDKAPI
+NTAPI
NdisRegisterProtocol(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE NdisProtocolHandle,
NDISAPI
NDIS_STATUS
-DDKAPI
+NTAPI
NdisScheduleWorkItem(
IN PNDIS_WORK_ITEM WorkItem);
IN UINT OpenOptions,
IN PSTRING AddressingInformation OPTIONAL);
-typedef NDIS_STATUS (DDKAPI *CLOSE_ADAPTER_HANDLER)(
+typedef NDIS_STATUS (NTAPI *CLOSE_ADAPTER_HANDLER)(
IN NDIS_HANDLE MacBindingHandle);
-typedef NDIS_STATUS (DDKAPI *WAN_TRANSFER_DATA_HANDLER)(
+typedef NDIS_STATUS (NTAPI *WAN_TRANSFER_DATA_HANDLER)(
VOID);
-typedef NDIS_STATUS (DDKAPI *QUERY_GLOBAL_STATISTICS_HANDLER)(
+typedef NDIS_STATUS (NTAPI *QUERY_GLOBAL_STATISTICS_HANDLER)(
IN NDIS_HANDLE MacAdapterContext,
IN PNDIS_REQUEST NdisRequest);
-typedef VOID (DDKAPI *UNLOAD_MAC_HANDLER)(
+typedef VOID (NTAPI *UNLOAD_MAC_HANDLER)(
IN NDIS_HANDLE MacMacContext);
-typedef NDIS_STATUS (DDKAPI *ADD_ADAPTER_HANDLER)(
+typedef NDIS_STATUS (NTAPI *ADD_ADAPTER_HANDLER)(
IN NDIS_HANDLE MacMacContext,
IN NDIS_HANDLE WrapperConfigurationContext,
IN PNDIS_STRING AdapterName);