CMGDK r49-rc2
|
00001 # i f n d e f H G L _ E N D I A N _ I N C L U D E 00002 00003 # d e f i n e H G L _ E N D I A N _ I N C L U D E 00004 00005 00006 00007 # i n c l u d e < h g l / p l a t f o r m / P l a t f o r m . h > / / s^S[IN 00008 00009 n a m e s p a c e h g l 00010 00011 { 00012 00013 n a m e s p a c e e n d i a n 00014 00015 { 00016 00017 e n u m B y t e O r d e r M a s k 00018 00019 { 00020 00021 b o m A n s i = 0 , 00022 00023 b o m U T F 8 , 00024 00025 b o m U T F 1 6 L E , 00026 00027 b o m U T F 1 6 B E , 00028 00029 b o m U T F 3 2 L E , 00030 00031 b o m U T F 3 2 B E , 00032 00033 b o m E n d 00034 00035 } ; 00036 00037 00038 00039 s t r u c t B O M F i l e H e a d e r 00040 00041 { 00042 00043 i n t s i z e ; 00044 00045 u n s i g n e d c h a r d a t a [ 4 ] ; 00046 00047 } ; 00048 00049 00050 00051 c o n s t B O M F i l e H e a d e r B O M D a t a [ b o m E n d ] = 00052 00053 { 00054 00055 { 0 , { } } , 00056 00057 { 3 , { 0 x E F , 0 x B B , 0 x B F } } , 00058 00059 { 2 , { 0 x F F , 0 x F E } } , 00060 00061 { 2 , { 0 x F E , 0 x F F } } , 00062 00063 { 4 , { 0 x F F , 0 x F E , 0 x 0 0 , 0 x 0 0 } } , 00064 00065 { 4 , { 0 x 0 0 , 0 x 0 0 , 0 X F E , 0 x F F } } 00066 00067 } ; 00068 00069 00070 00071 t e m p l a t e < i n t , c h a r > c o n s t c h a r * G e t C u r W i d e C h a r S e t ( ) ; 00072 00073 00074 00075 t e m p l a t e < > i n l i n e c o n s t c h a r * G e t C u r W i d e C h a r S e t < 2 , H G L _ L I T T L E _ E N D I A N > ( ) { r e t u r n " u t f - 1 6 l e " ; } 00076 00077 t e m p l a t e < > i n l i n e c o n s t c h a r * G e t C u r W i d e C h a r S e t < 2 , H G L _ B I G _ E N D I A N > ( ) { r e t u r n " u t f - 1 6 b e " ; } 00078 00079 t e m p l a t e < > i n l i n e c o n s t c h a r * G e t C u r W i d e C h a r S e t < 4 , H G L _ L I T T L E _ E N D I A N > ( ) { r e t u r n " u t f - 3 2 l e " ; } 00080 00081 t e m p l a t e < > i n l i n e c o n s t c h a r * G e t C u r W i d e C h a r S e t < 4 , H G L _ B I G _ E N D I A N > ( ) { r e t u r n " u t f - 3 2 b e " ; } 00082 00083 00084 00085 i n l i n e c o n s t c h a r * G e t W i d e C h a r S e t ( ) 00086 00087 { 00088 00089 r e t u r n G e t C u r W i d e C h a r S e t < s i z e o f ( w c h a r _ t ) , H G L _ E N D I A N > ( ) ; 00090 00091 } 00092 00093 00094 00095 t e m p l a t e < t y p e n a m e T > 00096 00097 i n l i n e T E n d i a n S w a p ( c o n s t T v a l u e ) 00098 00099 { 00100 00101 u n i o n 00102 00103 { 00104 00105 T v ; 00106 00107 u i n t 8 b y t e s [ s i z e o f ( T ) ] ; 00108 00109 } a , b ; 00110 00111 00112 00113 a . v = v a l u e ; 00114 00115 00116 00117 f o r ( i n t i = 0 ; i < s i z e o f ( T ) ; i + + ) 00118 00119 b . b y t e s [ i ] = a . b y t e s [ s i z e o f ( T ) - 1 - i ] ; 00120 00121 00122 00123 r e t u r n b . v ; 00124 00125 } 00126 00127 00128 00129 t e m p l a t e < > i n l i n e i n t 8 E n d i a n S w a p < i n t 8 > ( c o n s t i n t 8 v a l u e ) { r e t u r n v a l u e ; } 00130 00131 t e m p l a t e < > i n l i n e u i n t 8 E n d i a n S w a p < u i n t 8 > ( c o n s t u i n t 8 v a l u e ) { r e t u r n v a l u e ; } 00132 00133 00134 00135 t e m p l a t e < t y p e n a m e T > 00136 00137 i n l i n e v o i d E n d i a n S w a p ( T * v a l u e , c o n s t i n t 6 4 c o u n t ) 00138 00139 { 00140 00141 f o r ( u i n t i = 0 ; i < c o u n t ; i + + ) 00142 00143 * v a l u e + + = E n d i a n S w a p ( * v a l u e ) ; 00144 00145 } 00146 00147 00148 00149 t e m p l a t e < t y p e n a m e T > 00150 00151 i n l i n e v o i d E n d i a n S w a p ( T * d s t , c o n s t T * s r c , c o n s t i n t 6 4 c o u n t ) 00152 00153 { 00154 00155 f o r ( u i n t i = 0 ; i < c o u n t ; i + + ) 00156 00157 * d s t + + = E n d i a n S w a p ( * s r c ) ; 00158 00159 } 00160 00161 00162 00163 t e m p l a t e < t y p e n a m e D , t y p e n a m e S > 00164 00165 i n l i n e v o i d E n d i a n S w a p ( D * d s t , c o n s t S * s r c , c o n s t i n t 6 4 c o u n t ) 00166 00167 { 00168 00169 f o r ( u i n t i = 0 ; i < c o u n t ; i + + ) 00170 00171 * d s t + + = D ( E n d i a n S w a p ( * s r c ) ) ; 00172 00173 } 00174 00175 00176 00177 # i f H G L _ E N D I A N = = H G L _ B I G _ E N D I A N 00178 00179 00180 00181 # d e f i n e H G L _ B O M _ U T F 1 6 L E 0 x f f f e 00182 00183 # d e f i n e H G L _ B O M _ U T F 1 6 B E 0 x f e f f 00184 00185 # d e f i n e H G L _ B O M _ U T F 3 2 L E 0 x f f f e 0 0 0 0 00186 00187 # d e f i n e H G L _ B O M _ U T F 3 2 B E 0 x 0 0 0 0 f e f f 00188 00189 00190 00191 # d e f i n e L i t t l e T o C u r r e n t E n d i a n E n d i a n S w a p 00192 00193 # d e f i n e B i g T o C u r r e n t E n d i a n T o B i g E n d i a n 00194 00195 00196 00197 t e m p l a t e < t y p e n a m e T > T T o B i g E n d i a n ( T v a l u e ) { r e t u r n v a l u e ; } 00198 00199 00200 00201 t e m p l a t e < t y p e n a m e T > i n l i n e v o i d T o B i g E n d i a n ( T * v a l u e , c o n s t i n t 6 4 c o u n t ) { } 00202 00203 t e m p l a t e < t y p e n a m e D , t y p e n a m e S > i n l i n e v o i d T o B i g E n d i a n ( D * d s t , c o n s t S * s r c , c o n s t i n t 6 4 c o u n t ) { h g l _ c p y ( d s t , s r c , c o u n t ) ; } 00204 00205 00206 00207 t e m p l a t e < t y p e n a m e T > T T o L i t t l e E n d i a n ( T v a l u e ) { r e t u r n E n d i a n S w a p ( v a l u e ) ; } 00208 00209 00210 00211 t e m p l a t e < t y p e n a m e T > i n l i n e v o i d T o L i t t l e E n d i a n ( T * v a l u e , c o n s t i n t 6 4 c o u n t ) { E n d i a n S w a p < T > ( v a l u e , c o u n t ) ; } 00212 00213 t e m p l a t e < t y p e n a m e D , t y p e n a m e S > i n l i n e v o i d T o L i t t l e E n d i a n ( D * d s t , c o n s t S * s r c , c o n s t i n t 6 4 c o u n t ) { E n d i a n S w a p < D , S > ( d s t , s r c , c o u n t ) ; } 00214 00215 # e l s e 00216 00217 00218 00219 # d e f i n e H G L _ B O M _ U T F 1 6 L E 0 x f e f f 00220 00221 # d e f i n e H G L _ B O M _ U T F 1 6 B E 0 x f f f e 00222 00223 # d e f i n e H G L _ B O M _ U T F 3 2 L E 0 x 0 0 0 0 f e f f 00224 00225 # d e f i n e H G L _ B O M _ U T F 3 2 B E 0 x f f f e 0 0 0 0 00226 00227 00228 00229 # d e f i n e L i t t l e T o C u r r e n t E n d i a n T o L i t t l e E n d i a n 00230 00231 # d e f i n e B i g T o C u r r e n t E n d i a n E n d i a n S w a p 00232 00233 00234 00235 t e m p l a t e < t y p e n a m e T > T T o B i g E n d i a n ( T v a l u e ) { r e t u r n E n d i a n S w a p ( v a l u e ) ; } 00236 00237 00238 00239 t e m p l a t e < t y p e n a m e T > i n l i n e v o i d T o B i g E n d i a n ( T * v a l u e , c o n s t i n t 6 4 c o u n t ) { E n d i a n S w a p < T > ( v a l u e , c o u n t ) ; } 00240 00241 t e m p l a t e < t y p e n a m e D , t y p e n a m e S > i n l i n e v o i d T o B i g E n d i a n ( D * d s t , c o n s t S * s r c , c o n s t i n t 6 4 c o u n t ) { E n d i a n S w a p < D , S > ( d s t , s r c , c o u n t ) ; } 00242 00243 00244 00245 t e m p l a t e < t y p e n a m e T > T T o L i t t l e E n d i a n ( T v a l u e ) { r e t u r n v a l u e ; } 00246 00247 00248 00249 t e m p l a t e < t y p e n a m e T > i n l i n e v o i d T o L i t t l e E n d i a n ( T * v a l u e , c o n s t i n t 6 4 c o u n t ) { } 00250 00251 t e m p l a t e < t y p e n a m e D , t y p e n a m e S > i n l i n e v o i d T o L i t t l e E n d i a n ( D * d s t , c o n s t S * s r c , c o n s t i n t 6 4 c o u n t ) { h g l _ c p y ( d s t , s r c , c o u n t ) ; } 00252 00253 # e n d i f / / H G L _ B I G _ E N D I A N 00254 00255 } / / n a m e s p a c e e n d i a n 00256 00257 00258 00259 u s i n g n a m e s p a c e e n d i a n ; 00260 00261 } / / n a m e s p a c e h g l 00262 00263 # e n d i f / / H G L _ E N D I A N _ I N C L U D E 00264 00265