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