CMGDK r49-rc2
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/my_net.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      t h r e a d   s a f e   v e r s i o n   o f   s o m e   c o m m o n   f u n c t i o n s : 
00026  
00027      m y _ i n e t _ n t o a 
00028  
00029      T h i s   f i l e   i s   a l s o   u s e d   t o   m a k e   h a n d l i n g   o f   s o c k e t s   a n d   i o c t l ( ) 
00030  
00031      p o r t a b l e   a c c r o s s   s y s t e m s . 
00032  
00033  * / 
00034  
00035  # i f n d e f   _ m y _ n e t _ h 
00036  
00037  # d e f i n e   _ m y _ n e t _ h 
00038  
00039  C _ M O D E _ S T A R T 
00040  
00041  # i n c l u d e   < e r r n o . h > 
00042  
00043  # i f d e f   H A V E _ S Y S _ S O C K E T _ H 
00044  
00045  # i n c l u d e   < s y s / s o c k e t . h > 
00046  
00047  # e n d i f 
00048  
00049  # i f d e f   H A V E _ N E T I N E T _ I N _ H 
00050  
00051  # i n c l u d e   < n e t i n e t / i n . h > 
00052  
00053  # e n d i f 
00054  
00055  # i f d e f   H A V E _ A R P A _ I N E T _ H 
00056  
00057  # i n c l u d e   < a r p a / i n e t . h > 
00058  
00059  # e n d i f 
00060  
00061  # i f d e f   H A V E _ P O L L 
00062  
00063  # i n c l u d e   < s y s / p o l l . h > 
00064  
00065  # e n d i f 
00066  
00067  # i f d e f   H A V E _ S Y S _ I O C T L _ H 
00068  
00069  # i n c l u d e   < s y s / i o c t l . h > 
00070  
00071  # e n d i f 
00072  
00073  # i f   ! d e f i n e d ( _ _ W I N _ _ )   & &   ! d e f i n e d ( H A V E _ B R O K E N _ N E T I N E T _ I N C L U D E S )   & &   ! d e f i n e d ( _ _ N E T W A R E _ _ ) 
00074  
00075  # i n c l u d e   < n e t i n e t / i n _ s y s t m . h > 
00076  
00077  # i n c l u d e   < n e t i n e t / i n . h > 
00078  
00079  # i n c l u d e   < n e t i n e t / i p . h > 
00080  
00081  # i f   ! d e f i n e d ( a l p h a _ l i n u x _ p o r t ) 
00082  
00083  # i n c l u d e   < n e t i n e t / t c p . h > 
00084  
00085  # e n d i f 
00086  
00087  # e n d i f 
00088  
00089  # i f   d e f i n e d ( _ _ W I N _ _ ) 
00090  
00091  # d e f i n e   O _ N O N B L O C K   1         / *   F o r   e m u l a t i o n   o f   f c n t l ( )   * / 
00092  
00093  / * 
00094  
00095      S H U T _ R D W R   i s   c a l l e d   S D _ B O T H   i n   w i n d o w s   a n d 
00096  
00097      i s   d e f i n e d   t o   2   i n   w i n s o c k 2 . h 
00098  
00099      # d e f i n e   S D _ B O T H   0 x 0 2 
00100  
00101  * / 
00102  
00103  # d e f i n e   S H U T _ R D W R   0 x 0 2 
00104  
00105  # e n d i f 
00106  
00107  / * 
00108  
00109      O n   O S e s   w h i c h   d o n ' t   h a v e   t h e   i n _ a d d r _ t ,   w e   g u e s s   t h a t   u s i n g   u i n t 3 2   i s   t h e   b e s t 
00110  
00111      p o s s i b l e   c h o i c e .   W e   g u e s s   t h i s   f r o m   t h e   f a c t   t h a t   o n   H P - U X 6 4 b i t   &   F r e e B S D 6 4 b i t 
00112  
00113      &   S o l a r i s 6 4 b i t ,   i n _ a d d r _ t   i s   e q u i v a l e n t   t o   u i n t 3 2 .   A n d   o n   L i n u x 3 2 b i t   t o o . 
00114  
00115  * / 
00116  
00117  # i f n d e f   H A V E _ I N _ A D D R _ T 
00118  
00119  # d e f i n e   i n _ a d d r _ t   u i n t 3 2 
00120  
00121  # e n d i f 
00122  
00123  / *   T h r e a d   s a f e   o r   p o r t a b l e   v e r s i o n   o f   s o m e   f u n c t i o n s   * / 
00124  
00125  v o i d   m y _ i n e t _ n t o a ( s t r u c t   i n _ a d d r   i n ,   c h a r   * b u f ) ; 
00126  
00127  / * 
00128  
00129      H a n d l i n g   o f   g e t h o s t b y n a m e _ r ( ) 
00130  
00131  * / 
00132  
00133  # i f   ! d e f i n e d ( H A V E _ G E T H O S T B Y N A M E _ R ) 
00134  
00135  s t r u c t   h o s t e n t   * m y _ g e t h o s t b y n a m e _ r ( c o n s t   c h a r   * n a m e , 
00136  
00137                        s t r u c t   h o s t e n t   * r e s u l t ,   c h a r   * b u f f e r , 
00138  
00139                        i n t   b u f l e n ,   i n t   * h _ e r r n o p ) ; 
00140  
00141  v o i d   m y _ g e t h o s t b y n a m e _ r _ f r e e ( ) ; 
00142  
00143  # e l i f   d e f i n e d ( H A V E _ P T H R E A D _ A T T R _ C R E A T E )   | |   d e f i n e d ( _ A I X )   | |   d e f i n e d ( H A V E _ G E T H O S T B Y N A M E _ R _ G L I B C 2 _ S T Y L E ) 
00144  
00145  s t r u c t   h o s t e n t   * m y _ g e t h o s t b y n a m e _ r ( c o n s t   c h a r   * n a m e , 
00146  
00147                        s t r u c t   h o s t e n t   * r e s u l t ,   c h a r   * b u f f e r , 
00148  
00149                        i n t   b u f l e n ,   i n t   * h _ e r r n o p ) ; 
00150  
00151  # d e f i n e   m y _ g e t h o s t b y n a m e _ r _ f r e e ( ) 
00152  
00153  # i f   ! d e f i n e d ( H A V E _ G E T H O S T B Y N A M E _ R _ G L I B C 2 _ S T Y L E )   & &   ! d e f i n e d ( H P U X 1 0 ) 
00154  
00155  # d e f i n e   G E T H O S T B Y N A M E _ B U F F _ S I Z E   s i z e o f ( s t r u c t   h o s t e n t _ d a t a ) 
00156  
00157  # e n d i f   / *   ! d e f i n e d ( H A V E _ G E T H O S T B Y N A M E _ R _ G L I B C 2 _ S T Y L E )   * / 
00158  
00159  # e l i f   d e f i n e d ( H A V E _ G E T H O S T B Y N A M E _ R _ R E T U R N _ I N T ) 
00160  
00161  # d e f i n e   G E T H O S T B Y N A M E _ B U F F _ S I Z E   s i z e o f ( s t r u c t   h o s t e n t _ d a t a ) 
00162  
00163  s t r u c t   h o s t e n t   * m y _ g e t h o s t b y n a m e _ r ( c o n s t   c h a r   * n a m e , 
00164  
00165                        s t r u c t   h o s t e n t   * r e s u l t ,   c h a r   * b u f f e r , 
00166  
00167                        i n t   b u f l e n ,   i n t   * h _ e r r n o p ) ; 
00168  
00169  # d e f i n e   m y _ g e t h o s t b y n a m e _ r _ f r e e ( ) 
00170  
00171  # e l s e 
00172  
00173  # d e f i n e   m y _ g e t h o s t b y n a m e _ r ( A , B , C , D , E )   g e t h o s t b y n a m e _ r ( ( A ) , ( B ) , ( C ) , ( D ) , ( E ) ) 
00174  
00175  # d e f i n e   m y _ g e t h o s t b y n a m e _ r _ f r e e ( ) 
00176  
00177  # e n d i f   / *   ! d e f i n e d ( H A V E _ G E T H O S T B Y N A M E _ R )   * / 
00178  
00179  # i f n d e f   G E T H O S T B Y N A M E _ B U F F _ S I Z E 
00180  
00181  # d e f i n e   G E T H O S T B Y N A M E _ B U F F _ S I Z E   2 0 4 8 
00182  
00183  # e n d i f 
00184  
00185  C _ M O D E _ E N D 
00186  
00187  # e n d i f 
00188  
00189  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义