ReactOS 0.4.16-dev-122-g325d74c
config.h
Go to the documentation of this file.
1#ifndef __UNIATA_CONFIG__H__
2#define __UNIATA_CONFIG__H__
3
4
5/***************************************************/
6/* Options */
7/***************************************************/
8
9/***************************************/
10// Send Debug messages directly to DbgPrintLonner using its SDK
11/***************************************/
12
13//#define USE_DBGPRINT_LOGGER
14
15/***************************************/
16// Send Debug messages via ScsiPort API
17/***************************************/
18
19//#define SCSI_PORT_DBG_PRINT
20
21/***************************************/
22// Using DbgPrint on raised IRQL will crash w2k
23// this will not happen immediately, so we shall see some logs.
24// You can tune Irql checking here
25// Note: you can avoid crashes if configure DbgPrintLogger to check Irql
26/***************************************/
27
28#define LOG_ON_RAISED_IRQL_W2K TRUE
29//#define LOG_ON_RAISED_IRQL_W2K FALSE
30
31/***************************************/
32// Use hack to avoid PCI-ISA DMA limitations (physical memory must
33// be allocated below 16Mb). Actually there is no such limitation,
34// so we have to pretent to be PIO and converl logical addresses
35// to physical manually
36/***************************************/
37
38#define USE_OWN_DMA
39
40/***************************************/
41// Special option, enables dumping of ATAPI cammands and data buffers
42// via DbgPrint API
43/***************************************/
44
45//#define UNIATA_DUMP_ATAPI
46#define UNIATA_DUMP_RW
47
48/***************************************/
49// Optimization for uni-processor machines
50/***************************************/
51
52//#define UNI_CPU_OPTIMIZATION
53
54/***************************************/
55// Enable/disable performance statistics
56/***************************************/
57
58#define QUEUE_STATISTICS
59
60#define IO_STATISTICS
61
62/***************************************/
63// Misc
64/***************************************/
65
66//#define NAVO_TEST
67
68/***************************************************/
69/* Validate Options */
70/***************************************************/
71
72#ifdef _DEBUG
73
74 #ifndef DBG
75 #define DBG
76 #endif //DBG
77
78#else //_DEBUG
79
80 #ifdef USE_DBGPRINT_LOGGER
81 #undef USE_DBGPRINT_LOGGER
82 #endif //USE_DBGPRINT_LOGGER
83
84#endif // !_DEBUG
85
86/***************************************************/
87/* Compiler dependencies */
88/***************************************************/
89
90/* ReactOS-specific defines */
91#ifdef __REACTOS__
92 #define USE_REACTOS_DDK
93#endif //__REACTOS__
94
95#ifdef USE_REACTOS_DDK
96 #define ULONGIO_PTR ULONG_PTR
97 #define CRNT_ILK_TYPE
98 #define CRNT_ILK_PTYPE
99 #define REGRTL_STR_PTYPE
100#else
101 #define ULONG_PTR ULONG
102 #define ULONGIO_PTR ULONG
103 #define CRNT_ILK_TYPE (PVOID)
104 #define CRNT_ILK_PTYPE (PVOID*)
105 #define REGRTL_STR_PTYPE (PWCHAR)
106 #define UlongToPtr(u) ((PVOID)((ULONG)(u)))
107 #define PtrToUlong(u) ((ULONG)((PVOID)(u)))
108#endif //USE_REACTOS_DDK
109
110/* Are we under GNU C (mingw) ??? */
111#if __GNUC__ >=3
112
113 #define DEF_U64(x) (x##ULL)
114 #define DEF_I64(x) (x##LL)
115
116 /* ReactOS-specific defines */
117
118 #ifndef DDKAPI
119 #define DDKAPI __attribute__((stdcall))
120 #endif
121 #ifndef DDKCDECLAPI
122 #define DDKCDECLAPI __attribute__((cdecl))
123 #endif
124 #ifndef DDKFASTAPI
125 #define DDKFASTAPI __attribute__((fastcall))
126 #endif
127
128 #define DECLSPEC_NAKED __attribute__((naked))
129
130#else // !__GNUC__ => MSVC/Intel
131
132 #define DEF_U64(x) (x##UI64)
133 #define DEF_I64(x) (x##I64)
134
135 /* ReactOS-specific defines */
136
137 #ifndef DDKAPI
138 #define DDKAPI __stdcall
139 #endif
140 #ifndef DDKCDECLAPI
141 #define DDKCDECLAPI _cdecl
142 #endif
143 #ifndef DDKFASTAPI
144 #define DDKFASTAPI __fastcall
145 #endif
146
147 #define DECLSPEC_NAKED __declspec(naked)
148
149#endif //__GNUC__
150
151
152#endif //__UNIATA_CONFIG__H__