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__ 153