CMGDK r49-rc2
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/my_alloc.h
浏览该文件的文档。
00001 / *   C o p y r i g h t   ( C )   2 0 0 0   M y S Q L   A B 
00002  
00003        T h i s   p r o g r a m   i s   f r e e   s o f t w a r e ;   y o u   c a n   r e d i s t r i b u t e   i t   a n d / o r   m o d i f y 
00004  
00005        i t   u n d e r   t h e   t e r m s   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e   a s   p u b l i s h e d   b y 
00006  
00007        t h e   F r e e   S o f t w a r e   F o u n d a t i o n ;   v e r s i o n   2   o f   t h e   L i c e n s e . 
00008  
00009        T h i s   p r o g r a m   i s   d i s t r i b u t e d   i n   t h e   h o p e   t h a t   i t   w i l l   b e   u s e f u l , 
00010  
00011        b u t   W I T H O U T   A N Y   W A R R A N T Y ;   w i t h o u t   e v e n   t h e   i m p l i e d   w a r r a n t y   o f 
00012  
00013        M E R C H A N T A B I L I T Y   o r   F I T N E S S   F O R   A   P A R T I C U L A R   P U R P O S E .     S e e   t h e 
00014  
00015        G N U   G e n e r a l   P u b l i c   L i c e n s e   f o r   m o r e   d e t a i l s . 
00016  
00017        Y o u   s h o u l d   h a v e   r e c e i v e d   a   c o p y   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e 
00018  
00019        a l o n g   w i t h   t h i s   p r o g r a m ;   i f   n o t ,   w r i t e   t o   t h e   F r e e   S o f t w a r e 
00020  
00021        F o u n d a t i o n ,   I n c . ,   5 9   T e m p l e   P l a c e ,   S u i t e   3 3 0 ,   B o s t o n ,   M A     0 2 1 1 1 - 1 3 0 7     U S A   * / 
00022  
00023  / *   
00024  
00025        D a t a   s t r u c t u r e s   f o r   m y s y s / m y _ a l l o c . c   ( r o o t   m e m o r y   a l l o c a t o r ) 
00026  
00027  * / 
00028  
00029  # i f n d e f   _ m y _ a l l o c _ h 
00030  
00031  # d e f i n e   _ m y _ a l l o c _ h 
00032  
00033  # d e f i n e   A L L O C _ M A X _ B L O C K _ T O _ D R O P           4 0 9 6 
00034  
00035  # d e f i n e   A L L O C _ M A X _ B L O C K _ U S A G E _ B E F O R E _ D R O P   1 0 
00036  
00037  t y p e d e f   s t r u c t   s t _ u s e d _ m e m 
00038  
00039  {                     / *   s t r u c t   f o r   o n c e _ a l l o c   ( b l o c k )   * / 
00040  
00041      s t r u c t   s t _ u s e d _ m e m   * n e x t ;         / *   N e x t   b l o c k   i n   u s e   * / 
00042  
00043      s i z e _ t   l e f t ;                                           / *   m e m o r y   l e f t   i n   b l o c k     * / 
00044  
00045      s i z e _ t   s i z e ;                                           / *   s i z e   o f   b l o c k   * / 
00046  
00047  }   U S E D _ M E M ; 
00048  
00049  
00050  
00051  t y p e d e f   s t r u c t   s t _ m e m _ r o o t 
00052  
00053  { 
00054  
00055      U S E D _ M E M   * f r e e ;                                     / *   b l o c k s   w i t h   f r e e   m e m o r y   i n   i t   * / 
00056  
00057      U S E D _ M E M   * u s e d ;                                     / *   b l o c k s   a l m o s t   w i t h o u t   f r e e   m e m o r y   * / 
00058  
00059      U S E D _ M E M   * p r e _ a l l o c ;                           / *   p r e a l l o c a t e d   b l o c k   * / 
00060  
00061      / *   i f   b l o c k   h a v e   l e s s   m e m o r y   i t   w i l l   b e   p u t   i n   ' u s e d '   l i s t   * / 
00062  
00063      s i z e _ t   m i n _ m a l l o c ; 
00064  
00065      s i z e _ t   b l o c k _ s i z e ;                               / *   i n i t i a l   b l o c k   s i z e   * / 
00066  
00067      u n s i g n e d   i n t   b l o c k _ n u m ;                     / *   a l l o c a t e d   b l o c k s   c o u n t e r   * / 
00068  
00069      / *   
00070  
00071            f i r s t   f r e e   b l o c k   i n   q u e u e   t e s t   c o u n t e r   ( i f   i t   e x c e e d   
00072  
00073            M A X _ B L O C K _ U S A G E _ B E F O R E _ D R O P   b l o c k   w i l l   b e   d r o p p e d   i n   ' u s e d '   l i s t ) 
00074  
00075      * / 
00076  
00077      u n s i g n e d   i n t   f i r s t _ b l o c k _ u s a g e ; 
00078  
00079      v o i d   ( * e r r o r _ h a n d l e r ) ( v o i d ) ; 
00080  
00081  }   M E M _ R O O T ; 
00082  
00083  # e n d i f 
00084  
00085  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义