CMGDK r49-rc2
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/my_sys.h
浏览该文件的文档。
00001 / *   C o p y r i g h t   ( C )   2 0 0 0 - 2 0 0 3   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      @ f i l e 
00026  
00027      m y s y s   l i b r a r y   A P I 
00028  
00029  * / 
00030  
00031  # i f n d e f   _ m y _ s y s _ h 
00032  
00033  # d e f i n e   _ m y _ s y s _ h 
00034  
00035  C _ M O D E _ S T A R T 
00036  
00037  # i f d e f   H A V E _ A I O W A I T 
00038  
00039  # i n c l u d e   < s y s / a s y n c h . h >           / *   U s e d   b y   r e c o r d - c a c h e   * / 
00040  
00041  t y p e d e f   s t r u c t   m y _ a i o _ r e s u l t   { 
00042  
00043      a i o _ r e s u l t _ t   r e s u l t ; 
00044  
00045      i n t                 p e n d i n g ; 
00046  
00047  }   m y _ a i o _ r e s u l t ; 
00048  
00049  # e n d i f 
00050  
00051  # i f n d e f   T H R E A D 
00052  
00053  e x t e r n   i n t   N E A R   m y _ e r r n o ;       / *   L a s t   e r r o r   i n   m y s y s   * / 
00054  
00055  # e l s e 
00056  
00057  # i n c l u d e   < m y _ p t h r e a d . h > 
00058  
00059  # e n d i f 
00060  
00061  # i n c l u d e   < m _ c t y p e . h >                                         / *   f o r   C H A R S E T _ I N F O   * / 
00062  
00063  # i n c l u d e   < s t d a r g . h > 
00064  
00065  # i n c l u d e   < t y p e l i b . h > 
00066  
00067  # d e f i n e   M Y S Y S _ P R O G R A M _ D O N T _ U S E _ C U R S E S ( )     {   e r r o r _ h a n d l e r _ h o o k   =   m y _ m e s s a g e _ n o _ c u r s e s ;   m y s y s _ u s e s _ c u r s e s = 0 ; } 
00068  
00069  # d e f i n e   M Y _ I N I T ( n a m e ) ;         {   m y _ p r o g n a m e =   n a m e ;   m y _ i n i t ( ) ;   } 
00070  
00071  / * * 
00072  
00073      M a x   l e n g t h   o f   a n   e r r o r   m e s s a g e   g e n e r a t e d   b y   m y s y s   u t i l i t i e s . 
00074  
00075      S o m e   m y s y s   f u n c t i o n s   p r o d u c e   e r r o r   m e s s a g e s .   T h e s e   m o s t l y   g o 
00076  
00077      t o   s t d e r r . 
00078  
00079      T h i s   c o n s t a n t   d e f i n e s   t h e   s i z e   o f   t h e   b u f f e r   u s e d   t o   f o r m a t 
00080  
00081      t h e   m e s s a g e .   I t   s h o u l d   b e   k e p t   i n   s y n c   w i t h   M Y S Q L _ E R R M S G _ S I Z E , 
00082  
00083      s i n c e   s o m e t i m e s   m y s y s   e r r o r s   a r e   s t o r e d   i n   t h e   s e r v e r   d i a g n o s t i c s 
00084  
00085      a r e a ,   a n d   w e   w o u l d   l i k e   t o   a v o i d   u n e x p e c t e d   t r u n c a t i o n . 
00086  
00087  * / 
00088  
00089  # d e f i n e   M Y S Y S _ E R R M S G _ S I Z E       ( 5 1 2 ) 
00090  
00091  # d e f i n e   M Y _ F I L E _ E R R O R   ( ( s i z e _ t )   - 1 ) 
00092  
00093      / *   G e n e r a l   b i t m a p s   f o r   m y _ f u n c ' s   * / 
00094  
00095  # d e f i n e   M Y _ F F N F       1   / *   F a t a l   i f   f i l e   n o t   f o u n d   * / 
00096  
00097  # d e f i n e   M Y _ F N A B P     2   / *   F a t a l   i f   n o t   a l l   b y t e s   r e a d / w r i t e n   * / 
00098  
00099  # d e f i n e   M Y _ N A B P       4   / *   E r r o r   i f   n o t   a l l   b y t e s   r e a d / w r i t e n   * / 
00100  
00101  # d e f i n e   M Y _ F A E         8   / *   F a t a l   i f   a n y   e r r o r   * / 
00102  
00103  # d e f i n e   M Y _ W M E         1 6     / *   W r i t e   m e s s a g e   o n   e r r o r   * / 
00104  
00105  # d e f i n e   M Y _ W A I T _ I F _ F U L L   3 2     / *   W a i t   a n d   t r y   a g a i n   i f   d i s k   f u l l   e r r o r   * / 
00106  
00107  # d e f i n e   M Y _ I G N O R E _ B A D F D   3 2             / *   m y _ s y n c :   i g n o r e   ' b a d   d e s c r i p t o r '   e r r o r s   * / 
00108  
00109  # d e f i n e   M Y _ S Y N C _ D I R           1 0 2 4         / *   m y _ c r e a t e / d e l e t e / r e n a m e :   s y n c   d i r e c t o r y   * / 
00110  
00111  # d e f i n e   M Y _ R A I D                   6 4             / *   S u p p o r t   f o r   R A I D   * / 
00112  
00113  # d e f i n e   M Y _ F U L L _ I O           5 1 2             / *   F o r   m y _ r e a d   -   l o o p   i n t i l   I / O   i s   c o m p l e t e   * / 
00114  
00115  # d e f i n e   M Y _ D O N T _ C H E C K _ F I L E S I Z E   1 2 8   / *   O p t i o n   t o   i n i t _ i o _ c a c h e ( )   * / 
00116  
00117  # d e f i n e   M Y _ L I N K _ W A R N I N G   3 2     / *   m y _ r e d e l ( )   g i v e s   w a r n i n g   i f   l i n k s   * / 
00118  
00119  # d e f i n e   M Y _ C O P Y T I M E   6 4     / *   m y _ r e d e l ( )   c o p y s   t i m e   * / 
00120  
00121  # d e f i n e   M Y _ D E L E T E _ O L D   2 5 6   / *   m y _ c r e a t e _ w i t h _ s y m l i n k ( )   * / 
00122  
00123  # d e f i n e   M Y _ R E S O L V E _ L I N K   1 2 8   / *   m y _ r e a l p a t h ( ) ;   O n l y   r e s o l v e   l i n k s   * / 
00124  
00125  # d e f i n e   M Y _ H O L D _ O R I G I N A L _ M O D E S   1 2 8     / *   m y _ c o p y ( )   h o l d s   t o   f i l e   m o d e s   * / 
00126  
00127  # d e f i n e   M Y _ R E D E L _ M A K E _ B A C K U P   2 5 6 
00128  
00129  # d e f i n e   M Y _ S E E K _ N O T _ D O N E   3 2   / *   m y _ l o c k   m a y   h a v e   t o   d o   a   s e e k   * / 
00130  
00131  # d e f i n e   M Y _ S H O R T _ W A I T   6 4     / *   m y _ l o c k ( )   d o n ' t   w a i t   i f   c a n ' t   l o c k   * / 
00132  
00133  # d e f i n e   M Y _ F O R C E _ L O C K       1 2 8           / *   u s e   m y _ l o c k ( )   e v e n   i f   d i s a b l e _ l o c k i n g   * / 
00134  
00135  # d e f i n e   M Y _ N O _ W A I T             2 5 6   / *   m y _ l o c k ( )   d o n ' t   w a i t   a t   a l l   * / 
00136  
00137  # d e f i n e   M Y _ Z E R O F I L L   3 2     / *   m y _ m a l l o c ( ) ,   f i l l   a r r a y   w i t h   z e r o   * / 
00138  
00139  # d e f i n e   M Y _ A L L O W _ Z E R O _ P T R   6 4     / *   m y _ r e a l l o c ( )   ;   z e r o   p t r   - >   m a l l o c   * / 
00140  
00141  # d e f i n e   M Y _ F R E E _ O N _ E R R O R   1 2 8     / *   m y _ r e a l l o c ( )   ;   F r e e   o l d   p t r   o n   e r r o r   * / 
00142  
00143  # d e f i n e   M Y _ H O L D _ O N _ E R R O R   2 5 6     / *   m y _ r e a l l o c ( )   ;   R e t u r n   o l d   p t r   o n   e r r o r   * / 
00144  
00145  # d e f i n e   M Y _ D O N T _ O V E R W R I T E _ F I L E   2 0 4 8   / *   m y _ c o p y :   D o n ' t   o v e r w r i t e   f i l e   * / 
00146  
00147  # d e f i n e   M Y _ T H R E A D S A F E   2 0 4 8             / *   m y _ s e e k ( ) :   l o c k   f d   m u t e x   * / 
00148  
00149  # d e f i n e   M Y _ C H E C K _ E R R O R     1   / *   P a r a m s   t o   m y _ e n d ;   C h e c k   o p e n - c l o s e   * / 
00150  
00151  # d e f i n e   M Y _ G I V E _ I N F O     2   / *   G i v e   t i m e   i n f o   a b o u t   p r o c e s s * / 
00152  
00153  # d e f i n e   M Y _ D O N T _ F R E E _ D B U G   4           / *   D o   n o t   c a l l   D B U G _ E N D ( )   i n   m y _ e n d ( )   * / 
00154  
00155  # d e f i n e   M Y _ R E M O V E _ N O N E         0           / *   P a r a m s   f o r   m o d i f y _ d e f a u l t s _ f i l e   * / 
00156  
00157  # d e f i n e   M Y _ R E M O V E _ O P T I O N     1 
00158  
00159  # d e f i n e   M Y _ R E M O V E _ S E C T I O N   2 
00160  
00161  # d e f i n e   M E _ H I G H B Y T E   8   / *   S h i f t   f o r   c o l o u r s   * / 
00162  
00163  # d e f i n e   M E _ N O C U R     1   / *   D o n ' t   u s e   c u r s e s   m e s s a g e   * / 
00164  
00165  # d e f i n e   M E _ O L D W I N   2   / *   U s e   o l d   w i n d o w   * / 
00166  
00167  # d e f i n e   M E _ B E L L       4   / *   R i n g   b e l l   t h e n   p r i n t i n g   m e s s a g e   * / 
00168  
00169  # d e f i n e   M E _ H O L D T A N G   8   / *   D o n ' t   d e l e t e   l a s t   k e y s   * / 
00170  
00171  # d e f i n e   M E _ W A I T T O T     1 6     / *   W a i t   f o r   e r r t i m e   s e c s   o f   f o r   a   a c t i o n   * / 
00172  
00173  # d e f i n e   M E _ W A I T T A N G   3 2     / *   W a i t   f o r   a   u s e r   a c t i o n     * / 
00174  
00175  # d e f i n e   M E _ N O R E F R E S H     6 4     / *   D o n t   r e f r e s h   s c r e e n   * / 
00176  
00177  # d e f i n e   M E _ N O I N P U T     1 2 8   / *   D o n t   u s e   t h e   i n p u t   l i b a r y   * / 
00178  
00179  # d e f i n e   M E _ C O L O U R 1     ( ( 1   < <   M E _ H I G H B Y T E ) )     / *   P o s s i b l y   e r r o r - c o l o u r s   * / 
00180  
00181  # d e f i n e   M E _ C O L O U R 2     ( ( 2   < <   M E _ H I G H B Y T E ) ) 
00182  
00183  # d e f i n e   M E _ C O L O U R 3     ( ( 3   < <   M E _ H I G H B Y T E ) ) 
00184  
00185  # d e f i n e   M E _ F A T A L E R R O R       1 0 2 4         / *   F a t a l   s t a t e m e n t   e r r o r   * / 
00186  
00187  # d e f i n e   M E _ J U S T _ I N F O         8 1 9 2         / * * <   n o t   e r r o r   b u t   j u s t   i n f o   * / 
00188  
00189  # d e f i n e   M E _ J U S T _ W A R N I N G   1 6 3 8 4         / * * <   n o t   e r r o r   b u t   j u s t   w a r n i n g   * / 
00190  
00191      / *   B i t s   i n   l a s t   a r g u m e n t   t o   f n _ f o r m a t   * / 
00192  
00193  # d e f i n e   M Y _ R E P L A C E _ D I R         1   / *   r e p l a c e   d i r   i n   n a m e   w i t h   ' d i r '   * / 
00194  
00195  # d e f i n e   M Y _ R E P L A C E _ E X T         2   / *   r e p l a c e   e x t e n s i o n   w i t h   ' e x t '   * / 
00196  
00197  # d e f i n e   M Y _ U N P A C K _ F I L E N A M E     4   / *   U n p a c k   n a m e   ( ~   - >   h o m e )   * / 
00198  
00199  # d e f i n e   M Y _ P A C K _ F I L E N A M E     8   / *   P a c k   n a m e   ( h o m e   - >   ~ )   * / 
00200  
00201  # d e f i n e   M Y _ R E S O L V E _ S Y M L I N K S   1 6     / *   R e s o l v e   a l l   s y m b o l i c   l i n k s   * / 
00202  
00203  # d e f i n e   M Y _ R E T U R N _ R E A L _ P A T H   3 2     / *   r e t u r n   f u l l   p a t h   f o r   f i l e   * / 
00204  
00205  # d e f i n e   M Y _ S A F E _ P A T H         6 4     / *   R e t u r n   N U L L   i f   t o o   l o n g   p a t h   * / 
00206  
00207  # d e f i n e   M Y _ R E L A T I V E _ P A T H     1 2 8   / *   n a m e   i s   r e l a t i v e   t o   ' d i r '   * / 
00208  
00209  # d e f i n e   M Y _ A P P E N D _ E X T                       2 5 6           / *   a d d   ' e x t '   a s   a d d i t i o n a l   e x t e n s i o n * / 
00210  
00211  
00212  
00213      / *   M y   s e e k   f l a g s   * / 
00214  
00215  # d e f i n e   M Y _ S E E K _ S E T   0 
00216  
00217  # d e f i n e   M Y _ S E E K _ C U R   1 
00218  
00219  # d e f i n e   M Y _ S E E K _ E N D   2 
00220  
00221      / *   S o m e   c o n s t a n t s   * / 
00222  
00223  # d e f i n e   M Y _ W A I T _ F O R _ U S E R _ T O _ F I X _ P A N I C   6 0     / *   i n   s e c o n d s   * / 
00224  
00225  # d e f i n e   M Y _ W A I T _ G I V E _ U S E R _ A _ M E S S A G E   1 0     / *   E v e r y   1 0   t i m e s   o f   p r e v   * / 
00226  
00227  # d e f i n e   M I N _ C O M P R E S S _ L E N G T H       5 0     / *   D o n ' t   c o m p r e s s   s m a l l   b l .   * / 
00228  
00229  # d e f i n e   D F L T _ I N I T _ H I T S     3 
00230  
00231      / *   r o o t _ a l l o c   f l a g s   * / 
00232  
00233  # d e f i n e   M Y _ K E E P _ P R E A L L O C     1 
00234  
00235  # d e f i n e   M Y _ M A R K _ B L O C K S _ F R E E           2     / *   m o v e   u s e d   t o   f r e e   l i s t   a n d   r e u s e   t h e m   * / 
00236  
00237      / *   I n t e r n a l   e r r o r   n u m b e r s   ( f o r   a s s e m b l e r   f u n c t i o n s )   * / 
00238  
00239  # d e f i n e   M Y _ E R R N O _ E D O M       3 3 
00240  
00241  # d e f i n e   M Y _ E R R N O _ E R A N G E       3 4 
00242  
00243      / *   B i t s   f o r   g e t _ d a t e   t i m e f l a g   * / 
00244  
00245  # d e f i n e   G E T D A T E _ D A T E _ T I M E   1 
00246  
00247  # d e f i n e   G E T D A T E _ S H O R T _ D A T E     2 
00248  
00249  # d e f i n e   G E T D A T E _ H H M M S S T I M E     4 
00250  
00251  # d e f i n e   G E T D A T E _ G M T       8 
00252  
00253  # d e f i n e   G E T D A T E _ F I X E D L E N G T H   1 6 
00254  
00255      / *   d e f i n e s   w h e n   a l l o c a t i n g   d a t a   * / 
00256  
00257  # i f d e f   S A F E M A L L O C 
00258  
00259  # d e f i n e   m y _ m a l l o c ( S Z , F L A G )   _ m y m a l l o c ( ( S Z ) ,   _ _ F I L E _ _ ,   _ _ L I N E _ _ ,   F L A G   ) 
00260  
00261  # d e f i n e   m y _ m a l l o c _ c i ( S Z , F L A G )   _ m y m a l l o c ( ( S Z ) ,   s F i l e ,   u L i n e ,   F L A G   ) 
00262  
00263  # d e f i n e   m y _ r e a l l o c ( P T R , S Z , F L A G )   _ m y r e a l l o c ( ( P T R ) ,   ( S Z ) ,   _ _ F I L E _ _ ,   _ _ L I N E _ _ ,   F L A G   ) 
00264  
00265  # d e f i n e   m y _ c h e c k m a l l o c ( )   _ s a n i t y (   _ _ F I L E _ _ ,   _ _ L I N E _ _   ) 
00266  
00267  # d e f i n e   m y _ f r e e ( P T R , F L A G )   _ m y f r e e ( ( P T R ) ,   _ _ F I L E _ _ ,   _ _ L I N E _ _ , F L A G ) 
00268  
00269  # d e f i n e   m y _ m e m d u p ( A , B , C )   _ m y _ m e m d u p ( ( A ) , ( B ) ,   _ _ F I L E _ _ , _ _ L I N E _ _ , C ) 
00270  
00271  # d e f i n e   m y _ s t r d u p ( A , C )   _ m y _ s t r d u p ( ( A ) ,   _ _ F I L E _ _ , _ _ L I N E _ _ , C ) 
00272  
00273  # d e f i n e   m y _ s t r n d u p ( A , B , C )   _ m y _ s t r n d u p ( ( A ) , ( B ) , _ _ F I L E _ _ , _ _ L I N E _ _ , C ) 
00274  
00275  # d e f i n e   Q U I C K _ S A F E M A L L O C   s f _ m a l l o c _ q u i c k = 1 
00276  
00277  # d e f i n e   N O R M A L _ S A F E M A L L O C   s f _ m a l l o c _ q u i c k = 0 
00278  
00279  e x t e r n   u i n t   s f _ m a l l o c _ p r e h u n c , s f _ m a l l o c _ e n d h u n c , s f _ m a l l o c _ q u i c k ; 
00280  
00281  e x t e r n   u l o n g l o n g   s f _ m a l l o c _ m e m _ l i m i t ; 
00282  
00283  # d e f i n e   C A L L E R _ I N F O _ P R O T O       ,   c o n s t   c h a r   * s F i l e ,   u i n t   u L i n e 
00284  
00285  # d e f i n e   C A L L E R _ I N F O                   ,   _ _ F I L E _ _ ,   _ _ L I N E _ _ 
00286  
00287  # d e f i n e   O R I G _ C A L L E R _ I N F O         ,   s F i l e ,   u L i n e 
00288  
00289  # e l s e 
00290  
00291  # d e f i n e   m y _ c h e c k m a l l o c ( ) 
00292  
00293  # u n d e f   T E R M I N A T E 
00294  
00295  # d e f i n e   T E R M I N A T E ( A , B )   { } 
00296  
00297  # d e f i n e   Q U I C K _ S A F E M A L L O C 
00298  
00299  # d e f i n e   N O R M A L _ S A F E M A L L O C 
00300  
00301  e x t e r n   v o i d   * m y _ m a l l o c ( s i z e _ t   S i z e , m y f   M y F l a g s ) ; 
00302  
00303  # d e f i n e   m y _ m a l l o c _ c i ( S Z , F L A G )   m y _ m a l l o c (   S Z ,   F L A G   ) 
00304  
00305  e x t e r n   v o i d   * m y _ r e a l l o c ( v o i d   * o l d p o i n t ,   s i z e _ t   S i z e ,   m y f   M y F l a g s ) ; 
00306  
00307  e x t e r n   v o i d   m y _ n o _ f l a g s _ f r e e ( v o i d   * p t r ) ; 
00308  
00309  e x t e r n   v o i d   * m y _ m e m d u p ( c o n s t   v o i d   * f r o m , s i z e _ t   l e n g t h , m y f   M y F l a g s ) ; 
00310  
00311  e x t e r n   c h a r   * m y _ s t r d u p ( c o n s t   c h a r   * f r o m , m y f   M y F l a g s ) ; 
00312  
00313  e x t e r n   c h a r   * m y _ s t r n d u p ( c o n s t   c h a r   * f r o m ,   s i z e _ t   l e n g t h , 
00314  
00315                        m y f   M y F l a g s ) ; 
00316  
00317  / *   w e   d o   u s e   F G   ( a s   a   n o - o p )   i n   b e l o w   s o   t h a t   a   t y p o   o n   F G   i s   c a u g h t   * / 
00318  
00319  # d e f i n e   m y _ f r e e ( P T R , F G )   ( ( v o i d ) F G , m y _ n o _ f l a g s _ f r e e ( P T R ) ) 
00320  
00321  # d e f i n e   C A L L E R _ I N F O _ P R O T O       / *   n o t h i n g   * / 
00322  
00323  # d e f i n e   C A L L E R _ I N F O                   / *   n o t h i n g   * / 
00324  
00325  # d e f i n e   O R I G _ C A L L E R _ I N F O         / *   n o t h i n g   * / 
00326  
00327  # e n d i f 
00328  
00329  / * 
00330  
00331      E R R O R   I N J E C T I O N :   N o n - t h r e a d - s a f e   g l o b a l   v a r i a b l e   t o   r e q u e s t   e r r o r   i n j e c t . 
00332  
00333      S e t   t h i s   v a r i a b l e   t o   n o n - z e r o   t o   r e q u e s t   t h e   n e x t   m y _ m a l l o c ( )   t o   f a i l . 
00334  
00335      T h i s   w o r k s   w i t h   m y _ m a l l o c . c : m y _ m a l l o c ( )   a n d   s a f e m a l l o c . c : _ m y m a l l o c ( ) . 
00336  
00337      I f   u s i n g   t h i s   i n   t e s t s ,   n o t e   t h a t   t h e   e r r o r   m e s s a g e s   p r o d u c e d   b y 
00338  
00339      m y _ m a l l o c   a n d   s a f e m a l l o c   a r e   d i f f e r e n t .   Y o u   m a y   n e e d   t o   m o d i f y   t h e 
00340  
00341      r e s u l t s   w i t h   - - r e p l a c e _ r e g e x .   Y o u   m a y   f i n d   e x a m p l e s   i n 
00342  
00343      c l i e n t / b a c k u p _ s t r e a m . c   a n d   b a c k u p _ c l i e n t _ c o v e r a g e . t e s t . 
00344  
00345      T h e   g l o b a l   v a r i a b l e   i s   d e f i n e d   i n   m y _ s t a t i c . c . 
00346  
00347  * / 
00348  
00349  I F _ D B U G ( e x t e r n   i n t   m y _ m a l l o c _ e r r o r _ i n j e c t ) ; 
00350  
00351  # i f d e f   H A V E _ L A R G E _ P A G E S 
00352  
00353  e x t e r n   u i n t   m y _ g e t _ l a r g e _ p a g e _ s i z e ( v o i d ) ; 
00354  
00355  e x t e r n   u c h a r   *   m y _ l a r g e _ m a l l o c ( s i z e _ t   s i z e ,   m y f   m y _ f l a g s ) ; 
00356  
00357  e x t e r n   v o i d   m y _ l a r g e _ f r e e ( u c h a r   *   p t r ,   m y f   m y _ f l a g s ) ; 
00358  
00359  # e l s e 
00360  
00361  # d e f i n e   m y _ g e t _ l a r g e _ p a g e _ s i z e ( )   ( 0 ) 
00362  
00363  # d e f i n e   m y _ l a r g e _ m a l l o c ( A , B )   m y _ m a l l o c _ l o c k ( ( A ) , ( B ) ) 
00364  
00365  # d e f i n e   m y _ l a r g e _ f r e e ( A , B )   m y _ f r e e _ l o c k ( ( A ) , ( B ) ) 
00366  
00367  # e n d i f   / *   H A V E _ L A R G E _ P A G E S   * / 
00368  
00369  # i f d e f   H A V E _ A L L O C A 
00370  
00371  # i f   d e f i n e d ( _ A I X )   & &   ! d e f i n e d ( _ _ G N U C _ _ )   & &   ! d e f i n e d ( _ A I X 4 3 ) 
00372  
00373  # p r a g m a   a l l o c a 
00374  
00375  # e n d i f   / *   _ A I X   * / 
00376  
00377  # i f   d e f i n e d ( _ _ M W E R K S _ _ ) 
00378  
00379  # u n d e f   a l l o c a 
00380  
00381  # d e f i n e   a l l o c a   _ a l l o c a 
00382  
00383  # e n d i f   / *   _ _ M W E R K S _ _   * / 
00384  
00385  # i f   d e f i n e d ( _ _ G N U C _ _ )   & &   ! d e f i n e d ( H A V E _ A L L O C A _ H )   & &   !   d e f i n e d ( a l l o c a ) 
00386  
00387  # d e f i n e   a l l o c a   _ _ b u i l t i n _ a l l o c a 
00388  
00389  # e n d i f   / *   G N U C   * / 
00390  
00391  # d e f i n e   m y _ a l l o c a ( S Z )   a l l o c a ( ( s i z e _ t )   ( S Z ) ) 
00392  
00393  # d e f i n e   m y _ a f r e e ( P T R )   { } 
00394  
00395  # e l s e 
00396  
00397  # d e f i n e   m y _ a l l o c a ( S Z )   m y _ m a l l o c ( S Z , M Y F ( 0 ) ) 
00398  
00399  # d e f i n e   m y _ a f r e e ( P T R )   m y _ f r e e ( P T R , M Y F ( M Y _ W M E ) ) 
00400  
00401  # e n d i f   / *   H A V E _ A L L O C A   * / 
00402  
00403  # i f n d e f   e r r n o               / *   d i d   w e   a l r e a d y   g e t   i t ?   * / 
00404  
00405  # i f d e f   H A V E _ E R R N O _ A S _ D E F I N E 
00406  
00407  # i n c l u d e   < e r r n o . h >             / *   e r r n o   i s   a   d e f i n e   * / 
00408  
00409  # e l s e 
00410  
00411  e x t e r n   i n t   e r r n o ;           / *   d e c l a r e   e r r n o   * / 
00412  
00413  # e n d i f 
00414  
00415  # e n d i f                     / *   # i f n d e f   e r r n o   * / 
00416  
00417  e x t e r n   c h a r   * h o m e _ d i r ;             / *   H o m e   d i r e c t o r y   f o r   u s e r   * / 
00418  
00419  e x t e r n   c o n s t   c h a r   * m y _ p r o g n a m e ;       / *   p r o g r a m - n a m e   ( p r i n t e d   i n   e r r o r s )   * / 
00420  
00421  e x t e r n   c o n s t   c h a r   * m y _ p r o g n a m e _ s h o r t ;   / *   l i k e   a b o v e   b u t   w i t h o u t   d i r e c t o r y   * / 
00422  
00423  e x t e r n   c h a r   N E A R   c u r r _ d i r [ ] ;         / *   C u r r e n t   d i r e c t o r y   f o r   u s e r   * / 
00424  
00425  e x t e r n   v o i d   ( * e r r o r _ h a n d l e r _ h o o k ) ( u i n t   m y _ e r r ,   c o n s t   c h a r   * s t r , m y f   M y F l a g s ) ; 
00426  
00427  e x t e r n   v o i d   ( * f a t a l _ e r r o r _ h a n d l e r _ h o o k ) ( u i n t   m y _ e r r ,   c o n s t   c h a r   * s t r , 
00428  
00429                                                                                  m y f   M y F l a g s ) ; 
00430  
00431  e x t e r n   u i n t   m y _ f i l e _ l i m i t ; 
00432  
00433  e x t e r n   u l o n g   m y _ t h r e a d _ s t a c k _ s i z e ; 
00434  
00435  e x t e r n   c o n s t   c h a r   * ( * p r o c _ i n f o _ h o o k ) ( v o i d   * ,   c o n s t   c h a r   * ,   c o n s t   c h a r   * , 
00436  
00437                                                                            c o n s t   c h a r   * ,   c o n s t   u n s i g n e d   i n t ) ; 
00438  
00439  # i f   d e f i n e d ( E N A B L E D _ D E B U G _ S Y N C ) 
00440  
00441  e x t e r n   v o i d   ( * d e b u g _ s y n c _ C _ c a l l b a c k _ p t r ) ( c o n s t   c h a r   * ,   s i z e _ t ) ; 
00442  
00443  # d e f i n e   D E B U G _ S Y N C _ C ( _ s y n c _ p o i n t _ n a m e _ )   d o   {                                                         \ 
00444  
00445          i f   ( d e b u g _ s y n c _ C _ c a l l b a c k _ p t r   ! =   N U L L )                                                             \ 
00446  
00447              ( * d e b u g _ s y n c _ C _ c a l l b a c k _ p t r ) ( S T R I N G _ W I T H _ L E N ( _ s y n c _ p o i n t _ n a m e _ ) ) ;   }   \ 
00448  
00449      w h i l e ( 0 ) 
00450  
00451  # e l s e 
00452  
00453  # d e f i n e   D E B U G _ S Y N C _ C ( _ s y n c _ p o i n t _ n a m e _ ) 
00454  
00455  # e n d i f   / *   d e f i n e d ( E N A B L E D _ D E B U G _ S Y N C )   * / 
00456  
00457  # i f d e f   H A V E _ L A R G E _ P A G E S 
00458  
00459  e x t e r n   m y _ b o o l   m y _ u s e _ l a r g e _ p a g e s ; 
00460  
00461  e x t e r n   u i n t         m y _ l a r g e _ p a g e _ s i z e ; 
00462  
00463  # e n d i f 
00464  
00465  / *   c h a r s e t s   * / 
00466  
00467  # d e f i n e   M Y _ A L L _ C H A R S E T S _ S I Z E   2 0 4 8 
00468  
00469  e x t e r n   M Y S Q L _ P L U G I N _ I M P O R T   C H A R S E T _ I N F O   * d e f a u l t _ c h a r s e t _ i n f o ; 
00470  
00471  e x t e r n   M Y S Q L _ P L U G I N _ I M P O R T   C H A R S E T _ I N F O   * a l l _ c h a r s e t s [ M Y _ A L L _ C H A R S E T S _ S I Z E ] ; 
00472  
00473  e x t e r n   C H A R S E T _ I N F O   c o m p i l e d _ c h a r s e t s [ ] ; 
00474  
00475  / *   s t a t i s t i c s   * / 
00476  
00477  e x t e r n   u l o n g     m y _ f i l e _ o p e n e d , m y _ s t r e a m _ o p e n e d ,   m y _ t m p _ f i l e _ c r e a t e d ; 
00478  
00479  e x t e r n   u l o n g         m y _ f i l e _ t o t a l _ o p e n e d ; 
00480  
00481  e x t e r n   u i n t   m y s y s _ u s a g e _ i d ; 
00482  
00483  e x t e r n   m y _ b o o l     m y _ i n i t _ d o n e ; 
00484  
00485                      / *   P o i n t   t o   c u r r e n t   m y _ m e s s a g e ( )   * / 
00486  
00487  e x t e r n   v o i d   ( * m y _ s i g t s t p _ c l e a n u p ) ( v o i d ) , 
00488  
00489                      / *   E x e c u t e d   b e f o r e   j u m p   t o   s h e l l   * / 
00490  
00491              ( * m y _ s i g t s t p _ r e s t a r t ) ( v o i d ) , 
00492  
00493              ( * m y _ a b o r t _ h o o k ) ( i n t ) ; 
00494  
00495                      / *   E x e c u t e d   w h e n   c o m m i n g   f r o m   s h e l l   * / 
00496  
00497  e x t e r n   M Y S Q L _ P L U G I N _ I M P O R T   i n t   N E A R   m y _ u m a s k ;       / *   D e f a u l t   c r e a t i o n   m a s k     * / 
00498  
00499  e x t e r n   i n t   N E A R   m y _ u m a s k _ d i r , 
00500  
00501            N E A R   m y _ r e c i v e d _ s i g n a l s ,   / *   S i g n a l s   w e   h a v e   g o t   * / 
00502  
00503            N E A R   m y _ s a f e _ t o _ h a n d l e _ s i g n a l ,   / *   S e t   w h e n   a l l o w e d   t o   S I G T S T P   * / 
00504  
00505            N E A R   m y _ d o n t _ i n t e r r u p t ;     / *   c a l l   r e m e m b e r _ i n t r   w h e n   s e t   * / 
00506  
00507  e x t e r n   m y _ b o o l   N E A R   m y s y s _ u s e s _ c u r s e s ,   m y _ u s e _ s y m d i r ; 
00508  
00509  e x t e r n   s i z e _ t   s f _ m a l l o c _ c u r _ m e m o r y ,   s f _ m a l l o c _ m a x _ m e m o r y ; 
00510  
00511  e x t e r n   u l o n g     m y _ d e f a u l t _ r e c o r d _ c a c h e _ s i z e ; 
00512  
00513  e x t e r n   m y _ b o o l   N E A R   m y _ d i s a b l e _ l o c k i n g , N E A R   m y _ d i s a b l e _ a s y n c _ i o , 
00514  
00515                                N E A R   m y _ d i s a b l e _ f l u s h _ k e y _ b l o c k s ,   N E A R   m y _ d i s a b l e _ s y m l i n k s ; 
00516  
00517  e x t e r n   c h a r   w i l d _ m a n y , w i l d _ o n e , w i l d _ p r e f i x ; 
00518  
00519  e x t e r n   c o n s t   c h a r   * c h a r s e t s _ d i r ; 
00520  
00521  / *   f r o m   d e f a u l t . c   * / 
00522  
00523  e x t e r n   c h a r   * m y _ d e f a u l t s _ e x t r a _ f i l e ; 
00524  
00525  e x t e r n   c o n s t   c h a r   * m y _ d e f a u l t s _ g r o u p _ s u f f i x ; 
00526  
00527  e x t e r n   c o n s t   c h a r   * m y _ d e f a u l t s _ f i l e ; 
00528  
00529  e x t e r n   m y _ b o o l   t i m e d _ m u t e x e s ; 
00530  
00531  t y p e d e f   s t r u c t   w i l d _ f i l e _ p a c k   / *   S t r u c t   t o   h o l d   i n f o   w h e n   s e l e c t i n g   f i l e s   * / 
00532  
00533  { 
00534  
00535      u i n t         w i l d s ;         / *   H o w   m a n y   w i l d c a r d s   * / 
00536  
00537      u i n t         n o t _ p o s ;     / *   S t a r t   o f   n o t - t h e e s e - f i l e s   * / 
00538  
00539      c h a r   *     * w i l d ;         / *   P o i n t e r   t o   w i l d c a r d s   * / 
00540  
00541  }   W F _ P A C K ; 
00542  
00543  e n u m   l o g l e v e l   { 
00544  
00545        E R R O R _ L E V E L , 
00546  
00547        W A R N I N G _ L E V E L , 
00548  
00549        I N F O R M A T I O N _ L E V E L 
00550  
00551  } ; 
00552  
00553  e n u m   c a c h e _ t y p e 
00554  
00555  { 
00556  
00557      T Y P E _ N O T _ S E T =   0 ,   R E A D _ C A C H E ,   W R I T E _ C A C H E , 
00558  
00559      S E Q _ R E A D _ A P P E N D       / *   s e q u e n t i a l   r e a d   o r   a p p e n d   * / , 
00560  
00561      R E A D _ F I F O ,   R E A D _ N E T , W R I T E _ N E T } ; 
00562  
00563  e n u m   f l u s h _ t y p e 
00564  
00565  { 
00566  
00567      F L U S H _ K E E P ,                       / *   f l u s h   b l o c k   a n d   k e e p   i t   i n   t h e   c a c h e   * / 
00568  
00569      F L U S H _ R E L E A S E ,                 / *   f l u s h   b l o c k   a n d   r e m o v e   i t   f r o m   t h e   c a c h e   * / 
00570  
00571      F L U S H _ I G N O R E _ C H A N G E D ,   / *   r e m o v e   b l o c k   f r o m   t h e   c a c h e   * / 
00572  
00573      / * 
00574  
00575          A s   m y _ d i s a b l e _ f l u s h _ p a g e c a c h e _ b l o c k s   i s   a l w a y s   0 ,   t h e   f o l l o w i n g   o p t i o n 
00576  
00577          i s   s t r i c t l y   e q u i v a l e n t   t o   F L U S H _ K E E P 
00578  
00579      * / 
00580  
00581      F L U S H _ F O R C E _ W R I T E , 
00582  
00583      / * * 
00584  
00585            @ b r i e f   l i k e   F L U S H _ K E E P   b u t   r e t u r n   i m m e d i a t e l y   i f   f i l e   i s   a l r e a d y   b e i n g 
00586  
00587            f l u s h e d   ( e v e n   p a r t i a l l y )   b y   a n o t h e r   t h r e a d ;   o n l y   f o r   p a g e   c a c h e , 
00588  
00589            f o r b i d d e n   f o r   k e y   c a c h e . 
00590  
00591      * / 
00592  
00593      F L U S H _ K E E P _ L A Z Y 
00594  
00595  } ; 
00596  
00597  t y p e d e f   s t r u c t   s t _ r e c o r d _ c a c h e     / *   U s e d   w h e n   c a c h e i n g   r e c o r d s   * / 
00598  
00599  { 
00600  
00601      F i l e   f i l e ; 
00602  
00603      i n t   r c _ s e e k , e r r o r , i n i t e d ; 
00604  
00605      u i n t     r c _ l e n g t h , r e a d _ l e n g t h , r e c l e n g t h ; 
00606  
00607      m y _ o f f _ t   r c _ r e c o r d _ p o s , e n d _ o f _ f i l e ; 
00608  
00609      u c h a r   * r c _ b u f f , * r c _ b u f f 2 , * r c _ p o s , * r c _ e n d , * r c _ r e q u e s t _ p o s ; 
00610  
00611  # i f d e f   H A V E _ A I O W A I T 
00612  
00613      i n t   u s e _ a s y n c _ i o ; 
00614  
00615      m y _ a i o _ r e s u l t   a i o _ r e s u l t ; 
00616  
00617  # e n d i f 
00618  
00619      e n u m   c a c h e _ t y p e   t y p e ; 
00620  
00621  }   R E C O R D _ C A C H E ; 
00622  
00623  e n u m   f i l e _ t y p e 
00624  
00625  { 
00626  
00627      U N O P E N   =   0 ,   F I L E _ B Y _ O P E N ,   F I L E _ B Y _ C R E A T E ,   S T R E A M _ B Y _ F O P E N ,   S T R E A M _ B Y _ F D O P E N , 
00628  
00629      F I L E _ B Y _ M K S T E M P ,   F I L E _ B Y _ D U P 
00630  
00631  } ; 
00632  
00633  s t r u c t   s t _ m y _ f i l e _ i n f o 
00634  
00635  { 
00636  
00637      c h a r     * n a m e ; 
00638  
00639  # i f d e f   _ W I N 3 2 
00640  
00641      H A N D L E   f h a n d l e ;       / *   w i n 3 2   f i l e   h a n d l e   * / 
00642  
00643      i n t         o f l a g ;           / *   o p e n   f l a g s ,   e . g   O _ A P P E N D   * / 
00644  
00645  # e n d i f 
00646  
00647      e n u m       f i l e _ t y p e     t y p e ; 
00648  
00649  # i f   d e f i n e d ( T H R E A D )   & &   ! d e f i n e d ( H A V E _ P R E A D )   & &   ! d e f i n e d ( _ W I N 3 2 ) 
00650  
00651      p t h r e a d _ m u t e x _ t   m u t e x ; 
00652  
00653  # e n d i f 
00654  
00655  } ; 
00656  
00657  e x t e r n   s t r u c t   s t _ m y _ f i l e _ i n f o   * m y _ f i l e _ i n f o ; 
00658  
00659  t y p e d e f   s t r u c t   s t _ d y n a m i c _ a r r a y 
00660  
00661  { 
00662  
00663      u c h a r   * b u f f e r ; 
00664  
00665      u i n t   e l e m e n t s , m a x _ e l e m e n t ; 
00666  
00667      u i n t   a l l o c _ i n c r e m e n t ; 
00668  
00669      u i n t   s i z e _ o f _ e l e m e n t ; 
00670  
00671  }   D Y N A M I C _ A R R A Y ; 
00672  
00673  t y p e d e f   s t r u c t   s t _ m y _ t m p d i r 
00674  
00675  { 
00676  
00677      D Y N A M I C _ A R R A Y   f u l l _ l i s t ; 
00678  
00679      c h a r   * * l i s t ; 
00680  
00681      u i n t   c u r ,   m a x ; 
00682  
00683  # i f d e f   T H R E A D 
00684  
00685      p t h r e a d _ m u t e x _ t   m u t e x ; 
00686  
00687  # e n d i f 
00688  
00689  }   M Y _ T M P D I R ; 
00690  
00691  t y p e d e f   s t r u c t   s t _ d y n a m i c _ s t r i n g 
00692  
00693  { 
00694  
00695      c h a r   * s t r ; 
00696  
00697      s i z e _ t   l e n g t h , m a x _ l e n g t h , a l l o c _ i n c r e m e n t ; 
00698  
00699  }   D Y N A M I C _ S T R I N G ; 
00700  
00701  s t r u c t   s t _ i o _ c a c h e ; 
00702  
00703  / * *   F u n c t i o n   c a l l e d   w h e n   c e r t a i n   e v e n t s   h a p p e n   t o   a n   I O _ C A C H E   * / 
00704  
00705  t y p e d e f   i n t   ( * I O _ C A C H E _ C A L L B A C K ) ( s t r u c t   s t _ i o _ c a c h e   * c a c h e , 
00706  
00707                                                                    c o n s t   u c h a r   * b u f f e r t ,   u i n t   l e n g t h , 
00708  
00709                                                                    m y _ o f f _ t   f i l e p o s ) ; 
00710  
00711  # i f d e f   T H R E A D 
00712  
00713  t y p e d e f   s t r u c t   s t _ i o _ c a c h e _ s h a r e 
00714  
00715  { 
00716  
00717      p t h r e a d _ m u t e x _ t               m u t e x ;                       / *   T o   s y n c   o n   r e a d s   i n t o   b u f f e r .   * / 
00718  
00719      p t h r e a d _ c o n d _ t                 c o n d ;                         / *   T o   w a i t   f o r   s i g n a l s .   * / 
00720  
00721      p t h r e a d _ c o n d _ t                 c o n d _ w r i t e r ;           / *   F o r   a   s y n c h r o n i z e d   w r i t e r .   * / 
00722  
00723      / *   O f f s e t   i n   f i l e   c o r r e s p o n d i n g   t o   t h e   f i r s t   b y t e   o f   b u f f e r .   * / 
00724  
00725      m y _ o f f _ t                             p o s _ i n _ f i l e ; 
00726  
00727      / *   I f   a   s y n c h r o n i z e d   w r i t e   c a c h e   i s   t h e   s o u r c e   o f   t h e   d a t a .   * / 
00728  
00729      s t r u c t   s t _ i o _ c a c h e         * s o u r c e _ c a c h e ; 
00730  
00731      u c h a r                                   * b u f f e r ;                   / *   T h e   r e a d   b u f f e r .   * / 
00732  
00733      u c h a r                                   * r e a d _ e n d ;               / *   B e h i n d   l a s t   v a l i d   b y t e   o f   b u f f e r .   * / 
00734  
00735      i n t                                       r u n n i n g _ t h r e a d s ;   / *   t h r e a d s   n o t   i n   l o c k .   * / 
00736  
00737      i n t                                       t o t a l _ t h r e a d s ;       / *   t h r e a d s   s h a r i n g   t h e   c a c h e .   * / 
00738  
00739      i n t                                       e r r o r ;                       / *   L a s t   e r r o r .   * / 
00740  
00741  # i f d e f   N O T _ Y E T _ I M P L E M E N T E D 
00742  
00743      / *   w h e t h e r   t h e   s t r u c t u r e   s h o u l d   b e   f r e e ' d   * / 
00744  
00745      m y _ b o o l   a l l o c e d ; 
00746  
00747  # e n d i f 
00748  
00749  }   I O _ C A C H E _ S H A R E ; 
00750  
00751  # e n d i f 
00752  
00753  t y p e d e f   s t r u c t   s t _ i o _ c a c h e         / *   U s e d   w h e n   c a c h e i n g   f i l e s   * / 
00754  
00755  { 
00756  
00757      / *   O f f s e t   i n   f i l e   c o r r e s p o n d i n g   t o   t h e   f i r s t   b y t e   o f   u c h a r *   b u f f e r .   * / 
00758  
00759      m y _ o f f _ t   p o s _ i n _ f i l e ; 
00760  
00761      / * 
00762  
00763          T h e   o f f s e t   o f   e n d   o f   f i l e   f o r   R E A D _ C A C H E   a n d   W R I T E _ C A C H E . 
00764  
00765          F o r   S E Q _ R E A D _ A P P E N D   i t   t h e   m a x i m u m   o f   t h e   a c t u a l   e n d   o f   f i l e   a n d 
00766  
00767          t h e   p o s i t i o n   r e p r e s e n t e d   b y   r e a d _ e n d . 
00768  
00769      * / 
00770  
00771      m y _ o f f _ t   e n d _ o f _ f i l e ; 
00772  
00773      / *   P o i n t s   t o   c u r r e n t   r e a d   p o s i t i o n   i n   t h e   b u f f e r   * / 
00774  
00775      u c h a r   * r e a d _ p o s ; 
00776  
00777      / *   t h e   n o n - i n c l u s i v e   b o u n d a r y   i n   t h e   b u f f e r   f o r   t h e   c u r r e n t l y   v a l i d   r e a d   * / 
00778  
00779      u c h a r     * r e a d _ e n d ; 
00780  
00781      u c h a r     * b u f f e r ;               / *   T h e   r e a d   b u f f e r   * / 
00782  
00783      / *   U s e d   i n   A S Y N C _ I O   * / 
00784  
00785      u c h a r     * r e q u e s t _ p o s ; 
00786  
00787      / *   O n l y   u s e d   i n   W R I T E   c a c h e s   a n d   i n   S E Q _ R E A D _ A P P E N D   t o   b u f f e r   w r i t e s   * / 
00788  
00789      u c h a r     * w r i t e _ b u f f e r ; 
00790  
00791      / * 
00792  
00793          O n l y   u s e d   i n   S E Q _ R E A D _ A P P E N D ,   a n d   p o i n t s   t o   t h e   c u r r e n t   r e a d   p o s i t i o n 
00794  
00795          i n   t h e   w r i t e   b u f f e r .   N o t e   t h a t   r e a d s   i n   S E Q _ R E A D _ A P P E N D   c a c h e s   c a n 
00796  
00797          h a p p e n   f r o m   b o t h   r e a d   b u f f e r   ( u c h a r *   b u f f e r )   a n d   w r i t e   b u f f e r 
00798  
00799          ( u c h a r *   w r i t e _ b u f f e r ) . 
00800  
00801      * / 
00802  
00803      u c h a r   * a p p e n d _ r e a d _ p o s ; 
00804  
00805      / *   P o i n t s   t o   c u r r e n t   w r i t e   p o s i t i o n   i n   t h e   w r i t e   b u f f e r   * / 
00806  
00807      u c h a r   * w r i t e _ p o s ; 
00808  
00809      / *   T h e   n o n - i n c l u s i v e   b o u n d a r y   o f   t h e   v a l i d   w r i t e   a r e a   * / 
00810  
00811      u c h a r   * w r i t e _ e n d ; 
00812  
00813      / * 
00814  
00815          C u r r e n t _ p o s   a n d   c u r r e n t _ e n d   a r e   c o n v e n i e n c e   v a r i a b l e s   u s e d   b y 
00816  
00817          m y _ b _ t e l l ( )   a n d   o t h e r   r o u t i n e s   t h a t   n e e d   t o   k n o w   t h e   c u r r e n t   o f f s e t 
00818  
00819          c u r r e n t _ p o s   p o i n t s   t o   & w r i t e _ p o s ,   a n d   c u r r e n t _ e n d   t o   & w r i t e _ e n d   i n   a 
00820  
00821          W R I T E _ C A C H E ,   a n d   & r e a d _ p o s   a n d   & r e a d _ e n d   r e s p e c t i v e l y   o t h e r w i s e 
00822  
00823      * / 
00824  
00825      u c h a r     * * c u r r e n t _ p o s ,   * * c u r r e n t _ e n d ; 
00826  
00827  # i f d e f   T H R E A D 
00828  
00829      / * 
00830  
00831          T h e   l o c k   i s   f o r   a p p e n d   b u f f e r   u s e d   i n   S E Q _ R E A D _ A P P E N D   c a c h e 
00832  
00833          n e e d   m u t e x   c o p y i n g   f r o m   a p p e n d   b u f f e r   t o   r e a d   b u f f e r . 
00834  
00835      * / 
00836  
00837      p t h r e a d _ m u t e x _ t   a p p e n d _ b u f f e r _ l o c k ; 
00838  
00839      / * 
00840  
00841          T h e   f o l l o w i n g   i s   u s e d   w h e n   s e v e r a l   t h r e a d s   a r e   r e a d i n g   t h e 
00842  
00843          s a m e   f i l e   i n   p a r a l l e l .   T h e y   a r e   s y n c h r o n i z e d   o n   d i s k 
00844  
00845          a c c e s s e s   r e a d i n g   t h e   c a c h e d   p a r t   o f   t h e   f i l e   a s y n c h r o n o u s l y . 
00846  
00847          I t   s h o u l d   b e   s e t   t o   N U L L   t o   d i s a b l e   t h e   f e a t u r e .     O n l y 
00848  
00849          R E A D _ C A C H E   m o d e   i s   s u p p o r t e d . 
00850  
00851      * / 
00852  
00853      I O _ C A C H E _ S H A R E   * s h a r e ; 
00854  
00855  # e n d i f 
00856  
00857      / * 
00858  
00859          A   c a l l e r   w i l l   u s e   m y _ b _ r e a d ( )   m a c r o   t o   r e a d   f r o m   t h e   c a c h e 
00860  
00861          i f   t h e   d a t a   i s   a l r e a d y   i n   c a c h e ,   i t   w i l l   b e   s i m p l y   c o p i e d   w i t h 
00862  
00863          m e m c p y ( )   a n d   i n t e r n a l   v a r i a b l e s   w i l l   b e   a c c o r d i n g i n g   u p d a t e d   w i t h 
00864  
00865          n o   f u n c t i o n s   i n v o k e d .   H o w e v e r ,   i f   t h e   d a t a   i s   n o t   f u l l y   i n   t h e   c a c h e , 
00866  
00867          m y _ b _ r e a d ( )   w i l l   c a l l   r e a d _ f u n c t i o n   t o   f e t c h   t h e   d a t a .   r e a d _ f u n c t i o n 
00868  
00869          m u s t   n e v e r   b e   i n v o k e d   d i r e c t l y . 
00870  
00871      * / 
00872  
00873      i n t   ( * r e a d _ f u n c t i o n ) ( s t r u c t   s t _ i o _ c a c h e   * , u c h a r   * , s i z e _ t ) ; 
00874  
00875      / * 
00876  
00877          S a m e   i d e a   a s   i n   t h e   c a s e   o f   r e a d _ f u n c t i o n ,   e x c e p t   m y _ b _ w r i t e ( )   n e e d s   t o 
00878  
00879          b e   r e p l a c e d   w i t h   m y _ b _ a p p e n d ( )   f o r   a   S E Q _ R E A D _ A P P E N D   c a c h e 
00880  
00881      * / 
00882  
00883      i n t   ( * w r i t e _ f u n c t i o n ) ( s t r u c t   s t _ i o _ c a c h e   * , c o n s t   u c h a r   * , s i z e _ t ) ; 
00884  
00885      / * 
00886  
00887          S p e c i f i e s   t h e   t y p e   o f   t h e   c a c h e .   D e p e n d i n g   o n   t h e   t y p e   o f   t h e   c a c h e 
00888  
00889          c e r t a i n   o p e r a t i o n s   m i g h t   n o t   b e   a v a i l a b l e   a n d   y i e l d   u n p r e d i c a t a b l e 
00890  
00891          r e s u l t s .   D e t a i l s   t o   b e   d o c u m e n t e d   l a t e r 
00892  
00893      * / 
00894  
00895      e n u m   c a c h e _ t y p e   t y p e ; 
00896  
00897      / * 
00898  
00899          C a l l b a c k s   w e r e   a d d e d   a n d   a r e   c u r r e n t l y   u s e d   f o r   b i n a r y   l o g g i n g   o f   L O A D 
00900  
00901          D A T A   I N F I L E   -   w h e n   a   b l o c k   i s   r e a d   f r o m   t h e   f i l e ,   w e   c r e a t e   a   b l o c k 
00902  
00903          c r e a t e / a p p e n d   e v e n t ,   a n d   w h e n   I O _ C A C H E   i s   c l o s e d ,   w e   c r e a t e   a n   e n d   e v e n t ; 
00904  
00905          a l s o   u s e d   t o   w r i t e   t h e   M y I S A M   W R I T E _ C A C H E   b l o c k s   t o   t h e   M y I S A M   p h y s i c a l 
00906  
00907          l o g .   T h e s e   f u n c t i o n s   c o u l d ,   o f   c o u r s e   b e   u s e d   f o r   o t h e r   t h i n g s .   N o t e :   s o m e 
00908  
00909          c a l l b a c k s   s h a r e   t h e   s a m e   a r g u m e n t   ( " a r g " ) . 
00910  
00911      * / 
00912  
00913      I O _ C A C H E _ C A L L B A C K   p r e _ r e a d ;     / * * <   c a l l e d   b e f o r e   r e a d i n g   f r o m   d i s k   * / 
00914  
00915      I O _ C A C H E _ C A L L B A C K   p o s t _ r e a d ;   / * * <   c a l l e d   a f t e r   r e a d i n g   f r o m   d i s k   * / 
00916  
00917      I O _ C A C H E _ C A L L B A C K   p r e _ c l o s e ;   / * * <   c a l l e d   b e f o r e   e n d i n g   t h e   c a c h e   * / 
00918  
00919      / * *   C a l l e d   _ a f t e r _   w r i t i n g   t o   d i s k ;   n o t   h o n o u r e d   b y   S E Q _ R E A D _ A P P E N D   * / 
00920  
00921      I O _ C A C H E _ C A L L B A C K   p o s t _ w r i t e ; 
00922  
00923      / * 
00924  
00925          C o u n t s   t h e   n u m b e r   o f   t i m e s ,   w h e n   w e   w e r e   f o r c e d   t o   u s e   d i s k .   W e   u s e   i t   t o 
00926  
00927          i n c r e a s e   t h e   b i n l o g _ c a c h e _ d i s k _ u s e   s t a t u s   v a r i a b l e . 
00928  
00929      * / 
00930  
00931      u l o n g   d i s k _ w r i t e s ; 
00932  
00933      v o i d   * a r g ;                       / * * <   u s e d   b y   p r e / p o s t _ r e a d , p o s t _ w r i t e   * / 
00934  
00935      c h a r   * f i l e _ n a m e ;             / *   i f   u s e d   w i t h   ' o p e n _ c a c h e d _ f i l e '   * / 
00936  
00937      c h a r   * d i r , * p r e f i x ; 
00938  
00939      F i l e   f i l e ;   / *   f i l e   d e s c r i p t o r   * / 
00940  
00941      / * 
00942  
00943          s e e k _ n o t _ d o n e   i s   s e t   b y   m y _ b _ s e e k ( )   t o   i n f o r m   t h e   u p c o m i n g   r e a d / w r i t e 
00944  
00945          o p e r a t i o n   t h a t   a   s e e k   n e e d s   t o   b e   p r e f o r m e d   p r i o r   t o   t h e   a c t u a l   I / O 
00946  
00947          e r r o r   i s   0   i f   t h e   c a c h e   o p e r a t i o n   w a s   s u c c e s s f u l ,   - 1   i f   t h e r e   w a s   a 
00948  
00949          " h a r d "   e r r o r ,   a n d   t h e   a c t u a l   n u m b e r   o f   I / O - e d   b y t e s   i f   t h e   r e a d / w r i t e   w a s 
00950  
00951          p a r t i a l . 
00952  
00953      * / 
00954  
00955      i n t   s e e k _ n o t _ d o n e , e r r o r ; 
00956  
00957      / * * 
00958  
00959            C u m u l a t i v e   ' e r r o r '   s i n c e   l a s t   [ r e ] i n i t _ i o _ c a c h e ( ) .   U s e f u l   i f   c a c h e ' s   u s e r 
00960  
00961            p o l l s   f o r   e r r o r s   o n l y   o n c e   i n   a   w h i l e . 
00962  
00963      * / 
00964  
00965      i n t   h a r d _ w r i t e _ e r r o r _ i n _ t h e _ p a s t ; 
00966  
00967      / *   b u f f e r _ l e n g t h   i s   m e m o r y   s i z e   a l l o c a t e d   f o r   b u f f e r   o r   w r i t e _ b u f f e r   * / 
00968  
00969      s i z e _ t     b u f f e r _ l e n g t h ; 
00970  
00971      / *   r e a d _ l e n g t h   i s   t h e   s a m e   a s   b u f f e r _ l e n g t h   e x c e p t   w h e n   w e   u s e   a s y n c   i o   * / 
00972  
00973      s i z e _ t     r e a d _ l e n g t h ; 
00974  
00975      m y f   m y f l a g s ;             / *   F l a g s   u s e d   t o   m y _ r e a d / m y _ w r i t e   * / 
00976  
00977      / * 
00978  
00979          a l l o c e d _ b u f f e r   i s   1   i f   t h e   b u f f e r   w a s   a l l o c a t e d   b y   i n i t _ i o _ c a c h e ( )   a n d 
00980  
00981          0   i f   i t   w a s   s u p p l i e d   b y   t h e   u s e r . 
00982  
00983          C u r r e n t l y   R E A D _ N E T   i s   t h e   o n l y   o n e   t h a t   w i l l   u s e   a   b u f f e r   a l l o c a t e d 
00984  
00985          s o m e w h e r e   e l s e 
00986  
00987      * / 
00988  
00989      m y _ b o o l   a l l o c e d _ b u f f e r ; 
00990  
00991  # i f d e f   H A V E _ A I O W A I T 
00992  
00993      / * 
00994  
00995          A s   i n i d i c a t e d   b y   i f d e f ,   t h i s   i s   f o r   a s y n c   I / O ,   w h i c h   i s   n o t   c u r r e n t l y 
00996  
00997          u s e d   ( b e c a u s e   i t ' s   n o t   r e l i a b l e   o n   a l l   s y s t e m s ) 
00998  
00999      * / 
01000  
01001      u i n t   i n i t e d ; 
01002  
01003      m y _ o f f _ t   a i o _ r e a d _ p o s ; 
01004  
01005      m y _ a i o _ r e s u l t   a i o _ r e s u l t ; 
01006  
01007  # e n d i f 
01008  
01009  }   I O _ C A C H E ; 
01010  
01011  t y p e d e f   i n t   ( * q s o r t 2 _ c m p ) ( c o n s t   v o i d   * ,   c o n s t   v o i d   * ,   c o n s t   v o i d   * ) ; 
01012  
01013      / *   d e f i n e s   f o r   m f _ i o c a c h e   * / 
01014  
01015      / *   T e s t   i f   b u f f e r   i s   i n i t e d   * / 
01016  
01017  # d e f i n e   m y _ b _ c l e a r ( i n f o )   ( i n f o ) - > b u f f e r = 0 
01018  
01019  # d e f i n e   m y _ b _ i n i t e d ( i n f o )   ( i n f o ) - > b u f f e r 
01020  
01021  # d e f i n e   m y _ b _ E O F   I N T _ M I N 
01022  
01023  # d e f i n e   m y _ b _ r e a d ( i n f o , B u f f e r , C o u n t )   \ 
01024  
01025      ( ( i n f o ) - > r e a d _ p o s   +   ( C o u n t )   < =   ( i n f o ) - > r e a d _ e n d   ? \ 
01026  
01027        ( m e m c p y ( B u f f e r , ( i n f o ) - > r e a d _ p o s , ( s i z e _ t )   ( C o u n t ) ) ,   \ 
01028  
01029          ( ( i n f o ) - > r e a d _ p o s + = ( C o u n t ) ) , 0 )   : \ 
01030  
01031        ( * ( i n f o ) - > r e a d _ f u n c t i o n ) ( ( i n f o ) , B u f f e r , C o u n t ) ) 
01032  
01033  # d e f i n e   m y _ b _ w r i t e ( i n f o , B u f f e r , C o u n t )   \ 
01034  
01035    ( ( i n f o ) - > w r i t e _ p o s   +   ( C o u n t )   < = ( i n f o ) - > w r i t e _ e n d   ? \ 
01036  
01037      ( m e m c p y ( ( i n f o ) - > w r i t e _ p o s ,   ( B u f f e r ) ,   ( s i z e _ t ) ( C o u n t ) ) , \ 
01038  
01039        ( ( i n f o ) - > w r i t e _ p o s + = ( C o u n t ) ) , 0 )   :   \ 
01040  
01041        ( * ( i n f o ) - > w r i t e _ f u n c t i o n ) ( ( i n f o ) , ( B u f f e r ) , ( C o u n t ) ) ) 
01042  
01043  # d e f i n e   m y _ b _ g e t ( i n f o )   \ 
01044  
01045      ( ( i n f o ) - > r e a d _ p o s   ! =   ( i n f o ) - > r e a d _ e n d   ? \ 
01046  
01047        ( ( i n f o ) - > r e a d _ p o s + + ,   ( i n t )   ( u c h a r )   ( i n f o ) - > r e a d _ p o s [ - 1 ] )   : \ 
01048  
01049        _ m y _ b _ g e t ( i n f o ) ) 
01050  
01051      / *   m y _ b _ w r i t e _ b y t e   d o s n ' t   h a v e   a n y   e r r - c h e c k   * / 
01052  
01053  # d e f i n e   m y _ b _ w r i t e _ b y t e ( i n f o , c h r )   \ 
01054  
01055      ( ( ( i n f o ) - > w r i t e _ p o s   <   ( i n f o ) - > w r i t e _ e n d )   ? \ 
01056  
01057        ( ( * ( i n f o ) - > w r i t e _ p o s + + ) = ( c h r ) )   : \ 
01058  
01059        ( _ m y _ b _ w r i t e ( i n f o , 0 , 0 )   ,   ( ( * ( i n f o ) - > w r i t e _ p o s + + ) = ( c h r ) ) ) ) 
01060  
01061  # d e f i n e   m y _ b _ f i l l _ c a c h e ( i n f o )   \ 
01062  
01063      ( ( ( i n f o ) - > r e a d _ e n d = ( i n f o ) - > r e a d _ p o s ) , ( * ( i n f o ) - > r e a d _ f u n c t i o n ) ( i n f o , 0 , 0 ) ) 
01064  
01065  # d e f i n e   m y _ b _ t e l l ( i n f o )   ( ( i n f o ) - > p o s _ i n _ f i l e   +   \ 
01066  
01067                ( s i z e _ t )   ( * ( i n f o ) - > c u r r e n t _ p o s   -   ( i n f o ) - > r e q u e s t _ p o s ) ) 
01068  
01069  # d e f i n e   m y _ b _ g e t _ b u f f e r _ s t a r t ( i n f o )   ( i n f o ) - > r e q u e s t _ p o s   
01070  
01071  # d e f i n e   m y _ b _ g e t _ b y t e s _ i n _ b u f f e r ( i n f o )   ( c h a r * )   ( i n f o ) - > r e a d _ e n d   -       \ 
01072  
01073      ( c h a r * )   m y _ b _ g e t _ b u f f e r _ s t a r t ( i n f o ) 
01074  
01075  # d e f i n e   m y _ b _ g e t _ p o s _ i n _ f i l e ( i n f o )   ( i n f o ) - > p o s _ i n _ f i l e 
01076  
01077  / *   t e l l   w r i t e   o f f s e t   i n   t h e   S E Q _ A P P E N D   c a c h e   * / 
01078  
01079  i n t             m y _ b _ c o p y _ t o _ f i l e ( I O _ C A C H E   * c a c h e ,   F I L E   * f i l e ) ; 
01080  
01081  m y _ o f f _ t   m y _ b _ a p p e n d _ t e l l ( I O _ C A C H E *   i n f o ) ; 
01082  
01083  m y _ o f f _ t   m y _ b _ s a f e _ t e l l ( I O _ C A C H E *   i n f o ) ;   / *   p i c k s   t h e   c o r r e c t   t e l l ( )   * / 
01084  
01085  # d e f i n e   m y _ b _ b y t e s _ i n _ c a c h e ( i n f o )   ( s i z e _ t )   ( * ( i n f o ) - > c u r r e n t _ e n d   -   \ 
01086  
01087                          * ( i n f o ) - > c u r r e n t _ p o s ) 
01088  
01089  t y p e d e f   u i n t 3 2   h a _ c h e c k s u m ; 
01090  
01091  e x t e r n   h a _ c h e c k s u m   m y _ c r c _ d b u g _ c h e c k ; 
01092  
01093  / *   D e f i n e   t h e   t y p e   o f   f u n c t i o n   t o   b e   p a s s e d   t o   p r o c e s s _ d e f a u l t _ o p t i o n _ f i l e s   * / 
01094  
01095  t y p e d e f   i n t   ( * P r o c e s s _ o p t i o n _ f u n c ) ( v o i d   * c t x ,   c o n s t   c h a r   * g r o u p _ n a m e , 
01096  
01097                                                                        c o n s t   c h a r   * o p t i o n ) ; 
01098  
01099  # i n c l u d e   < m y _ a l l o c . h > 
01100  
01101  
01102  
01103      / *   P r o t o t y p e s   f o r   m y s y s   a n d   m y _ f u n c   f u n c t i o n s   * / 
01104  
01105  e x t e r n   i n t   m y _ c o p y ( c o n s t   c h a r   * f r o m , c o n s t   c h a r   * t o , m y f   M y F l a g s ) ; 
01106  
01107  e x t e r n   i n t   m y _ a p p e n d ( c o n s t   c h a r   * f r o m , c o n s t   c h a r   * t o , m y f   M y F l a g s ) ; 
01108  
01109  e x t e r n   i n t   m y _ d e l e t e ( c o n s t   c h a r   * n a m e , m y f   M y F l a g s ) ; 
01110  
01111  e x t e r n   i n t   m y _ g e t w d ( c h a r   *   b u f , s i z e _ t   s i z e , m y f   M y F l a g s ) ; 
01112  
01113  e x t e r n   i n t   m y _ s e t w d ( c o n s t   c h a r   * d i r , m y f   M y F l a g s ) ; 
01114  
01115  e x t e r n   i n t   m y _ l o c k ( F i l e   f d , i n t   o p , m y _ o f f _ t   s t a r t ,   m y _ o f f _ t   l e n g t h , m y f   M y F l a g s ) ; 
01116  
01117  e x t e r n   v o i d   * m y _ o n c e _ a l l o c ( s i z e _ t   S i z e , m y f   M y F l a g s ) ; 
01118  
01119  e x t e r n   v o i d   m y _ o n c e _ f r e e ( v o i d ) ; 
01120  
01121  e x t e r n   c h a r   * m y _ o n c e _ s t r d u p ( c o n s t   c h a r   * s r c , m y f   m y f l a g s ) ; 
01122  
01123  e x t e r n   v o i d   * m y _ o n c e _ m e m d u p ( c o n s t   v o i d   * s r c ,   s i z e _ t   l e n ,   m y f   m y f l a g s ) ; 
01124  
01125  e x t e r n   F i l e   m y _ o p e n ( c o n s t   c h a r   * F i l e N a m e , i n t   F l a g s , m y f   M y F l a g s ) ; 
01126  
01127  e x t e r n   F i l e   m y _ r e g i s t e r _ f i l e n a m e ( F i l e   f d ,   c o n s t   c h a r   * F i l e N a m e , 
01128  
01129                    e n u m   f i l e _ t y p e   t y p e _ o f _ f i l e , 
01130  
01131                    u i n t   e r r o r _ m e s s a g e _ n u m b e r ,   m y f   M y F l a g s ) ; 
01132  
01133  e x t e r n   F i l e   m y _ c r e a t e ( c o n s t   c h a r   * F i l e N a m e , i n t   C r e a t e F l a g s , 
01134  
01135                      i n t   A c c e s s F l a g s ,   m y f   M y F l a g s ) ; 
01136  
01137  e x t e r n   i n t   m y _ c l o s e ( F i l e   F i l e d e s , m y f   M y F l a g s ) ; 
01138  
01139  e x t e r n   F i l e   m y _ d u p ( F i l e   f i l e ,   m y f   M y F l a g s ) ; 
01140  
01141  e x t e r n   i n t   m y _ m k d i r ( c o n s t   c h a r   * d i r ,   i n t   F l a g s ,   m y f   M y F l a g s ) ; 
01142  
01143  e x t e r n   i n t   m y _ r e a d l i n k ( c h a r   * t o ,   c o n s t   c h a r   * f i l e n a m e ,   m y f   M y F l a g s ) ; 
01144  
01145  e x t e r n   i n t   m y _ i s _ s y m l i n k ( c o n s t   c h a r   * f i l e n a m e ) ; 
01146  
01147  e x t e r n   i n t   m y _ r e a l p a t h ( c h a r   * t o ,   c o n s t   c h a r   * f i l e n a m e ,   m y f   M y F l a g s ) ; 
01148  
01149  e x t e r n   F i l e   m y _ c r e a t e _ w i t h _ s y m l i n k ( c o n s t   c h a r   * l i n k n a m e ,   c o n s t   c h a r   * f i l e n a m e , 
01150  
01151                        i n t   c r e a t e f l a g s ,   i n t   a c c e s s _ f l a g s , 
01152  
01153                        m y f   M y F l a g s ) ; 
01154  
01155  e x t e r n   i n t   m y _ d e l e t e _ w i t h _ s y m l i n k ( c o n s t   c h a r   * n a m e ,   m y f   M y F l a g s ) ; 
01156  
01157  e x t e r n   i n t   m y _ r e n a m e _ w i t h _ s y m l i n k ( c o n s t   c h a r   * f r o m , c o n s t   c h a r   * t o , m y f   M y F l a g s ) ; 
01158  
01159  e x t e r n   i n t   m y _ s y m l i n k ( c o n s t   c h a r   * c o n t e n t ,   c o n s t   c h a r   * l i n k n a m e ,   m y f   M y F l a g s ) ; 
01160  
01161  e x t e r n   s i z e _ t   m y _ r e a d ( F i l e   F i l e d e s , u c h a r   * B u f f e r , s i z e _ t   C o u n t , m y f   M y F l a g s ) ; 
01162  
01163  e x t e r n   s i z e _ t   m y _ p r e a d ( F i l e   F i l e d e s , u c h a r   * B u f f e r , s i z e _ t   C o u n t , m y _ o f f _ t   o f f s e t , 
01164  
01165                    m y f   M y F l a g s ) ; 
01166  
01167  e x t e r n   i n t   m y _ r e n a m e ( c o n s t   c h a r   * f r o m , c o n s t   c h a r   * t o , m y f   M y F l a g s ) ; 
01168  
01169  e x t e r n   m y _ o f f _ t   m y _ s e e k ( F i l e   f d , m y _ o f f _ t   p o s , i n t   w h e n c e , m y f   M y F l a g s ) ; 
01170  
01171  e x t e r n   m y _ o f f _ t   m y _ t e l l ( F i l e   f d , m y f   M y F l a g s ) ; 
01172  
01173  e x t e r n   s i z e _ t   m y _ w r i t e ( F i l e   F i l e d e s , c o n s t   u c h a r   * B u f f e r , s i z e _ t   C o u n t , 
01174  
01175                    m y f   M y F l a g s ) ; 
01176  
01177  e x t e r n   s i z e _ t   m y _ p w r i t e ( F i l e   F i l e d e s , c o n s t   u c h a r   * B u f f e r , s i z e _ t   C o u n t , 
01178  
01179                      m y _ o f f _ t   o f f s e t , m y f   M y F l a g s ) ; 
01180  
01181  e x t e r n   s i z e _ t   m y _ f r e a d ( F I L E   * s t r e a m , u c h a r   * B u f f e r , s i z e _ t   C o u n t , m y f   M y F l a g s ) ; 
01182  
01183  e x t e r n   s i z e _ t   m y _ f w r i t e ( F I L E   * s t r e a m , c o n s t   u c h a r   * B u f f e r , s i z e _ t   C o u n t , 
01184  
01185                      m y f   M y F l a g s ) ; 
01186  
01187  e x t e r n   m y _ o f f _ t   m y _ f s e e k ( F I L E   * s t r e a m , m y _ o f f _ t   p o s , i n t   w h e n c e , m y f   M y F l a g s ) ; 
01188  
01189  e x t e r n   m y _ o f f _ t   m y _ f t e l l ( F I L E   * s t r e a m , m y f   M y F l a g s ) ; 
01190  
01191  e x t e r n   v o i d   * _ m y m a l l o c ( s i z e _ t   u S i z e , c o n s t   c h a r   * s F i l e , 
01192  
01193                                                u i n t   u L i n e ,   m y f   M y F l a g ) ; 
01194  
01195  e x t e r n   v o i d   * _ m y r e a l l o c ( v o i d   * p P t r , s i z e _ t   u S i z e , c o n s t   c h a r   * s F i l e , 
01196  
01197                        u i n t   u L i n e ,   m y f   M y F l a g ) ; 
01198  
01199  e x t e r n   v o i d   *   m y _ m u l t i _ m a l l o c   _ V A R A R G S ( ( m y f   M y F l a g s ,   . . . ) ) ; 
01200  
01201  e x t e r n   v o i d   _ m y f r e e ( v o i d   * p P t r , c o n s t   c h a r   * s F i l e , u i n t   u L i n e ,   m y f   M y F l a g ) ; 
01202  
01203  e x t e r n   i n t   _ s a n i t y ( c o n s t   c h a r   * s F i l e ,   u i n t   u L i n e ) ; 
01204  
01205  e x t e r n   v o i d   * _ m y _ m e m d u p ( c o n s t   v o i d   * f r o m ,   s i z e _ t   l e n g t h , 
01206  
01207                                                  c o n s t   c h a r   * s F i l e ,   u i n t   u L i n e , m y f   M y F l a g ) ; 
01208  
01209  e x t e r n   c h a r   *   _ m y _ s t r d u p ( c o n s t   c h a r   * f r o m ,   c o n s t   c h a r   * s F i l e ,   u i n t   u L i n e , 
01210  
01211                                                    m y f   M y F l a g ) ; 
01212  
01213  e x t e r n   c h a r   * _ m y _ s t r n d u p ( c o n s t   c h a r   * f r o m ,   s i z e _ t   l e n g t h , 
01214  
01215                                                    c o n s t   c h a r   * s F i l e ,   u i n t   u L i n e , 
01216  
01217                                                    m y f   M y F l a g ) ; 
01218  
01219  / *   i m p l e m e n t e d   i n   m y _ m e m m e m . c   * / 
01220  
01221  e x t e r n   v o i d   * m y _ m e m m e m ( c o n s t   v o i d   * h a y s t a c k ,   s i z e _ t   h a y s t a c k l e n , 
01222  
01223                                                c o n s t   v o i d   * n e e d l e ,   s i z e _ t   n e e d l e l e n ) ; 
01224  
01225  
01226  
01227  # i f d e f   _ W I N 3 2 
01228  
01229  e x t e r n   i n t             m y _ a c c e s s ( c o n s t   c h a r   * p a t h ,   i n t   a m o d e ) ; 
01230  
01231  # e l s e 
01232  
01233  # d e f i n e   m y _ a c c e s s   a c c e s s 
01234  
01235  # e n d i f 
01236  
01237  e x t e r n   i n t   c h e c k _ i f _ l e g a l _ f i l e n a m e ( c o n s t   c h a r   * p a t h ) ; 
01238  
01239  e x t e r n   i n t   c h e c k _ i f _ l e g a l _ t a b l e n a m e ( c o n s t   c h a r   * p a t h ) ; 
01240  
01241  # i f d e f   _ W I N 3 2 
01242  
01243  e x t e r n   i n t   n t _ s h a r e _ d e l e t e ( c o n s t   c h a r   * n a m e , m y f   M y F l a g s ) ; 
01244  
01245  # d e f i n e   m y _ d e l e t e _ a l l o w _ o p e n e d ( f n a m e , f l a g s )     n t _ s h a r e _ d e l e t e ( ( f n a m e ) , ( f l a g s ) ) 
01246  
01247  # e l s e 
01248  
01249  # d e f i n e   m y _ d e l e t e _ a l l o w _ o p e n e d ( f n a m e , f l a g s )     m y _ d e l e t e ( ( f n a m e ) , ( f l a g s ) ) 
01250  
01251  # e n d i f 
01252  
01253  # i f d e f   _ W I N 3 2 
01254  
01255  / *   W i n d o w s - o n l y   f u n c t i o n s   ( C R T   e q u i v a l e n t s ) * / 
01256  
01257  e x t e r n   F i l e           m y _ s o p e n ( c o n s t   c h a r   * p a t h ,   i n t   o f l a g ,   i n t   s h f l a g ,   i n t   p m o d e ) ; 
01258  
01259  e x t e r n   H A N D L E       m y _ g e t _ o s f h a n d l e ( F i l e   f d ) ; 
01260  
01261  e x t e r n   v o i d           m y _ o s m a p e r r ( u n s i g n e d   l o n g   l a s t _ e r r o r ) ; 
01262  
01263  # e n d i f 
01264  
01265  # i f n d e f   T E R M I N A T E 
01266  
01267  e x t e r n   v o i d   T E R M I N A T E ( F I L E   * f i l e ,   u i n t   f l a g ) ; 
01268  
01269  # e n d i f 
01270  
01271  e x t e r n   v o i d   i n i t _ g l o b _ e r r s ( v o i d ) ; 
01272  
01273  e x t e r n   v o i d   w a i t _ f o r _ f r e e _ s p a c e ( c o n s t   c h a r   * f i l e n a m e ,   i n t   e r r o r s ) ; 
01274  
01275  e x t e r n   F I L E   * m y _ f o p e n ( c o n s t   c h a r   * F i l e N a m e , i n t   F l a g s , m y f   M y F l a g s ) ; 
01276  
01277  e x t e r n   F I L E   * m y _ f d o p e n ( F i l e   F i l e d e s , c o n s t   c h a r   * n a m e ,   i n t   F l a g s , m y f   M y F l a g s ) ; 
01278  
01279  e x t e r n   i n t   m y _ f c l o s e ( F I L E   * f d , m y f   M y F l a g s ) ; 
01280  
01281  e x t e r n   F i l e   m y _ f i l e n o ( F I L E   * f d ) ; 
01282  
01283  e x t e r n   i n t   m y _ c h s i z e ( F i l e   f d , m y _ o f f _ t   n e w l e n g t h ,   i n t   f i l l e r ,   m y f   M y F l a g s ) ; 
01284  
01285  e x t e r n   i n t   m y _ c h m o d ( c o n s t   c h a r   * n a m e ,   m o d e _ t   m o d e ,   m y f   m y _ f l a g s ) ; 
01286  
01287  e x t e r n   i n t   m y _ s y n c ( F i l e   f d ,   m y f   m y _ f l a g s ) ; 
01288  
01289  e x t e r n   i n t   m y _ s y n c _ d i r ( c o n s t   c h a r   * d i r _ n a m e ,   m y f   m y _ f l a g s ) ; 
01290  
01291  e x t e r n   i n t   m y _ s y n c _ d i r _ b y _ f i l e ( c o n s t   c h a r   * f i l e _ n a m e ,   m y f   m y _ f l a g s ) ; 
01292  
01293  e x t e r n   v o i d   m y _ e r r o r   _ V A R A R G S ( ( i n t   n r , m y f   M y F l a g s ,   . . . ) ) ; 
01294  
01295  e x t e r n   v o i d   m y _ p r i n t f _ e r r o r   _ V A R A R G S ( ( u i n t   m y _ e r r ,   c o n s t   c h a r   * f o r m a t , 
01296  
01297                                                                              m y f   M y F l a g s ,   . . . ) ) 
01298  
01299                          A T T R I B U T E _ F O R M A T ( p r i n t f ,   2 ,   4 ) ; 
01300  
01301  e x t e r n   v o i d   m y _ p r i n t v _ e r r o r ( u i n t   e r r o r ,   c o n s t   c h a r   * f o r m a t ,   m y f   M y F l a g s , 
01302  
01303                                                          v a _ l i s t   a p ) ; 
01304  
01305  e x t e r n   i n t   m y _ e r r o r _ r e g i s t e r ( c o n s t   c h a r   * * e r r m s g s ,   i n t   f i r s t ,   i n t   l a s t ) ; 
01306  
01307  e x t e r n   c o n s t   c h a r   * * m y _ e r r o r _ u n r e g i s t e r ( i n t   f i r s t ,   i n t   l a s t ) ; 
01308  
01309  e x t e r n   v o i d   m y _ m e s s a g e ( u i n t   m y _ e r r ,   c o n s t   c h a r   * s t r , m y f   M y F l a g s ) ; 
01310  
01311  e x t e r n   v o i d   m y _ m e s s a g e _ n o _ c u r s e s ( u i n t   m y _ e r r ,   c o n s t   c h a r   * s t r , m y f   M y F l a g s ) ; 
01312  
01313  e x t e r n   m y _ b o o l   m y _ i n i t ( v o i d ) ; 
01314  
01315  e x t e r n   v o i d   m y _ e n d ( i n t   i n f o f l a g ) ; 
01316  
01317  e x t e r n   i n t   m y _ r e d e l ( c o n s t   c h a r   * f r o m ,   c o n s t   c h a r   * t o ,   i n t   M y F l a g s ) ; 
01318  
01319  e x t e r n   i n t   m y _ c o p y s t a t ( c o n s t   c h a r   * f r o m ,   c o n s t   c h a r   * t o ,   i n t   M y F l a g s ) ; 
01320  
01321  e x t e r n   c h a r   *   m y _ f i l e n a m e ( F i l e   f d ) ; 
01322  
01323  # i f n d e f   T H R E A D 
01324  
01325  e x t e r n   v o i d   d o n t _ b r e a k ( v o i d ) ; 
01326  
01327  e x t e r n   v o i d   a l l o w _ b r e a k ( v o i d ) ; 
01328  
01329  # e l s e 
01330  
01331  # d e f i n e   d o n t _ b r e a k ( ) 
01332  
01333  # d e f i n e   a l l o w _ b r e a k ( ) 
01334  
01335  # e n d i f 
01336  
01337  # i f d e f   E X T R A _ D E B U G 
01338  
01339  v o i d   m y _ p r i n t _ o p e n _ f i l e s ( v o i d ) ; 
01340  
01341  # e l s e 
01342  
01343  # d e f i n e   m y _ p r i n t _ o p e n _ f i l e s ( ) 
01344  
01345  # e n d i f 
01346  
01347  e x t e r n   m y _ b o o l   i n i t _ t m p d i r ( M Y _ T M P D I R   * t m p d i r ,   c o n s t   c h a r   * p a t h l i s t ) ; 
01348  
01349  e x t e r n   c h a r   * m y _ t m p d i r ( M Y _ T M P D I R   * t m p d i r ) ; 
01350  
01351  e x t e r n   v o i d   f r e e _ t m p d i r ( M Y _ T M P D I R   * t m p d i r ) ; 
01352  
01353  e x t e r n   v o i d   m y _ r e m e m b e r _ s i g n a l ( i n t   s i g n a l _ n u m b e r , s i g _ h a n d l e r   ( * f u n c ) ( i n t ) ) ; 
01354  
01355  e x t e r n   s i z e _ t   d i r n a m e _ p a r t ( c h a r   *   t o , c o n s t   c h a r   * n a m e ,   s i z e _ t   * t o _ r e s _ l e n g t h ) ; 
01356  
01357  e x t e r n   s i z e _ t   d i r n a m e _ l e n g t h ( c o n s t   c h a r   * n a m e ) ; 
01358  
01359  # d e f i n e   b a s e _ n a m e ( A )   ( A + d i r n a m e _ l e n g t h ( A ) ) 
01360  
01361  e x t e r n   i n t   t e s t _ i f _ h a r d _ p a t h ( c o n s t   c h a r   * d i r _ n a m e ) ; 
01362  
01363  e x t e r n   m y _ b o o l   h a s _ p a t h ( c o n s t   c h a r   * n a m e ) ; 
01364  
01365  e x t e r n   c h a r   * c o n v e r t _ d i r n a m e ( c h a r   * t o ,   c o n s t   c h a r   * f r o m ,   c o n s t   c h a r   * f r o m _ e n d ) ; 
01366  
01367  e x t e r n   v o i d   t o _ u n i x _ p a t h ( c h a r   *   n a m e ) ; 
01368  
01369  e x t e r n   c h a r   *   f n _ e x t ( c o n s t   c h a r   * n a m e ) ; 
01370  
01371  e x t e r n   c h a r   *   f n _ s a m e ( c h a r   *   t o n a m e , c o n s t   c h a r   * n a m e , i n t   f l a g ) ; 
01372  
01373  e x t e r n   c h a r   *   f n _ f o r m a t ( c h a r   *   t o , c o n s t   c h a r   * n a m e , c o n s t   c h a r   * d i r , 
01374  
01375                    c o n s t   c h a r   * f o r m ,   u i n t   f l a g ) ; 
01376  
01377  e x t e r n   s i z e _ t   s t r l e n g t h ( c o n s t   c h a r   * s t r ) ; 
01378  
01379  e x t e r n   v o i d   p a c k _ d i r n a m e ( c h a r   *   t o , c o n s t   c h a r   * f r o m ) ; 
01380  
01381  e x t e r n   s i z e _ t   n o r m a l i z e _ d i r n a m e ( c h a r   *   t o ,   c o n s t   c h a r   * f r o m ) ; 
01382  
01383  e x t e r n   s i z e _ t   u n p a c k _ d i r n a m e ( c h a r   *   t o , c o n s t   c h a r   * f r o m ) ; 
01384  
01385  e x t e r n   s i z e _ t   c l e a n u p _ d i r n a m e ( c h a r   *   t o , c o n s t   c h a r   * f r o m ) ; 
01386  
01387  e x t e r n   s i z e _ t   s y s t e m _ f i l e n a m e ( c h a r   *   t o , c o n s t   c h a r   * f r o m ) ; 
01388  
01389  e x t e r n   s i z e _ t   u n p a c k _ f i l e n a m e ( c h a r   *   t o , c o n s t   c h a r   * f r o m ) ; 
01390  
01391  e x t e r n   c h a r   *   i n t e r n _ f i l e n a m e ( c h a r   *   t o , c o n s t   c h a r   * f r o m ) ; 
01392  
01393  e x t e r n   c h a r   *   d i r e c t o r y _ f i l e _ n a m e ( c h a r   *   d s t ,   c o n s t   c h a r   * s r c ) ; 
01394  
01395  e x t e r n   i n t   p a c k _ f i l e n a m e ( c h a r   *   t o ,   c o n s t   c h a r   * n a m e ,   s i z e _ t   m a x _ l e n g t h ) ; 
01396  
01397  e x t e r n   c h a r   *   m y _ p a t h ( c h a r   *   t o , c o n s t   c h a r   * p r o g n a m e , 
01398  
01399                c o n s t   c h a r   * o w n _ p a t h n a m e _ p a r t ) ; 
01400  
01401  e x t e r n   c h a r   *   m y _ l o a d _ p a t h ( c h a r   *   t o ,   c o n s t   c h a r   * p a t h , 
01402  
01403                          c o n s t   c h a r   * o w n _ p a t h _ p r e f i x ) ; 
01404  
01405  e x t e r n   i n t   w i l d _ c o m p a r e ( c o n s t   c h a r   * s t r , c o n s t   c h a r   * w i l d s t r , 
01406  
01407                                                  p b o o l   s t r _ i s _ p a t t e r n ) ; 
01408  
01409  e x t e r n   W F _ P A C K   * w f _ c o m p ( c h a r   *   s t r ) ; 
01410  
01411  e x t e r n   i n t   w f _ t e s t ( s t r u c t   w i l d _ f i l e _ p a c k   * w f _ p a c k , c o n s t   c h a r   * n a m e ) ; 
01412  
01413  e x t e r n   v o i d   w f _ e n d ( s t r u c t   w i l d _ f i l e _ p a c k   * b u f f e r ) ; 
01414  
01415  e x t e r n   s i z e _ t   s t r i p _ s p ( c h a r   *   s t r ) ; 
01416  
01417  e x t e r n   m y _ b o o l   a r r a y _ a p p e n d _ s t r i n g _ u n i q u e ( c o n s t   c h a r   * s t r , 
01418  
01419                                                                                      c o n s t   c h a r   * * a r r a y ,   s i z e _ t   s i z e ) ; 
01420  
01421  e x t e r n   v o i d   g e t _ d a t e ( c h a r   *   t o , i n t   t i m e f l a g , t i m e _ t   u s e _ t i m e ) ; 
01422  
01423  e x t e r n   v o i d   s o u n d e x ( C H A R S E T _ I N F O   * ,   c h a r   *   o u t _ p n t r ,   c h a r   *   i n _ p n t r , 
01424  
01425                                          p b o o l   r e m o v e _ g a r b a g e ) ; 
01426  
01427  e x t e r n   i n t   i n i t _ r e c o r d _ c a c h e ( R E C O R D _ C A C H E   * i n f o , s i z e _ t   c a c h e s i z e , F i l e   f i l e , 
01428  
01429                        s i z e _ t   r e c l e n g t h , e n u m   c a c h e _ t y p e   t y p e , 
01430  
01431                        p b o o l   u s e _ a s y n c _ i o ) ; 
01432  
01433  e x t e r n   i n t   r e a d _ c a c h e _ r e c o r d ( R E C O R D _ C A C H E   * i n f o , u c h a r   * t o ) ; 
01434  
01435  e x t e r n   i n t   e n d _ r e c o r d _ c a c h e ( R E C O R D _ C A C H E   * i n f o ) ; 
01436  
01437  e x t e r n   i n t   w r i t e _ c a c h e _ r e c o r d ( R E C O R D _ C A C H E   * i n f o , m y _ o f f _ t   f i l e p o s , 
01438  
01439                          c o n s t   u c h a r   * r e c o r d , s i z e _ t   l e n g t h ) ; 
01440  
01441  e x t e r n   i n t   f l u s h _ w r i t e _ c a c h e ( R E C O R D _ C A C H E   * i n f o ) ; 
01442  
01443  e x t e r n   l o n g   m y _ c l o c k ( v o i d ) ; 
01444  
01445  e x t e r n   s i g _ h a n d l e r   s i g t s t p _ h a n d l e r ( i n t   s i g n a l _ n u m b e r ) ; 
01446  
01447  e x t e r n   v o i d   h a n d l e _ r e c i v e d _ s i g n a l s ( v o i d ) ; 
01448  
01449  e x t e r n   s i g _ h a n d l e r   m y _ s e t _ a l a r m _ v a r i a b l e ( i n t   s i g n o ) ; 
01450  
01451  e x t e r n   v o i d   m y _ s t r i n g _ p t r _ s o r t ( u c h a r   * b a s e , u i n t   i t e m s , s i z e _ t   s i z e ) ; 
01452  
01453  e x t e r n   v o i d   r a d i x s o r t _ f o r _ s t r _ p t r ( u c h a r *   b a s e [ ] ,   u i n t   n u m b e r _ o f _ e l e m e n t s , 
01454  
01455                      s i z e _ t   s i z e _ o f _ e l e m e n t , u c h a r   * b u f f e r [ ] ) ; 
01456  
01457  e x t e r n   q s o r t _ t   m y _ q s o r t ( v o i d   * b a s e _ p t r ,   s i z e _ t   t o t a l _ e l e m s ,   s i z e _ t   s i z e , 
01458  
01459                                                  q s o r t _ c m p   c m p ) ; 
01460  
01461  e x t e r n   q s o r t _ t   m y _ q s o r t 2 ( v o i d   * b a s e _ p t r ,   s i z e _ t   t o t a l _ e l e m s ,   s i z e _ t   s i z e , 
01462  
01463                                                    q s o r t 2 _ c m p   c m p ,   v o i d   * c m p _ a r g u m e n t ) ; 
01464  
01465  e x t e r n   q s o r t 2 _ c m p   g e t _ p t r _ c o m p a r e ( s i z e _ t ) ; 
01466  
01467  v o i d   m y _ s t o r e _ p t r ( u c h a r   * b u f f ,   s i z e _ t   p a c k _ l e n g t h ,   m y _ o f f _ t   p o s ) ; 
01468  
01469  m y _ o f f _ t   m y _ g e t _ p t r ( u c h a r   * p t r ,   s i z e _ t   p a c k _ l e n g t h ) ; 
01470  
01471  e x t e r n   i n t   i n i t _ i o _ c a c h e ( I O _ C A C H E   * i n f o , F i l e   f i l e , s i z e _ t   c a c h e s i z e , 
01472  
01473                e n u m   c a c h e _ t y p e   t y p e , m y _ o f f _ t   s e e k _ o f f s e t , 
01474  
01475                p b o o l   u s e _ a s y n c _ i o ,   m y f   c a c h e _ m y f l a g s ) ; 
01476  
01477  e x t e r n   m y _ b o o l   r e i n i t _ i o _ c a c h e ( I O _ C A C H E   * i n f o , e n u m   c a c h e _ t y p e   t y p e , 
01478  
01479                            m y _ o f f _ t   s e e k _ o f f s e t , p b o o l   u s e _ a s y n c _ i o , 
01480  
01481                            p b o o l   c l e a r _ c a c h e ) ; 
01482  
01483  e x t e r n   v o i d   s e t u p _ i o _ c a c h e ( I O _ C A C H E *   i n f o ) ; 
01484  
01485  e x t e r n   i n t   _ m y _ b _ r e a d ( I O _ C A C H E   * i n f o , u c h a r   * B u f f e r , s i z e _ t   C o u n t ) ; 
01486  
01487  # i f d e f   T H R E A D 
01488  
01489  e x t e r n   i n t   _ m y _ b _ r e a d _ r ( I O _ C A C H E   * i n f o , u c h a r   * B u f f e r , s i z e _ t   C o u n t ) ; 
01490  
01491  e x t e r n   v o i d   i n i t _ i o _ c a c h e _ s h a r e ( I O _ C A C H E   * r e a d _ c a c h e ,   I O _ C A C H E _ S H A R E   * c s h a r e , 
01492  
01493                                                                  I O _ C A C H E   * w r i t e _ c a c h e ,   u i n t   n u m _ t h r e a d s ) ; 
01494  
01495  e x t e r n   v o i d   r e m o v e _ i o _ t h r e a d ( I O _ C A C H E   * i n f o ) ; 
01496  
01497  # e n d i f 
01498  
01499  e x t e r n   i n t   _ m y _ b _ s e q _ r e a d ( I O _ C A C H E   * i n f o , u c h a r   * B u f f e r , s i z e _ t   C o u n t ) ; 
01500  
01501  e x t e r n   i n t   _ m y _ b _ n e t _ r e a d ( I O _ C A C H E   * i n f o , u c h a r   * B u f f e r , s i z e _ t   C o u n t ) ; 
01502  
01503  e x t e r n   i n t   _ m y _ b _ g e t ( I O _ C A C H E   * i n f o ) ; 
01504  
01505  e x t e r n   i n t   _ m y _ b _ a s y n c _ r e a d ( I O _ C A C H E   * i n f o , u c h a r   * B u f f e r , s i z e _ t   C o u n t ) ; 
01506  
01507  e x t e r n   i n t   _ m y _ b _ w r i t e ( I O _ C A C H E   * i n f o , c o n s t   u c h a r   * B u f f e r , s i z e _ t   C o u n t ) ; 
01508  
01509  e x t e r n   i n t   m y _ b _ a p p e n d ( I O _ C A C H E   * i n f o , c o n s t   u c h a r   * B u f f e r , s i z e _ t   C o u n t ) ; 
01510  
01511  e x t e r n   i n t   m y _ b _ s a f e _ w r i t e ( I O _ C A C H E   * i n f o , c o n s t   u c h a r   * B u f f e r , s i z e _ t   C o u n t ) ; 
01512  
01513  e x t e r n   i n t   m y _ b l o c k _ w r i t e ( I O _ C A C H E   * i n f o ,   c o n s t   u c h a r   * B u f f e r , 
01514  
01515                  s i z e _ t   C o u n t ,   m y _ o f f _ t   p o s ) ; 
01516  
01517  e x t e r n   i n t   m y _ b _ f l u s h _ i o _ c a c h e ( I O _ C A C H E   * i n f o ,   i n t   n e e d _ a p p e n d _ b u f f e r _ l o c k ) ; 
01518  
01519  # d e f i n e   f l u s h _ i o _ c a c h e ( i n f o )   m y _ b _ f l u s h _ i o _ c a c h e ( ( i n f o ) , 1 ) 
01520  
01521  e x t e r n   i n t   e n d _ i o _ c a c h e ( I O _ C A C H E   * i n f o ) ; 
01522  
01523  e x t e r n   s i z e _ t   m y _ b _ f i l l ( I O _ C A C H E   * i n f o ) ; 
01524  
01525  e x t e r n   v o i d   m y _ b _ s e e k ( I O _ C A C H E   * i n f o , m y _ o f f _ t   p o s ) ; 
01526  
01527  e x t e r n   s i z e _ t   m y _ b _ g e t s ( I O _ C A C H E   * i n f o ,   c h a r   * t o ,   s i z e _ t   m a x _ l e n g t h ) ; 
01528  
01529  e x t e r n   m y _ o f f _ t   m y _ b _ f i l e l e n g t h ( I O _ C A C H E   * i n f o ) ; 
01530  
01531  e x t e r n   s i z e _ t   m y _ b _ p r i n t f ( I O _ C A C H E   * i n f o ,   c o n s t   c h a r *   f m t ,   . . . ) ; 
01532  
01533  e x t e r n   s i z e _ t   m y _ b _ v p r i n t f ( I O _ C A C H E   * i n f o ,   c o n s t   c h a r *   f m t ,   v a _ l i s t   a p ) ; 
01534  
01535  e x t e r n   m y _ b o o l   o p e n _ c a c h e d _ f i l e ( I O _ C A C H E   * c a c h e , c o n s t   c h a r   * d i r , 
01536  
01537                    c o n s t   c h a r   * p r e f i x ,   s i z e _ t   c a c h e _ s i z e , 
01538  
01539                    m y f   c a c h e _ m y f l a g s ) ; 
01540  
01541  e x t e r n   m y _ b o o l   r e a l _ o p e n _ c a c h e d _ f i l e ( I O _ C A C H E   * c a c h e ) ; 
01542  
01543  e x t e r n   v o i d   c l o s e _ c a c h e d _ f i l e ( I O _ C A C H E   * c a c h e ) ; 
01544  
01545  F i l e   c r e a t e _ t e m p _ f i l e ( c h a r   * t o ,   c o n s t   c h a r   * d i r ,   c o n s t   c h a r   * p f x , 
01546  
01547                      i n t   m o d e ,   m y f   M y F l a g s ) ; 
01548  
01549  # d e f i n e   m y _ i n i t _ d y n a m i c _ a r r a y ( A , B , C , D )   i n i t _ d y n a m i c _ a r r a y 2 ( A , B , N U L L , C , D   C A L L E R _ I N F O ) 
01550  
01551  # d e f i n e   m y _ i n i t _ d y n a m i c _ a r r a y _ c i ( A , B , C , D )   i n i t _ d y n a m i c _ a r r a y 2 ( A , B , N U L L , C , D   O R I G _ C A L L E R _ I N F O ) 
01552  
01553  # d e f i n e   m y _ i n i t _ d y n a m i c _ a r r a y 2 ( A , B , C , D , E )   i n i t _ d y n a m i c _ a r r a y 2 ( A , B , C , D , E   C A L L E R _ I N F O ) 
01554  
01555  # d e f i n e   m y _ i n i t _ d y n a m i c _ a r r a y 2 _ c i ( A , B , C , D , E )   i n i t _ d y n a m i c _ a r r a y 2 ( A , B , C , D , E   O R I G _ C A L L E R _ I N F O ) 
01556  
01557  e x t e r n   m y _ b o o l   i n i t _ d y n a m i c _ a r r a y 2 ( D Y N A M I C _ A R R A Y   * a r r a y , u i n t   e l e m e n t _ s i z e , 
01558  
01559                                                                        v o i d   * i n i t _ b u f f e r ,   u i n t   i n i t _ a l l o c ,   
01560  
01561                                                                        u i n t   a l l o c _ i n c r e m e n t 
01562  
01563                                                                        C A L L E R _ I N F O _ P R O T O ) ; 
01564  
01565  / *   i n i t _ d y n a m i c _ a r r a y ( )   f u n c t i o n   i s   d e p r e c a t e d   * / 
01566  
01567  e x t e r n   m y _ b o o l   i n i t _ d y n a m i c _ a r r a y ( D Y N A M I C _ A R R A Y   * a r r a y , u i n t   e l e m e n t _ s i z e , 
01568  
01569                                                                      u i n t   i n i t _ a l l o c , u i n t   a l l o c _ i n c r e m e n t 
01570  
01571                                                                      C A L L E R _ I N F O _ P R O T O ) ; 
01572  
01573  e x t e r n   m y _ b o o l   i n s e r t _ d y n a m i c ( D Y N A M I C _ A R R A Y   * a r r a y ,   c o n s t   u c h a r   *   e l e m e n t ) ; 
01574  
01575  e x t e r n   u c h a r   * a l l o c _ d y n a m i c ( D Y N A M I C _ A R R A Y   * a r r a y ) ; 
01576  
01577  e x t e r n   u c h a r   * p o p _ d y n a m i c ( D Y N A M I C _ A R R A Y * ) ; 
01578  
01579  e x t e r n   m y _ b o o l   s e t _ d y n a m i c ( D Y N A M I C _ A R R A Y   * a r r a y , u c h a r   *   e l e m e n t , u i n t   a r r a y _ i n d e x ) ; 
01580  
01581  e x t e r n   m y _ b o o l   a l l o c a t e _ d y n a m i c ( D Y N A M I C _ A R R A Y   * a r r a y ,   u i n t   m a x _ e l e m e n t s ) ; 
01582  
01583  e x t e r n   v o i d   g e t _ d y n a m i c ( D Y N A M I C _ A R R A Y   * a r r a y , u c h a r   *   e l e m e n t , u i n t   a r r a y _ i n d e x ) ; 
01584  
01585  e x t e r n   v o i d   d e l e t e _ d y n a m i c ( D Y N A M I C _ A R R A Y   * a r r a y ) ; 
01586  
01587  e x t e r n   v o i d   d e l e t e _ d y n a m i c _ e l e m e n t ( D Y N A M I C _ A R R A Y   * a r r a y ,   u i n t   a r r a y _ i n d e x ) ; 
01588  
01589  e x t e r n   v o i d   f r e e z e _ s i z e ( D Y N A M I C _ A R R A Y   * a r r a y ) ; 
01590  
01591  e x t e r n   i n t     g e t _ i n d e x _ d y n a m i c ( D Y N A M I C _ A R R A Y   * a r r a y ,   u c h a r   *   e l e m e n t ) ; 
01592  
01593  # d e f i n e   d y n a m i c _ a r r a y _ p t r ( a r r a y , a r r a y _ i n d e x )   ( ( a r r a y ) - > b u f f e r + ( a r r a y _ i n d e x ) * ( a r r a y ) - > s i z e _ o f _ e l e m e n t ) 
01594  
01595  # d e f i n e   d y n a m i c _ e l e m e n t ( a r r a y , a r r a y _ i n d e x , t y p e )   ( ( t y p e ) ( ( a r r a y ) - > b u f f e r )   + ( a r r a y _ i n d e x ) ) 
01596  
01597  # d e f i n e   p u s h _ d y n a m i c ( A , B )   i n s e r t _ d y n a m i c ( ( A ) , ( B ) ) 
01598  
01599  # d e f i n e   r e s e t _ d y n a m i c ( a r r a y )   ( ( a r r a y ) - > e l e m e n t s =   0 ) 
01600  
01601  # d e f i n e   s o r t _ d y n a m i c ( A , c m p )   m y _ q s o r t ( ( A ) - > b u f f e r ,   ( A ) - > e l e m e n t s ,   ( A ) - > s i z e _ o f _ e l e m e n t ,   ( c m p ) ) 
01602  
01603  e x t e r n   m y _ b o o l   i n i t _ d y n a m i c _ s t r i n g ( D Y N A M I C _ S T R I N G   * s t r ,   c o n s t   c h a r   * i n i t _ s t r , 
01604  
01605                        s i z e _ t   i n i t _ a l l o c , s i z e _ t   a l l o c _ i n c r e m e n t ) ; 
01606  
01607  e x t e r n   m y _ b o o l   d y n s t r _ a p p e n d ( D Y N A M I C _ S T R I N G   * s t r ,   c o n s t   c h a r   * a p p e n d ) ; 
01608  
01609  m y _ b o o l   d y n s t r _ a p p e n d _ m e m ( D Y N A M I C _ S T R I N G   * s t r ,   c o n s t   c h a r   * a p p e n d , 
01610  
01611                  s i z e _ t   l e n g t h ) ; 
01612  
01613  e x t e r n   m y _ b o o l   d y n s t r _ a p p e n d _ o s _ q u o t e d ( D Y N A M I C _ S T R I N G   * s t r ,   c o n s t   c h a r   * a p p e n d , 
01614  
01615                                                                                . . . ) ; 
01616  
01617  e x t e r n   m y _ b o o l   d y n s t r _ s e t ( D Y N A M I C _ S T R I N G   * s t r ,   c o n s t   c h a r   * i n i t _ s t r ) ; 
01618  
01619  e x t e r n   m y _ b o o l   d y n s t r _ r e a l l o c ( D Y N A M I C _ S T R I N G   * s t r ,   s i z e _ t   a d d i t i o n a l _ s i z e ) ; 
01620  
01621  e x t e r n   m y _ b o o l   d y n s t r _ t r u n c ( D Y N A M I C _ S T R I N G   * s t r ,   s i z e _ t   n ) ; 
01622  
01623  e x t e r n   v o i d   d y n s t r _ f r e e ( D Y N A M I C _ S T R I N G   * s t r ) ; 
01624  
01625  # i f d e f   H A V E _ M L O C K 
01626  
01627  e x t e r n   v o i d   * m y _ m a l l o c _ l o c k ( s i z e _ t   l e n g t h , m y f   f l a g s ) ; 
01628  
01629  e x t e r n   v o i d   m y _ f r e e _ l o c k ( v o i d   * p t r , m y f   f l a g s ) ; 
01630  
01631  # e l s e 
01632  
01633  # d e f i n e   m y _ m a l l o c _ l o c k ( A , B )   m y _ m a l l o c ( ( A ) , ( B ) ) 
01634  
01635  # d e f i n e   m y _ f r e e _ l o c k ( A , B )   m y _ f r e e ( ( A ) , ( B ) ) 
01636  
01637  # e n d i f 
01638  
01639  # d e f i n e   a l l o c _ r o o t _ i n i t e d ( A )   ( ( A ) - > m i n _ m a l l o c   ! =   0 ) 
01640  
01641  # d e f i n e   A L L O C _ R O O T _ M I N _ B L O C K _ S I Z E   ( M A L L O C _ O V E R H E A D   +   s i z e o f ( U S E D _ M E M )   +   8 ) 
01642  
01643  # d e f i n e   c l e a r _ a l l o c _ r o o t ( A )   d o   {   ( A ) - > f r e e =   ( A ) - > u s e d =   ( A ) - > p r e _ a l l o c =   0 ;   ( A ) - > m i n _ m a l l o c = 0 ; }   w h i l e ( 0 ) 
01644  
01645  e x t e r n   v o i d   i n i t _ a l l o c _ r o o t ( M E M _ R O O T   * m e m _ r o o t ,   s i z e _ t   b l o c k _ s i z e , 
01646  
01647                      s i z e _ t   p r e _ a l l o c _ s i z e ) ; 
01648  
01649  e x t e r n   v o i d   * a l l o c _ r o o t ( M E M _ R O O T   * m e m _ r o o t ,   s i z e _ t   S i z e ) ; 
01650  
01651  e x t e r n   v o i d   * m u l t i _ a l l o c _ r o o t ( M E M _ R O O T   * m e m _ r o o t ,   . . . ) ; 
01652  
01653  e x t e r n   v o i d   f r e e _ r o o t ( M E M _ R O O T   * r o o t ,   m y f   M y F L A G S ) ; 
01654  
01655  e x t e r n   v o i d   s e t _ p r e a l l o c _ r o o t ( M E M _ R O O T   * r o o t ,   c h a r   * p t r ) ; 
01656  
01657  e x t e r n   v o i d   r e s e t _ r o o t _ d e f a u l t s ( M E M _ R O O T   * m e m _ r o o t ,   s i z e _ t   b l o c k _ s i z e , 
01658  
01659                                                                  s i z e _ t   p r e a l l o c _ s i z e ) ; 
01660  
01661  e x t e r n   c h a r   * s t r d u p _ r o o t ( M E M _ R O O T   * r o o t , c o n s t   c h a r   * s t r ) ; 
01662  
01663  e x t e r n   c h a r   * s t r m a k e _ r o o t ( M E M _ R O O T   * r o o t , c o n s t   c h a r   * s t r , s i z e _ t   l e n ) ; 
01664  
01665  e x t e r n   v o i d   * m e m d u p _ r o o t ( M E M _ R O O T   * r o o t , c o n s t   v o i d   * s t r ,   s i z e _ t   l e n ) ; 
01666  
01667  e x t e r n   i n t   g e t _ d e f a u l t s _ o p t i o n s ( i n t   a r g c ,   c h a r   * * a r g v , 
01668  
01669                                                                  c h a r   * * d e f a u l t s ,   c h a r   * * e x t r a _ d e f a u l t s , 
01670  
01671                                                                  c h a r   * * g r o u p _ s u f f i x ) ; 
01672  
01673  e x t e r n   c o n s t   c h a r   * a r g s _ s e p a r a t o r ; 
01674  
01675  e x t e r n   i n t   m y _ l o a d _ d e f a u l t s ( c o n s t   c h a r   * c o n f _ f i l e ,   c o n s t   c h a r   * * g r o u p s , 
01676  
01677                                                          i n t   * a r g c ,   c h a r   * * * a r g v ,   c o n s t   c h a r   * * * ) ; 
01678  
01679  e x t e r n   i n t   l o a d _ d e f a u l t s ( c o n s t   c h a r   * c o n f _ f i l e ,   c o n s t   c h a r   * * g r o u p s , 
01680  
01681                                                    i n t   * a r g c ,   c h a r   * * * a r g v ) ; 
01682  
01683  e x t e r n   i n t   m o d i f y _ d e f a u l t s _ f i l e ( c o n s t   c h a r   * f i l e _ l o c a t i o n ,   c o n s t   c h a r   * o p t i o n , 
01684  
01685                                                                  c o n s t   c h a r   * o p t i o n _ v a l u e , 
01686  
01687                                                                  c o n s t   c h a r   * s e c t i o n _ n a m e ,   i n t   r e m o v e _ o p t i o n ) ; 
01688  
01689  e x t e r n   i n t   m y _ s e a r c h _ o p t i o n _ f i l e s ( c o n s t   c h a r   * c o n f _ f i l e ,   i n t   * a r g c , 
01690  
01691                                                                      c h a r   * * * a r g v ,   u i n t   * a r g s _ u s e d , 
01692  
01693                                                                      P r o c e s s _ o p t i o n _ f u n c   f u n c ,   v o i d   * f u n c _ c t x , 
01694  
01695                                                                      c o n s t   c h a r   * * d e f a u l t _ d i r e c t o r i e s ) ; 
01696  
01697  e x t e r n   v o i d   f r e e _ d e f a u l t s ( c h a r   * * a r g v ) ; 
01698  
01699  e x t e r n   v o i d   m y _ p r i n t _ d e f a u l t _ f i l e s ( c o n s t   c h a r   * c o n f _ f i l e ) ; 
01700  
01701  e x t e r n   v o i d   p r i n t _ d e f a u l t s ( c o n s t   c h a r   * c o n f _ f i l e ,   c o n s t   c h a r   * * g r o u p s ) ; 
01702  
01703  e x t e r n   m y _ b o o l   m y _ c o m p r e s s ( u c h a r   * ,   s i z e _ t   * ,   s i z e _ t   * ) ; 
01704  
01705  e x t e r n   m y _ b o o l   m y _ u n c o m p r e s s ( u c h a r   * ,   s i z e _ t   ,   s i z e _ t   * ) ; 
01706  
01707  e x t e r n   u c h a r   * m y _ c o m p r e s s _ a l l o c ( c o n s t   u c h a r   * p a c k e t ,   s i z e _ t   * l e n , 
01708  
01709                                                                  s i z e _ t   * c o m p l e n ) ; 
01710  
01711  e x t e r n   i n t   p a c k f r m ( u c h a r   * ,   s i z e _ t ,   u c h a r   * * ,   s i z e _ t   * ) ; 
01712  
01713  e x t e r n   i n t   u n p a c k f r m ( u c h a r   * * ,   s i z e _ t   * ,   c o n s t   u c h a r   * ) ; 
01714  
01715  e x t e r n   h a _ c h e c k s u m   m y _ c h e c k s u m ( h a _ c h e c k s u m   c r c ,   c o n s t   u c h a r   * m e m , 
01716  
01717                                                                s i z e _ t   c o u n t ) ; 
01718  
01719  # i f n d e f   D B U G _ O F F 
01720  
01721  e x t e r n   v o i d   m y _ d e b u g _ p u t _ b r e a k _ h e r e ( v o i d ) ; 
01722  
01723  # e l s e 
01724  
01725  # d e f i n e   m y _ d e b u g _ p u t _ b r e a k _ h e r e ( )   d o   { }   w h i l e ( 0 ) 
01726  
01727  # e n d i f 
01728  
01729  e x t e r n   v o i d   m y _ s l e e p ( u l o n g   m _ s e c o n d s ) ; 
01730  
01731  e x t e r n   u l o n g   c r c 3 2 ( u l o n g   c r c ,   c o n s t   u c h a r   * b u f ,   u i n t   l e n ) ; 
01732  
01733  e x t e r n   u i n t   m y _ s e t _ m a x _ o p e n _ f i l e s ( u i n t   f i l e s ) ; 
01734  
01735  v o i d   m y _ f r e e _ o p e n _ f i l e _ i n f o ( v o i d ) ; 
01736  
01737  e x t e r n   t i m e _ t   m y _ t i m e ( m y f   f l a g s ) ; 
01738  
01739  e x t e r n   u l o n g l o n g   m y _ g e t s y s t i m e ( v o i d ) ; 
01740  
01741  e x t e r n   u l o n g l o n g   m y _ m i c r o _ t i m e ( ) ; 
01742  
01743  e x t e r n   u l o n g l o n g   m y _ m i c r o _ t i m e _ a n d _ t i m e ( t i m e _ t   * t i m e _ a r g ) ; 
01744  
01745  t i m e _ t   m y _ t i m e _ p o s s i b l e _ f r o m _ m i c r o ( u l o n g l o n g   m i c r o t i m e ) ; 
01746  
01747  e x t e r n   m y _ b o o l   m y _ g e t h w a d d r ( u c h a r   * t o ) ; 
01748  
01749  e x t e r n   i n t   m y _ g e t n c p u s ( ) ; 
01750  
01751  # i f d e f   H A V E _ S Y S _ M M A N _ H 
01752  
01753  # i n c l u d e   < s y s / m m a n . h > 
01754  
01755  # i f n d e f   M A P _ N O S Y N C 
01756  
01757  # d e f i n e   M A P _ N O S Y N C             0 
01758  
01759  # e n d i f 
01760  
01761  # i f n d e f   M A P _ N O R E S E R V E 
01762  
01763  # d e f i n e   M A P _ N O R E S E R V E   0                   / *   F o r   i r i x   a n d   A I X   * / 
01764  
01765  # e n d i f 
01766  
01767  # i f d e f   H A V E _ M M A P 6 4 
01768  
01769  # d e f i n e   m y _ m m a p ( a , b , c , d , e , f )         m m a p 6 4 ( a , b , c , d , e , f ) 
01770  
01771  # e l s e 
01772  
01773  # d e f i n e   m y _ m m a p ( a , b , c , d , e , f )         m m a p ( a , b , c , d , e , f ) 
01774  
01775  # e n d i f 
01776  
01777  # d e f i n e   m y _ m u n m a p ( a , b )                     m u n m a p ( ( a ) , ( b ) ) 
01778  
01779  # e l s e 
01780  
01781  / *   n o t   a   c o m p l e t e   s e t   o f   m m a p ( )   f l a g s ,   b u t   o n l y   t h o s e   t h a t   n e s e s s a r y   * / 
01782  
01783  # d e f i n e   P R O T _ R E A D                 1 
01784  
01785  # d e f i n e   P R O T _ W R I T E               2 
01786  
01787  # d e f i n e   M A P _ N O R E S E R V E         0 
01788  
01789  # d e f i n e   M A P _ S H A R E D               0 x 0 0 0 1 
01790  
01791  # d e f i n e   M A P _ P R I V A T E             0 x 0 0 0 2 
01792  
01793  # d e f i n e   M A P _ N O S Y N C               0 x 0 8 0 0 
01794  
01795  # d e f i n e   M A P _ F A I L E D               ( ( v o i d   * ) - 1 ) 
01796  
01797  # d e f i n e   M S _ S Y N C                     0 x 0 0 0 0 
01798  
01799  # i f n d e f   _ _ N E T W A R E _ _ 
01800  
01801  # d e f i n e   H A V E _ M M A P 
01802  
01803  # e n d i f 
01804  
01805  v o i d   * m y _ m m a p ( v o i d   * ,   s i z e _ t ,   i n t ,   i n t ,   i n t ,   m y _ o f f _ t ) ; 
01806  
01807  i n t   m y _ m u n m a p ( v o i d   * ,   s i z e _ t ) ; 
01808  
01809  # e n d i f 
01810  
01811  / *   m y _ g e t p a g e s i z e   * / 
01812  
01813  # i f d e f   H A V E _ G E T P A G E S I Z E 
01814  
01815  # d e f i n e   m y _ g e t p a g e s i z e ( )                 g e t p a g e s i z e ( ) 
01816  
01817  # e l s e 
01818  
01819  i n t   m y _ g e t p a g e s i z e ( v o i d ) ; 
01820  
01821  # e n d i f 
01822  
01823  i n t   m y _ m s y n c ( i n t ,   v o i d   * ,   s i z e _ t ,   i n t ) ; 
01824  
01825  # d e f i n e   M Y _ U U I D _ S I Z E   1 6 
01826  
01827  # d e f i n e   M Y _ U U I D _ S T R I N G _ L E N G T H   ( 8 + 1 + 4 + 1 + 4 + 1 + 4 + 1 + 1 2 ) 
01828  
01829  v o i d   m y _ u u i d _ i n i t ( u l o n g   s e e d 1 ,   u l o n g   s e e d 2 ) ; 
01830  
01831  v o i d   m y _ u u i d ( u c h a r   * g u i d ) ; 
01832  
01833  v o i d   m y _ u u i d 2 s t r ( c o n s t   u c h a r   * g u i d ,   c h a r   * s ) ; 
01834  
01835  v o i d   m y _ u u i d _ e n d ( ) ; 
01836  
01837  s t r u c t   m y _ r n d _ s t r u c t   { 
01838  
01839      u n s i g n e d   l o n g   s e e d 1 , s e e d 2 , m a x _ v a l u e ; 
01840  
01841      d o u b l e   m a x _ v a l u e _ d b l ; 
01842  
01843  } ; 
01844  
01845  v o i d   m y _ r n d _ i n i t ( s t r u c t   m y _ r n d _ s t r u c t   * r a n d _ s t ,   u l o n g   s e e d 1 ,   u l o n g   s e e d 2 ) ; 
01846  
01847  d o u b l e   m y _ r n d ( s t r u c t   m y _ r n d _ s t r u c t   * r a n d _ s t ) ; 
01848  
01849  / *   c h a r a c t e r   s e t s   * / 
01850  
01851  e x t e r n   u i n t   g e t _ c h a r s e t _ n u m b e r ( c o n s t   c h a r   * c s _ n a m e ,   u i n t   c s _ f l a g s ) ; 
01852  
01853  e x t e r n   u i n t   g e t _ c o l l a t i o n _ n u m b e r ( c o n s t   c h a r   * n a m e ) ; 
01854  
01855  e x t e r n   c o n s t   c h a r   * g e t _ c h a r s e t _ n a m e ( u i n t   c s _ n u m b e r ) ; 
01856  
01857  e x t e r n   C H A R S E T _ I N F O   * g e t _ c h a r s e t ( u i n t   c s _ n u m b e r ,   m y f   f l a g s ) ; 
01858  
01859  e x t e r n   C H A R S E T _ I N F O   * g e t _ c h a r s e t _ b y _ n a m e ( c o n s t   c h a r   * c s _ n a m e ,   m y f   f l a g s ) ; 
01860  
01861  e x t e r n   C H A R S E T _ I N F O   * g e t _ c h a r s e t _ b y _ c s n a m e ( c o n s t   c h a r   * c s _ n a m e , 
01862  
01863                            u i n t   c s _ f l a g s ,   m y f   m y _ f l a g s ) ; 
01864  
01865  e x t e r n   m y _ b o o l   r e s o l v e _ c h a r s e t ( c o n s t   c h a r   * c s _ n a m e , 
01866  
01867                                                                C H A R S E T _ I N F O   * d e f a u l t _ c s , 
01868  
01869                                                                C H A R S E T _ I N F O   * * c s ) ; 
01870  
01871  e x t e r n   m y _ b o o l   r e s o l v e _ c o l l a t i o n ( c o n s t   c h a r   * c l _ n a m e , 
01872  
01873                                                                    C H A R S E T _ I N F O   * d e f a u l t _ c l , 
01874  
01875                                                                    C H A R S E T _ I N F O   * * c l ) ; 
01876  
01877  e x t e r n   v o i d   f r e e _ c h a r s e t s ( v o i d ) ; 
01878  
01879  e x t e r n   c h a r   * g e t _ c h a r s e t s _ d i r ( c h a r   * b u f ) ; 
01880  
01881  e x t e r n   m y _ b o o l   m y _ c h a r s e t _ s a m e ( C H A R S E T _ I N F O   * c s 1 ,   C H A R S E T _ I N F O   * c s 2 ) ; 
01882  
01883  e x t e r n   m y _ b o o l   i n i t _ c o m p i l e d _ c h a r s e t s ( m y f   f l a g s ) ; 
01884  
01885  e x t e r n   v o i d   a d d _ c o m p i l e d _ c o l l a t i o n ( C H A R S E T _ I N F O   * c s ) ; 
01886  
01887  e x t e r n   s i z e _ t   e s c a p e _ s t r i n g _ f o r _ m y s q l ( C H A R S E T _ I N F O   * c h a r s e t _ i n f o , 
01888  
01889                                                                              c h a r   * t o ,   s i z e _ t   t o _ l e n g t h , 
01890  
01891                                                                              c o n s t   c h a r   * f r o m ,   s i z e _ t   l e n g t h ) ; 
01892  
01893  # i f d e f   _ _ W I N _ _ 
01894  
01895  # d e f i n e   B A C K S L A S H _ M B T A I L 
01896  
01897  / *   F i l e   s y s t e m   c h a r a c t e r   s e t   * / 
01898  
01899  e x t e r n   C H A R S E T _ I N F O   * f s _ c h a r a c t e r _ s e t ( v o i d ) ; 
01900  
01901  # e n d i f 
01902  
01903  e x t e r n   s i z e _ t   e s c a p e _ q u o t e s _ f o r _ m y s q l ( C H A R S E T _ I N F O   * c h a r s e t _ i n f o , 
01904  
01905                                                                              c h a r   * t o ,   s i z e _ t   t o _ l e n g t h , 
01906  
01907                                                                              c o n s t   c h a r   * f r o m ,   s i z e _ t   l e n g t h ) ; 
01908  
01909  e x t e r n   v o i d   t h d _ i n c r e m e n t _ b y t e s _ s e n t ( u l o n g   l e n g t h ) ; 
01910  
01911  e x t e r n   v o i d   t h d _ i n c r e m e n t _ b y t e s _ r e c e i v e d ( u l o n g   l e n g t h ) ; 
01912  
01913  e x t e r n   v o i d   t h d _ i n c r e m e n t _ n e t _ b i g _ p a c k e t _ c o u n t ( u l o n g   l e n g t h ) ; 
01914  
01915  # i f d e f   _ _ W I N _ _ 
01916  
01917  e x t e r n   m y _ b o o l   h a v e _ t c p i p ;         / *   I s   s e t   i f   t c p i p   i s   u s e d   * / 
01918  
01919  / *   i m p l e m e n t e d   i n   m y _ w i n d a c . c   * / 
01920  
01921  i n t   m y _ s e c u r i t y _ a t t r _ c r e a t e ( S E C U R I T Y _ A T T R I B U T E S   * * p s a ,   c o n s t   c h a r   * * p e r r o r , 
01922  
01923                                                          D W O R D   o w n e r _ r i g h t s ,   D W O R D   e v e r y b o d y _ r i g h t s ) ; 
01924  
01925  v o i d   m y _ s e c u r i t y _ a t t r _ f r e e ( S E C U R I T Y _ A T T R I B U T E S   * s a ) ; 
01926  
01927  / *   i m p l e m e n t e d   i n   m y _ c o n i o . c   * / 
01928  
01929  c h a r *   m y _ c g e t s ( c h a r   * s t r i n g ,   s i z e _ t   c l e n ,   s i z e _ t *   p l e n ) ; 
01930  
01931  # e n d i f 
01932  
01933  # i f d e f   _ _ N E T W A R E _ _ 
01934  
01935  v o i d   n e t w a r e _ r e g _ u s e r ( c o n s t   c h a r   * i p ,   c o n s t   c h a r   * u s e r , 
01936  
01937                      c o n s t   c h a r   * a p p l i c a t i o n ) ; 
01938  
01939  # e n d i f 
01940  
01941  C _ M O D E _ E N D 
01942  
01943  # e n d i f   / *   _ m y _ s y s _ h   * / 
01944  
01945  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义