- Fix ndis build, thanks to Filip.
[reactos.git] / reactos / drivers / net / ndis / include / ndissys.h
index 5f38523..6388a50 100644 (file)
 #ifndef __NDISSYS_H
 #define __NDISSYS_H
 
-#define NDIS50 1    /* Use NDIS 5.0 structures by default */
+typedef unsigned long NDIS_STATS;
 
-#ifdef _MSC_VER
-#include <basetsd.h>
-#include <ntddk.h>
-#include <windef.h>
+#include <ntifs.h>
 #include <ndis.h>
+#include <xfilter.h>
+#include <afilter.h>
+#include <atm.h>
+
+#if _MSC_VER
+/* FIXME: These were removed and are no longer used! */
+#define NdisWorkItemSendLoopback NdisWorkItemReserved
 #else /* _MSC_VER */
-#include <ddk/ntddk.h>
-#include <ddk/ndis.h>
-#include <ddk/xfilter.h>
-#include <ddk/afilter.h>
+/* FIXME: We miss the ATM headers. */
 typedef struct _ATM_ADDRESS *PATM_ADDRESS;
-/* FIXME: Get rid of this dependance. */
-#include <ddk/ntapi.h>
 #endif /* _MSC_VER */
 
+struct _ADAPTER_BINDING;
+
+typedef struct _NDISI_PACKET_POOL {
+  NDIS_SPIN_LOCK  SpinLock;
+  struct _NDIS_PACKET *FreeList;
+  UINT  PacketLength;
+  UCHAR  Buffer[1];
+} NDISI_PACKET_POOL, * PNDISI_PACKET_POOL;
+
 #include "miniport.h"
 #include "protocol.h"
 
 #include <debug.h>
 
 /* Exported functions */
-#ifdef _MSC_VER
-#define EXPORT __declspec(dllexport)
-#else
-#define EXPORT STDCALL
+#ifndef EXPORT
+#define EXPORT NTAPI
 #endif
 
+#define TAG(A, B, C, D) (ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
 #define NDIS_TAG  0x4e4d4953
 
-#ifdef DBG
-
-#define DEBUG_REFCHECK(Object) {            \
-    if ((Object)->RefCount <= 0) {          \
-        NDIS_DbgPrint(MIN_TRACE, ("Object at (0x%X) has invalid reference count (%d).\n", \
-            (Object), (Object)->RefCount)); \
-        }                                   \
-}
-
-#else
-
-#define DEBUG_REFCHECK(Object)
-
-#endif
-
-
-/*
- * VOID ReferenceObject(
- *     PVOID Object)
- */
-#define ReferenceObject(Object)                         \
-{                                                       \
-    DEBUG_REFCHECK(Object);                             \
-    NDIS_DbgPrint(DEBUG_REFCOUNT, ("Referencing object at (0x%X). RefCount (%d).\n", \
-        (Object), (Object)->RefCount));                 \
-                                                        \
-    InterlockedIncrement((PLONG)&((Object)->RefCount)); \
-}
-
-/*
- * VOID DereferenceObject(
- *     PVOID Object)
- */
-#define DereferenceObject(Object)                                \
-{                                                                \
-    DEBUG_REFCHECK(Object);                                      \
-    NDIS_DbgPrint(DEBUG_REFCOUNT, ("Dereferencing object at (0x%X). RefCount (%d).\n", \
-        (Object), (Object)->RefCount));                          \
-                                                                 \
-    if (InterlockedDecrement((PLONG)&((Object)->RefCount)) == 0) \
-        PoolFreeBuffer(Object);                                  \
-}
-
-
 #define MIN(value1, value2) \
     ((value1 < value2)? value1 : value2)