Doxygen

config.h
Go to the documentation of this file.
00001 #ifndef __UNIATA_CONFIG__H__
00002 #define __UNIATA_CONFIG__H__
00003 
00004 
00005 /***************************************************/
00006 /*        Options                                  */
00007 /***************************************************/
00008 
00009 /***************************************/
00010 // Send Debug messages directly to DbgPrintLonner using its SDK
00011 /***************************************/
00012 
00013 //#define USE_DBGPRINT_LOGGER
00014 
00015 /***************************************/
00016 // Send Debug messages via ScsiPort API
00017 /***************************************/
00018 
00019 //#define SCSI_PORT_DBG_PRINT
00020 
00021 /***************************************/
00022 // Using DbgPrint on raised IRQL will crash w2k
00023 // this will not happen immediately, so we shall see some logs.
00024 // You can tune Irql checking here
00025 // Note: you can avoid crashes if configure DbgPrintLogger to check Irql
00026 /***************************************/
00027 
00028 #define LOG_ON_RAISED_IRQL_W2K    TRUE
00029 //#define LOG_ON_RAISED_IRQL_W2K    FALSE
00030 
00031 /***************************************/
00032 // Use hack to avoid PCI-ISA DMA limitations (physical memory must
00033 // be allocated below 16Mb). Actually there is no such limitation,
00034 // so we have to pretent to be PIO and converl logical addresses
00035 // to physical manually
00036 /***************************************/
00037 
00038 #define USE_OWN_DMA
00039 
00040 /***************************************/
00041 // Special option, enables dumping of ATAPI cammands and data buffers
00042 // via DbgPrint API
00043 /***************************************/
00044 
00045 //#define UNIATA_DUMP_ATAPI
00046 
00047 /***************************************/
00048 // Optimization for uni-processor machines
00049 /***************************************/
00050 
00051 //#define UNI_CPU_OPTIMIZATION
00052 
00053 /***************************************/
00054 // Enable/disable performance statistics
00055 /***************************************/
00056 
00057 #define QUEUE_STATISTICS
00058 
00059 #define IO_STATISTICS
00060 
00061 /***************************************/
00062 // Misc
00063 /***************************************/
00064 
00065 //#define NAVO_TEST
00066 
00067 /***************************************************/
00068 /*    Validate Options                             */
00069 /***************************************************/
00070 
00071 #ifdef _DEBUG
00072 
00073  #ifndef DBG
00074   #define DBG
00075  #endif //DBG
00076 
00077 #else //_DEBUG
00078 
00079  #ifdef USE_DBGPRINT_LOGGER
00080   #undef USE_DBGPRINT_LOGGER
00081  #endif //USE_DBGPRINT_LOGGER
00082 
00083 #endif // !_DEBUG
00084 
00085 /***************************************************/
00086 /*  Compiler dependencies                          */
00087 /***************************************************/
00088 
00089 /* ReactOS-specific defines */
00090 #ifdef __REACTOS__
00091  #define USE_REACTOS_DDK
00092 #endif //__REACTOS__
00093 
00094 #ifdef USE_REACTOS_DDK
00095  #define ULONGIO_PTR     ULONG_PTR
00096  #define CRNT_ILK_TYPE   
00097  #define CRNT_ILK_PTYPE
00098  #define REGRTL_STR_PTYPE  
00099 #else 
00100  #define ULONG_PTR       ULONG
00101  #define ULONGIO_PTR     ULONG
00102  #define CRNT_ILK_TYPE   (PVOID)
00103  #define CRNT_ILK_PTYPE  (PVOID*)
00104  #define REGRTL_STR_PTYPE  (PWCHAR)
00105 #endif //USE_REACTOS_DDK
00106 
00107 /* Are we under GNU C (mingw) ??? */
00108 #if __GNUC__ >=3
00109 
00110  #define  DEF_U64(x)     (x##ULL)
00111  #define  DEF_I64(x)     (x##LL)
00112 
00113  /* ReactOS-specific defines */
00114 
00115  #ifndef DDKAPI
00116   #define DDKAPI          __attribute__((stdcall))
00117  #endif
00118  #ifndef DDKCDECLAPI
00119   #define DDKCDECLAPI     __attribute__((cdecl))
00120  #endif
00121  #ifndef DDKFASTAPI
00122   #define DDKFASTAPI      __attribute__((fastcall))
00123  #endif
00124 
00125  #define DECLSPEC_NAKED   __attribute__((naked))
00126 
00127 #else // !__GNUC__ => MSVC/Intel
00128 
00129  #define  DEF_U64(x)     (x##UI64)
00130  #define  DEF_I64(x)     (x##I64)
00131 
00132  /* ReactOS-specific defines */
00133 
00134  #ifndef DDKAPI
00135   #define DDKAPI          __stdcall
00136  #endif
00137  #ifndef DDKCDECLAPI
00138   #define DDKCDECLAPI     _cdecl
00139  #endif
00140  #ifndef DDKFASTAPI
00141   #define DDKFASTAPI      __fastcall
00142  #endif
00143 
00144  #define DECLSPEC_NAKED   __declspec(naked)
00145 
00146 #endif //__GNUC__
00147 
00148 
00149 #endif //__UNIATA_CONFIG__H__