CMGDK r49-rc2
|
00001 / * C o p y r i g h t 2 0 0 0 - 2 0 0 8 M y S Q L A B , 2 0 0 8 S u n M i c r o s y s t e m s , I n c . 00002 00003 T h i s p r o g r a m i s f r e e s o f t w a r e ; y o u c a n r e d i s t r i b u t e i t a n d / o r m o d i f y 00004 00005 i t u n d e r t h e t e r m s o f t h e G N U G e n e r a l P u b l i c L i c e n s e a s p u b l i s h e d b y 00006 00007 t h e F r e e S o f t w a r e F o u n d a t i o n ; v e r s i o n 2 o f t h e L i c e n s e . 00008 00009 T h i s p r o g r a m i s d i s t r i b u t e d i n t h e h o p e t h a t i t w i l l b e u s e f u l , 00010 00011 b u t W I T H O U T A N Y W A R R A N T Y ; w i t h o u t e v e n t h e i m p l i e d w a r r a n t y o f 00012 00013 M E R C H A N T A B I L I T Y o r F I T N E S S F O R A P A R T I C U L A R P U R P O S E . S e e t h e 00014 00015 G N U G e n e r a l P u b l i c L i c e n s e f o r m o r e d e t a i l s . 00016 00017 Y o u s h o u l d h a v e r e c e i v e d a c o p y o f t h e G N U G e n e r a l P u b l i c L i c e n s e 00018 00019 a l o n g w i t h t h i s p r o g r a m ; i f n o t , w r i t e t o t h e F r e e S o f t w a r e 00020 00021 F o u n d a t i o n , I n c . , 5 9 T e m p l e P l a c e , S u i t e 3 3 0 , B o s t o n , M A 0 2 1 1 1 - 1 3 0 7 U S A * / 00022 00023 / * D e f i n e s f o r W i n 3 2 t o m a k e i t c o m p a t i b l e f o r M y S Q L * / 00024 00025 # d e f i n e B I G _ T A B L E S 00026 00027 / * 00028 00029 M i n i m a l v e r s i o n o f W i n d o w s w e s h o u l d b e a b l e t o r u n o n . 00030 00031 C u r r e n t l y W i n d o w s 2 0 0 0 00032 00033 * / 00034 00035 # d e f i n e _ W I N 3 2 _ W I N N T 0 x 0 5 0 0 00036 00037 00038 00039 # i f d e f i n e d ( _ M S C _ V E R ) & & _ M S C _ V E R > = 1 4 0 0 00040 00041 / * A v o i d e n d l e s s w a r n i n g s a b o u t s p r i n t f ( ) e t c . b e i n g u n s a f e . * / 00042 00043 # d e f i n e _ C R T _ S E C U R E _ N O _ D E P R E C A T E 1 00044 00045 # e n d i f 00046 00047 # i n c l u d e < s y s / l o c k i n g . h > 00048 00049 # i n c l u d e < s y s / s t a t . h > / * c h m o d ( ) c o n s t a n t s * / 00050 00051 # i n c l u d e < w i n s o c k 2 . h > 00052 00053 # i n c l u d e < W s 2 t c p i p . h > 00054 00055 # i n c l u d e < f c n t l . h > 00056 00057 # i n c l u d e < i o . h > 00058 00059 # i n c l u d e < m a l l o c . h > 00060 00061 # i n c l u d e < s y s / s t a t . h > 00062 00063 # i n c l u d e < p r o c e s s . h > / * g e t p i d ( ) * / 00064 00065 # d e f i n e H A V E _ S M E M 1 00066 00067 # i f d e f i n e d ( _ W I N 6 4 ) | | d e f i n e d ( W I N 6 4 ) 00068 00069 # d e f i n e S Y S T E M _ T Y P E " W i n 6 4 " 00070 00071 # e l i f d e f i n e d ( _ W I N 3 2 ) | | d e f i n e d ( W I N 3 2 ) 00072 00073 # d e f i n e S Y S T E M _ T Y P E " W i n 3 2 " 00074 00075 # e l s e 00076 00077 # d e f i n e S Y S T E M _ T Y P E " W i n d o w s " 00078 00079 # e n d i f 00080 00081 # i f d e f i n e d ( _ M _ I A 6 4 ) 00082 00083 # d e f i n e M A C H I N E _ T Y P E " i a 6 4 " 00084 00085 # e l i f d e f i n e d ( _ M _ I X 8 6 ) 00086 00087 # d e f i n e M A C H I N E _ T Y P E " i a 3 2 " 00088 00089 # e l i f d e f i n e d ( _ M _ A L P H A ) 00090 00091 # d e f i n e M A C H I N E _ T Y P E " a x p " 00092 00093 # e l s e 00094 00095 # d e f i n e M A C H I N E _ T Y P E " u n k n o w n " / * D e f i n e t o m a c h i n e t y p e n a m e * / 00096 00097 # e n d i f 00098 00099 00100 00101 # i f ! ( d e f i n e d ( _ W I N 6 4 ) | | d e f i n e d ( W I N 6 4 ) ) 00102 00103 # i f n d e f _ W I N 3 2 00104 00105 # d e f i n e _ W I N 3 2 / * C o m p a t i b l e w i t h o l d s o u r c e * / 00106 00107 # e n d i f 00108 00109 # i f n d e f _ _ W I N 3 2 _ _ 00110 00111 # d e f i n e _ _ W I N 3 2 _ _ 00112 00113 # e n d i f 00114 00115 # e n d i f / * _ W I N 6 4 * / 00116 00117 # i f n d e f _ _ W I N _ _ 00118 00119 # d e f i n e _ _ W I N _ _ / * T o m a k e i t e a s i e r i n V C + + * / 00120 00121 # e n d i f 00122 00123 # i f n d e f M A X _ I N D E X E S 00124 00125 # d e f i n e M A X _ I N D E X E S 6 4 00126 00127 # e n d i f 00128 00129 / * F i l e a n d l o c k c o n s t a n t s * / 00130 00131 # i f d e f _ _ B O R L A N D C _ _ 00132 00133 # d e f i n e F _ R D L C K L K _ N B L C K / * r e a d l o c k * / 00134 00135 # d e f i n e F _ W R L C K L K _ N B R L C K / * w r i t e l o c k * / 00136 00137 # d e f i n e F _ U N L C K L K _ U N L C K / * r e m o v e l o c k ( s ) * / 00138 00139 # e l s e 00140 00141 # d e f i n e F _ R D L C K _ L K _ N B L C K / * r e a d l o c k * / 00142 00143 # d e f i n e F _ W R L C K _ L K _ N B R L C K / * w r i t e l o c k * / 00144 00145 # d e f i n e F _ U N L C K _ L K _ U N L C K / * r e m o v e l o c k ( s ) * / 00146 00147 # e n d i f 00148 00149 # d e f i n e F _ E X C L U S I V E 1 / * W e h a v e o n l y e x c l u s i v e l o c k i n g * / 00150 00151 # d e f i n e F _ T O _ E O F ( I N T _ M A X 3 2 / 2 ) / * s i z e f o r l o c k o f a l l f i l e * / 00152 00153 # d e f i n e F _ O K 0 / * p a r a m e t e r t o a c c e s s ( ) * / 00154 00155 # d e f i n e W _ O K 2 00156 00157 # d e f i n e S _ I R O T H S _ I R E A D / * f o r m y _ l i b * / 00158 00159 / * f o r M Y _ S _ I S F I F O ( ) m a c r o f r o m m y _ l i b * / 00160 00161 # i f d e f i n e d ( _ S _ I F I F O ) & & ! d e f i n e d ( S _ I F I F O ) 00162 00163 # d e f i n e S _ I F I F O _ S _ I F I F O 00164 00165 # e n d i f 00166 00167 / * W i n s o c k 2 c o n s t a n t ( V i s t a S D K a n d l a t e r ) * / 00168 00169 # d e f i n e I P P R O T O _ I P V 6 4 1 00170 00171 # i f n d e f I P V 6 _ V 6 O N L Y 00172 00173 # d e f i n e I P V 6 _ V 6 O N L Y 2 7 00174 00175 # e n d i f 00176 00177 / * 00178 00179 C o n s t a n t s u s e d b y c h m o d . N o t e , t h a t g r o u p / o t h e r s i s i g n o r e d 00180 00181 - b e c a u s e u n s u p p o r t e d b y W i n d o w s d u e t o d i f f e r e n t a c c e s s c o n t r o l m o d e l . 00182 00183 * / 00184 00185 # d e f i n e S _ I R W X U S _ I R E A D | S _ I W R I T E 00186 00187 # d e f i n e S _ I R W X G 0 00188 00189 # d e f i n e S _ I R W X O 0 00190 00191 t y p e d e f i n t m o d e _ t ; 00192 00193 # i f d e f _ _ B O R L A N D C _ _ 00194 00195 # d e f i n e F I L E _ B I N A R Y O _ B I N A R Y / * m y _ f o p e n i n b i n a r y m o d e * / 00196 00197 # d e f i n e O _ T E M P O R A R Y 0 00198 00199 # d e f i n e O _ S H O R T _ L I V E D 0 00200 00201 # d e f i n e S H _ D E N Y N O _ S H _ D E N Y N O 00202 00203 # e l s e 00204 00205 # d e f i n e O _ B I N A R Y _ O _ B I N A R Y / * c o m p a b i l i t y w i t h o l d e r s t y l e n a m e s * / 00206 00207 # d e f i n e F I L E _ B I N A R Y _ O _ B I N A R Y / * m y _ f o p e n i n b i n a r y m o d e * / 00208 00209 # d e f i n e O _ T E M P O R A R Y _ O _ T E M P O R A R Y 00210 00211 # d e f i n e O _ S H O R T _ L I V E D _ O _ S H O R T _ L I V E D 00212 00213 # d e f i n e S H _ D E N Y N O _ S H _ D E N Y N O 00214 00215 # e n d i f 00216 00217 # d e f i n e N O _ O P E N _ 3 / * F o r m y _ c r e a t e ( ) * / 00218 00219 # d e f i n e S I G Q U I T S I G T E R M / * N o S I G Q U I T * / 00220 00221 # u n d e f _ R E E N T R A N T / * C r a s h e s s o m e t h i n g f o r w i n 3 2 * / 00222 00223 # u n d e f S A F E _ M U T E X / * C a n ' t b e u s e d o n w i n d o w s * / 00224 00225 # d e f i n e L O N G L O N G _ M I N 0 x 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 L L 00226 00227 # d e f i n e L O N G L O N G _ M A X 0 x 7 F F F F F F F F F F F F F F F L L 00228 00229 # d e f i n e U L O N G L O N G _ M A X 0 x F F F F F F F F F F F F F F F F U L L 00230 00231 / * T y p e i n f o r m a t i o n * / 00232 00233 # i f ! d e f i n e d ( H A V E _ U I N T ) 00234 00235 # u n d e f H A V E _ U I N T 00236 00237 # d e f i n e H A V E _ U I N T 00238 00239 t y p e d e f u n s i g n e d s h o r t u s h o r t ; 00240 00241 t y p e d e f u n s i g n e d i n t u i n t ; 00242 00243 # e n d i f / * ! d e f i n e d ( H A V E _ U I N T ) * / 00244 00245 t y p e d e f u n s i g n e d _ _ i n t 6 4 u l o n g l o n g ; / * M i c r o s o f t s 6 4 b i t t y p e s * / 00246 00247 t y p e d e f _ _ i n t 6 4 l o n g l o n g ; 00248 00249 # i f n d e f H A V E _ S I G S E T _ T 00250 00251 t y p e d e f i n t s i g s e t _ t ; 00252 00253 # e n d i f 00254 00255 # d e f i n e l o n g l o n g _ d e f i n e d 00256 00257 / * 00258 00259 o f f _ t s h o u l d n o t b e _ _ i n t 6 4 b e c a u s e o f c o n f l i c t s i n h e a d e r f i l e s ; 00260 00261 U s e m y _ o f f _ t o r o s _ o f f _ t i n s t e a d 00262 00263 * / 00264 00265 # i f n d e f H A V E _ O F F _ T 00266 00267 t y p e d e f l o n g o f f _ t ; 00268 00269 # e n d i f 00270 00271 t y p e d e f _ _ i n t 6 4 o s _ o f f _ t ; 00272 00273 # i f d e f _ W I N 6 4 00274 00275 t y p e d e f U I N T _ P T R r f _ S e t T i m e r ; 00276 00277 # e l s e 00278 00279 t y p e d e f u i n t r f _ S e t T i m e r ; 00280 00281 # e n d i f 00282 00283 # i f n d e f H A V E _ S I Z E _ T 00284 00285 # i f n d e f _ S I Z E _ T _ D E F I N E D 00286 00287 t y p e d e f S I Z E _ T s i z e _ t ; 00288 00289 # d e f i n e _ S I Z E _ T _ D E F I N E D 00290 00291 # e n d i f 00292 00293 # e n d i f 00294 00295 # i f n d e f H A V E _ S S I Z E _ T 00296 00297 # i f n d e f _ S S I Z E _ T _ D E F I N E D 00298 00299 t y p e d e f S S I Z E _ T s s i z e _ t ; 00300 00301 # d e f i n e _ S S I Z E _ T _ D E F I N E D 00302 00303 # e n d i f 00304 00305 # e n d i f 00306 00307 # d e f i n e S o c k e t _ d e f i n e d 00308 00309 # d e f i n e m y _ s o c k e t S O C K E T 00310 00311 # d e f i n e S I G P I P E S I G I N T 00312 00313 # d e f i n e R E T Q S O R T T Y P E v o i d 00314 00315 # d e f i n e Q S O R T _ T Y P E _ I S _ V O I D 00316 00317 # d e f i n e S O C K E T _ S I Z E _ T Y P E i n t 00318 00319 # d e f i n e m y _ s o c k e t _ d e f i n e d 00320 00321 # d e f i n e b y t e _ d e f i n e d 00322 00323 # d e f i n e H U G E _ P T R 00324 00325 # d e f i n e S T D C A L L _ _ s t d c a l l / * U s e d b y l i b m y s q l . d l l * / 00326 00327 # d e f i n e i s n a n ( X ) _ i s n a n ( X ) 00328 00329 # d e f i n e f i n i t e ( X ) _ f i n i t e ( X ) 00330 00331 # i f n d e f U N D E F _ T H R E A D _ H A C K 00332 00333 # d e f i n e T H R E A D 00334 00335 # e n d i f 00336 00337 # d e f i n e V O I D _ S I G H A N D L E R 00338 00339 # d e f i n e S I Z E O F _ C H A R 1 00340 00341 # d e f i n e S I Z E O F _ I N T 4 00342 00343 # d e f i n e S I Z E O F _ L O N G 4 00344 00345 # d e f i n e S I Z E O F _ L O N G _ L O N G 8 00346 00347 # d e f i n e S I Z E O F _ O F F _ T 8 00348 00349 # i f d e f _ W I N 6 4 00350 00351 # d e f i n e S I Z E O F _ C H A R P 8 00352 00353 # e l s e 00354 00355 # d e f i n e S I Z E O F _ C H A R P 4 00356 00357 # e n d i f 00358 00359 # d e f i n e H A V E _ B R O K E N _ N E T I N E T _ I N C L U D E S 00360 00361 # i f d e f _ W I N 3 2 00362 00363 # d e f i n e H A V E _ N A M E D _ P I P E / * W e c a n o n l y c r e a t e p i p e s o n N T * / 00364 00365 # e n d i f 00366 00367 / * E R R O R i s d e f i n e d i n w i n g d i . h * / 00368 00369 # u n d e f E R R O R 00370 00371 / * W e n e e d t o c l o s e f i l e s t o b r e a k c o n n e c t i o n s o n s h u t d o w n * / 00372 00373 # i f n d e f S I G N A L _ W I T H _ V I O _ C L O S E 00374 00375 # d e f i n e S I G N A L _ W I T H _ V I O _ C L O S E 00376 00377 # e n d i f 00378 00379 / * A l l w i n d o w s s e r v e r s s h o u l d s u p p o r t . s y m f i l e s * / 00380 00381 # u n d e f U S E _ S Y M D I R 00382 00383 # d e f i n e U S E _ S Y M D I R 00384 00385 / * I f L O A D D A T A L O C A L I N F I L E s h o u l d b e e n a b l e d b y d e f a u l t * / 00386 00387 # d e f i n e E N A B L E D _ L O C A L _ I N F I L E 1 00388 00389 / * I f q u e r y p r o f i l i n g s h o u l d b e e n a b l e d b y d e f a u l t * / 00390 00391 # d e f i n e E N A B L E D _ P R O F I L I N G 1 00392 00393 / * C o n v e r t s o m e s i m p l e f u n c t i o n s t o P o s i x * / 00394 00395 # d e f i n e m y _ s i g s e t ( A , B ) s i g n a l ( ( A ) , ( B ) ) 00396 00397 # d e f i n e f i n i t e ( A ) _ f i n i t e ( A ) 00398 00399 # d e f i n e s l e e p ( A ) S l e e p ( ( A ) * 1 0 0 0 ) 00400 00401 # d e f i n e p o p e n ( A , B ) _ p o p e n ( ( A ) , ( B ) ) 00402 00403 # d e f i n e p c l o s e ( A ) _ p c l o s e ( A ) 00404 00405 # i f n d e f _ _ B O R L A N D C _ _ 00406 00407 # d e f i n e a c c e s s ( A , B ) _ a c c e s s ( A , B ) 00408 00409 # e n d i f 00410 00411 # i f ! d e f i n e d ( _ _ c p l u s p l u s ) 00412 00413 # d e f i n e i n l i n e _ _ i n l i n e 00414 00415 # e n d i f / * _ _ c p l u s p l u s * / 00416 00417 # i f d e f _ W I N 6 4 00418 00419 # d e f i n e u l o n g l o n g 2 d o u b l e ( A ) ( ( d o u b l e ) ( u l o n g l o n g ) ( A ) ) 00420 00421 # d e f i n e m y _ o f f _ t 2 d o u b l e ( A ) ( ( d o u b l e ) ( m y _ o f f _ t ) ( A ) ) 00422 00423 # e l s e 00424 00425 i n l i n e d o u b l e u l o n g l o n g 2 d o u b l e ( u l o n g l o n g v a l u e ) 00426 00427 { 00428 00429 l o n g l o n g n r = ( l o n g l o n g ) v a l u e ; 00430 00431 i f ( n r > = 0 ) 00432 00433 r e t u r n ( d o u b l e ) n r ; 00434 00435 r e t u r n ( 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 1 6 . 0 + ( d o u b l e ) n r ) ; 00436 00437 } 00438 00439 # d e f i n e m y _ o f f _ t 2 d o u b l e ( A ) u l o n g l o n g 2 d o u b l e ( A ) 00440 00441 # e n d i f / * _ W I N 6 4 * / 00442 00443 i n l i n e u l o n g l o n g d o u b l e 2 u l o n g l o n g ( d o u b l e d ) 00444 00445 { 00446 00447 d o u b l e t = d - ( d o u b l e ) 0 x 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 U L L ; 00448 00449 i f ( t > = 0 ) 00450 00451 r e t u r n ( ( u l o n g l o n g ) t ) + 0 x 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 U L L ; 00452 00453 r e t u r n ( u l o n g l o n g ) d ; 00454 00455 } 00456 00457 # i f S I Z E O F _ O F F _ T > 4 00458 00459 # d e f i n e l s e e k ( A , B , C ) _ l s e e k i 6 4 ( ( A ) , ( l o n g l o n g ) ( B ) , ( C ) ) 00460 00461 # d e f i n e t e l l ( A ) _ t e l l i 6 4 ( A ) 00462 00463 # e n d i f 00464 00465 # d e f i n e S T A C K _ D I R E C T I O N - 1 00466 00467 / * D i f f e r e n c e b e t w e e n G e t S y s t e m T i m e A s F i l e T i m e ( ) a n d n o w ( ) * / 00468 00469 # d e f i n e O F F S E T _ T O _ E P O C H 1 1 6 4 4 4 7 3 6 0 0 0 0 0 0 0 0 0 U L L 00470 00471 # d e f i n e H A V E _ P E R R O R 00472 00473 # d e f i n e H A V E _ V F P R I N T 00474 00475 # d e f i n e H A V E _ R E N A M E / * H a v e r e n a m e ( ) a s f u n c t i o n * / 00476 00477 # d e f i n e H A V E _ B I N A R Y _ S T R E A M S / * H a v e " b " f l a g i n s t r e a m s * / 00478 00479 # d e f i n e H A V E _ L O N G _ J M P / * H a v e l o n g j u m p f u n c t i o n * / 00480 00481 # d e f i n e H A V E _ L O C K I N G / * h a v e l o c k i n g ( ) c a l l * / 00482 00483 # d e f i n e H A V E _ E R R N O _ A S _ D E F I N E / * e r r n o i s a d e f i n e * / 00484 00485 # d e f i n e H A V E _ S T D L I B / * e v e r y t h i n g i s i n c l u d e i n t h i s f i l e * / 00486 00487 # d e f i n e H A V E _ M E M C P Y 00488 00489 # d e f i n e H A V E _ M E M M O V E 00490 00491 # d e f i n e H A V E _ G E T C W D 00492 00493 # d e f i n e H A V E _ T E L L 00494 00495 # d e f i n e H A V E _ T Z N A M E 00496 00497 # d e f i n e H A V E _ P U T E N V 00498 00499 # d e f i n e H A V E _ S E L E C T 00500 00501 # d e f i n e H A V E _ S E T L O C A L E 00502 00503 # d e f i n e H A V E _ S O C K E T / * G i a n g i * / 00504 00505 # d e f i n e H A V E _ F L O A T _ H 00506 00507 # d e f i n e H A V E _ L I M I T S _ H 00508 00509 # d e f i n e H A V E _ S T D D E F _ H 00510 00511 # d e f i n e N O _ F C N T L _ N O N B L O C K / * N o F C N T L * / 00512 00513 # d e f i n e H A V E _ A L L O C A 00514 00515 # d e f i n e H A V E _ S T R P B R K 00516 00517 # d e f i n e H A V E _ S T R S T R 00518 00519 # d e f i n e H A V E _ C O M P R E S S 00520 00521 # d e f i n e H A V E _ C R E A T E S E M A P H O R E 00522 00523 # d e f i n e H A V E _ I S N A N 00524 00525 # d e f i n e H A V E _ F I N I T E 00526 00527 # d e f i n e H A V E _ Q U E R Y _ C A C H E 00528 00529 # d e f i n e S P R I N T F _ R E T U R N S _ I N T 00530 00531 # d e f i n e H A V E _ S E T F I L E P O I N T E R 00532 00533 # d e f i n e H A V E _ V I O _ R E A D _ B U F F 00534 00535 # i f d e f i n e d ( _ M S C _ V E R ) & & _ M S C _ V E R > = 1 4 0 0 00536 00537 / * s t r n l e n ( ) a p p e a r e d i n S t u d i o 2 0 0 5 * / 00538 00539 # d e f i n e H A V E _ S T R N L E N 00540 00541 # e n d i f 00542 00543 # d e f i n e H A V E _ W I N S O C K 2 00544 00545 # d e f i n e s t r c a s e c m p s t r i c m p 00546 00547 # d e f i n e s t r n c a s e c m p s t r n i c m p 00548 00549 # i f n d e f _ W I N 3 2 00550 00551 # u n d e f F I L E _ S H A R E _ D E L E T E 00552 00553 # d e f i n e F I L E _ S H A R E _ D E L E T E 0 / * N o t i m p l e m e n t e d o n W i n 9 8 / M E * / 00554 00555 # e n d i f 00556 00557 # i f d e f N O T _ U S E D 00558 00559 # d e f i n e H A V E _ S N P R I N T F / * G a v e l i n k e r r o r * / 00560 00561 # d e f i n e _ s n p r i n t f s n p r i n t f 00562 00563 # e n d i f 00564 00565 # i f d e f _ M S C _ V E R 00566 00567 # d e f i n e H A V E _ L D I V / * T h e o p t i m i z e r b r e a k s i n z o r t e c h f o r l d i v * / 00568 00569 # d e f i n e H A V E _ A N S I _ I N C L U D E 00570 00571 # d e f i n e H A V E _ S Y S _ U T I M E _ H 00572 00573 # d e f i n e H A V E _ S T R T O U L 00574 00575 # e n d i f 00576 00577 # d e f i n e m y _ r e i n t e r p r e t _ c a s t ( A ) r e i n t e r p r e t _ c a s t < A > 00578 00579 # d e f i n e m y _ c o n s t _ c a s t ( A ) c o n s t _ c a s t < A > 00580 00581 00582 00583 / * M Y S Q L O P T I O N S * / 00584 00585 # i f d e f _ C U S T O M C O N F I G _ 00586 00587 # i n c l u d e < c u s t o m _ c o n f . h > 00588 00589 # e l s e 00590 00591 # d e f i n e D E F A U L T _ M Y S Q L _ H O M E " c : \ \ m y s q l " 00592 00593 # d e f i n e D A T A D I R " c : \ \ m y s q l \ \ d a t a " 00594 00595 # d e f i n e P A C K A G E " m y s q l " 00596 00597 # d e f i n e D E F A U L T _ B A S E D I R " C : \ \ " 00598 00599 # d e f i n e S H A R E D I R " s h a r e " 00600 00601 # d e f i n e D E F A U L T _ C H A R S E T _ H O M E " C : / m y s q l / " 00602 00603 # e n d i f 00604 00605 # i f n d e f D E F A U L T _ H O M E _ E N V 00606 00607 # d e f i n e D E F A U L T _ H O M E _ E N V M Y S Q L _ H O M E 00608 00609 # e n d i f 00610 00611 # i f n d e f D E F A U L T _ G R O U P _ S U F F I X _ E N V 00612 00613 # d e f i n e D E F A U L T _ G R O U P _ S U F F I X _ E N V M Y S Q L _ G R O U P _ S U F F I X 00614 00615 # e n d i f 00616 00617 / * F i l e n a m e h a n d l i n g * / 00618 00619 # d e f i n e F N _ L I B C H A R ' \ \ ' 00620 00621 # d e f i n e F N _ R O O T D I R " \ \ " 00622 00623 # d e f i n e F N _ D E V C H A R ' : ' 00624 00625 # d e f i n e F N _ N E T W O R K _ D R I V E S / * U s e s \ \ t o i n d i c a t e n e t w o r k d r i v e s * / 00626 00627 # d e f i n e F N _ N O _ C A S E _ S E N C E / * F i l e s a r e n o t c a s e - s e n s i t i v e * / 00628 00629 # d e f i n e O S _ F I L E _ L I M I T U I N T _ M A X / * N o l i m i t * / 00630 00631 # d e f i n e D O _ N O T _ R E M O V E _ T H R E A D _ W R A P P E R S 00632 00633 # d e f i n e t h r e a d _ s a f e _ i n c r e m e n t ( V , L ) I n t e r l o c k e d I n c r e m e n t ( ( l o n g * ) & ( V ) ) 00634 00635 # d e f i n e t h r e a d _ s a f e _ d e c r e m e n t ( V , L ) I n t e r l o c k e d D e c r e m e n t ( ( l o n g * ) & ( V ) ) 00636 00637 / * T h e f o l l o w i n g i s o n l y u s e d f o r s t a t i s t i c s , s o i t s h o u l d b e g o o d e n o u g h * / 00638 00639 # i f d e f _ W I N 3 2 / * T h i s s h o u l d a l s o w o r k o n W i n 9 8 b u t . . * / 00640 00641 # d e f i n e t h r e a d _ s a f e _ a d d ( V , C , L ) I n t e r l o c k e d E x c h a n g e A d d ( ( l o n g * ) & ( V ) , ( C ) ) 00642 00643 # d e f i n e t h r e a d _ s a f e _ s u b ( V , C , L ) I n t e r l o c k e d E x c h a n g e A d d ( ( l o n g * ) & ( V ) , - ( l o n g ) ( C ) ) 00644 00645 # e n d i f 00646 00647 # d e f i n e s h a r e d _ m e m o r y _ b u f f e r _ l e n g t h 1 6 0 0 0 00648 00649 # d e f i n e d e f a u l t _ s h a r e d _ m e m o r y _ b a s e _ n a m e " M Y S Q L " 00650 00651 # d e f i n e H A V E _ S P A T I A L 1 00652 00653 # d e f i n e H A V E _ R T R E E _ K E Y S 1 00654 00655 # d e f i n e H A V E _ O P E N S S L 1 00656 00657 # d e f i n e H A V E _ Y A S S L 1 00658 00659 # d e f i n e C O M M U N I T Y _ S E R V E R 1 00660 00661 # d e f i n e E N A B L E D _ P R O F I L I N G 1 00662 00663 # d e f i n e H A V E _ B O O L 1 00664 00665