- Fix ndis build, thanks to Filip.
[reactos.git] / reactos / drivers / net / ndis / include / ndissys.h
index ec0a0a7..6388a50 100644 (file)
 #ifndef __NDISSYS_H
 #define __NDISSYS_H
 
-#define NDIS50 1    /* Use NDIS 5.0 structures by default */
-
-#include <ddk/ntddk.h>
-#include <ddk/ndis.h>
+typedef unsigned long NDIS_STATS;
+
+#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 */
+/* FIXME: We miss the ATM headers. */
+typedef struct _ATM_ADDRESS *PATM_ADDRESS;
+#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>
 
-#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)
-
+/* Exported functions */
+#ifndef EXPORT
+#define EXPORT NTAPI
 #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(&((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(&((Object)->RefCount)) == 0) \
-        PoolFreeBuffer(Object);                           \
-}
-
+#define TAG(A, B, C, D) (ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
+#define NDIS_TAG  0x4e4d4953
 
 #define MIN(value1, value2) \
     ((value1 < value2)? value1 : value2)