CMGDK r49-rc2
|
00001 / * C o p y r i g h t ( C ) 2 0 0 2 - 2 0 0 4 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 # i f n d e f _ m y _ g e t o p t _ h 00024 00025 # d e f i n e _ m y _ g e t o p t _ h 00026 00027 C _ M O D E _ S T A R T 00028 00029 # d e f i n e G E T _ N O _ A R G 1 00030 00031 # d e f i n e G E T _ B O O L 2 00032 00033 # d e f i n e G E T _ I N T 3 00034 00035 # d e f i n e G E T _ U I N T 4 00036 00037 # d e f i n e G E T _ L O N G 5 00038 00039 # d e f i n e G E T _ U L O N G 6 00040 00041 # d e f i n e G E T _ L L 7 00042 00043 # d e f i n e G E T _ U L L 8 00044 00045 # d e f i n e G E T _ S T R 9 00046 00047 # d e f i n e G E T _ S T R _ A L L O C 1 0 00048 00049 # d e f i n e G E T _ D I S A B L E D 1 1 00050 00051 # d e f i n e G E T _ E N U M 1 2 00052 00053 # d e f i n e G E T _ S E T 1 3 00054 00055 # d e f i n e G E T _ D O U B L E 1 4 00056 00057 # d e f i n e G E T _ A S K _ A D D R 1 2 8 00058 00059 # d e f i n e G E T _ T Y P E _ M A S K 1 2 7 00060 00061 e n u m g e t _ o p t _ a r g _ t y p e { N O _ A R G , O P T _ A R G , R E Q U I R E D _ A R G } ; 00062 00063 s t r u c t s t _ t y p e l i b ; 00064 00065 s t r u c t m y _ o p t i o n 00066 00067 { 00068 00069 c o n s t c h a r * n a m e ; / * N a m e o f t h e o p t i o n * / 00070 00071 i n t i d ; / * u n i q u e i d o r s h o r t o p t i o n * / 00072 00073 c o n s t c h a r * c o m m e n t ; / * o p t i o n c o m m e n t , f o r a u t o m . - - h e l p * / 00074 00075 u c h a r * * v a l u e ; / * T h e v a r i a b l e v a l u e * / 00076 00077 u c h a r * * u _ m a x _ v a l u e ; / * T h e u s e r d e f . m a x v a r i a b l e v a l u e * / 00078 00079 s t r u c t s t _ t y p e l i b * t y p e l i b ; / * P o i n t e r t o p o s s i b l e v a l u e s * / 00080 00081 u l o n g v a r _ t y p e ; 00082 00083 e n u m g e t _ o p t _ a r g _ t y p e a r g _ t y p e ; 00084 00085 l o n g l o n g d e f _ v a l u e ; / * D e f a u l t v a l u e * / 00086 00087 l o n g l o n g m i n _ v a l u e ; / * M i n a l l o w e d v a l u e * / 00088 00089 l o n g l o n g m a x _ v a l u e ; / * M a x a l l o w e d v a l u e * / 00090 00091 l o n g l o n g s u b _ s i z e ; / * S u b t r a c t t h i s f r o m g i v e n v a l u e * / 00092 00093 l o n g b l o c k _ s i z e ; / * V a l u e s h o u l d b e a m u l t . o f t h i s * / 00094 00095 v o i d * a p p _ t y p e ; / * T o b e u s e d b y a n a p p l i c a t i o n * / 00096 00097 } ; 00098 00099 t y p e d e f m y _ b o o l ( * m y _ g e t _ o n e _ o p t i o n ) ( i n t , c o n s t s t r u c t m y _ o p t i o n * , c h a r * ) ; 00100 00101 t y p e d e f v o i d ( * m y _ e r r o r _ r e p o r t e r ) ( e n u m l o g l e v e l l e v e l , c o n s t c h a r * f o r m a t , . . . ) ; 00102 00103 e x t e r n c h a r * d i s a b l e d _ m y _ o p t i o n ; 00104 00105 e x t e r n m y _ b o o l m y _ g e t o p t _ p r i n t _ e r r o r s ; 00106 00107 e x t e r n m y _ b o o l m y _ g e t o p t _ s k i p _ u n k n o w n ; 00108 00109 e x t e r n m y _ e r r o r _ r e p o r t e r m y _ g e t o p t _ e r r o r _ r e p o r t e r ; 00110 00111 e x t e r n i n t h a n d l e _ o p t i o n s ( i n t * a r g c , c h a r * * * a r g v , 00112 00113 c o n s t s t r u c t m y _ o p t i o n * l o n g o p t s , m y _ g e t _ o n e _ o p t i o n ) ; 00114 00115 e x t e r n v o i d m y _ c l e a n u p _ o p t i o n s ( c o n s t s t r u c t m y _ o p t i o n * o p t i o n s ) ; 00116 00117 e x t e r n v o i d m y _ p r i n t _ h e l p ( c o n s t s t r u c t m y _ o p t i o n * o p t i o n s ) ; 00118 00119 e x t e r n v o i d m y _ p r i n t _ v a r i a b l e s ( c o n s t s t r u c t m y _ o p t i o n * o p t i o n s ) ; 00120 00121 e x t e r n v o i d m y _ g e t o p t _ r e g i s t e r _ g e t _ a d d r ( u c h a r * * ( * f u n c _ a d d r ) ( c o n s t c h a r * , u i n t , 00122 00123 c o n s t s t r u c t m y _ o p t i o n * , i n t * ) ) ; 00124 00125 u l o n g l o n g g e t o p t _ u l l _ l i m i t _ v a l u e ( u l o n g l o n g n u m , c o n s t s t r u c t m y _ o p t i o n * o p t p , 00126 00127 m y _ b o o l * f i x ) ; 00128 00129 l o n g l o n g g e t o p t _ l l _ l i m i t _ v a l u e ( l o n g l o n g , c o n s t s t r u c t m y _ o p t i o n * , 00130 00131 m y _ b o o l * f i x ) ; 00132 00133 m y _ b o o l g e t o p t _ c o m p a r e _ s t r i n g s ( c o n s t c h a r * s , c o n s t c h a r * t , u i n t l e n g t h ) ; 00134 00135 C _ M O D E _ E N D 00136 00137 # e n d i f / * _ m y _ g e t o p t _ h * / 00138 00139