00001 #ifndef __CONFIGURE_H__
00002 #define __CONFIGURE_H__
00003
00004
00005
00006
00007
00008 #include <stdlib.h>
00009 #include "glib.h"
00010
00011
00012
00013
00014 #define vDEBUG
00015
00016
00017
00018
00019 typedef unsigned char vUCHAR;
00020 typedef char vCHAR;
00021 typedef unsigned short vUSHORT;
00022 typedef short vSHORT;
00023 typedef unsigned int vUINT;
00024 typedef int vINT;
00025 typedef unsigned long vULONG;
00026 typedef long vLONG;
00027 typedef float vFLOAT;
00028 typedef double vDOUBLE;
00029
00030 typedef char* vSTRING;
00031 typedef vINT vCOORD;
00032 typedef vUINT vMAGIC;
00033 typedef vUINT vSIZE;
00034 typedef vUINT vINDEX;
00035 typedef vUINT vFLAGS;
00036 typedef vUINT vSTATES;
00037 typedef vUINT vBIT;
00038
00039 typedef void vVOID;
00040
00041
00042
00043 typedef unsigned char vuchar;
00044 typedef char vchar;
00045 typedef unsigned short vushort;
00046 typedef short vshort;
00047 typedef unsigned int vuint;
00048 typedef int vint;
00049 typedef unsigned long vulong;
00050 typedef long vlong;
00051 typedef float vfloat;
00052 typedef double vdouble;
00053 typedef void* vpointer;
00054 typedef const void* vconstpointer;
00055 typedef vuint vsize;
00056 typedef vuint vindex;
00057 typedef vuint vflags;
00058 typedef vuint vbit;
00059
00060
00061 typedef enum
00062 {
00063 vFALSE,
00064 vTRUE
00065 }
00066 vBOOL;
00067
00068 #define vNULL NULL
00069
00070
00071 typedef enum
00072 {
00073 vDIM_X,
00074 vDIM_Y,
00075 vDIM_Z
00076 }
00077 vDIM_TYPE;
00078
00079
00080 typedef enum
00081 {
00082 vCOORD_X,
00083 vCOORD_Y,
00084 vCOORD_Z
00085 }
00086 vCOORD_TYPE;
00087
00088
00089 typedef enum
00090 {
00091 vENDIAN_LITTLE,
00092 vENDIAN_BIG
00093 }
00094 vENDIAN_TYPE;
00095
00096
00097
00098
00099 typedef enum
00100 {
00101 vUNITS_NANOMETERS,
00102 vUNITS_MICRONS,
00103 vUNITS_MILLIMETERS,
00104
00105 vUNITS_SENTINEL
00106 }
00107 vUNITS_TYPE;
00108
00109 #define vNUM_UNITS_TYPES ( ( vINT )vUNITS_SENTINEL )
00110
00111
00112
00113
00114 #define vUSE_PARAM( x ) ( x )
00115
00116 #define vARRAY_SIZE( ar, type )\
00117 ( sizeof( ( ar ) )/sizeof( type ) )
00118
00119 #define vMAX_PATH _MAX_PATH
00120 #define vMAX_DRIVE _MAX_DRIVE
00121 #define vMAX_DIR _MAX_DIR
00122 #define vMAX_FNAME _MAX_FNAME
00123 #define vMAX_EXT _MAX_EXT
00124
00125 #define vMIN( A, B )\
00126 ( ( ( A ) < ( B ) ) ? ( A ) : ( B ) )
00127
00128 #define vMAX( A, B )\
00129 ( ( ( A ) > ( B ) ) ? ( A ) : ( B ) )
00130
00131 #define vABS( A )\
00132 ( ( ( A ) < 0 ) ? -( A ) : ( A ) )
00133
00134 #define vRANDOM_RANGE( min, max )\
00135 ( rand() % ( ( max ) - ( min ) + 1 ) + ( min ) )
00136
00137 #define vTOGGLE_BIT( flags, bit )\
00138 ( ( flags ) = ( ( flags ) & ( bit ) ) ?\
00139 ( flags ) & ~( bit ) : ( flags ) | ( bit ) )
00140
00141 #define vSET_BIT( flags, bit )\
00142 ( ( flags ) |= ( bit ) )
00143
00144 #define vCLEAR_BIT( flags, bit )\
00145 ( ( flags ) &= ~( bit ) )
00146
00147 #define vBIT_IS_SET( flags, bit )\
00148 ( ( flags ) & ( bit ) )
00149
00150 #define vBIT_IS_CLEAR( flags, bit )\
00151 ( ! ( ( flags ) & ( bit ) ) )
00152
00153
00154 #define vSWAP( type, var1, var2 ) \
00155 { \
00156 type temp; \
00157 temp = ( var1 ); \
00158 ( var1 ) = ( var2 ); \
00159 ( var2 ) = temp; \
00160 }
00161
00162
00163 #define vBIT_0 0x00000001
00164 #define vBIT_1 0x00000002
00165 #define vBIT_2 0x00000004
00166 #define vBIT_3 0x00000008
00167
00168 #define vBIT_4 0x00000010
00169 #define vBIT_5 0x00000020
00170 #define vBIT_6 0x00000040
00171 #define vBIT_7 0x00000080
00172
00173 #define vBIT_8 0x00000100
00174 #define vBIT_9 0x00000200
00175 #define vBIT_10 0x00000400
00176 #define vBIT_11 0x00000800
00177
00178 #define vBIT_12 0x00001000
00179 #define vBIT_13 0x00002000
00180 #define vBIT_14 0x00004000
00181 #define vBIT_15 0x00008000
00182
00183 #define vBIT_16 0x00010000
00184 #define vBIT_17 0x00020000
00185 #define vBIT_18 0x00040000
00186 #define vBIT_19 0x00080000
00187
00188 #define vBIT_20 0x00100000
00189 #define vBIT_21 0x00200000
00190 #define vBIT_22 0x00400000
00191 #define vBIT_23 0x00800000
00192
00193 #define vBIT_24 0x01000000
00194 #define vBIT_25 0x02000000
00195 #define vBIT_26 0x04000000
00196 #define vBIT_27 0x08000000
00197
00198 #define vBIT_28 0x10000000
00199 #define vBIT_29 0x20000000
00200 #define vBIT_30 0x40000000
00201 #define vBIT_31 0x80000000
00202
00203
00204 typedef struct tagvRECTANGLE
00205 {
00206 vCOORD left;
00207 vCOORD top;
00208 vCOORD right;
00209 vCOORD bottom;
00210 }
00211 vRECTANGLE;
00212
00213
00214 #endif
00215