|
|
//////////////////////////////////////////////////////////////////////////////\ //
// Copyright (c) 1990 Microsoft Corporation
//
// Module Name:
//
// ipndis.h
//
// Abstract:
//
// The main header for the NDIS/KS test driver
//
// Author:
//
// P Porzuczek
//
// Environment:
//
// Notes:
//
// Revision History:
//
//
///////////////////////////////////////////////////////////////////////////////
#ifndef _NDIS_MAIN_H
#define _NDIS_MAIN_H
/////////////////////////////////////////////////////////////////////////////
//
//
extern NDIS_HANDLE global_ndishWrapper;
//////////////////////////////////////////////////////////
//
//
//
#define ETHERNET_LENGTH_OF_ADDRESS 6
#define ETHERNET_HEADER_SIZE 14
#define BDA_802_3_MAX_LOOKAHEAD ((4 * 1024) - ETHERNET_HEADER_SIZE)
#define BDA_802_3_MAX_PACKET (BDA_802_3_MAX_LOOKAHEAD + ETHERNET_HEADER_SIZE)
#define MAX_IP_PACKET_LEN BDA_802_3_MAX_LOOKAHEAD
#define BDALM_MAX_MULTICAST_LIST_SIZE 256
//////////////////////////////////////////////////////////
//
//
//
typedef struct _INDICATE_CONTEXT_ { PADAPTER pAdapter;
} INDICATE_CONTEXT, *PINDICATE_CONTEXT;
//////////////////////////////////////////////////////////////////////////////\ //
//
// Prototypes
//
//
NTSYSAPI VOID NTAPI RtlInitUnicodeString( PUNICODE_STRING DestinationString, PCWSTR SourceString );
VOID NdisIPHalt( IN NDIS_HANDLE MiniportAdapterContext );
NDIS_STATUS NdisIPInitialize( OUT PNDIS_STATUS OpenErrorStatus, OUT PUINT SelectedMediumIndex, IN PNDIS_MEDIUM MediumArray, IN UINT MediumArraySize, IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE ConfigurationHandle );
NDIS_STATUS NdisIPQueryInformation( IN NDIS_HANDLE MiniportAdapterContext, IN NDIS_OID Oid, IN PVOID InformationBuffer, IN ULONG InformationBufferLength, OUT PULONG BytesWritten, OUT PULONG BytesNeeded );
NDIS_STATUS NdisIPReset( OUT PBOOLEAN AddressingReset, IN NDIS_HANDLE MiniportAdapterContext );
NDIS_STATUS NdisIPSend( IN NDIS_HANDLE MiniportAdapterContext, IN PNDIS_PACKET Packet, IN UINT Flags );
NDIS_STATUS NdisIPSetInformation( IN NDIS_HANDLE MiniportAdapterContext, IN NDIS_OID Oid, IN PVOID InformationBuffer, IN ULONG InformationBufferLength, OUT PULONG BytesRead, OUT PULONG BytesNeeded );
NTSTATUS StreamIndicateEvent ( IN PVOID pvEvent );
VOID NdisIPReturnPacket( IN NDIS_HANDLE ndishAdapterContext, IN PNDIS_PACKET pNdisPacket );
PFRAME GetFrame ( PFRAME_POOL pFramePool, PLIST_ENTRY pQueue );
PFRAME PutFrame ( PFRAME_POOL pFramePool, PLIST_ENTRY pQueue, PFRAME pFrame );
NTSTATUS IndicateCallbackHandler ( IN NDIS_HANDLE ndishMiniport, IN PINDICATE_CONTEXT pIndicateContext );
NTSTATUS CreateAdapter ( PADAPTER *ppAdapter, NDIS_HANDLE ndishWrapper, NDIS_HANDLE ndishAdapterContext );
//
// These are now obsolete. Use Deserialized driver model for optimal performance.
//
#ifndef NdisIMQueueMiniportCallback
EXPORT NDIS_STATUS NdisIMQueueMiniportCallback( IN NDIS_HANDLE MiniportAdapterHandle, IN W_MINIPORT_CALLBACK CallbackRoutine, IN PVOID CallbackContext ); #endif
#ifndef NdisIMSwitchToMiniport
EXPORT BOOLEAN NdisIMSwitchToMiniport( IN NDIS_HANDLE MiniportAdapterHandle, OUT PNDIS_HANDLE SwitchHandle );
#endif
#ifndef NdisIMRevertBack
EXPORT VOID NdisIMRevertBack( IN NDIS_HANDLE MiniportAdapterHandle, IN NDIS_HANDLE SwitchHandle );
#endif
#endif // _NDIS_MAIN_H_
|