6388a50cdf34309ce4b003b366006d98cb7e5eda
[reactos.git] / reactos / drivers / net / ndis / include / ndissys.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS NDIS library
4 * FILE: ndissys.h
5 * PURPOSE: NDIS library definitions
6 * NOTES: Spin lock acquire order:
7 * - Miniport list lock
8 * - Adapter list lock
9 */
10 #ifndef __NDISSYS_H
11 #define __NDISSYS_H
12
13 typedef unsigned long NDIS_STATS;
14
15 #include <ntifs.h>
16 #include <ndis.h>
17 #include <xfilter.h>
18 #include <afilter.h>
19 #include <atm.h>
20
21 #if _MSC_VER
22 /* FIXME: These were removed and are no longer used! */
23 #define NdisWorkItemSendLoopback NdisWorkItemReserved
24 #else /* _MSC_VER */
25 /* FIXME: We miss the ATM headers. */
26 typedef struct _ATM_ADDRESS *PATM_ADDRESS;
27 #endif /* _MSC_VER */
28
29 struct _ADAPTER_BINDING;
30
31 typedef struct _NDISI_PACKET_POOL {
32 NDIS_SPIN_LOCK SpinLock;
33 struct _NDIS_PACKET *FreeList;
34 UINT PacketLength;
35 UCHAR Buffer[1];
36 } NDISI_PACKET_POOL, * PNDISI_PACKET_POOL;
37
38 #include "miniport.h"
39 #include "protocol.h"
40
41 #include <debug.h>
42
43 /* Exported functions */
44 #ifndef EXPORT
45 #define EXPORT NTAPI
46 #endif
47
48 #define TAG(A, B, C, D) (ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
49 #define NDIS_TAG 0x4e4d4953
50
51 #define MIN(value1, value2) \
52 ((value1 < value2)? value1 : value2)
53
54 #define MAX(value1, value2) \
55 ((value1 > value2)? value1 : value2)
56
57 #endif /* __NDISSYS_H */
58
59 /* EOF */