- Support the BINARY_COMPATIBLE compile definition.

- Declare NDIS_PROCESSOR_TYPE and NDIS_ENVIRONMENT_TYPE.

svn path=/trunk/; revision=11381
This commit is contained in:
Filip Navara 2004-10-22 19:29:28 +00:00
parent ca8388ad0c
commit 6b8a09e4a4

View file

@ -28,6 +28,7 @@
* NDIS50_MINIPORT - Building NDIS 5.0 miniport driver
* NDIS51_MINIPORT - Building NDIS 5.1 miniport driver
*/
#ifndef __NDIS_H
#define __NDIS_H
@ -71,6 +72,15 @@ extern "C" {
#define NDIS_PROTOCOL_MINOR_VERSION 1
#endif
#if defined(NDIS_MINIPORT_DRIVER) && !defined(BINARY_COMPATIBLE)
#define BINARY_COMPATIBLE 1
#endif
#if !defined(_M_IX86) && BINARY_COMPATIBLE
#undef BINARY_COMPATIBLE
#define BINARY_COMPATIBLE 0
#endif
#if 1
/* FIXME: */
typedef PVOID QUEUED_CLOSE;
@ -550,6 +560,19 @@ typedef UCHAR NDIS_DMA_SIZE;
#define NDIS_DMA_32BITS ((NDIS_DMA_SIZE)1)
#define NDIS_DMA_64BITS ((NDIS_DMA_SIZE)2)
typedef enum _NDIS_PROCESSOR_TYPE {
NdisProcessorX86,
NdisProcessorMips,
NdisProcessorAlpha,
NdisProcessorPpc,
NdisProcessorAmd64
} NDIS_PROCESSOR_TYPE, *PNDIS_PROCESSOR_TYPE;
typedef enum _NDIS_ENVIRONMENT_TYPE {
NdisEnvironmentWindows,
NdisEnvironmentWindowsNt
} NDIS_ENVIRONMENT_TYPE, *PNDIS_ENVIRONMENT_TYPE;
/* Possible hardware architecture */
typedef enum _NDIS_INTERFACE_TYPE {
NdisInterfaceInternal = Internal,
@ -1672,6 +1695,8 @@ DDKAPI
NdisFreeBuffer(
IN PNDIS_BUFFER Buffer);
#if BINARY_COMPATIBLE
NDISAPI
VOID
DDKAPI
@ -1705,11 +1730,7 @@ NdisQueryBufferOffset(
OUT PUINT Offset,
OUT PUINT Length);
NDISAPI
VOID
DDKAPI
NdisFreeBuffer(
IN PNDIS_BUFFER Buffer);
#else
/*
* VOID
@ -1723,7 +1744,6 @@ NdisFreeBuffer(
(*(ArraySize) = NDIS_BUFFER_TO_SPAN_PAGES(Buffer)) \
}
/*
* VOID
* NdisGetFirstBufferFromPacket(
@ -1795,6 +1815,7 @@ NdisFreeBuffer(
*((PUINT)Length) = MmGetMdlByteCount(Buffer); \
}
#endif /* BINARY_COMPATIBLE */
/*
* PVOID
@ -2208,6 +2229,24 @@ NdisFreeBuffer(
/* Memory management routines */
#if BINARY_COMPATIBLE
NDISAPI
VOID
DDKAPI
NdisCreateLookaheadBufferFromSharedMemory(
IN PVOID pSharedMemory,
IN UINT LookaheadLength,
OUT PVOID *pLookaheadBuffer);
NDISAPI
VOID
DDKAPI
NdisDestroyLookaheadBufferFromSharedMemory(
IN PVOID pLookaheadBuffer);
#else
/*
* VOID
* NdisCreateLookaheadBufferFromSharedMemory(
@ -2227,17 +2266,9 @@ NdisFreeBuffer(
*/
#define NdisDestroyLookaheadBufferFromSharedMemory(_pLookaheadBuffer)
#if defined(i386)
#endif
/*
* VOID
* NdisMoveFromMappedMemory(
* OUT PVOID Destination,
* IN PVOID Source,
* IN ULONG Length);
*/
#define NdisMoveFromMappedMemory(Destination, Source, Length) \
NdisMoveMappedMemory(Destination, Source, Length)
#if defined(_M_IX86) || defined(_M_AMD64)
/*
* VOID
@ -2249,6 +2280,43 @@ NdisFreeBuffer(
#define NdisMoveMappedMemory(Destination, Source, Length) \
RtlCopyMemory(Destination, Source, Length)
/*
* VOID
* NdisZeroMappedMemory(
* IN PVOID Destination,
* IN ULONG Length);
*/
#define NdisZeroMappedMemory(Destination, Length) \
RtlZeroMemory(Destination, Length)
#else
#define NdisMoveMappedMemory(Destination, Source, Length) \
{
PUCHAR _Dest = Destination, _Src = Source, _End = _Dest + Length;
while (_Dest < _End)
*_Dest++ = _Src++;
}
#define NdisZeroMappedMemory(Destination, Length) \
{
PUCHAR _Dest = Destination, _End = _Dest + Length;
while (_Dest < _End)
*_Dest++ = 0;
}
#endif /* _M_IX86 or _M_AMD64 */
/*
* VOID
* NdisMoveFromMappedMemory(
* OUT PVOID Destination,
* IN PVOID Source,
* IN ULONG Length);
*/
#define NdisMoveFromMappedMemory(Destination, Source, Length) \
NdisMoveMappedMemory(Destination, Source, Length)
/*
* VOID
* NdisMoveToMappedMemory(
@ -2259,8 +2327,6 @@ NdisFreeBuffer(
#define NdisMoveToMappedMemory(Destination, Source, Length) \
NdisMoveMappedMemory(Destination, Source, Length)
#endif /* i386 */
/*
* VOID
* NdisMUpdateSharedMemory(
@ -2410,15 +2476,6 @@ NdisUpdateSharedMemory(
#define NdisFillMemory(Destination, Length, Fill) \
RtlFillMemory(Destination, Length, Fill)
/*
* VOID
* NdisZeroMappedMemory(
* IN PVOID Destination,
* IN ULONG Length);
*/
#define NdisZeroMappedMemory(Destination, Length) \
RtlZeroMemory(Destination, Length)
/*
* VOID
* NdisMoveMemory(
@ -2567,6 +2624,46 @@ NdisUnicodeStringToAnsiString(
/* Spin lock reoutines */
#if BINARY_COMPATIBLE
NDISAPI
VOID
DDKAPI
NdisAllocateSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
NDISAPI
VOID
DDKAPI
NdisFreeSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
NDISAPI
VOID
DDKAPI
NdisAcquireSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
NDISAPI
VOID
DDKAPI
NdisReleaseSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
NDISAPI
VOID
DDKAPI
NdisDprAcquireSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
NDISAPI
VOID
DDKAPI
NdisDprReleaseSpinLock(
IN PNDIS_SPIN_LOCK SpinLock);
#else
/*
* VOID
* NdisAllocateSpinLock(
@ -2617,7 +2714,7 @@ NdisUnicodeStringToAnsiString(
#define NdisDprReleaseSpinLock(_SpinLock) \
KeReleaseSpinLockFromDpcLevel(&(_SpinLock)->SpinLock)
#endif /* BINARY_COMPATIBLE */
/* I/O routines */
@ -2901,7 +2998,7 @@ NdisWriteConfiguration(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE WrapperConfigurationContext,
IN PNDIS_STRING Keyword,
IN PNDIS_CONFIGURATION_PARAMETER *ParameterValue);
IN PNDIS_CONFIGURATION_PARAMETER ParameterValue);
NDISAPI
VOID
@ -2919,6 +3016,16 @@ NdisWriteErrorLogEntry(
*/
#define NdisStallExecution KeStallExecutionProcessor
#if BINARY_COMPATIBLE
NDISAPI
VOID
DDKAPI
NdisGetCurrentSystemTime(
IN PLARGE_INTEGER pSystemTime);
#else
/*
* VOID
* NdisGetCurrentSystemTime(
@ -2926,6 +3033,8 @@ NdisWriteErrorLogEntry(
*/
#define NdisGetCurrentSystemTime KeQuerySystemTime
#endif
NDISAPI
VOID
DDKAPI