CMGDK r49-rc2
|
00001 / * C o p y r i g h t ( C ) 2 0 0 0 M y S Q L A B 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 / * 00024 00025 C o p y r i g h t ( C ) 1 9 9 8 , 1 9 9 9 b y P r u e t B o o n m a , a l l r i g h t s r e s e r v e d . 00026 00027 C o p y r i g h t ( C ) 1 9 9 8 b y T h e p p i t a k K a r o o n b o o n y a n a n , a l l r i g h t s r e s e r v e d . 00028 00029 P e r m i s s i o n t o u s e , c o p y , m o d i f y , d i s t r i b u t e a n d s e l l t h i s s o f t w a r e 00030 00031 a n d i t s d o c u m e n t a t i o n f o r a n y p u r p o s e i s h e r e b y g r a n t e d w i t h o u t f e e , 00032 00033 p r o v i d e d t h a t t h e a b o v e c o p y r i g h t n o t i c e a p p e a r i n a l l c o p i e s . 00034 00035 S m a p h a n R a r u e n r o m a n d P r u e t B o o n m a m a k e s n o r e p r e s e n t a t i o n s a b o u t 00036 00037 t h e s u i t a b i l i t y o f t h i s s o f t w a r e f o r a n y p u r p o s e . I t i s p r o v i d e d 00038 00039 " a s i s " w i t h o u t e x p r e s s o r i m p l i e d w a r r a n t y . 00040 00041 * / 00042 00043 / * L C _ C O L L A T E c a t e g o r y + L e v e l i n f o r m a t i o n * / 00044 00045 # i f n d e f _ t _ c t y p e _ h 00046 00047 # d e f i n e _ t _ c t y p e _ h 00048 00049 # d e f i n e T O T _ L E V E L S 5 00050 00051 # d e f i n e L A S T _ L E V E L 4 / * T O T _ L E V E L S - 1 * / 00052 00053 # d e f i n e I G N O R E 0 00054 00055 00056 00057 / * l e v e l 1 s y m b o l s & o r d e r * / 00058 00059 e n u m l 1 _ s y m b o l s { 00060 00061 L 1 _ 0 8 = T O T _ L E V E L S , 00062 00063 L 1 _ 1 8 , 00064 00065 L 1 _ 2 8 , 00066 00067 L 1 _ 3 8 , 00068 00069 L 1 _ 4 8 , 00070 00071 L 1 _ 5 8 , 00072 00073 L 1 _ 6 8 , 00074 00075 L 1 _ 7 8 , 00076 00077 L 1 _ 8 8 , 00078 00079 L 1 _ 9 8 , 00080 00081 L 1 _ A 8 , 00082 00083 L 1 _ B 8 , 00084 00085 L 1 _ C 8 , 00086 00087 L 1 _ D 8 , 00088 00089 L 1 _ E 8 , 00090 00091 L 1 _ F 8 , 00092 00093 L 1 _ G 8 , 00094 00095 L 1 _ H 8 , 00096 00097 L 1 _ I 8 , 00098 00099 L 1 _ J 8 , 00100 00101 L 1 _ K 8 , 00102 00103 L 1 _ L 8 , 00104 00105 L 1 _ M 8 , 00106 00107 L 1 _ N 8 , 00108 00109 L 1 _ O 8 , 00110 00111 L 1 _ P 8 , 00112 00113 L 1 _ Q 8 , 00114 00115 L 1 _ R 8 , 00116 00117 L 1 _ S 8 , 00118 00119 L 1 _ T 8 , 00120 00121 L 1 _ U 8 , 00122 00123 L 1 _ V 8 , 00124 00125 L 1 _ W 8 , 00126 00127 L 1 _ X 8 , 00128 00129 L 1 _ Y 8 , 00130 00131 L 1 _ Z 8 , 00132 00133 L 1 _ K O _ K A I , 00134 00135 L 1 _ K H O _ K H A I , 00136 00137 L 1 _ K H O _ K H U A T , 00138 00139 L 1 _ K H O _ K H W A I , 00140 00141 L 1 _ K H O _ K H O N , 00142 00143 L 1 _ K H O _ R A K H A N G , 00144 00145 L 1 _ N G O _ N G U , 00146 00147 L 1 _ C H O _ C H A N , 00148 00149 L 1 _ C H O _ C H I N G , 00150 00151 L 1 _ C H O _ C H A N G , 00152 00153 L 1 _ S O _ S O , 00154 00155 L 1 _ C H O _ C H O E , 00156 00157 L 1 _ Y O _ Y I N G , 00158 00159 L 1 _ D O _ C H A D A , 00160 00161 L 1 _ T O _ P A T A K , 00162 00163 L 1 _ T H O _ T H A N , 00164 00165 L 1 _ T H O _ N A N G M O N T H O , 00166 00167 L 1 _ T H O _ P H U T H A O , 00168 00169 L 1 _ N O _ N E N , 00170 00171 L 1 _ D O _ D E K , 00172 00173 L 1 _ T O _ T A O , 00174 00175 L 1 _ T H O _ T H U N G , 00176 00177 L 1 _ T H O _ T H A H A N , 00178 00179 L 1 _ T H O _ T H O N G , 00180 00181 L 1 _ N O _ N U , 00182 00183 L 1 _ B O _ B A I M A I , 00184 00185 L 1 _ P O _ P L A , 00186 00187 L 1 _ P H O _ P H U N G , 00188 00189 L 1 _ F O _ F A , 00190 00191 L 1 _ P H O _ P H A N , 00192 00193 L 1 _ F O _ F A N , 00194 00195 L 1 _ P H O _ S A M P H A O , 00196 00197 L 1 _ M O _ M A , 00198 00199 L 1 _ Y O _ Y A K , 00200 00201 L 1 _ R O _ R U A , 00202 00203 L 1 _ R U , 00204 00205 L 1 _ L O _ L I N G , 00206 00207 L 1 _ L U , 00208 00209 L 1 _ W O _ W A E N , 00210 00211 L 1 _ S O _ S A L A , 00212 00213 L 1 _ S O _ R U S I , 00214 00215 L 1 _ S O _ S U A , 00216 00217 L 1 _ H O _ H I P , 00218 00219 L 1 _ L O _ C H U L A , 00220 00221 L 1 _ O _ A N G , 00222 00223 L 1 _ H O _ N O K H U K , 00224 00225 L 1 _ N K H I T , 00226 00227 L 1 _ S A R A _ A , 00228 00229 L 1 _ M A I _ H A N _ A K A T , 00230 00231 L 1 _ S A R A _ A A , 00232 00233 L 1 _ S A R A _ A M , 00234 00235 L 1 _ S A R A _ I , 00236 00237 L 1 _ S A R A _ I I , 00238 00239 L 1 _ S A R A _ U E , 00240 00241 L 1 _ S A R A _ U E E , 00242 00243 L 1 _ S A R A _ U , 00244 00245 L 1 _ S A R A _ U U , 00246 00247 L 1 _ S A R A _ E , 00248 00249 L 1 _ S A R A _ A E , 00250 00251 L 1 _ S A R A _ O , 00252 00253 L 1 _ S A R A _ A I _ M A I M U A N , 00254 00255 L 1 _ S A R A _ A I _ M A I M A L A I 00256 00257 } ; 00258 00259 / * l e v e l 2 s y m b o l s & o r d e r * / 00260 00261 e n u m l 2 _ s y m b o l s { 00262 00263 L 2 _ B L A N K = T O T _ L E V E L S , 00264 00265 L 2 _ T H A I I , 00266 00267 L 2 _ Y A M A K , 00268 00269 L 2 _ P I N T H U , 00270 00271 L 2 _ G A R A N , 00272 00273 L 2 _ T Y K H U , 00274 00275 L 2 _ T O N E 1 , 00276 00277 L 2 _ T O N E 2 , 00278 00279 L 2 _ T O N E 3 , 00280 00281 L 2 _ T O N E 4 00282 00283 } ; 00284 00285 / * l e v e l 3 s y m b o l s & o r d e r * / 00286 00287 e n u m l 3 _ s y m b o l s { 00288 00289 L 3 _ B L A N K = T O T _ L E V E L S , 00290 00291 L 3 _ S P A C E , 00292 00293 L 3 _ N B _ S A C E , 00294 00295 L 3 _ L O W _ L I N E , 00296 00297 L 3 _ H Y P H E N , 00298 00299 L 3 _ C O M M A , 00300 00301 L 3 _ S E M I C O L O N , 00302 00303 L 3 _ C O L O N , 00304 00305 L 3 _ E X C L A M A T I O N , 00306 00307 L 3 _ Q U E S T I O N , 00308 00309 L 3 _ S O L I D U S , 00310 00311 L 3 _ F U L L _ S T O P , 00312 00313 L 3 _ P A I Y A N _ N O I , 00314 00315 L 3 _ M A I _ Y A M O K , 00316 00317 L 3 _ G R A V E , 00318 00319 L 3 _ C I R C U M F L E X , 00320 00321 L 3 _ T I L D E , 00322 00323 L 3 _ A P O S T R O P H E , 00324 00325 L 3 _ Q U O T A T I O N , 00326 00327 L 3 _ L _ P A R A N T H E S I S , 00328 00329 L 3 _ L _ B R A C K E T , 00330 00331 L 3 _ L _ B R A C E , 00332 00333 L 3 _ R _ B R A C E , 00334 00335 L 3 _ R _ B R A C K E T , 00336 00337 L 3 _ R _ P A R E N T H E S I S , 00338 00339 L 3 _ A T , 00340 00341 L 3 _ B A H T , 00342 00343 L 3 _ D O L L A R , 00344 00345 L 3 _ F O N G M A N , 00346 00347 L 3 _ A N G K H A N K H U , 00348 00349 L 3 _ K H O M U T , 00350 00351 L 3 _ A S T E R I S K , 00352 00353 L 3 _ B K _ S O L I D U S , 00354 00355 L 3 _ A M P E R S A N D , 00356 00357 L 3 _ N U M B E R , 00358 00359 L 3 _ P E R C E N T , 00360 00361 L 3 _ P L U S , 00362 00363 L 3 _ L E S S _ T H A N , 00364 00365 L 3 _ E Q U A L , 00366 00367 L 3 _ G R E A T E R _ T H A N , 00368 00369 L 3 _ V _ L I N E 00370 00371 } ; 00372 00373 / * l e v e l 4 s y m b o l s & o r d e r * / 00374 00375 e n u m l 4 _ s y m b o l s { 00376 00377 L 4 _ B L A N K = T O T _ L E V E L S , 00378 00379 L 4 _ M I N , 00380 00381 L 4 _ C A P , 00382 00383 L 4 _ E X T 00384 00385 } ; 00386 00387 e n u m l e v e l _ s y m b o l s { 00388 00389 L _ U P R U P R = T O T _ L E V E L S , 00390 00391 L _ U P P E R , 00392 00393 L _ M I D D L E , 00394 00395 L _ L O W E R 00396 00397 } ; 00398 00399 # d e f i n e _ i s ( c ) ( t _ c t y p e [ ( c ) ] [ L A S T _ L E V E L ] ) 00400 00401 # d e f i n e _ l e v e l 8 00402 00403 # d e f i n e _ c o n s n t 1 6 00404 00405 # d e f i n e _ l d v o w e l 3 2 00406 00407 # d e f i n e _ f l l w v o w e l 6 4 00408 00409 # d e f i n e _ u p r v o w e l 1 2 8 00410 00411 # d e f i n e _ l w r v o w e l 2 5 6 00412 00413 # d e f i n e _ t o n e 5 1 2 00414 00415 # d e f i n e _ d i a c r t 1 1 0 2 4 00416 00417 # d e f i n e _ d i a c r t 2 2 0 4 8 00418 00419 # d e f i n e _ c o m b i n e 4 0 9 6 00420 00421 # d e f i n e _ s t o n e 8 1 9 2 00422 00423 # d e f i n e _ t d i g 1 6 3 8 4 00424 00425 # d e f i n e _ r e a r v o w e l ( _ f l l w v o w e l | _ u p r v o w e l | _ l w r v o w e l ) 00426 00427 # d e f i n e _ d i a c r t ( _ d i a c r t 1 | _ d i a c r t 2 ) 00428 00429 # d e f i n e l e v e l o f ( c ) ( _ i s ( c ) & _ l e v e l ) 00430 00431 # d e f i n e i s t h a i ( c ) ( ( c ) > = 1 2 8 ) 00432 00433 # d e f i n e i s t a l p h a ( c ) ( _ i s ( c ) & ( _ c o n s n t | _ l d v o w e l | _ r e a r v o w e l | \ 00434 00435 _ t o n e | _ d i a c r t 1 | _ d i a c r t 2 ) ) 00436 00437 # d e f i n e i s c o n s n t ( c ) ( _ i s ( c ) & _ c o n s n t ) 00438 00439 # d e f i n e i s l d v o w e l ( c ) ( _ i s ( c ) & _ l d v o w e l ) 00440 00441 # d e f i n e i s f l l w v o w e l ( c ) ( _ i s ( c ) & _ f l l w v o w e l ) 00442 00443 # d e f i n e i s m i d v o w e l ( c ) ( _ i s ( c ) & ( _ l d v o w e l | _ f l l w v o w e l ) ) 00444 00445 # d e f i n e i s u p r v o w e l ( c ) ( _ i s ( c ) & _ u p r v o w e l ) 00446 00447 # d e f i n e i s l w r v o w e l ( c ) ( _ i s ( c ) & _ l w r v o w e l ) 00448 00449 # d e f i n e i s u p r l w r v o w e l ( c ) ( _ i s ( c ) & ( _ l w r v o w e l | _ u p r v o w e l ) ) 00450 00451 # d e f i n e i s r e a r v o w e l ( c ) ( _ i s ( c ) & _ r e a r v o w e l ) 00452 00453 # d e f i n e i s v o w e l ( c ) ( _ i s ( c ) & ( _ l d v o w e l | _ r e a r v o w e l ) ) 00454 00455 # d e f i n e i s t o n e ( c ) ( _ i s ( c ) & _ t o n e ) 00456 00457 # d e f i n e i s u n l d a b l e ( c ) ( _ i s ( c ) & ( _ r e a r v o w e l | _ t o n e | _ d i a c r t 1 | _ d i a c r t 2 ) ) 00458 00459 # d e f i n e i s c o m b i n a b l e ( c ) ( _ i s ( c ) & _ c o m b i n e ) 00460 00461 # d e f i n e i s t d i g i t ( c ) ( _ i s ( c ) & _ t d i g ) 00462 00463 # d e f i n e i s s t o n e ( c ) ( _ i s ( c ) & _ s t o n e ) 00464 00465 # d e f i n e i s d i a c r t 1 ( c ) ( _ i s ( c ) & _ d i a c r t 1 ) 00466 00467 # d e f i n e i s d i a c r t 2 ( c ) ( _ i s ( c ) & _ d i a c r t 2 ) 00468 00469 # d e f i n e i s d i a c r t ( c ) ( _ i s ( c ) & _ d i a c r t ) 00470 00471 / * F u n c t i o n p r o t o t y p e c a l l e d b y s q l / f i e l d . c c * / 00472 00473 v o i d T h N o r m a l i z e ( u c h a r * p t r , u i n t f i e l d _ l e n g t h , c o n s t u c h a r * f r o m , u i n t l e n g t h ) ; 00474 00475 # e n d i f 00476 00477