Put sound into multimedia and rename it to audio because it is "MoreCorrect©"
[reactos.git] / reactos / lib / drivers / undis / 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 #define NDIS50 1 /* Use NDIS 5.0 structures by default */
14
15 //#include <basetsd.h>
16 #include <ntddk.h>
17 //#include <windef.h>
18 #include <ndisfake.h>
19
20 #include "miniport.h"
21 #include "protocol.h"
22
23 #include <debug.h>
24
25 /* Exported functions */
26 #ifdef _MSC_VER
27 #define EXPORT __declspec(dllexport)
28 #else
29 #define EXPORT STDCALL
30 #endif
31
32
33 #ifdef DBG
34
35 #define DEBUG_REFCHECK(Object) { \
36 if ((Object)->RefCount <= 0) { \
37 NDIS_DbgPrint(MIN_TRACE, ("Object at (0x%X) has invalid reference count (%d).\n", \
38 (Object), (Object)->RefCount)); \
39 } \
40 }
41
42 #else
43
44 #define DEBUG_REFCHECK(Object)
45
46 #endif
47
48
49 /*
50 * VOID ReferenceObject(
51 * PVOID Object)
52 */
53 #define ReferenceObject(Object) \
54 { \
55 DEBUG_REFCHECK(Object); \
56 NDIS_DbgPrint(DEBUG_REFCOUNT, ("Referencing object at (0x%X). RefCount (%d).\n", \
57 (Object), (Object)->RefCount)); \
58 \
59 InterlockedIncrement(&((Object)->RefCount)); \
60 }
61
62 /*
63 * VOID DereferenceObject(
64 * PVOID Object)
65 */
66 #define DereferenceObject(Object) \
67 { \
68 DEBUG_REFCHECK(Object); \
69 NDIS_DbgPrint(DEBUG_REFCOUNT, ("Dereferencing object at (0x%X). RefCount (%d).\n", \
70 (Object), (Object)->RefCount)); \
71 \
72 if (InterlockedDecrement(&((Object)->RefCount)) == 0) \
73 PoolFreeBuffer(Object); \
74 }
75
76
77 #define MIN(value1, value2) \
78 ((value1 < value2)? value1 : value2)
79
80 #define MAX(value1, value2) \
81 ((value1 > value2)? value1 : value2)
82
83 #endif /* __NDISSYS_H */
84
85 /* EOF */