#ifndef __NDIS_H
#define __NDIS_H
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
+extern "C" {
+#endif
+
+#pragma pack(push,4)
#ifdef NDIS50
#undef NDIS40
#ifdef NDIS_WRAPPER
#ifdef _MSC_VER
-#define EXPIMP __declspec(dllexport)
+#define DDKAPI __declspec(dllexport)
#else
-#define EXPIMP STDCALL /* MS ndis.h is 100% stdcall due to compiler flag /Gz */
+#define DDKAPI STDCALL /* MS ndis.h is 100% stdcall due to compiler flag /Gz */
#endif
#else /* NDIS_WRAPPER */
#ifdef _MSC_VER
-#define EXPIMP __declspec(dllimport)
+#define DDKAPI __declspec(dllimport)
#else
-#define EXPIMP STDCALL
+#define DDKAPI STDCALL
#endif
#endif /* NDIS_WRAPPER */
/* NDIS base types */
-typedef struct _NDIS_SPIN_LOCK
-{
+typedef struct _NDIS_SPIN_LOCK {
KSPIN_LOCK SpinLock;
KIRQL OldIrql;
} NDIS_SPIN_LOCK, * PNDIS_SPIN_LOCK;
-typedef struct _NDIS_EVENT
-{
+typedef struct _NDIS_EVENT {
KEVENT Event;
} NDIS_EVENT, *PNDIS_EVENT;
#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_ERROR_CODE_ADAPTER_DISABLED EVENT_NDIS_ADAPTER_DISABLED
-/* Memory allocation flags. Used by Ndis(Allocate|Free)Memory */
+/* Memory allocation flags. Used by Ndis[Allocate|Free]Memory */
#define NDIS_MEMORY_CONTIGUOUS 0x00000001
#define NDIS_MEMORY_NONCACHED 0x00000002
#define NDIS_ATTRIBUTE_DESERIALIZE 0x00000020
-
#define MAXIMUM_PROCESSORS 32
-
-
/* Lock */
-typedef union _NDIS_RW_LOCK_REFCOUNT
-{
+typedef union _NDIS_RW_LOCK_REFCOUNT {
UINT RefCount;
UCHAR cacheLine[16];
} NDIS_RW_LOCK_REFCOUNT;
-typedef struct _NDIS_RW_LOCK
-{
- union
- {
- struct
- {
+typedef struct _NDIS_RW_LOCK {
+ union {
+ struct {
KSPIN_LOCK SpinLock;
PVOID Context;
} s;
NDIS_RW_LOCK_REFCOUNT RefCount[MAXIMUM_PROCESSORS];
} NDIS_RW_LOCK, *PNDIS_RW_LOCK;
-typedef struct _LOCK_STATE
-{
+typedef struct _LOCK_STATE {
USHORT LockState;
KIRQL OldIrql;
} LOCK_STATE, *PLOCK_STATE;
/* Timer */
-typedef VOID (*PNDIS_TIMER_FUNCTION)(
+typedef VOID
+(*PNDIS_TIMER_FUNCTION)(
IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3);
-typedef struct _NDIS_TIMER
-{
+typedef struct _NDIS_TIMER {
KTIMER Timer;
KDPC Dpc;
} NDIS_TIMER, *PNDIS_TIMER;
VOID
-EXPIMP
+DDKAPI
NdisInitializeTimer(
IN OUT PNDIS_TIMER Timer,
IN PNDIS_TIMER_FUNCTION TimerFunction,
IN PVOID FunctionContext);
VOID
-EXPIMP
+DDKAPI
NdisSetTimer(
IN PNDIS_TIMER Timer,
IN UINT MillisecondsToDelay);
typedef CM_PARTIAL_RESOURCE_LIST NDIS_RESOURCE_LIST, *PNDIS_RESOURCE_LIST;
/* Hardware status codes (OID_GEN_HARDWARE_STATUS) */
-typedef enum _NDIS_HARDWARE_STATUS
-{
+typedef enum _NDIS_HARDWARE_STATUS {
NdisHardwareStatusReady,
NdisHardwareStatusInitializing,
NdisHardwareStatusReset,
} NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
/* OID_GEN_GET_TIME_CAPS */
-typedef struct _GEN_GET_TIME_CAPS
-{
+typedef struct _GEN_GET_TIME_CAPS {
ULONG Flags;
ULONG ClockPrecision;
} GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;
#define TIME_STAMP_CAPABLE 0x00000020
/* OID_GEN_GET_NETCARD_TIME */
-typedef struct _GEN_GET_NETCARD_TIME
-{
+typedef struct _GEN_GET_NETCARD_TIME {
ULONGLONG ReadTime;
} GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME;
/* NDIS driver medium (OID_GEN_MEDIA_SUPPORTED / OID_GEN_MEDIA_IN_USE) */
-typedef enum _NDIS_MEDIUM
-{
+typedef enum _NDIS_MEDIUM {
NdisMedium802_3,
NdisMedium802_5,
NdisMediumFddi,
#define NDIS_MAC_OPTION_RESERVED 0x80000000
/* State of the LAN media (OID_GEN_MEDIA_CONNECT_STATUS) */
-typedef enum _NDIS_MEDIA_STATE
-{
+typedef enum _NDIS_MEDIA_STATE {
NdisMediaStateConnected,
NdisMediaStateDisconnected
} NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
/* OID_GEN_SUPPORTED_GUIDS */
-typedef struct _NDIS_GUID
-{
+typedef struct _NDIS_GUID {
GUID Guid;
- union
- {
+ union {
NDIS_OID Oid;
NDIS_STATUS Status;
} u;
#define NDIS_GUID_ARRAY 0x00000010
-
-typedef struct _NDIS_PACKET_POOL
-{
+typedef struct _NDIS_PACKET_POOL {
NDIS_SPIN_LOCK SpinLock;
struct _NDIS_PACKET *FreeList;
UINT PacketLength;
UCHAR Buffer[1];
} NDIS_PACKET_POOL, * PNDIS_PACKET_POOL;
-typedef struct _NDIS_PACKET_PRIVATE
-{
+typedef struct _NDIS_PACKET_PRIVATE {
UINT PhysicalCount;
UINT TotalLength;
PNDIS_BUFFER Head;
NDIS_STATUS Status;
} NDIS_PACKET_OOB_DATA, *PNDIS_PACKET_OOB_DATA;
-typedef struct _NDIS_PM_PACKET_PATTERN
-{
+typedef struct _NDIS_PM_PACKET_PATTERN {
ULONG Priority;
ULONG Reserved;
ULONG MaskSize;
/* Request types used by NdisRequest */
-typedef enum _NDIS_REQUEST_TYPE
-{
+typedef enum _NDIS_REQUEST_TYPE {
NdisRequestQueryInformation,
NdisRequestSetInformation,
NdisRequestQueryStatistics,
/* Wide Area Networks definitions */
-typedef struct _NDIS_WAN_PACKET
-{
+typedef struct _NDIS_WAN_PACKET {
LIST_ENTRY WanPacketQueue;
PUCHAR CurrentBuffer;
ULONG CurrentLength;
/* DMA channel information */
-typedef struct _NDIS_DMA_DESCRIPTION
-{
+typedef struct _NDIS_DMA_DESCRIPTION {
BOOLEAN DemandMode;
BOOLEAN AutoInitialize;
BOOLEAN DmaChannelSpecified;
ULONG DmaChannel;
} NDIS_DMA_DESCRIPTION, *PNDIS_DMA_DESCRIPTION;
-typedef struct _NDIS_DMA_BLOCK
-{
+typedef struct _NDIS_DMA_BLOCK {
PVOID MapRegisterBase;
KEVENT AllocationEvent;
PADAPTER_OBJECT SystemAdapterObject;
#define NDIS_DMA_64BITS 2
/* Possible hardware architecture */
-typedef enum _NDIS_INTERFACE_TYPE
-{
+typedef enum _NDIS_INTERFACE_TYPE {
NdisInterfaceInternal = Internal,
NdisInterfaceIsa = Isa,
NdisInterfaceEisa = Eisa,
#define NdisInterruptLatched Latched
typedef KINTERRUPT_MODE NDIS_INTERRUPT_MODE, *PNDIS_INTERRUPT_MODE;
-typedef enum _NDIS_PROCESSOR_TYPE
-{
+typedef enum _NDIS_PROCESSOR_TYPE {
NdisProcessorX86,
NdisProcessorMips,
NdisProcessorAlpha,
NdisProcessorPpc
} NDIS_PROCESSOR_TYPE, *PNDIS_PROCESSOR_TYPE;
-typedef enum _NDIS_ENVIRONMENT_TYPE
-{
+typedef enum _NDIS_ENVIRONMENT_TYPE {
NdisEnvironmentWindows,
NdisEnvironmentWindowsNt
} NDIS_ENVIRONMENT_TYPE, *PNDIS_ENVIRONMENT_TYPE;
-typedef enum _NDIS_PARAMETER_TYPE
-{
+typedef enum _NDIS_PARAMETER_TYPE {
NdisParameterInteger,
NdisParameterHexInteger,
NdisParameterString,
NdisParameterBinary
} NDIS_PARAMETER_TYPE, *PNDIS_PARAMETER_TYPE;
-typedef struct
-{
+typedef struct {
USHORT Length;
PVOID Buffer;
} BINARY_DATA;
-typedef struct _NDIS_CONFIGURATION_PARAMETER
-{
+typedef struct _NDIS_CONFIGURATION_PARAMETER {
NDIS_PARAMETER_TYPE ParameterType;
- union
- {
+ union {
ULONG IntegerData;
NDIS_STRING StringData;
BINARY_DATA BinaryData;
} ParameterData;
} NDIS_CONFIGURATION_PARAMETER, *PNDIS_CONFIGURATION_PARAMETER;
+
typedef PHYSICAL_ADDRESS NDIS_PHYSICAL_ADDRESS, *PNDIS_PHYSICAL_ADDRESS;
-typedef struct _NDIS_PHYSICAL_ADDRESS_UNIT
-{
+typedef struct _NDIS_PHYSICAL_ADDRESS_UNIT {
NDIS_PHYSICAL_ADDRESS PhysicalAddress;
UINT Length;
} NDIS_PHYSICAL_ADDRESS_UNIT, *PNDIS_PHYSICAL_ADDRESS_UNIT;
-typedef VOID STDCALL (*ADAPTER_SHUTDOWN_HANDLER)(
+typedef VOID STDCALL
+(*ADAPTER_SHUTDOWN_HANDLER)(
IN PVOID ShutdownContext);
/* PnP state */
-typedef enum _NDIS_PNP_DEVICE_STATE
-{
+typedef enum _NDIS_PNP_DEVICE_STATE {
NdisPnPDeviceAdded,
NdisPnPDeviceStarted,
NdisPnPDeviceQueryStopped,
/* OID_GEN_NETWORK_LAYER_ADDRESSES */
-typedef struct _NETWORK_ADDRESS
-{
+typedef struct _NETWORK_ADDRESS {
USHORT AddressLength;
USHORT AddressType;
UCHAR Address[1];
} NETWORK_ADDRESS, *PNETWORK_ADDRESS;
-typedef struct _NETWORK_ADDRESS_LIST
-{
+typedef struct _NETWORK_ADDRESS_LIST {
LONG AddressCount;
USHORT AddressType;
NETWORK_ADDRESS Address[1];
#define NDIS_PROTOCOL_ID_MAX 0x0F
#define NDIS_PROTOCOL_ID_MASK 0x0F
+
/* OID_GEN_TRANSPORT_HEADER_OFFSET */
-typedef struct _TRANSPORT_HEADER_OFFSET
-{
+typedef struct _TRANSPORT_HEADER_OFFSET {
USHORT ProtocolType;
USHORT HeaderOffset;
} TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
/* OID_GEN_CO_LINK_SPEED / OID_GEN_CO_MINIMUM_LINK_SPEED */
-typedef struct _NDIS_CO_LINK_SPEED
-{
+typedef struct _NDIS_CO_LINK_SPEED {
ULONG Outbound;
ULONG Inbound;
} NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
-typedef enum _NDIS_AF
-{
+typedef enum _NDIS_AF {
CO_ADDRESS_FAMILY_Q2931 = 1,
CO_ADDRESS_FAMILY_SPANS,
} NDIS_AF, *PNDIS_AF;
-typedef struct
-{
+typedef struct {
NDIS_AF AddressFamily;
ULONG MajorVersion;
ULONG MinorVersion;
} CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;
-typedef enum
-{
+typedef enum {
BestEffortService,
PredictiveService,
GuaranteedService
} GUARANTEE;
-typedef struct _CO_FLOW_PARAMETERS
-{
+typedef struct _CO_FLOW_PARAMETERS {
ULONG TokenRate; /* In Bytes/sec */
ULONG TokenBucketSize; /* In Bytes */
ULONG PeakBandwidth; /* In Bytes/sec */
ULONG MaxSduSize; /* In Bytes */
} CO_FLOW_PARAMETERS, *PCO_FLOW_PARAMETERS;
-typedef struct _CO_SPECIFIC_PARAMETERS
-{
+typedef struct _CO_SPECIFIC_PARAMETERS {
ULONG ParamType;
ULONG Length;
UCHAR Parameters[1];
CO_SPECIFIC_PARAMETERS CallMgrSpecific;
} CO_CALL_MANAGER_PARAMETERS, *PCO_CALL_MANAGER_PARAMETERS;
-typedef struct _CO_MEDIA_PARAMETERS
-{
- ULONG Flags;
- ULONG ReceivePriority;
- ULONG ReceiveSizeHint;
- CO_SPECIFIC_PARAMETERS MediaSpecific;
-} CO_MEDIA_PARAMETERS, *PCO_MEDIA_PARAMETERS;
-
-/* Definitions for the flags in CO_MEDIA_PARAMETERS */
+/* CO_MEDIA_PARAMETERS.Flags constants */
#define RECEIVE_TIME_INDICATION 0x00000001
#define USE_TIME_STAMPS 0x00000002
#define TRANSMIT_VC 0x00000004
#define ROUND_DOWN_FLOW 0x00000080
#define ROUND_UP_FLOW 0x00000100
-typedef struct _CO_CALL_PARAMETERS
-{
+typedef struct _CO_MEDIA_PARAMETERS {
+ ULONG Flags;
+ ULONG ReceivePriority;
+ ULONG ReceiveSizeHint;
+ CO_SPECIFIC_PARAMETERS MediaSpecific;
+} CO_MEDIA_PARAMETERS, *PCO_MEDIA_PARAMETERS;
+
+typedef struct _CO_CALL_PARAMETERS {
ULONG Flags;
PCO_CALL_MANAGER_PARAMETERS CallMgrParameters;
PCO_MEDIA_PARAMETERS MediaParameters;
UCHAR Sap[1];
} CO_SAP, *PCO_SAP;
-typedef struct _NDIS_IPSEC_PACKET_INFO
-{
- union
- {
- struct
- {
+typedef struct _NDIS_IPSEC_PACKET_INFO {
+ union {
+ struct {
NDIS_HANDLE OffloadHandle;
NDIS_HANDLE NextOffloadHandle;
} Transmit;
-
- struct
- {
+ struct {
ULONG SA_DELETE_REQ:1;
ULONG CRYPTO_DONE:1;
ULONG NEXT_CRYPTO_DONE:1;
/* Plug and play and power management */
/* PnP and PM event codes */
-typedef enum _NET_PNP_EVENT_CODE
-{
+typedef enum _NET_PNP_EVENT_CODE {
NetEventSetPower,
NetEventQueryPower,
NetEventQueryRemoveDevice,
} NET_PNP_EVENT_CODE, *PNET_PNP_EVENT_CODE;
/* Networking PnP event indication structure */
-typedef struct _NET_PNP_EVENT
-{
+typedef struct _NET_PNP_EVENT {
/* Event code */
NET_PNP_EVENT_CODE NetEvent;
/* Event specific data */
} NET_PNP_EVENT, *PNET_PNP_EVENT;
/* Device power state structure */
-typedef enum _NET_DEVICE_POWER_STATE
-{
+typedef enum _NET_DEVICE_POWER_STATE {
NetDeviceStateUnspecified = 0,
NetDeviceStateD0,
NetDeviceStateD1,
typedef
NDIS_STATUS
-STDCALL (*CM_CLOSE_AF_HANDLER)(
- IN NDIS_HANDLE CallMgrAfContext
- );
+STDCALL
+(*CM_CLOSE_AF_HANDLER)(
+ IN NDIS_HANDLE CallMgrAfContext);
typedef
NDIS_STATUS
-STDCALL (*CM_REG_SAP_HANDLER)(
+STDCALL
+(*CM_REG_SAP_HANDLER)(
IN NDIS_HANDLE CallMgrAfContext,
IN PCO_SAP Sap,
IN NDIS_HANDLE NdisSapHandle,
- OUT PNDIS_HANDLE CallMgrSapContext
- );
+ OUT PNDIS_HANDLE CallMgrSapContext);
typedef
NDIS_STATUS
-STDCALL (*CM_DEREG_SAP_HANDLER)(
- IN NDIS_HANDLE CallMgrSapContext
- );
+STDCALL
+(*CM_DEREG_SAP_HANDLER)(
+ IN NDIS_HANDLE CallMgrSapContext);
typedef
NDIS_STATUS
-STDCALL (*CM_MAKE_CALL_HANDLER)(
+STDCALL
+(*CM_MAKE_CALL_HANDLER)(
IN NDIS_HANDLE CallMgrVcContext,
IN OUT PCO_CALL_PARAMETERS CallParameters,
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- OUT PNDIS_HANDLE CallMgrPartyContext OPTIONAL
- );
+ OUT PNDIS_HANDLE CallMgrPartyContext OPTIONAL);
typedef
NDIS_STATUS
-STDCALL (*CM_CLOSE_CALL_HANDLER)(
+STDCALL
+(*CM_CLOSE_CALL_HANDLER)(
IN NDIS_HANDLE CallMgrVcContext,
IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
IN PVOID CloseData OPTIONAL,
- IN UINT Size OPTIONAL
- );
+ IN UINT Size OPTIONAL);
typedef
VOID
-STDCALL (*CM_INCOMING_CALL_COMPLETE_HANDLER)(
+STDCALL
+(*CM_INCOMING_CALL_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE CallMgrVcContext,
- IN PCO_CALL_PARAMETERS CallParameters
- );
+ IN PCO_CALL_PARAMETERS CallParameters);
typedef
NDIS_STATUS
typedef
NDIS_STATUS
-STDCALL (*CM_MODIFY_CALL_QOS_HANDLER)(
+STDCALL
+(*CM_MODIFY_CALL_QOS_HANDLER)(
IN NDIS_HANDLE CallMgrVcContext,
- IN PCO_CALL_PARAMETERS CallParameters
- );
+ IN PCO_CALL_PARAMETERS CallParameters);
-typedef struct _NDIS_CALL_MANAGER_CHARACTERISTICS
-{
+typedef struct _NDIS_CALL_MANAGER_CHARACTERISTICS {
UCHAR MajorVersion;
UCHAR MinorVersion;
-
USHORT Filler;
UINT Reserved;
-
CO_CREATE_VC_HANDLER CmCreateVcHandler;
CO_DELETE_VC_HANDLER CmDeleteVcHandler;
CM_OPEN_AF_HANDLER CmOpenAfHandler;
IN NDIS_HANDLE ProtocolAfContext,
IN NDIS_HANDLE NdisAfHandle);
-typedef VOID STDCALL (*CL_CLOSE_AF_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*CL_CLOSE_AF_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolAfContext);
-typedef VOID STDCALL (*CL_REG_SAP_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*CL_REG_SAP_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolSapContext,
IN PCO_SAP Sap,
IN NDIS_HANDLE NdisSapHandle);
-typedef VOID STDCALL (*CL_DEREG_SAP_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*CL_DEREG_SAP_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolSapContext);
-typedef VOID STDCALL (*CL_MAKE_CALL_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*CL_MAKE_CALL_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolVcContext,
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
IN PCO_CALL_PARAMETERS CallParameters);
-typedef VOID STDCALL (*CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolVcContext,
IN PCO_CALL_PARAMETERS CallParameters);
-typedef VOID STDCALL (*CL_CLOSE_CALL_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*CL_CLOSE_CALL_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolVcContext,
IN NDIS_HANDLE ProtocolPartyContext OPTIONAL);
-typedef VOID STDCALL (*CL_ADD_PARTY_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*CL_ADD_PARTY_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolPartyContext,
IN NDIS_HANDLE NdisPartyHandle,
IN PCO_CALL_PARAMETERS CallParameters);
-typedef VOID STDCALL (*CL_DROP_PARTY_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*CL_DROP_PARTY_COMPLETE_HANDLER)(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolPartyContext);
-typedef NDIS_STATUS STDCALL (*CL_INCOMING_CALL_HANDLER)(
+typedef NDIS_STATUS STDCALL
+(*CL_INCOMING_CALL_HANDLER)(
IN NDIS_HANDLE ProtocolSapContext,
IN NDIS_HANDLE ProtocolVcContext,
IN OUT PCO_CALL_PARAMETERS CallParameters);
-typedef VOID STDCALL (*CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
+typedef VOID STDCALL
+(*CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
IN NDIS_HANDLE ProtocolVcContext,
IN PCO_CALL_PARAMETERS CallParameters);
-typedef VOID STDCALL (*CL_INCOMING_CLOSE_CALL_HANDLER)(
+typedef VOID STDCALL
+(*CL_INCOMING_CLOSE_CALL_HANDLER)(
IN NDIS_STATUS CloseStatus,
IN NDIS_HANDLE ProtocolVcContext,
IN PVOID CloseData OPTIONAL,
IN UINT Size OPTIONAL);
-typedef VOID STDCALL (*CL_INCOMING_DROP_PARTY_HANDLER)(
+typedef VOID STDCALL
+(*CL_INCOMING_DROP_PARTY_HANDLER)(
IN NDIS_STATUS DropStatus,
IN NDIS_HANDLE ProtocolPartyContext,
IN PVOID CloseData OPTIONAL,
IN UINT Size OPTIONAL);
-typedef VOID STDCALL (*CL_CALL_CONNECTED_HANDLER)(
+typedef VOID STDCALL
+(*CL_CALL_CONNECTED_HANDLER)(
IN NDIS_HANDLE ProtocolVcContext);
-typedef struct _NDIS_CLIENT_CHARACTERISTICS
-{
+typedef struct _NDIS_CLIENT_CHARACTERISTICS {
UCHAR MajorVersion;
UCHAR MinorVersion;
-
USHORT Filler;
UINT Reserved;
-
CO_CREATE_VC_HANDLER ClCreateVcHandler;
CO_DELETE_VC_HANDLER ClDeleteVcHandler;
CO_REQUEST_HANDLER ClRequestHandler;
} NDIS_CLIENT_CHARACTERISTICS, *PNDIS_CLIENT_CHARACTERISTICS;
-
/* NDIS protocol structures */
/* Prototypes for NDIS 3.0 protocol characteristics */
-typedef VOID STDCALL (*OPEN_ADAPTER_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*OPEN_ADAPTER_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_STATUS Status,
IN NDIS_STATUS OpenErrorStatus);
-typedef VOID STDCALL (*CLOSE_ADAPTER_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*CLOSE_ADAPTER_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_STATUS Status);
-typedef VOID STDCALL (*RESET_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*RESET_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_STATUS Status);
-typedef VOID STDCALL (*REQUEST_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*REQUEST_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_REQUEST NdisRequest,
IN NDIS_STATUS Status);
-typedef VOID STDCALL (*STATUS_HANDLER)(
+typedef VOID STDCALL
+(*STATUS_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_STATUS GeneralStatus,
IN PVOID StatusBuffer,
IN UINT StatusBufferSize);
-typedef VOID STDCALL (*STATUS_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*STATUS_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext);
-typedef VOID STDCALL (*SEND_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*SEND_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_PACKET Packet,
IN NDIS_STATUS Status);
-typedef VOID STDCALL (*WAN_SEND_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*WAN_SEND_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_WAN_PACKET Packet,
IN NDIS_STATUS Status);
-typedef VOID STDCALL (*TRANSFER_DATA_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*TRANSFER_DATA_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_PACKET Packet,
IN NDIS_STATUS Status,
IN UINT BytesTransferred);
-typedef VOID STDCALL (*WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
VOID);
-typedef NDIS_STATUS STDCALL (*RECEIVE_HANDLER)(
+typedef NDIS_STATUS STDCALL
+(*RECEIVE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE MacReceiveContext,
IN PVOID HeaderBuffer,
IN UINT LookaheadBufferSize,
IN UINT PacketSize);
-typedef NDIS_STATUS STDCALL (*WAN_RECEIVE_HANDLER)(
+typedef NDIS_STATUS STDCALL
+(*WAN_RECEIVE_HANDLER)(
IN NDIS_HANDLE NdisLinkHandle,
IN PUCHAR Packet,
IN ULONG PacketSize);
-typedef VOID STDCALL (*RECEIVE_COMPLETE_HANDLER)(
+typedef VOID STDCALL
+(*RECEIVE_COMPLETE_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext);
/* Protocol characteristics for NDIS 3.0 protocols */
#ifdef _MSC_VER
-typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS
-{
+typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS {
UCHAR MajorNdisVersion;
UCHAR MinorNdisVersion;
union
/* Prototypes for NDIS 4.0 protocol characteristics */
-typedef INT STDCALL (*RECEIVE_PACKET_HANDLER)(
+typedef INT STDCALL
+(*RECEIVE_PACKET_HANDLER)(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_PACKET Packet);
-typedef VOID STDCALL (*BIND_HANDLER)(
+typedef VOID STDCALL
+(*BIND_HANDLER)(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE BindContext,
IN PNDIS_STRING DeviceName,
IN PVOID SystemSpecific1,
IN PVOID SystemSpecific2);
-typedef VOID STDCALL (*UNBIND_HANDLER)(
+typedef VOID STDCALL
+(*UNBIND_HANDLER)(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE UnbindContext);
-typedef VOID STDCALL (*TRANSLATE_HANDLER)(
+typedef VOID STDCALL
+(*TRANSLATE_HANDLER)(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE ProtocolBindingContext,
OUT PNET_PNP_ID IdList,
IN ULONG IdListLength,
OUT PULONG BytesReturned);
-typedef VOID STDCALL (*UNLOAD_PROTOCOL_HANDLER)(
+typedef VOID STDCALL
+(*UNLOAD_PROTOCOL_HANDLER)(
VOID);
/* Protocol characteristics for NDIS 4.0 protocols */
#ifdef _MSC_VER
-typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS
-{
+typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS {
NDIS30_PROTOCOL_CHARACTERISTICS;
RECEIVE_PACKET_HANDLER ReceivePacketHandler;
/* Buffer management routines */
VOID
-EXPIMP
+DDKAPI
NdisAllocateBuffer(
OUT PNDIS_STATUS Status,
OUT PNDIS_BUFFER *Buffer,
IN UINT Length);
VOID
-EXPIMP
+DDKAPI
NdisAllocateBufferPool(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE PoolHandle,
IN UINT NumberOfDescriptors);
VOID
-EXPIMP
+DDKAPI
NdisAllocatePacket(
OUT PNDIS_STATUS Status,
OUT PNDIS_PACKET *Packet,
IN NDIS_HANDLE PoolHandle);
VOID
-EXPIMP
+DDKAPI
NdisAllocatePacketPool(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE PoolHandle,
IN UINT ProtocolReservedLength);
VOID
-EXPIMP
+DDKAPI
NdisCopyBuffer(
OUT PNDIS_STATUS Status,
OUT PNDIS_BUFFER *Buffer,
IN UINT Length);
VOID
-EXPIMP
+DDKAPI
NdisCopyFromPacketToPacket(
IN PNDIS_PACKET Destination,
IN UINT DestinationOffset,
OUT PUINT BytesCopied);
VOID
-EXPIMP
+DDKAPI
NdisDprAllocatePacket(
OUT PNDIS_STATUS Status,
OUT PNDIS_PACKET *Packet,
IN NDIS_HANDLE PoolHandle);
VOID
-EXPIMP
+DDKAPI
NdisDprAllocatePacketNonInterlocked(
OUT PNDIS_STATUS Status,
OUT PNDIS_PACKET *Packet,
IN NDIS_HANDLE PoolHandle);
VOID
-EXPIMP
+DDKAPI
NdisDprFreePacket(
IN PNDIS_PACKET Packet);
VOID
-EXPIMP
+DDKAPI
NdisDprFreePacketNonInterlocked(
IN PNDIS_PACKET Packet);
VOID
-EXPIMP
+DDKAPI
NdisFreeBufferPool(
IN NDIS_HANDLE PoolHandle);
VOID
-EXPIMP
+DDKAPI
NdisFreePacket(
IN PNDIS_PACKET Packet);
VOID
-EXPIMP
+DDKAPI
NdisFreePacketPool(
IN NDIS_HANDLE PoolHandle);
VOID
-EXPIMP
+DDKAPI
NdisReturnPackets(
IN PNDIS_PACKET *PacketsToReturn,
IN UINT NumberOfPackets);
VOID
-EXPIMP
+DDKAPI
NdisUnchainBufferAtBack(
IN OUT PNDIS_PACKET Packet,
OUT PNDIS_BUFFER *Buffer);
VOID
-EXPIMP
+DDKAPI
NdisUnchainBufferAtFront(
IN OUT PNDIS_PACKET Packet,
OUT PNDIS_BUFFER *Buffer);
* IN UINT Length);
*/
VOID
-EXPIMP
+DDKAPI
NdisAdjustBufferLength(
IN PNDIS_BUFFER Buffer,
IN UINT Length);
* IN PNDIS_BUFFER Buffer);
*/
ULONG
-EXPIMP
+DDKAPI
NDIS_BUFFER_TO_SPAN_PAGES(
IN PNDIS_BUFFER Buffer);
VOID
-EXPIMP
+DDKAPI
NdisFreeBuffer(
IN PNDIS_BUFFER Buffer);
* OUT PUINT ArraySize);
*/
VOID
-EXPIMP
+DDKAPI
NdisGetBufferPhysicalArraySize(
IN PNDIS_BUFFER Buffer,
OUT PUINT ArraySize);
* OUT PUINT _TotalBufferLength)
*/
VOID
-EXPIMP
+DDKAPI
NdisGetFirstBufferFromPacket(
IN PNDIS_PACKET _Packet,
OUT PNDIS_BUFFER * _FirstBuffer,
OUT PUINT _TotalBufferLength);
VOID
-EXPIMP
+DDKAPI
NdisQueryBuffer(
IN PNDIS_BUFFER Buffer,
OUT PVOID *VirtualAddress OPTIONAL,
OUT PUINT Length);
VOID
-EXPIMP
+DDKAPI
NdisQueryBufferOffset(
IN PNDIS_BUFFER Buffer,
OUT PUINT Offset,
}
VOID
-EXPIMP
+DDKAPI
NdisReinitializePacket(
IN OUT PNDIS_PACKET Packet);
/* Memory management routines */
VOID
-EXPIMP
+DDKAPI
NdisCreateLookaheadBufferFromSharedMemory(
IN PVOID pSharedMemory,
IN UINT LookaheadLength,
OUT PVOID *pLookaheadBuffer);
VOID
-EXPIMP
+DDKAPI
NdisDestroyLookaheadBufferFromSharedMemory(
IN PVOID pLookaheadBuffer);
VOID
-EXPIMP
+DDKAPI
NdisMoveFromMappedMemory(
OUT PVOID Destination,
IN PVOID Source,
IN ULONG Length);
VOID
-EXPIMP
+DDKAPI
NdisMoveMappedMemory(
OUT PVOID Destination,
IN PVOID Source,
IN ULONG Length);
VOID
-EXPIMP
+DDKAPI
NdisMoveToMappedMemory(
OUT PVOID Destination,
IN PVOID Source,
IN ULONG Length);
VOID
-EXPIMP
+DDKAPI
NdisMUpdateSharedMemory(
IN NDIS_HANDLE MiniportAdapterHandle,
IN ULONG Length,
IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisAllocateMemory(
OUT PVOID *VirtualAddress,
IN UINT Length,
IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress);
VOID
-EXPIMP
+DDKAPI
NdisFreeMemory(
IN PVOID VirtualAddress,
IN UINT Length,
IN UINT MemoryFlags);
VOID
-EXPIMP
+DDKAPI
NdisImmediateReadSharedMemory(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG SharedMemoryAddress,
IN ULONG Length);
VOID
-EXPIMP
+DDKAPI
NdisImmediateWriteSharedMemory(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG SharedMemoryAddress,
IN ULONG Length);
VOID
-EXPIMP
+DDKAPI
NdisMAllocateSharedMemory(
IN NDIS_HANDLE MiniportAdapterHandle,
IN ULONG Length,
OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMAllocateSharedMemoryAsync(
IN NDIS_HANDLE MiniportAdapterHandle,
IN ULONG Length,
IN PVOID Context);
VOID
-EXPIMP
+DDKAPI
NdisMFreeSharedMemory(
IN NDIS_HANDLE MiniportAdapterHandle,
IN ULONG Length,
IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
VOID
-EXPIMP
+DDKAPI
NdisUpdateSharedMemory(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG Length,
//
CCHAR
-EXPIMP
+DDKAPI
NdisSystemProcessorCount(
VOID
);
VOID
-EXPIMP
+DDKAPI
NdisImmediateReadPortUchar(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG Port,
);
VOID
-EXPIMP
+DDKAPI
NdisImmediateReadPortUshort(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG Port,
);
VOID
-EXPIMP
+DDKAPI
NdisImmediateReadPortUlong(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG Port,
);
VOID
-EXPIMP
+DDKAPI
NdisImmediateWritePortUchar(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG Port,
);
VOID
-EXPIMP
+DDKAPI
NdisImmediateWritePortUshort(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG Port,
);
VOID
-EXPIMP
+DDKAPI
NdisImmediateWritePortUlong(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG Port,
);
VOID
-EXPIMP
+DDKAPI
NdisImmediateReadSharedMemory(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG SharedMemoryAddress,
);
VOID
-EXPIMP
+DDKAPI
NdisImmediateWriteSharedMemory(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG SharedMemoryAddress,
);
ULONG
-EXPIMP
+DDKAPI
NdisImmediateReadPciSlotInformation(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG SlotNumber,
);
ULONG
-EXPIMP
+DDKAPI
NdisImmediateWritePciSlotInformation(
IN NDIS_HANDLE WrapperConfigurationContext,
IN ULONG SlotNumber,
);
ULONG
-EXPIMP
+DDKAPI
NdisReadPciSlotInformation(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG SlotNumber,
IN ULONG Length);
ULONG
-EXPIMP
+DDKAPI
NdisWritePciSlotInformation(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG SlotNumber,
* IN PNDIS_ANSI_STRING SourceString);
*/
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisAnsiStringToUnicodeString(
IN OUT PNDIS_STRING DestinationString,
IN PANSI_STRING SourceString);
* IN BOOLEAN CaseInsensitive)
*/
BOOLEAN
-EXPIMP
+DDKAPI
NdisEqualString(
IN PNDIS_STRING String1,
IN PNDIS_STRING String2,
* IN PCSTR SourceString)
*/
VOID
-EXPIMP
+DDKAPI
NdisInitAnsiString(
IN OUT PANSI_STRING DestinationString,
IN PCSTR SourceString);
* IN PCWSTR SourceString)
*/
VOID
-EXPIMP
+DDKAPI
NdisInitUnicodeString(
IN OUT PNDIS_STRING DestinationString,
IN PCWSTR SourceString);
* IN PNDIS_STRING SourceString)
*/
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisUnicodeStringToAnsiString(
IN OUT PANSI_STRING DestinationString,
IN PNDIS_STRING SourceString);
/* I/O routines */
/*
- * VOID NdisRawReadPortBufferUchar(
+ * VOID
+ * NdisRawReadPortBufferUchar(
* IN ULONG Port,
* OUT PUCHAR Buffer,
* IN ULONG Length);
READ_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
/*
- * VOID NdisRawReadPortBufferUlong(
+ * VOID
+ * NdisRawReadPortBufferUlong(
* IN ULONG Port,
* OUT PULONG Buffer,
* IN ULONG Length);
READ_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
/*
- * VOID NdisRawReadPortBufferUshort(
+ * VOID
+ * NdisRawReadPortBufferUshort(
* IN ULONG Port,
* OUT PUSHORT Buffer,
* IN ULONG Length);
/*
- * VOID NdisRawReadPortUchar(
+ * VOID
+ * NdisRawReadPortUchar(
* IN ULONG Port,
* OUT PUCHAR Data);
*/
*(Data) = READ_PORT_UCHAR((PUCHAR)(Port))
/*
- * VOID NdisRawReadPortUlong(
+ * VOID
+ * NdisRawReadPortUlong(
* IN ULONG Port,
* OUT PULONG Data);
*/
*(Data) = READ_PORT_ULONG((PULONG)(Port))
/*
- * VOID NdisRawReadPortUshort(
+ * VOID
+ * NdisRawReadPortUshort(
* IN ULONG Port,
* OUT PUSHORT Data);
*/
/*
- * VOID NdisRawWritePortBufferUchar(
+ * VOID
+ * NdisRawWritePortBufferUchar(
* IN ULONG Port,
* IN PUCHAR Buffer,
* IN ULONG Length);
WRITE_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
/*
- * VOID NdisRawWritePortBufferUlong(
+ * VOID
+ * NdisRawWritePortBufferUlong(
* IN ULONG Port,
* IN PULONG Buffer,
* IN ULONG Length);
WRITE_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
/*
- * VOID NdisRawWritePortBufferUshort(
+ * VOID
+ * NdisRawWritePortBufferUshort(
* IN ULONG Port,
* IN PUSHORT Buffer,
* IN ULONG Length);
/*
- * VOID NdisRawWritePortUchar(
+ * VOID
+ * NdisRawWritePortUchar(
* IN ULONG Port,
* IN UCHAR Data);
*/
WRITE_PORT_UCHAR((PUCHAR)(Port), (UCHAR)(Data))
/*
- * VOID NdisRawWritePortUlong(
+ * VOID
+ * NdisRawWritePortUlong(
* IN ULONG Port,
* IN ULONG Data);
*/
WRITE_PORT_ULONG((PULONG)(Port), (ULONG)(Data))
/*
- * VOID NdisRawWritePortUshort(
+ * VOID
+ * NdisRawWritePortUshort(
* IN ULONG Port,
* IN USHORT Data);
*/
/*
- * VOID NdisReadRegisterUchar(
+ * VOID
+ * NdisReadRegisterUchar(
* IN PUCHAR Register,
* OUT PUCHAR Data);
*/
*((PUCHAR)(Data)) = *(Register)
/*
- * VOID NdisReadRegisterUlong(
+ * VOID
+ * NdisReadRegisterUlong(
* IN PULONG Register,
* OUT PULONG Data);
*/
*((PULONG)(Data)) = *(Register)
/*
- * VOID NdisReadRegisterUshort(
+ * VOID
+ * NdisReadRegisterUshort(
* IN PUSHORT Register,
* OUT PUSHORT Data);
*/
#define NdisReadRegisterUshort(Register, Data) \
*((PUSHORT)(Data)) = *(Register)
-
/*
- * VOID NdisReadRegisterUchar(
+ * VOID
+ * NdisReadRegisterUchar(
* IN PUCHAR Register,
* IN UCHAR Data);
*/
WRITE_REGISTER_UCHAR((Register), (Data))
/*
- * VOID NdisReadRegisterUlong(
+ * VOID
+ * NdisReadRegisterUlong(
* IN PULONG Register,
* IN ULONG Data);
*/
WRITE_REGISTER_ULONG((Register), (Data))
/*
- * VOID NdisReadRegisterUshort(
+ * VOID
+ * NdisReadRegisterUshort(
* IN PUSHORT Register,
* IN USHORT Data);
*/
/* Linked lists */
VOID
-EXPIMP
+DDKAPI
NdisInitializeListHead(
IN PLIST_ENTRY ListHead);
VOID
-EXPIMP
+DDKAPI
NdisInterlockedAddUlong(
IN PULONG Addend,
IN ULONG Increment,
IN PNDIS_SPIN_LOCK SpinLock);
PLIST_ENTRY
-EXPIMP
+DDKAPI
NdisInterlockedInsertHeadList(
IN PLIST_ENTRY ListHead,
IN PLIST_ENTRY ListEntry,
IN PNDIS_SPIN_LOCK SpinLock);
PLIST_ENTRY
-EXPIMP
+DDKAPI
NdisInterlockedInsertTailList(
IN PLIST_ENTRY ListHead,
IN PLIST_ENTRY ListEntry,
IN PNDIS_SPIN_LOCK SpinLock);
PLIST_ENTRY
-EXPIMP
+DDKAPI
NdisInterlockedRemoveHeadList(
IN PLIST_ENTRY ListHead,
IN PNDIS_SPIN_LOCK SpinLock);
VOID
-EXPIMP
+DDKAPI
NdisCloseConfiguration(
IN NDIS_HANDLE ConfigurationHandle);
VOID
-EXPIMP
+DDKAPI
NdisReadConfiguration(
OUT PNDIS_STATUS Status,
OUT PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
IN NDIS_PARAMETER_TYPE ParameterType);
VOID
-EXPIMP
+DDKAPI
NdisReadNetworkAddress(
OUT PNDIS_STATUS Status,
OUT PVOID *NetworkAddress,
IN NDIS_HANDLE ConfigurationHandle);
VOID
-EXPIMP
+DDKAPI
NdisWriteConfiguration(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE ConfigurationHandle,
IN PNDIS_CONFIGURATION_PARAMETER ParameterValue);
VOID
-EXPIMP
+DDKAPI
NdisOpenConfiguration(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE ConfigurationHandle,
IN NDIS_HANDLE WrapperConfigurationContext);
VOID
-EXPIMP
+DDKAPI
NdisOpenConfigurationKeyByIndex(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE ConfigurationHandle,
OUT PNDIS_HANDLE KeyHandle);
VOID
-EXPIMP
+DDKAPI
NdisOpenConfigurationKeyByName(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE ConfigurationHandle,
VOID
-/*EXPIMP*/
+/*DDKAPI*/
NdisWriteErrorLogEntry(
IN NDIS_HANDLE NdisAdapterHandle,
IN NDIS_ERROR_CODE ErrorCode,
*/
/*
- * VOID NdisStallExecution(
+ * VOID
+ * NdisStallExecution(
* IN UINT MicrosecondsToStall)
*/
#define NdisStallExecution(MicroSecondsToStall) \
}
*/
VOID
-EXPIMP
+DDKAPI
NdisInitializeEvent(
IN PNDIS_EVENT Event
);
VOID
-EXPIMP
+DDKAPI
NdisSetEvent(
IN PNDIS_EVENT Event
);
VOID
-EXPIMP
+DDKAPI
NdisResetEvent(
IN PNDIS_EVENT Event
);
BOOLEAN
-EXPIMP
+DDKAPI
NdisWaitEvent(
IN PNDIS_EVENT Event,
IN UINT msToWait
#ifdef NDIS40
VOID
-EXPIMP
+DDKAPI
NdisMFreeSharedMemory(
IN NDIS_HANDLE MiniportAdapterHandle,
IN ULONG Length,
IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
VOID
-EXPIMP
+DDKAPI
NdisMWanIndicateReceive(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT PacketSize);
VOID
-EXPIMP
+DDKAPI
NdisMWanIndicateReceiveComplete(
IN NDIS_HANDLE MiniportAdapterHandle);
VOID
-EXPIMP
+DDKAPI
NdisMWanSendComplete(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PNDIS_WAN_PACKET Packet,
IN NDIS_STATUS Status);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisPciAssignResources(
IN NDIS_HANDLE NdisMacHandle,
IN NDIS_HANDLE NdisWrapperHandle,
OUT PNDIS_RESOURCE_LIST *AssignedResources);
VOID
-EXPIMP
+DDKAPI
NdisReadEisaSlotInformationEx(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE WrapperConfigurationContext,
OUT PUINT NumberOfFunctions);
VOID
-EXPIMP
+DDKAPI
NdisReadMcaPosInformation(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE WrapperConfigurationContext,
//
VOID
-EXPIMP
+DDKAPI
NdisAllocateSpinLock(
IN PNDIS_SPIN_LOCK SpinLock
);
VOID
-EXPIMP
+DDKAPI
NdisFreeSpinLock(
IN PNDIS_SPIN_LOCK SpinLock
);
VOID
-EXPIMP
+DDKAPI
NdisAcquireSpinLock(
IN PNDIS_SPIN_LOCK SpinLock
);
VOID
-EXPIMP
+DDKAPI
NdisReleaseSpinLock(
IN PNDIS_SPIN_LOCK SpinLock
);
VOID
-EXPIMP
+DDKAPI
NdisDprAcquireSpinLock(
IN PNDIS_SPIN_LOCK SpinLock
);
VOID
-EXPIMP
+DDKAPI
NdisDprReleaseSpinLock(
IN PNDIS_SPIN_LOCK SpinLock
);
#endif
VOID
-EXPIMP
+DDKAPI
NdisGetCurrentSystemTime(
PLARGE_INTEGER pSystemTime
);
VOID
-EXPIMP
+DDKAPI
NdisAcquireReadWriteLock(
IN PNDIS_RW_LOCK Lock,
IN BOOLEAN fWrite,
IN PLOCK_STATE LockState);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisAllocateMemoryWithTag(
OUT PVOID *VirtualAddress,
IN UINT Length,
IN ULONG Tag);
VOID
-EXPIMP
+DDKAPI
NdisAllocatePacketPoolEx(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE PoolHandle,
IN UINT ProtocolReservedLength);
ULONG
-EXPIMP
+DDKAPI
NdisBufferLength(
IN PNDIS_BUFFER Buffer);
PVOID
-EXPIMP
+DDKAPI
NdisBufferVirtualAddress(
IN PNDIS_BUFFER Buffer);
VOID
-EXPIMP
+DDKAPI
NdisCompletePnPEvent(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle,
IN PNET_PNP_EVENT NetPnPEvent);
VOID
-EXPIMP
+DDKAPI
NdisConvertStringToAtmAddress(
OUT PNDIS_STATUS Status,
IN PNDIS_STRING String,
OUT PATM_ADDRESS AtmAddress);
VOID
-EXPIMP
+DDKAPI
NdisGetCurrentProcessorCounts(
OUT PULONG pIdleCount,
OUT PULONG pKernelAndUser,
OUT PULONG pIndex);
VOID
-EXPIMP
+DDKAPI
NdisGetDriverHandle(
IN PNDIS_HANDLE NdisBindingHandle,
OUT PNDIS_HANDLE NdisDriverHandle);
PNDIS_PACKET
-EXPIMP
+DDKAPI
NdisGetReceivedPacket(
IN PNDIS_HANDLE NdisBindingHandle,
IN PNDIS_HANDLE MacContext);
VOID
-EXPIMP
+DDKAPI
NdisGetSystemUptime(
OUT PULONG pSystemUpTime);
VOID
-EXPIMP
+DDKAPI
NdisInitializeReadWriteLock(
IN PNDIS_RW_LOCK Lock);
LONG
-EXPIMP
+DDKAPI
NdisInterlockedDecrement(
IN PLONG Addend);
LONG
-EXPIMP
+DDKAPI
NdisInterlockedIncrement(
IN PLONG Addend);
PSINGLE_LIST_ENTRY
-EXPIMP
+DDKAPI
NdisInterlockedPopEntrySList(
IN PSLIST_HEADER ListHead,
IN PKSPIN_LOCK Lock);
PSINGLE_LIST_ENTRY
-EXPIMP
+DDKAPI
NdisInterlockedPushEntrySList(
IN PSLIST_HEADER ListHead,
IN PSINGLE_LIST_ENTRY ListEntry,
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMDeregisterDevice(
IN NDIS_HANDLE NdisDeviceHandle);
VOID
-EXPIMP
+DDKAPI
NdisMGetDeviceProperty(
IN NDIS_HANDLE MiniportAdapterHandle,
IN OUT PDEVICE_OBJECT *PhysicalDeviceObject OPTIONAL,
IN OUT PCM_RESOURCE_LIST *AllocatedResourcesTranslated OPTIONAL);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMInitializeScatterGatherDma(
IN NDIS_HANDLE MiniportAdapterHandle,
IN BOOLEAN Dma64BitAddresses,
IN ULONG MaximumPhysicalMapping);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMPromoteMiniport(
IN NDIS_HANDLE MiniportAdapterHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMQueryAdapterInstanceName(
OUT PNDIS_STRING AdapterInstanceName,
IN NDIS_HANDLE MiniportAdapterHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMRegisterDevice(
IN NDIS_HANDLE NdisWrapperHandle,
IN PNDIS_STRING DeviceName,
OUT NDIS_HANDLE *NdisDeviceHandle);
VOID
-EXPIMP
+DDKAPI
NdisMRegisterUnloadHandler(
IN NDIS_HANDLE NdisWrapperHandle,
IN PDRIVER_UNLOAD UnloadHandler);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMRemoveMiniport(
IN NDIS_HANDLE MiniportAdapterHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMSetMiniportSecondary(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE PrimaryMiniportAdapterHandle);
UINT
-EXPIMP
+DDKAPI
NdisPacketPoolUsage(
IN NDIS_HANDLE PoolHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisQueryAdapterInstanceName(
OUT PNDIS_STRING AdapterInstanceName,
IN NDIS_HANDLE NdisBindingHandle);
VOID
-EXPIMP
+DDKAPI
NdisQueryBufferSafe(
IN PNDIS_BUFFER Buffer,
OUT PVOID *VirtualAddress OPTIONAL,
IN UINT Priority);
ULONG
-EXPIMP
+DDKAPI
NdisReadPcmciaAttributeMemory(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG Offset,
IN ULONG Length);
VOID
-EXPIMP
+DDKAPI
NdisReleaseReadWriteLock(
IN PNDIS_RW_LOCK Lock,
IN PLOCK_STATE LockState);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisWriteEventLogEntry(
IN PVOID LogHandle,
IN NDIS_STATUS EventCode,
IN PVOID Data OPTIONAL);
ULONG
-EXPIMP
+DDKAPI
NdisWritePcmciaAttributeMemory(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG Offset,
/* Connectionless services */
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisClAddParty(
IN NDIS_HANDLE NdisVcHandle,
IN NDIS_HANDLE ProtocolPartyContext,
OUT PNDIS_HANDLE NdisPartyHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisClCloseAddressFamily(
IN NDIS_HANDLE NdisAfHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisClCloseCall(
IN NDIS_HANDLE NdisVcHandle,
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
IN UINT Size);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisClDeregisterSap(
IN NDIS_HANDLE NdisSapHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisClDropParty(
IN NDIS_HANDLE NdisPartyHandle,
IN PVOID Buffer OPTIONAL,
IN UINT Size);
VOID
-EXPIMP
+DDKAPI
NdisClIncomingCallComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisClMakeCall(
IN NDIS_HANDLE NdisVcHandle,
IN OUT PCO_CALL_PARAMETERS CallParameters,
OUT PNDIS_HANDLE NdisPartyHandle OPTIONAL);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisClModifyCallQoS(
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisClOpenAddressFamily(
IN NDIS_HANDLE NdisBindingHandle,
IN PCO_ADDRESS_FAMILY AddressFamily,
OUT PNDIS_HANDLE NdisAfHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisClRegisterSap(
IN NDIS_HANDLE NdisAfHandle,
IN NDIS_HANDLE ProtocolSapContext,
/* Call Manager services */
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisCmActivateVc(
IN NDIS_HANDLE NdisVcHandle,
IN OUT PCO_CALL_PARAMETERS CallParameters);
VOID
-EXPIMP
+DDKAPI
NdisCmAddPartyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisPartyHandle,
IN PCO_CALL_PARAMETERS CallParameters);
VOID
-EXPIMP
+DDKAPI
NdisCmCloseAddressFamilyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisAfHandle);
VOID
-EXPIMP
+DDKAPI
NdisCmCloseCallComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
IN NDIS_HANDLE NdisPartyHandle OPTIONAL);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisCmDeactivateVc(
IN NDIS_HANDLE NdisVcHandle);
VOID
-EXPIMP
+DDKAPI
NdisCmDeregisterSapComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisSapHandle);
VOID
-EXPIMP
+DDKAPI
NdisCmDispatchCallConnected(
IN NDIS_HANDLE NdisVcHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisCmDispatchIncomingCall(
IN NDIS_HANDLE NdisSapHandle,
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
VOID
-EXPIMP
+DDKAPI
NdisCmDispatchIncomingCallQoSChange(
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
VOID
-EXPIMP
+DDKAPI
NdisCmDispatchIncomingCloseCall(
IN NDIS_STATUS CloseStatus,
IN NDIS_HANDLE NdisVcHandle,
IN UINT Size);
VOID
-EXPIMP
+DDKAPI
NdisCmDispatchIncomingDropParty(
IN NDIS_STATUS DropStatus,
IN NDIS_HANDLE NdisPartyHandle,
IN UINT Size);
VOID
-EXPIMP
+DDKAPI
NdisCmDropPartyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisPartyHandle);
VOID
-EXPIMP
+DDKAPI
NdisCmMakeCallComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
VOID
-EXPIMP
+DDKAPI
NdisCmModifyCallQoSComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
VOID
-EXPIMP
+DDKAPI
NdisCmOpenAddressFamilyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisAfHandle,
IN NDIS_HANDLE CallMgrAfContext);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisCmRegisterAddressFamily(
IN NDIS_HANDLE NdisBindingHandle,
IN PCO_ADDRESS_FAMILY AddressFamily,
IN UINT SizeOfCmCharacteristics);
VOID
-EXPIMP
+DDKAPI
NdisCmRegisterSapComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisSapHandle,
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMCmActivateVc(
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMCmCreateVc(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE NdisAfHandle,
OUT PNDIS_HANDLE NdisVcHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMCmDeactivateVc(
IN NDIS_HANDLE NdisVcHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMCmDeleteVc(
IN NDIS_HANDLE NdisVcHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMCmRegisterAddressFamily(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PCO_ADDRESS_FAMILY AddressFamily,
IN UINT SizeOfCmCharacteristics);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMCmRequest(
IN NDIS_HANDLE NdisAfHandle,
IN NDIS_HANDLE NdisVcHandle OPTIONAL,
/* Connection-oriented services */
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisCoCreateVc(
IN NDIS_HANDLE NdisBindingHandle,
IN NDIS_HANDLE NdisAfHandle OPTIONAL,
IN OUT PNDIS_HANDLE NdisVcHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisCoDeleteVc(
IN NDIS_HANDLE NdisVcHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisCoRequest(
IN NDIS_HANDLE NdisBindingHandle,
IN NDIS_HANDLE NdisAfHandle OPTIONAL,
IN OUT PNDIS_REQUEST NdisRequest);
VOID
-EXPIMP
+DDKAPI
NdisCoRequestComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisAfHandle,
IN PNDIS_REQUEST NdisRequest);
VOID
-EXPIMP
+DDKAPI
NdisCoSendPackets(
IN NDIS_HANDLE NdisVcHandle,
IN PPNDIS_PACKET PacketArray,
VOID
-EXPIMP
+DDKAPI
NdisMCoActivateVcComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
IN PCO_CALL_PARAMETERS CallParameters);
VOID
-EXPIMP
+DDKAPI
NdisMCoDeactivateVcComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle);
VOID
-EXPIMP
+DDKAPI
NdisMCoIndicateReceivePacket(
IN NDIS_HANDLE NdisVcHandle,
IN PPNDIS_PACKET PacketArray,
IN UINT NumberOfPackets);
VOID
-EXPIMP
+DDKAPI
NdisMCoIndicateStatus(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE NdisVcHandle OPTIONAL,
IN ULONG StatusBufferSize);
VOID
-EXPIMP
+DDKAPI
NdisMCoReceiveComplete(
IN NDIS_HANDLE MiniportAdapterHandle);
VOID
-EXPIMP
+DDKAPI
NdisMCoRequestComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE MiniportAdapterHandle,
IN PNDIS_REQUEST Request);
VOID
-EXPIMP
+DDKAPI
NdisMCoSendComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE NdisVcHandle,
/* NDIS 5.0 extensions for intermediate drivers */
VOID
-EXPIMP
+DDKAPI
NdisIMAssociateMiniport(
IN NDIS_HANDLE DriverHandle,
IN NDIS_HANDLE ProtocolHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisIMCancelInitializeDeviceInstance(
IN NDIS_HANDLE DriverHandle,
IN PNDIS_STRING DeviceInstance);
VOID
-EXPIMP
+DDKAPI
NdisIMCopySendCompletePerPacketInfo(
IN PNDIS_PACKET DstPacket,
IN PNDIS_PACKET SrcPacket);
VOID
-EXPIMP
+DDKAPI
NdisIMCopySendPerPacketInfo(
IN PNDIS_PACKET DstPacket,
IN PNDIS_PACKET SrcPacket);
VOID
-EXPIMP
+DDKAPI
NdisIMDeregisterLayeredMiniport(
IN NDIS_HANDLE DriverHandle);
NDIS_HANDLE
-EXPIMP
+DDKAPI
NdisIMGetBindingContext(
IN NDIS_HANDLE NdisBindingHandle);
NDIS_HANDLE
-EXPIMP
+DDKAPI
NdisIMGetDeviceContext(
IN NDIS_HANDLE MiniportAdapterHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisIMInitializeDeviceInstanceEx(
IN NDIS_HANDLE DriverHandle,
IN PNDIS_STRING DriverInstance,
VOID
-EXPIMP
+DDKAPI
ArcFilterDprIndicateReceive(
IN PARC_FILTER Filter,
IN PUCHAR pRawHeader,
IN UINT Length);
VOID
-EXPIMP
+DDKAPI
ArcFilterDprIndicateReceiveComplete(
IN PARC_FILTER Filter);
NDIS_STATUS
-EXPIMP
+DDKAPI
EthChangeFilterAddresses(
IN PETH_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN BOOLEAN Set);
BOOLEAN
-EXPIMP
+DDKAPI
EthCreateFilter(
IN UINT MaximumMulticastAddresses,
IN ETH_ADDRESS_CHANGE AddressChangeAction,
OUT PETH_FILTER *Filter);
VOID
-EXPIMP
+DDKAPI
EthDeleteFilter(
IN PETH_FILTER Filter);
NDIS_STATUS
-EXPIMP
+DDKAPI
EthDeleteFilterOpenAdapter(
IN PETH_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN PNDIS_REQUEST NdisRequest);
NDIS_STATUS
-EXPIMP
+DDKAPI
EthFilterAdjust(
IN PETH_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN BOOLEAN Set);
VOID
-EXPIMP
+DDKAPI
EthFilterIndicateReceive(
IN PETH_FILTER Filter,
IN NDIS_HANDLE MacReceiveContext,
IN UINT PacketSize);
VOID
-EXPIMP
+DDKAPI
EthFilterIndicateReceiveComplete(
IN PETH_FILTER Filter);
BOOLEAN
-EXPIMP
+DDKAPI
EthNoteFilterOpenAdapter(
IN PETH_FILTER Filter,
IN NDIS_HANDLE MacBindingHandle,
OUT PNDIS_HANDLE NdisFilterHandle);
UINT
-EXPIMP
+DDKAPI
EthNumberOfOpenFilterAddresses(
IN PETH_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle);
VOID
-EXPIMP
+DDKAPI
EthQueryGlobalFilterAddresses (
OUT PNDIS_STATUS Status,
IN PETH_FILTER Filter,
IN OUT CHAR AddressArray[] [ETH_LENGTH_OF_ADDRESS]);
VOID
-EXPIMP
+DDKAPI
EthQueryOpenFilterAddresses(
OUT PNDIS_STATUS Status,
IN PETH_FILTER Filter,
IN OUT CHAR AddressArray[] [ETH_LENGTH_OF_ADDRESS]);
BOOLEAN
-EXPIMP
+DDKAPI
EthShouldAddressLoopBack(
IN PETH_FILTER Filter,
IN CHAR Address[ETH_LENGTH_OF_ADDRESS]);
NDIS_STATUS
-EXPIMP
+DDKAPI
FddiChangeFilterLongAddresses(
IN PFDDI_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN BOOLEAN Set);
NDIS_STATUS
-EXPIMP
+DDKAPI
FddiChangeFilterShortAddresses(
IN PFDDI_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN BOOLEAN Set);
BOOLEAN
-EXPIMP
+DDKAPI
FddiCreateFilter(
IN UINT MaximumMulticastLongAddresses,
IN UINT MaximumMulticastShortAddresses,
OUT PFDDI_FILTER *Filter);
VOID
-EXPIMP
+DDKAPI
FddiDeleteFilter(
IN PFDDI_FILTER Filter);
NDIS_STATUS
-EXPIMP
+DDKAPI
FddiDeleteFilterOpenAdapter(
IN PFDDI_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN PNDIS_REQUEST NdisRequest);
NDIS_STATUS
-EXPIMP
+DDKAPI
FddiFilterAdjust(
IN PFDDI_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN BOOLEAN Set);
VOID
-EXPIMP
+DDKAPI
FddiFilterIndicateReceive(
IN PFDDI_FILTER Filter,
IN NDIS_HANDLE MacReceiveContext,
IN UINT PacketSize);
VOID
-EXPIMP
+DDKAPI
FddiFilterIndicateReceiveComplete(
IN PFDDI_FILTER Filter);
BOOLEAN
-EXPIMP
+DDKAPI
FddiNoteFilterOpenAdapter(
IN PFDDI_FILTER Filter,
IN NDIS_HANDLE MacBindingHandle,
OUT PNDIS_HANDLE NdisFilterHandle);
UINT
-EXPIMP
+DDKAPI
FddiNumberOfOpenFilterLongAddresses(
IN PFDDI_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle);
UINT
-EXPIMP
+DDKAPI
FddiNumberOfOpenFilterShortAddresses(
IN PFDDI_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle);
VOID
-EXPIMP
+DDKAPI
FddiQueryGlobalFilterLongAddresses(
OUT PNDIS_STATUS Status,
IN PFDDI_FILTER Filter,
IN OUT CHAR AddressArray[] [FDDI_LENGTH_OF_LONG_ADDRESS]);
VOID
-EXPIMP
+DDKAPI
FddiQueryGlobalFilterShortAddresses(
OUT PNDIS_STATUS Status,
IN PFDDI_FILTER Filter,
IN OUT CHAR AddressArray[] [FDDI_LENGTH_OF_SHORT_ADDRESS]);
VOID
-EXPIMP
+DDKAPI
FddiQueryOpenFilterLongAddresses(
OUT PNDIS_STATUS Status,
IN PFDDI_FILTER Filter,
IN OUT CHAR AddressArray[] [FDDI_LENGTH_OF_LONG_ADDRESS]);
VOID
-EXPIMP
+DDKAPI
FddiQueryOpenFilterShortAddresses(
OUT PNDIS_STATUS Status,
IN PFDDI_FILTER Filter,
IN OUT CHAR AddressArray[] [FDDI_LENGTH_OF_SHORT_ADDRESS]);
BOOLEAN
-EXPIMP
+DDKAPI
FddiShouldAddressLoopBack(
IN PFDDI_FILTER Filter,
IN CHAR Address[],
NDIS_STATUS
-EXPIMP
+DDKAPI
TrChangeFunctionalAddress(
IN PTR_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN BOOLEAN Set);
NDIS_STATUS
-EXPIMP
+DDKAPI
TrChangeGroupAddress(
IN PTR_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN BOOLEAN Set);
BOOLEAN
-EXPIMP
+DDKAPI
TrCreateFilter(
IN TR_ADDRESS_CHANGE AddressChangeAction,
IN TR_GROUP_CHANGE GroupChangeAction,
OUT PTR_FILTER *Filter);
VOID
-EXPIMP
+DDKAPI
TrDeleteFilter(
IN PTR_FILTER Filter);
NDIS_STATUS
-EXPIMP
+DDKAPI
TrDeleteFilterOpenAdapter (
IN PTR_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN PNDIS_REQUEST NdisRequest);
NDIS_STATUS
-EXPIMP
+DDKAPI
TrFilterAdjust(
IN PTR_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN BOOLEAN Set);
VOID
-EXPIMP
+DDKAPI
TrFilterIndicateReceive(
IN PTR_FILTER Filter,
IN NDIS_HANDLE MacReceiveContext,
IN UINT PacketSize);
VOID
-EXPIMP
+DDKAPI
TrFilterIndicateReceiveComplete(
IN PTR_FILTER Filter);
BOOLEAN
-EXPIMP
+DDKAPI
TrNoteFilterOpenAdapter(
IN PTR_FILTER Filter,
IN NDIS_HANDLE MacBindingHandle,
OUT PNDIS_HANDLE NdisFilterHandle);
BOOLEAN
-EXPIMP
+DDKAPI
TrShouldAddressLoopBack(
IN PTR_FILTER Filter,
IN CHAR DestinationAddress[TR_LENGTH_OF_ADDRESS],
VOID
-EXPIMP
+DDKAPI
NdisAllocateSharedMemory(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG Length,
OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress);
VOID
-EXPIMP
+DDKAPI
NdisCompleteCloseAdapter(
IN NDIS_HANDLE NdisBindingContext,
IN NDIS_STATUS Status);
VOID
-EXPIMP
+DDKAPI
NdisCompleteOpenAdapter(
IN NDIS_HANDLE NdisBindingContext,
IN NDIS_STATUS Status,
IN NDIS_STATUS OpenErrorStatus);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisDeregisterAdapter(
IN NDIS_HANDLE NdisAdapterHandle);
VOID
-EXPIMP
+DDKAPI
NdisDeregisterAdapterShutdownHandler(
IN NDIS_HANDLE NdisAdapterHandle);
VOID
-EXPIMP
+DDKAPI
NdisFreeSharedMemory(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG Length,
IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
VOID
-EXPIMP
+DDKAPI
NdisInitializeInterrupt(
OUT PNDIS_STATUS Status,
IN OUT PNDIS_INTERRUPT Interrupt,
IN NDIS_INTERRUPT_MODE InterruptMode);
VOID
-EXPIMP
+DDKAPI
NdisMapIoSpace(
OUT PNDIS_STATUS Status,
OUT PVOID *VirtualAddress,
IN UINT Length);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisRegisterAdapter(
OUT PNDIS_HANDLE NdisAdapterHandle,
IN NDIS_HANDLE NdisMacHandle,
IN PVOID AdapterInformation);
VOID
-EXPIMP
+DDKAPI
NdisRegisterAdapterShutdownHandler(
IN NDIS_HANDLE NdisAdapterHandle,
IN PVOID ShutdownContext,
IN ADAPTER_SHUTDOWN_HANDLER ShutdownHandler);
VOID
-EXPIMP
+DDKAPI
NdisRegisterMac(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE NdisMacHandle,
IN UINT CharacteristicsLength);
VOID
-EXPIMP
+DDKAPI
NdisReleaseAdapterResources(
IN NDIS_HANDLE NdisAdapterHandle);
VOID
-EXPIMP
+DDKAPI
NdisRemoveInterrupt(
IN PNDIS_INTERRUPT Interrupt);
(SystemSpecific3))
VOID
-EXPIMP
+DDKAPI
NdisInitializeWrapper(
OUT PNDIS_HANDLE NdisWrapperHandle,
IN PVOID SystemSpecific1,
IN PVOID SystemSpecific3);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMAllocateMapRegisters(
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT DmaChannel,
}
VOID
-EXPIMP
+DDKAPI
NdisMCloseLog(
IN NDIS_HANDLE LogHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMCreateLog(
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT Size,
OUT PNDIS_HANDLE LogHandle);
VOID
-EXPIMP
+DDKAPI
NdisMDeregisterAdapterShutdownHandler(
IN NDIS_HANDLE MiniportHandle);
VOID
-EXPIMP
+DDKAPI
NdisMDeregisterInterrupt(
IN PNDIS_MINIPORT_INTERRUPT Interrupt);
VOID
-EXPIMP
+DDKAPI
NdisMDeregisterIoPortRange(
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT InitialPort,
}
VOID
-EXPIMP
+DDKAPI
NdisMFlushLog(
IN NDIS_HANDLE LogHandle);
VOID
-EXPIMP
+DDKAPI
NdisMFreeMapRegisters(
IN NDIS_HANDLE MiniportAdapterHandle);
VOID
-EXPIMP
+DDKAPI
NdisMIndicateStatus(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_STATUS GeneralStatus,
IN UINT StatusBufferSize);
VOID
-EXPIMP
+DDKAPI
NdisMIndicateStatusComplete(
IN NDIS_HANDLE MiniportAdapterHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMMapIoSpace(
OUT PVOID * VirtualAddress,
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT Length);
VOID
-EXPIMP
+DDKAPI
NdisMQueryInformationComplete(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_STATUS Status);
VOID
-EXPIMP
+DDKAPI
NdisMRegisterAdapterShutdownHandler(
IN NDIS_HANDLE MiniportHandle,
IN PVOID ShutdownContext,
IN ADAPTER_SHUTDOWN_HANDLER ShutdownHandler);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMRegisterInterrupt(
OUT PNDIS_MINIPORT_INTERRUPT Interrupt,
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_INTERRUPT_MODE InterruptMode);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMRegisterIoPortRange(
OUT PVOID * PortOffset,
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT NumberOfPorts);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMRegisterMiniport(
IN NDIS_HANDLE NdisWrapperHandle,
IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
IN UINT CharacteristicsLength);
VOID
-EXPIMP
+DDKAPI
NdisMSetTimer(
IN PNDIS_MINIPORT_TIMER Timer,
IN UINT MillisecondsToDelay);
VOID
-EXPIMP
+DDKAPI
NdisMInitializeTimer(
IN OUT PNDIS_MINIPORT_TIMER Timer,
IN NDIS_HANDLE MiniportAdapterHandle,
IN PVOID FunctionContext);
VOID
-EXPIMP
+DDKAPI
NdisMSetPeriodicTimer(
IN PNDIS_MINIPORT_TIMER Timer,
IN UINT MillisecondPeriod);
VOID
-EXPIMP
+DDKAPI
NdisMCancelTimer(
IN PNDIS_MINIPORT_TIMER Timer,
OUT PBOOLEAN TimerCancelled);
VOID
-EXPIMP
+DDKAPI
NdisMSetAttributes(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE MiniportAdapterContext,
IN NDIS_INTERFACE_TYPE AdapterType);
VOID
-EXPIMP
+DDKAPI
NdisMSetAttributesEx(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE MiniportAdapterContext,
IN NDIS_INTERFACE_TYPE AdapterType);
VOID
-EXPIMP
+DDKAPI
NdisMSetInformationComplete(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_STATUS Status);
VOID
-EXPIMP
+DDKAPI
NdisMSleep(
IN ULONG MicrosecondsToSleep);
BOOLEAN
-EXPIMP
+DDKAPI
NdisMSynchronizeWithInterrupt(
IN PNDIS_MINIPORT_INTERRUPT Interrupt,
IN PVOID SynchronizeFunction,
}
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisMWriteLogData(
IN NDIS_HANDLE LogHandle,
IN PVOID LogBuffer,
IN UINT LogBufferSize);
VOID
-EXPIMP
+DDKAPI
NdisMQueryAdapterResources(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE WrapperConfigurationContext,
IN OUT PUINT BufferSize);
VOID
-EXPIMP
+DDKAPI
NdisTerminateWrapper(
IN NDIS_HANDLE NdisWrapperHandle,
IN PVOID SystemSpecific);
VOID
-EXPIMP
+DDKAPI
NdisMUnmapIoSpace(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PVOID VirtualAddress,
/* Routines for intermediate miniport drivers */
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisIMDeInitializeDeviceInstance(
IN NDIS_HANDLE NdisMiniportHandle);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisIMInitializeDeviceInstance(
IN NDIS_HANDLE DriverHandle,
IN PNDIS_STRING DeviceInstance);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisIMQueueMiniportCallback(
IN NDIS_HANDLE MiniportAdapterHandle,
IN W_MINIPORT_CALLBACK CallbackRoutine,
IN PVOID CallbackContext);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisIMRegisterLayeredMiniport(
IN NDIS_HANDLE NdisWrapperHandle,
IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
OUT PNDIS_HANDLE DriverHandle);
VOID
-EXPIMP
+DDKAPI
NdisIMRevertBack(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE SwitchHandle);
BOOLEAN
-EXPIMP
+DDKAPI
NdisIMSwitchToMiniport(
IN NDIS_HANDLE MiniportAdapterHandle,
OUT PNDIS_HANDLE SwitchHandle);
/* Functions obsoleted by NDIS 5.0 */
VOID
-EXPIMP
+DDKAPI
NdisFreeDmaChannel(
IN PNDIS_HANDLE NdisDmaHandle);
VOID
-EXPIMP
+DDKAPI
NdisFreeSharedMemory(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG Length,
IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisIMQueueMiniportCallback(
IN NDIS_HANDLE MiniportAdapterHandle,
IN W_MINIPORT_CALLBACK CallbackRoutine,
IN PVOID CallbackContext);
VOID
-EXPIMP
+DDKAPI
NdisIMRevertBack(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE SwitchHandle);
BOOLEAN
-EXPIMP
+DDKAPI
NdisIMSwitchToMiniport(
IN NDIS_HANDLE MiniportAdapterHandle,
OUT PNDIS_HANDLE SwitchHandle);
VOID
-EXPIMP
+DDKAPI
NdisSetupDmaTransfer(
OUT PNDIS_STATUS Status,
IN PNDIS_HANDLE NdisDmaHandle,
IN BOOLEAN WriteToDevice);
NTSTATUS
-EXPIMP
+DDKAPI
NdisUpcaseUnicodeString(
OUT PUNICODE_STRING DestinationString,
IN PUNICODE_STRING SourceString);
VOID
-EXPIMP
+DDKAPI
NdisUpdateSharedMemory(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG Length,
/* Routines for NDIS protocol drivers */
VOID
-EXPIMP
+DDKAPI
NdisRequest(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle,
IN PNDIS_REQUEST NdisRequest);
VOID
-EXPIMP
+DDKAPI
NdisReset(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle);
VOID
-EXPIMP
+DDKAPI
NdisSend(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle,
IN PNDIS_PACKET Packet);
VOID
-EXPIMP
+DDKAPI
NdisSendPackets(
IN NDIS_HANDLE NdisBindingHandle,
IN PPNDIS_PACKET PacketArray,
IN UINT NumberOfPackets);
VOID
-EXPIMP
+DDKAPI
NdisTransferData(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle,
VOID
-EXPIMP
+DDKAPI
NdisCloseAdapter(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisBindingHandle);
VOID
-EXPIMP
+DDKAPI
NdisCompleteBindAdapter(
IN NDIS_HANDLE BindAdapterContext,
IN NDIS_STATUS Status,
IN NDIS_STATUS OpenStatus);
VOID
-EXPIMP
+DDKAPI
NdisCompleteUnbindAdapter(
IN NDIS_HANDLE UnbindAdapterContext,
IN NDIS_STATUS Status);
VOID
-EXPIMP
+DDKAPI
NdisDeregisterProtocol(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE NdisProtocolHandle);
VOID
-EXPIMP
+DDKAPI
NdisOpenAdapter(
OUT PNDIS_STATUS Status,
OUT PNDIS_STATUS OpenErrorStatus,
IN PSTRING AddressingInformation);
VOID
-EXPIMP
+DDKAPI
NdisOpenProtocolConfiguration(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE ConfigurationHandle,
IN PNDIS_STRING ProtocolSection);
NDIS_STATUS
-EXPIMP
+DDKAPI
NdisQueryReceiveInformation(
IN NDIS_HANDLE NdisBindingHandle,
IN NDIS_HANDLE MacContext,
OUT PUINT SizeNeeded);
VOID
-EXPIMP
+DDKAPI
NdisRegisterProtocol(
OUT PNDIS_STATUS Status,
OUT PNDIS_HANDLE NdisProtocolHandle,
IN UINT CharacteristicsLength);
VOID
-EXPIMP
+DDKAPI
NdisReturnPackets(
IN PNDIS_PACKET *PacketsToReturn,
IN UINT NumberOfPackets);
(((PNDIS_OPEN_BLOCK)(NdisBindingHandle))->SendPacketsHandler)( \
(PNDIS_OPEN_BLOCK)(NdisBindingHandle), (PacketArray), (NumberOfPackets)); \
}
+
+#ifdef __cplusplus
+}
#endif
+
+#endif /* __NDIS_H */
+
+/* EOF */
/*
- * COPYRIGHT: See COPYING in the top level directory
- * PROJECT: ReactOS TDI library
- * FILE: include/net/tdi.h
- * PURPOSE: TDI definitions for user mode clients
+ * tdi.h
+ *
+ * TDI user mode definitions
+ *
+ * This file is part of the w32api package.
+ *
+ * Contributors:
+ * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may
+ * use, modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
*/
+
#ifndef __TDI_H
#define __TDI_H
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#pragma pack(push,4)
+
+#include "ntddk.h"
+#include "tdistat.h"
+
/* FIXME: Missed some definitions in ntddk.h */
/* Could be defined elsewhere
typedef PVOID CONNECTION_CONTEXT;
-
/* TDI status codes */
-
+///*
#define TDI_SUCCESS STATUS_SUCCESS
#define TDI_NO_RESOURCES STATUS_INSUFFICIENT_RESOURCES
#define TDI_ADDR_IN_USE STATUS_ADDRESS_ALREADY_EXISTS
#define TDI_OPTION_EOL 0
#define TDI_ADDRESS_OPTION_REUSE 1
#define TDI_ADDRESS_OPTION_DHCP 2
-
+// */
/* TDI IOCTL codes */
/* TDI structures */
-typedef struct _TDI_CONNECTION_INFORMATION
-{
+typedef struct _TDI_CONNECTION_INFORMATION {
LONG UserDataLength;
PVOID UserData;
LONG OptionsLength;
PVOID RemoteAddress;
} TDI_CONNECTION_INFORMATION, *PTDI_CONNECTION_INFORMATION;
-typedef struct _TDI_REQUEST
-{
+typedef struct _TDI_REQUEST {
union {
HANDLE AddressHandle;
CONNECTION_CONTEXT ConnectionContext;
TDI_STATUS TdiStatus;
} TDI_REQUEST, *PTDI_REQUEST;
-typedef struct _TDI_REQUEST_STATUS
-{
+typedef struct _TDI_REQUEST_STATUS {
TDI_STATUS Status;
PVOID RequestContext;
ULONG BytesTransferred;
} TDI_REQUEST_STATUS, *PTDI_REQUEST_STATUS;
-
-typedef struct _TA_ADDRESS
-{
+typedef struct _TA_ADDRESS {
USHORT AddressLength;
USHORT AddressType;
UCHAR Address[1];
#define TDI_ADDRESS_TYPE_NETONE 20
#define TDI_ADDRESS_TYPE_VNS 21
#define TDI_ADDRESS_TYPE_NETBIOS_EX 22
-
+#define TDI_ADDRESS_TYPE_IP6 23
+#define TDI_ADDRESS_TYPE_NETBIOS_UNICODE_EX 24
#define TdiTransportAddress "TransportAddress"
#define TdiConnectionContext "ConnectionContext"
#define TDI_TRANSPORT_ADDRESS_LENGTH (sizeof(TdiTransportAddress) - 1)
#define TDI_CONNECTION_CONTEXT_LENGTH (sizeof(TdiConnectionContext) - 1)
-
-typedef struct _TRANSPORT_ADDRESS
-{
+typedef struct _TRANSPORT_ADDRESS {
LONG TAAddressCount;
TA_ADDRESS Address[1];
} TRANSPORT_ADDRESS, *PTRANSPORT_ADDRESS;
-typedef struct _TDI_ADDRESS_INFO
-{
+typedef struct _TDI_ADDRESS_INFO {
ULONG ActivityCount;
TRANSPORT_ADDRESS Address;
} TDI_ADDRESS_INFO, *PTDI_ADDRESS_INFO;
-typedef struct _TDI_ACTION_HEADER
-{
+typedef struct _TDI_ACTION_HEADER {
ULONG TransportId;
USHORT ActionCode;
USHORT Reserved;
} TDI_ACTION_HEADER, *PTDI_ACTION_HEADER;
-typedef struct _TDI_ADDRESS_8022
-{
+typedef struct _TDI_ADDRESS_8022 {
UCHAR MACAddress[6];
} TDI_ADDRESS_8022, *PTDI_ADDRESS_8022;
-typedef struct _TDI_ADDRESS_APPLETALK
-{
+#define TDI_ADDRESS_LENGTH_8022 sizeof(TDI_ADDRESS_8022);
+
+typedef struct _TDI_ADDRESS_APPLETALK {
USHORT Network;
UCHAR Node;
UCHAR Socket;
#define TDI_ADDRESS_LENGTH_APPLETALK sizeof(TDI_ADDRESS_APPLETALK)
-typedef struct _TDI_ADDRESS_IP
-{
+typedef struct _TDI_ADDRESS_IP {
USHORT sin_port;
ULONG in_addr;
UCHAR sin_zero[8];
#define TDI_ADDRESS_LENGTH_IP sizeof(TDI_ADDRESS_IP)
-typedef struct _TDI_ADDRESS_IPX
-{
+typedef struct _TDI_ADDRESS_IPX {
ULONG NetworkAddress;
UCHAR NodeAddress[6];
USHORT Socket;
#define TDI_ADDRESS_LENGTH_IPX sizeof(TDI_ADDRESS_IPX)
-typedef struct _TDI_ADDRESS_NETBIOS
-{
- USHORT NetbiosNameType;
- UCHAR NetbiosName[16];
-} TDI_ADDRESS_NETBIOS, *PTDI_ADDRESS_NETBIOS;
-
+/* TDI_ADDRESS_NETBIOS.NetbiosNameType constants */
#define TDI_ADDRESS_NETBIOS_TYPE_UNIQUE 0x0000
#define TDI_ADDRESS_NETBIOS_TYPE_GROUP 0x0001
#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_UNIQUE 0x0002
#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_GROUP 0x0003
+typedef struct _TDI_ADDRESS_NETBIOS {
+ USHORT NetbiosNameType;
+ UCHAR NetbiosName[16];
+} TDI_ADDRESS_NETBIOS, *PTDI_ADDRESS_NETBIOS;
+
#define TDI_ADDRESS_LENGTH_NETBIOS sizeof(TDI_ADDRESS_NETBIOS)
-typedef struct _TDI_ADDRESS_NETBIOS_EX
-{
+typedef struct _TDI_ADDRESS_NETBIOS_EX {
UCHAR EndpointName[16];
TDI_ADDRESS_NETBIOS NetbiosAddress;
} TDI_ADDRESS_NETBIOS_EX, *PTDI_ADDRESS_NETBIOS_EX;
#define TDI_ADDRESS_LENGTH_NETBIOS_EX sizeof(TDI_ADDRESS_NETBIOS_EX)
-typedef struct _TDI_ADDRESS_NETONE
-{
+/* TDI_ADDRESS_NETONE.NetoneNameType constants */
+#define TDI_ADDRESS_NETONE_TYPE_UNIQUE 0x0000
+#define TDI_ADDRESS_NETONE_TYPE_ROTORED 0x0001
+
+typedef struct _TDI_ADDRESS_NETONE {
USHORT NetoneNameType;
UCHAR NetoneName[20];
} TDI_ADDRESS_NETONE, *PTDI_ADDRESS_NETONE;
-#define TDI_ADDRESS_NETONE_TYPE_UNIQUE 0x0000
-#define TDI_ADDRESS_NETONE_TYPE_ROTORED 0x0001
-
#define TDI_ADDRESS_LENGTH_NETONE sizeof(TDI_ADDRESS_NETONE)
typedef struct _TDI_ADDRESS_NS
#define ISO_MAX_ADDR_LENGTH 64
+/* TDI_ADDRESS_OSI_TSAP.tp_addr_type constants */
#define ISO_HIERARCHICAL 0
#define ISO_NON_HIERARCHICAL 1
-typedef struct _TDI_ADDRESS_OSI_TSAP
-{
+typedef struct _TDI_ADDRESS_OSI_TSAP {
USHORT tp_addr_type;
USHORT tp_taddr_len;
USHORT tp_tsel_len;
#define TDI_ADDRESS_LENGTH_OSI_TSAP sizeof(TDI_ADDRESS_OSI_TSAP)
-typedef struct _TDI_ADDRESS_VNS
-{
+typedef struct _TDI_ADDRESS_VNS {
UCHAR net_address[4];
UCHAR subnet_addr[2];
UCHAR port[2];
#define TDI_ADDRESS_LENGTH_VNS sizeof(TDI_ADDRESS_VNS)
-
-/* TDI request structures */
-
-typedef struct _TDI_CONNECT_REQUEST
-{
+typedef struct _TDI_ADDRESS_IP6 {
+ USHORT sin6_port;
+ ULONG sin6_flowinfo;
+ USHORT sin6_addr[8];
+ ULONG sin6_scope_id;
+} TDI_ADDRESS_IP6, *PTDI_ADDRESS_IP6;
+
+#define TDI_ADDRESS_LENGTH_IP6 sizeof(TDI_ADDRESS_IP6)
+
+enum eNameBufferType {
+ NBT_READONLY = 0,
+ NBT_WRITEONLY,
+ NBT_READWRITE,
+ NBT_WRITTEN
+};
+
+typedef struct _TDI_ADDRESS_NETBIOS_UNICODE_EX {
+ USHORT NetbiosNameType;
+ enum eNameBufferType NameBufferType;
+ UNICODE_STRING EndpointName;
+ UNICODE_STRING RemoteName;
+ WCHAR EndpointBuffer[17];
+ WCHAR RemoteNameBuffer[1];
+} TDI_ADDRESS_NETBIOS_UNICODE_EX, *PTDI_ADDRESS_NETBIOS_UNICODE_EX;
+
+
+typedef struct _TDI_CONNECT_REQUEST {
TDI_REQUEST Request;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
LARGE_INTEGER Timeout;
} TDI_REQUEST_CONNECT, *PTDI_REQUEST_CONNECT;
-typedef struct _TDI_REQUEST_ACCEPT
-{
+typedef struct _TDI_REQUEST_ACCEPT {
TDI_REQUEST Request;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
} TDI_REQUEST_ACCEPT, *PTDI_REQUEST_ACCEPT;
-typedef struct _TDI_REQUEST_LISTEN
-{
+typedef struct _TDI_REQUEST_LISTEN {
TDI_REQUEST Request;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
USHORT ListenFlags;
} TDI_REQUEST_LISTEN, *PTDI_REQUEST_LISTEN;
-typedef struct _TDI_DISCONNECT_REQUEST
-{
+typedef struct _TDI_DISCONNECT_REQUEST {
TDI_REQUEST Request;
LARGE_INTEGER Timeout;
} TDI_REQUEST_DISCONNECT, *PTDI_REQUEST_DISCONNECT;
-typedef struct _TDI_REQUEST_SEND
-{
+typedef struct _TDI_REQUEST_SEND {
TDI_REQUEST Request;
USHORT SendFlags;
} TDI_REQUEST_SEND, *PTDI_REQUEST_SEND;
-typedef struct _TDI_REQUEST_RECEIVE
-{
+typedef struct _TDI_REQUEST_RECEIVE {
TDI_REQUEST Request;
USHORT ReceiveFlags;
} TDI_REQUEST_RECEIVE, *PTDI_REQUEST_RECEIVE;
-typedef struct _TDI_REQUEST_SEND_DATAGRAM
-{
+typedef struct _TDI_REQUEST_SEND_DATAGRAM {
TDI_REQUEST Request;
PTDI_CONNECTION_INFORMATION SendDatagramInformation;
} TDI_REQUEST_SEND_DATAGRAM, *PTDI_REQUEST_SEND_DATAGRAM;
-typedef struct _TDI_REQUEST_RECEIVE_DATAGRAM
-{
+typedef struct _TDI_REQUEST_RECEIVE_DATAGRAM {
TDI_REQUEST Request;
PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation;
PTDI_CONNECTION_INFORMATION ReturnInformation;
USHORT ReceiveFlags;
} TDI_REQUEST_RECEIVE_DATAGRAM, *PTDI_REQUEST_RECEIVE_DATAGRAM;
-typedef struct _TDI_REQUEST_SET_EVENT
-{
+typedef struct _TDI_REQUEST_SET_EVENT {
TDI_REQUEST Request;
LONG EventType;
PVOID EventHandler;
#define TDI_RECEIVE_COPY_LOOKAHEAD 0x00000200
#define TDI_RECEIVE_ENTIRE_MESSAGE 0x00000400
#define TDI_RECEIVE_AT_DISPATCH_LEVEL 0x00000800
+#define TDI_RECEIVE_CONTROL_INFO 0x00001000
/* Listen flags */
#define TDI_QUERY_ACCEPT 0x00000001
#define TDI_SEND_PARTIAL 0x0040
#define TDI_SEND_NO_RESPONSE_EXPECTED 0x0080
#define TDI_SEND_NON_BLOCKING 0x0100
+#define TDI_SEND_AND_DISCONNECT 0x0200
/* Disconnect Flags */
#define TDI_DISCONNECT_WAIT 0x0001
#define TDI_DISCONNECT_RELEASE 0x0004
/* TdiRequest structure for TdiQueryInformation request */
-typedef struct _TDI_REQUEST_QUERY_INFORMATION
-{
+typedef struct _TDI_REQUEST_QUERY_INFORMATION {
TDI_REQUEST Request;
ULONG QueryType;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
} TDI_REQUEST_QUERY_INFORMATION, *PTDI_REQUEST_QUERY_INFORMATION;
/* TdiRequest structure for TdiSetInformation request */
-typedef struct _TDI_REQUEST_SET_INFORMATION
-{
+typedef struct _TDI_REQUEST_SET_INFORMATION {
TDI_REQUEST Request;
ULONG SetType;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
} TDI_REQUEST_SET_INFORMATION, *PTDI_REQUEST_SET_INFORMATION;
-typedef union _TDI_REQUEST_TYPE
-{
+typedef TDI_REQUEST_SET_INFORMATION TDI_REQ_SET_INFORMATION, *PTDI_REQ_SET_INFORMATION;
+
+typedef union _TDI_REQUEST_TYPE {
TDI_REQUEST_ACCEPT TdiAccept;
TDI_REQUEST_CONNECT TdiConnect;
TDI_REQUEST_DISCONNECT TdiDisconnect;
} TDI_REQUEST_TYPE, *PTDI_REQUEST_TYPE;
-
/* Query information types */
/* Generic query info types that must be supported by all transports */
#define TDI_QUERY_SESSION_STATUS 0x00000200
#define TDI_QUERY_FIND_NAME 0x00000300
-typedef struct _TA_APPLETALK_ADDR
-{
+typedef struct _TA_APPLETALK_ADDR {
LONG TAAddressCount;
struct _AddrAtalk {
USHORT AddressLength;
} Address[1];
} TA_APPLETALK_ADDRESS, *PTA_APPLETALK_ADDRESS;
-typedef struct _TA_ADDRESS_IP
-{
+typedef struct _TA_ADDRESS_IP {
LONG TAAddressCount;
struct _AddrIp {
USHORT AddressLength;
} Address[1];
} TA_ADDRESS_IP, *PTA_ADDRESS_IP;
-typedef struct _TA_ADDRESS_IPX
-{
+typedef struct _TA_ADDRESS_IPX {
LONG TAAddressCount;
struct _AddrIpx {
USHORT AddressLength;
} Address[1];
} TA_IPX_ADDRESS, *PTA_IPX_ADDRESS;
-typedef struct _TA_NETBIOS_ADDRESS
-{
+typedef struct _TA_NETBIOS_ADDRESS {
LONG TAAddressCount;
struct _Addr{
USHORT AddressLength;
} Address[1];
} TA_NETBIOS_ADDRESS, *PTA_NETBIOS_ADDRESS;
-typedef struct _TA_ADDRESS_NS
-{
+typedef struct _TA_ADDRESS_NS {
LONG TAAddressCount;
struct _AddrNs {
USHORT AddressLength;
} Address[1];
} TA_NS_ADDRESS, *PTA_NS_ADDRESS;
-typedef struct _TA_ADDRESS_VNS
-{
+typedef struct _TA_ADDRESS_VNS {
LONG TAAddressCount;
struct _AddrVns {
USHORT AddressLength;
} Address[1];
} TA_VNS_ADDRESS, *PTA_VNS_ADDRESS;
+typedef struct _TA_ADDRESS_IP6 {
+ LONG TAAddressCount;
+ struct _AddrIp6 {
+ USHORT AddressLength;
+ USHORT AddressType;
+ TDI_ADDRESS_IP6 Address[1];
+ } Address [1];
+} TA_IP6_ADDRESS, *PTA_IP6_ADDRESS;
+
+typedef struct _TA_ADDRESS_NETBIOS_UNICODE_EX {
+ LONG TAAddressCount;
+ struct _AddrNetbiosWCharEx {
+ USHORT AddressLength;
+ USHORT AddressType;
+ TDI_ADDRESS_NETBIOS_UNICODE_EX Address[1];
+ } Address [1];
+} TA_NETBIOS_UNICODE_EX_ADDRESS, *PTA_NETBIOS_UNICODE_EX_ADDRESS;
+
/* Structures used for TdiQueryInformation and TdiSetInformation */
-typedef struct _TDI_ENDPOINT_INFO
-{
+typedef struct _TDI_ENDPOINT_INFO {
ULONG State;
ULONG Event;
ULONG TransmittedTsdus;
ULONG SecurityCompartment;
} TDI_ENDPOINT_INFO, *PTDI_ENDPOINT_INFO;
-typedef struct _TDI_CONNECTION_INFO
-{
+typedef struct _TDI_CONNECTION_INFO {
ULONG State;
ULONG Event;
ULONG TransmittedTsdus;
BOOLEAN Unreliable;
} TDI_CONNECTION_INFO, *PTDI_CONNECTION_INFO;
-typedef struct _TDI_DATAGRAM_INFO
-{
+typedef struct _TDI_DATAGRAM_INFO {
ULONG MaximumDatagramBytes;
ULONG MaximumDatagramCount;
} TDI_DATAGRAM_INFO, *PTDI_DATAGRAM_INFO;
-typedef struct _TDI_MAX_DATAGRAM_INFO
-{
+typedef struct _TDI_MAX_DATAGRAM_INFO {
ULONG MaxDatagramSize;
} TDI_MAX_DATAGRAM_INFO, *PTDI_MAX_DATAGRAM_INFO;
-typedef struct _TDI_PROVIDER_INFO
-{
+typedef struct _TDI_PROVIDER_INFO {
ULONG Version;
ULONG MaxSendSize;
ULONG MaxConnectionUserData;
#define TDI_SERVICE_POINT_TO_POINT 0x00001000
#define TDI_SERVICE_MESSAGE_MODE 0x00002000
#define TDI_SERVICE_HALF_DUPLEX 0x00004000
+#define TDI_SERVICE_DGRAM_CONNECTION 0x00008000
+#define TDI_SERVICE_FORCE_ACCESS_CHECK 0x00010000
+#define TDI_SERVICE_SEND_AND_DISCONNECT 0x00020000
+#define TDI_SERVICE_DIRECT_ACCEPT 0x00040000
+#define TDI_SERVICE_ACCEPT_LOCAL_ADDR 0x00080000
-typedef struct _TDI_PROVIDER_RESOURCE_STATS
-{
+typedef struct _TDI_PROVIDER_RESOURCE_STATS {
ULONG ResourceId;
ULONG MaximumResourceUsed;
ULONG AverageResourceUsed;
ULONG ResourceExhausted;
} TDI_PROVIDER_RESOURCE_STATS, *PTDI_PROVIDER_RESOURCE_STATS;
-typedef struct _TDI_PROVIDER_STATISTICS
-{
+typedef struct _TDI_PROVIDER_STATISTICS {
ULONG Version;
ULONG OpenConnections;
ULONG ConnectionsAfterNoRetry;
TDI_PROVIDER_RESOURCE_STATS Resources[1];
} TDI_PROVIDER_STATISTICS, *PTDI_PROVIDER_STATISTICS;
-#endif /* __TDI_H */
+#define TDI_EVENT_CONNECT 0
+#define TDI_EVENT_DISCONNECT 1
+#define TDI_EVENT_ERROR 2
+#define TDI_EVENT_RECEIVE 3
+#define TDI_EVENT_RECEIVE_DATAGRAM 4
+#define TDI_EVENT_RECEIVE_EXPEDITED 5
+#define TDI_EVENT_SEND_POSSIBLE 6
-/* EOF */
+typedef struct _TDI_REQUEST_ASSOCIATE {
+ TDI_REQUEST Request;
+ HANDLE AddressHandle;
+} TDI_REQUEST_ASSOCIATE_ADDRESS, *PTDI_REQUEST_ASSOCIATE_ADDRESS;
+
+#define NDIS_PACKET_POOL_TAG_FOR_NWLNKIPX 'iPDN'
+#define NDIS_PACKET_POOL_TAG_FOR_NWLNKSPX 'sPDN'
+#define NDIS_PACKET_POOL_TAG_FOR_NWLNKNB 'nPDN'
+#define NDIS_PACKET_POOL_TAG_FOR_TCPIP 'tPDN'
+#define NDIS_PACKET_POOL_TAG_FOR_NBF 'bPDN'
+#define NDIS_PACKET_POOL_TAG_FOR_APPLETALK 'aPDN'
+
+#pragma pack(pop)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TDI_H */
/*
- * COPYRIGHT: See COPYING in the top level directory
- * PROJECT: ReactOS TDI library
- * FILE: include/net/tdikrnl.h
- * PURPOSE: TDI definitions for kernel mode drivers
+ * tdikrnl.h
+ *
+ * TDI kernel mode definitions
+ *
+ * This file is part of the w32api package.
+ *
+ * Contributors:
+ * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may
+ * use, modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
*/
+
#ifndef __TDIKRNL_H
#define __TDIKRNL_H
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#pragma pack(push,4)
+
+#include "ntddk.h"
#include "tdi.h"
#ifndef STDCALL
#define STDCALL
#endif
+#define DDKAPI STDCALL
+
+#if defined(_TDI_)
+// #define TDIKRNLAPI DECLSPEC_EXPORT
+ #define TDIKRNLAPI
+#else
+// #define TDIKRNLAPI DECLSPEC_IMPORT
+ #define TDIKRNLAPI
+#endif
+
-typedef struct _TDI_REQUEST_KERNEL
-{
+typedef struct _TDI_REQUEST_KERNEL {
ULONG RequestFlags;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
#define TDI_DIRECT_SEND 0x27
#define TDI_DIRECT_SEND_DATAGRAM 0x29
-
#define TDI_TRANSPORT_ADDRESS_FILE 1
#define TDI_CONNECTION_FILE 2
#define TDI_CONTROL_CHANNEL_FILE 3
#define IOCTL_TDI_QUERY_DIRECT_SENDDG_HANDLER TDI_CONTROL_CODE(0x81, METHOD_NEITHER)
/* TdiAssociateAddress */
-typedef struct _TDI_REQUEST_KERNEL_ASSOCIATE
-{
+typedef struct _TDI_REQUEST_KERNEL_ASSOCIATE {
HANDLE AddressHandle;
} TDI_REQUEST_KERNEL_ASSOCIATE, *PTDI_REQUEST_KERNEL_ASSOCIATE;
*PTDI_REQUEST_KERNEL_DISASSOCIATE;
/* TdiAccept */
-typedef struct _TDI_REQUEST_KERNEL_ACCEPT
-{
+typedef struct _TDI_REQUEST_KERNEL_ACCEPT {
PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
} TDI_REQUEST_KERNEL_ACCEPT, *PTDI_REQUEST_KERNEL_ACCEPT;
+/* TdiConnect */
+typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_CONNECT,
+ *PTDI_REQUEST_KERNEL_CONNECT;
+
+/* TdiDisconnect */
+typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_DISCONNECT,
+ *PTDI_REQUEST_KERNEL_DISCONNECT;
+
+/* TdiListen */
+typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_LISTEN,
+ *PTDI_REQUEST_KERNEL_LISTEN;
+
/* TdiReceive */
-typedef struct _TDI_REQUEST_KERNEL_RECEIVE
-{
+typedef struct _TDI_REQUEST_KERNEL_RECEIVE {
ULONG ReceiveLength;
ULONG ReceiveFlags;
} TDI_REQUEST_KERNEL_RECEIVE, *PTDI_REQUEST_KERNEL_RECEIVE;
/* TdiReceiveDatagram */
-typedef struct _TDI_REQUEST_KERNEL_RECEIVEDG
-{
+typedef struct _TDI_REQUEST_KERNEL_RECEIVEDG {
ULONG ReceiveLength;
PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation;
PTDI_CONNECTION_INFORMATION ReturnDatagramInformation;
} TDI_REQUEST_KERNEL_RECEIVEDG, *PTDI_REQUEST_KERNEL_RECEIVEDG;
/* TdiSend */
-typedef struct _TDI_REQUEST_KERNEL_SEND
-{
+typedef struct _TDI_REQUEST_KERNEL_SEND {
ULONG SendLength;
ULONG SendFlags;
} TDI_REQUEST_KERNEL_SEND, *PTDI_REQUEST_KERNEL_SEND;
/* TdiSendDatagram */
-typedef struct _TDI_REQUEST_KERNEL_SENDDG
-{
+typedef struct _TDI_REQUEST_KERNEL_SENDDG {
ULONG SendLength;
PTDI_CONNECTION_INFORMATION SendDatagramInformation;
} TDI_REQUEST_KERNEL_SENDDG, *PTDI_REQUEST_KERNEL_SENDDG;
/* TdiSetEventHandler */
-typedef struct _TDI_REQUEST_KERNEL_SET_EVENT
-{
+typedef struct _TDI_REQUEST_KERNEL_SET_EVENT {
LONG EventType;
PVOID EventHandler;
PVOID EventContext;
} TDI_REQUEST_KERNEL_SET_EVENT, *PTDI_REQUEST_KERNEL_SET_EVENT;
/* TdiQueryInformation */
-typedef struct _TDI_REQUEST_KERNEL_QUERY_INFO
-{
+typedef struct _TDI_REQUEST_KERNEL_QUERY_INFO {
LONG QueryType;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
} TDI_REQUEST_KERNEL_QUERY_INFORMATION, *PTDI_REQUEST_KERNEL_QUERY_INFORMATION;
/* TdiSetInformation */
-typedef struct _TDI_REQUEST_KERNEL_SET_INFO
-{
+typedef struct _TDI_REQUEST_KERNEL_SET_INFO {
LONG SetType;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
} TDI_REQUEST_KERNEL_SET_INFORMATION, *PTDI_REQUEST_KERNEL_SET_INFORMATION;
#define TDI_EVENT_CHAINED_RECEIVE 7
#define TDI_EVENT_CHAINED_RECEIVE_DATAGRAM 8
#define TDI_EVENT_CHAINED_RECEIVE_EXPEDITED 9
+#define TDI_EVENT_ERROR_EX 10
-typedef NTSTATUS (*PTDI_IND_CONNECT)(
+typedef NTSTATUS
+(*PTDI_IND_CONNECT)(
IN PVOID TdiEventContext,
IN LONG RemoteAddressLength,
IN PVOID RemoteAddress,
OUT CONNECTION_CONTEXT *ConnectionContext,
OUT PIRP *AcceptIrp);
-NTSTATUS STDCALL TdiDefaultConnectHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultConnectHandler(
IN PVOID TdiEventContext,
IN LONG RemoteAddressLength,
IN PVOID RemoteAddress,
OUT CONNECTION_CONTEXT *ConnectionContext,
OUT PIRP *AcceptIrp);
-typedef NTSTATUS (*PTDI_IND_DISCONNECT)(
+typedef NTSTATUS
+(*PTDI_IND_DISCONNECT)(
IN PVOID TdiEventContext,
IN CONNECTION_CONTEXT ConnectionContext,
IN LONG DisconnectDataLength,
IN PVOID DisconnectInformation,
IN ULONG DisconnectFlags);
-NTSTATUS STDCALL TdiDefaultDisconnectHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultDisconnectHandler(
IN PVOID TdiEventContext,
IN CONNECTION_CONTEXT ConnectionContext,
IN LONG DisconnectDataLength,
IN PVOID DisconnectInformation,
IN ULONG DisconnectFlags);
-typedef NTSTATUS (*PTDI_IND_ERROR)(
+typedef NTSTATUS
+(*PTDI_IND_ERROR)(
IN PVOID TdiEventContext,
IN NTSTATUS Status);
-NTSTATUS STDCALL TdiDefaultErrorHandler(
+typedef NTSTATUS DDKAPI
+(*PTDI_IND_ERROR_EX)(
+ IN PVOID TdiEventContext,
+ IN NTSTATUS Status,
+ IN PVOID Buffer);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultErrorHandler(
IN PVOID TdiEventContext,
IN NTSTATUS Status);
-typedef NTSTATUS (*PTDI_IND_RECEIVE)(
+typedef NTSTATUS
+(*PTDI_IND_RECEIVE)(
IN PVOID TdiEventContext,
IN CONNECTION_CONTEXT ConnectionContext,
IN ULONG ReceiveFlags,
IN PVOID Tsdu,
OUT PIRP *IoRequestPacket);
-NTSTATUS STDCALL TdiDefaultReceiveHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultReceiveHandler(
IN PVOID TdiEventContext,
IN CONNECTION_CONTEXT ConnectionContext,
IN ULONG ReceiveFlags,
IN PVOID Tsdu,
OUT PIRP *IoRequestPacket);
-typedef NTSTATUS (*PTDI_IND_RECEIVE_DATAGRAM)(
+typedef NTSTATUS
+(*PTDI_IND_RECEIVE_DATAGRAM)(
IN PVOID TdiEventContext,
IN LONG SourceAddressLength,
IN PVOID SourceAddress,
IN PVOID Tsdu,
OUT PIRP *IoRequestPacket);
-NTSTATUS STDCALL TdiDefaultRcvDatagramHandler(
+TDIKRNLAPI
+NTSTATUS DDKAPI
+TdiDefaultRcvDatagramHandler(
IN PVOID TdiEventContext,
IN LONG SourceAddressLength,
IN PVOID SourceAddress,
IN PVOID Tsdu,
OUT PIRP *IoRequestPacket);
-typedef NTSTATUS (*PTDI_IND_RECEIVE_EXPEDITED)(
+typedef NTSTATUS
+(*PTDI_IND_RECEIVE_EXPEDITED)(
IN PVOID TdiEventContext,
IN CONNECTION_CONTEXT ConnectionContext,
IN ULONG ReceiveFlags,
IN PVOID Tsdu,
OUT PIRP *IoRequestPacket);
-NTSTATUS STDCALL TdiDefaultRcvExpeditedHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultRcvExpeditedHandler(
IN PVOID TdiEventContext,
IN CONNECTION_CONTEXT ConnectionContext,
IN ULONG ReceiveFlags,
IN PVOID Tsdu,
OUT PIRP *IoRequestPacket);
-typedef NTSTATUS (*PTDI_IND_CHAINED_RECEIVE)(
+typedef NTSTATUS
+(*PTDI_IND_CHAINED_RECEIVE)(
IN PVOID TdiEventContext,
IN CONNECTION_CONTEXT ConnectionContext,
IN ULONG ReceiveFlags,
IN PMDL Tsdu,
IN PVOID TsduDescriptor);
-NTSTATUS STDCALL TdiDefaultChainedReceiveHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultChainedReceiveHandler(
IN PVOID TdiEventContext,
IN CONNECTION_CONTEXT ConnectionContext,
IN ULONG ReceiveFlags,
IN PMDL Tsdu,
IN PVOID TsduDescriptor);
-typedef NTSTATUS (*PTDI_IND_CHAINED_RECEIVE_DATAGRAM)(
+typedef NTSTATUS
+(*PTDI_IND_CHAINED_RECEIVE_DATAGRAM)(
IN PVOID TdiEventContext,
IN LONG SourceAddressLength,
IN PVOID SourceAddress,
IN PMDL Tsdu,
IN PVOID TsduDescriptor);
-NTSTATUS STDCALL TdiDefaultChainedRcvDatagramHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultChainedRcvDatagramHandler(
IN PVOID TdiEventContext,
IN LONG SourceAddressLength,
IN PVOID SourceAddress,
IN PMDL Tsdu,
IN PVOID TsduDescriptor);
-typedef NTSTATUS (*PTDI_IND_CHAINED_RECEIVE_EXPEDITED)(
+typedef NTSTATUS
+(*PTDI_IND_CHAINED_RECEIVE_EXPEDITED)(
IN PVOID TdiEventContext,
IN CONNECTION_CONTEXT ConnectionContext,
IN ULONG ReceiveFlags,
IN PMDL Tsdu,
IN PVOID TsduDescriptor);
-NTSTATUS STDCALL TdiDefaultChainedRcvExpeditedHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultChainedRcvExpeditedHandler(
IN PVOID TdiEventContext,
IN CONNECTION_CONTEXT ConnectionContext,
IN ULONG ReceiveFlags,
IN PMDL Tsdu,
IN PVOID TsduDescriptor);
-typedef NTSTATUS (*PTDI_IND_SEND_POSSIBLE)(
+typedef NTSTATUS
+(*PTDI_IND_SEND_POSSIBLE)(
IN PVOID TdiEventContext,
IN PVOID ConnectionContext,
IN ULONG BytesAvailable);
-NTSTATUS STDCALL TdiDefaultSendPossibleHandler(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDefaultSendPossibleHandler(
IN PVOID TdiEventContext,
IN PVOID ConnectionContext,
IN ULONG BytesAvailable);
/* Macros and functions to build IRPs */
#define TdiBuildBaseIrp( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, IrpSp, Minor) \
+ bIrp, bDevObj, bFileObj, bCompRoutine, bContxt, bIrpSp, bMinor) \
{ \
- IrpSp->MajorFunction = IRP_MJ_INTERNAL_DEVICE_CONTROL; \
- IrpSp->MinorFunction = (Minor); \
- IrpSp->DeviceObject = (DevObj); \
- IrpSp->FileObject = (FileObj); \
- \
- if (CompRoutine) \
- IoSetCompletionRoutine(Irp, CompRoutine, Contxt, TRUE, TRUE, TRUE) \
+ bIrpSp->MajorFunction = IRP_MJ_INTERNAL_DEVICE_CONTROL; \
+ bIrpSp->MinorFunction = (bMinor); \
+ bIrpSp->DeviceObject = (bDevObj); \
+ bIrpSp->FileObject = (bFileObj); \
+ if (bCompRoutine) \
+ IoSetCompletionRoutine(bIrp, bCompRoutine, bContxt, TRUE, TRUE, TRUE) \
else \
- IoSetCompletionRoutine(Irp, NULL, NULL, FALSE, FALSE, FALSE); \
+ IoSetCompletionRoutine(bIrp, NULL, NULL, FALSE, FALSE, FALSE); \
}
/*
- * VOID TdiBuildAccept(
+ * VOID
+ * TdiBuildAccept(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildAction(
+ * VOID
+ * TdiBuildAction(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildAssociateAddress(
+ * VOID
+ * TdiBuildAssociateAddress(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildConnect(
+ * VOID
+ * TdiBuildConnect(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildDisassociateAddress(
+ * VOID
+ * TdiBuildDisassociateAddress(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildDisconnect(
+ * VOID
+ * TdiBuildDisconnect(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * PIRP TdiBuildInternalDeviceControlIrp(
+ * PIRP
+ * TdiBuildInternalDeviceControlIrp(
* IN CCHAR IrpSubFunction,
* IN PDEVICE_OBJECT DeviceObject,
* IN PFILE_OBJECT FileObject,
TRUE, Event, IoStatusBlock)
/*
- * VOID TdiBuildListen(
+ * VOID
+ * TdiBuildListen(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
_Request->RequestFlags = (Flags); \
}
-VOID STDCALL TdiBuildNetbiosAddress(
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiBuildNetbiosAddress(
IN PUCHAR NetbiosName,
IN BOOLEAN IsGroupName,
IN OUT PTA_NETBIOS_ADDRESS NetworkName);
-NTSTATUS STDCALL TdiBuildNetbiosAddressEa(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiBuildNetbiosAddressEa(
IN PUCHAR Buffer,
IN BOOLEAN IsGroupName,
IN PUCHAR NetbiosName);
/*
- * VOID TdiBuildQueryInformation(
+ * VOID
+ * TdiBuildQueryInformation(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildReceive(
+ * VOID
+ * TdiBuildReceive(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildReceiveDatagram(
+ * VOID
+ * TdiBuildReceiveDatagram(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildSend(
+ * VOID
+ * TdiBuildSend(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildSendDatagram(
+ * VOID
+ * TdiBuildSendDatagram(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildSetEventHandler(
+ * VOID
+ * TdiBuildSetEventHandler(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
}
/*
- * VOID TdiBuildSetInformation(
+ * VOID
+ * TdiBuildSetInformation(
* IN PIRP Irp,
* IN PDEVICE_OBJECT DevObj,
* IN PFILE_OBJECT FileObj,
(Irp)->MdlAddress = (MdlAddr); \
}
+/* TDI20_CLIENT_INTERFACE_INFO.TdiVersion constants */
+#define TDI_CURRENT_MAJOR_VERSION 2
+#define TDI_CURRENT_MINOR_VERSION 0
+
+#define TDI_CURRENT_VERSION ((TDI_CURRENT_MINOR_VERSION) << 8 \
+ | (TDI_CURRENT_MAJOR_VERSION))
+
+#define TDI_VERSION_ONE 0x0001
+
+typedef enum _TDI_PNP_OPCODE {
+ TDI_PNP_OP_MIN,
+ TDI_PNP_OP_ADD,
+ TDI_PNP_OP_DEL,
+ TDI_PNP_OP_UPDATE,
+ TDI_PNP_OP_PROVIDERREADY,
+ TDI_PNP_OP_NETREADY,
+ TDI_PNP_OP_ADD_IGNORE_BINDING,
+ TDI_PNP_OP_DELETE_IGNORE_BINDING,
+ TDI_PNP_OP_MAX
+} TDI_PNP_OPCODE;
+
+/* TDI_PNP_CONTEXT.ContextType */
+#define TDI_PNP_CONTEXT_TYPE_IF_NAME 0x1
+#define TDI_PNP_CONTEXT_TYPE_IF_ADDR 0x2
+#define TDI_PNP_CONTEXT_TYPE_PDO 0x3
+#define TDI_PNP_CONTEXT_TYPE_FIRST_OR_LAST_IF 0x4
+
+typedef struct _TDI_PNP_CONTEXT {
+ USHORT ContextSize;
+ USHORT ContextType;
+ UCHAR ContextData[1];
+} TDI_PNP_CONTEXT, *PTDI_PNP_CONTEXT;
+
+typedef VOID DDKAPI
+(*TDI_ADD_ADDRESS_HANDLER)(
+ IN PTA_ADDRESS Address);
+
+typedef VOID DDKAPI
+(*TDI_ADD_ADDRESS_HANDLER_V2)(
+ IN PTA_ADDRESS Address,
+ IN PUNICODE_STRING DeviceName,
+ IN PTDI_PNP_CONTEXT Context);
+
+typedef VOID DDKAPI
+(*TDI_BINDING_HANDLER)(
+ IN TDI_PNP_OPCODE PnPOpcode,
+ IN PUNICODE_STRING DeviceName,
+ IN PWSTR MultiSZBindList);
+
+typedef VOID DDKAPI
+(*TDI_BIND_HANDLER)(
+ IN PUNICODE_STRING DeviceName);
+
+typedef VOID DDKAPI
+(*TDI_DEL_ADDRESS_HANDLER)(
+ IN PTA_ADDRESS Address);
+
+typedef VOID DDKAPI
+(*TDI_DEL_ADDRESS_HANDLER_V2)(
+ IN PTA_ADDRESS Address,
+ IN PUNICODE_STRING DeviceName,
+ IN PTDI_PNP_CONTEXT Context);
+
+typedef NTSTATUS DDKAPI
+(*TDI_PNP_POWER_HANDLER)(
+ IN PUNICODE_STRING DeviceName,
+ IN PNET_PNP_EVENT PowerEvent,
+ IN PTDI_PNP_CONTEXT Context1,
+ IN PTDI_PNP_CONTEXT Context2);
+
+typedef VOID DDKAPI
+(*TDI_UNBIND_HANDLER)(
+ IN PUNICODE_STRING DeviceName);
+
+typedef VOID DDKAPI
+(*ProviderPnPPowerComplete)(
+ IN PNET_PNP_EVENT NetEvent,
+ IN NTSTATUS ProviderStatus);
+
+
/* TDI functions */
/*
- * VOID TdiCompleteRequest(
+ * VOID
+ * TdiCompleteRequest(
* IN PIRP Irp,
* IN NTSTATUS Status);
*/
IoCompleteRequest((Irp), IO_NETWORK_INCREMENT); \
}
-NTSTATUS STDCALL TdiCopyBufferToMdl(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiCopyBufferToMdl(
IN PVOID SourceBuffer,
IN ULONG SourceOffset,
IN ULONG SourceBytesToCopy,
IN PULONG BytesCopied);
/*
- * VOID TdiCopyLookaheadData(
+ * VOID
+ * TdiCopyLookaheadData(
* IN PVOID Destination,
* IN PVOID Source,
* IN ULONG Length,
#define TdiCopyLookaheadData(Destination, Source, Length, ReceiveFlags) \
RtlCopyMemory(Destination, Source, Length)
-NTSTATUS STDCALL TdiCopyMdlToBuffer(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiCopyMdlChainToMdlChain (
+ IN PMDL SourceMdlChain,
+ IN ULONG SourceOffset,
+ IN PMDL DestinationMdlChain,
+ IN ULONG DestinationOffset,
+ OUT PULONG BytesCopied);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiCopyMdlToBuffer(
IN PMDL SourceMdlChain,
IN ULONG SourceOffset,
IN PVOID DestinationBuffer,
IN ULONG DestinationBufferSize,
OUT PULONG BytesCopied);
-VOID STDCALL TdiMapBuffer(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDeregisterAddressChangeHandler(
+ IN HANDLE BindingHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDeregisterDeviceObject(
+ IN HANDLE DevRegistrationHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDeregisterNetAddress(
+ IN HANDLE AddrRegistrationHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDeregisterPnPHandlers(
+ IN HANDLE BindingHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiDeregisterProvider(
+ IN HANDLE ProviderHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiEnumerateAddresses(
+ IN HANDLE BindingHandle);
+
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiInitialize(
+ VOID);
+
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiMapBuffer(
IN PMDL MdlChain);
-NTSTATUS STDCALL TdiMapUserRequest(
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiMapUserRequest(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PIO_STACK_LOCATION IrpSp);
-VOID STDCALL TdiReturnChainedReceives(
+TDIKRNLAPI
+BOOLEAN
+DDKAPI
+TdiMatchPdoWithChainedReceiveContext(
+ IN PVOID TsduDescriptor,
+ IN PVOID PDO);
+
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiPnPPowerComplete(
+ IN HANDLE BindingHandle,
+ IN PNET_PNP_EVENT PowerEvent,
+ IN NTSTATUS Status);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiPnPPowerRequest(
+ IN PUNICODE_STRING DeviceName,
+ IN PNET_PNP_EVENT PowerEvent,
+ IN PTDI_PNP_CONTEXT Context1,
+ IN PTDI_PNP_CONTEXT Context2,
+ IN ProviderPnPPowerComplete ProtocolCompletionHandler);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiProviderReady(
+ IN HANDLE ProviderHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterAddressChangeHandler(
+ IN TDI_ADD_ADDRESS_HANDLER AddHandler,
+ IN TDI_DEL_ADDRESS_HANDLER DeleteHandler,
+ OUT HANDLE *BindingHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterDeviceObject(
+ IN PUNICODE_STRING DeviceName,
+ OUT HANDLE *DevRegistrationHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterNetAddress(
+ IN PTA_ADDRESS Address,
+ IN PUNICODE_STRING DeviceName,
+ IN PTDI_PNP_CONTEXT Context,
+ OUT HANDLE *AddrRegistrationHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterNotificationHandler(
+ IN TDI_BIND_HANDLER BindHandler,
+ IN TDI_UNBIND_HANDLER UnbindHandler,
+ OUT HANDLE *BindingHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterPnPHandlers(
+ IN PTDI_CLIENT_INTERFACE_INFO ClientInterfaceInfo,
+ IN ULONG InterfaceInfoSize,
+ OUT HANDLE *BindingHandle);
+
+TDIKRNLAPI
+NTSTATUS
+DDKAPI
+TdiRegisterProvider(
+ IN PUNICODE_STRING ProviderName,
+ OUT HANDLE *ProviderHandle);
+
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiReturnChainedReceives(
IN PVOID *TsduDescriptors,
IN ULONG NumberOfTsdus);
-VOID STDCALL TdiUnmapBuffer(
+TDIKRNLAPI
+VOID
+DDKAPI
+TdiUnmapBuffer(
IN PMDL MdlChain);
-#endif /* __TDIKRNL_H */
+#pragma pack(pop)
-/* EOF */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TDIKRNL_H */