📄 config_8h-source.html
字号:
00138 <span class="preprocessor"></span>00139 <span class="keyword">union </span>dword_union00140 {00141 dword_union (<span class="keyword">const</span> dword &dw) : dw(dw) {}00142 dword dw;00143 word w[2];00144 };00145 00146 <span class="preprocessor">#ifdef IS_LITTLE_ENDIAN</span>00147 <span class="preprocessor"></span><span class="preprocessor"># define HIGH_WORD(x) (dword_union(x).w[1])</span>00148 <span class="preprocessor"></span><span class="preprocessor">#else</span>00149 <span class="preprocessor"></span><span class="preprocessor"># define HIGH_WORD(x) (dword_union(x).w[0])</span>00150 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00151 <span class="preprocessor"></span>00152 <span class="comment">// if the above HIGH_WORD macro doesn't work (if you are not sure, compile it</span>00153 <span class="comment">// and run the validation tests), try this:</span>00154 <span class="comment">// #define HIGH_WORD(x) (word)((x)>>WORD_BITS)</span>00155 00156 <span class="preprocessor">#if defined(_MSC_VER) || defined(__BCPLUSPLUS__)</span>00157 <span class="preprocessor"></span><span class="preprocessor"># define INTEL_INTRINSICS</span>00158 <span class="preprocessor"></span><span class="preprocessor"># define FAST_ROTATE</span>00159 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__MWERKS__) && TARGET_CPU_PPC</span>00160 <span class="preprocessor"></span><span class="preprocessor"># define PPC_INTRINSICS</span>00161 <span class="preprocessor"></span><span class="preprocessor"># define FAST_ROTATE</span>00162 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__GNUC__) && defined(__i386__)</span>00163 <span class="preprocessor"></span> <span class="comment">// GCC does peephole optimizations which should result in using rotate instructions</span>00164 <span class="preprocessor"># define FAST_ROTATE</span>00165 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00166 <span class="preprocessor"></span>00167 NAMESPACE_END00168 00169 <span class="comment">// VC60 workaround: it doesn't allow typename in some places</span>00170 <span class="preprocessor">#if defined(_MSC_VER) && (_MSC_VER < 1300)</span>00171 <span class="preprocessor"></span><span class="preprocessor">#define CPP_TYPENAME</span>00172 <span class="preprocessor"></span><span class="preprocessor">#else</span>00173 <span class="preprocessor"></span><span class="preprocessor">#define CPP_TYPENAME typename</span>00174 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00175 <span class="preprocessor"></span>00176 <span class="preprocessor">#ifdef _MSC_VER</span>00177 <span class="preprocessor"></span> <span class="comment">// 4231: nonstandard extension used : 'extern' before template explicit instantiation</span>00178 <span class="comment">// 4250: dominance</span>00179 <span class="comment">// 4251: member needs to have dll-interface</span>00180 <span class="comment">// 4275: base needs to have dll-interface</span>00181 <span class="comment">// 4660: explicitly instantiating a class that's already implicitly instantiated</span>00182 <span class="comment">// 4661: no suitable definition provided for explicit template instantiation request</span>00183 <span class="comment">// 4786: identifer was truncated in debug information</span>00184 <span class="comment">// 4355: 'this' : used in base member initializer list</span>00185 <span class="preprocessor"># pragma warning(disable: 4231 4250 4251 4275 4660 4661 4786 4355)</span>00186 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00187 <span class="preprocessor"></span>00188 <span class="preprocessor">#ifdef _MSC_VER</span>00189 <span class="preprocessor"></span>00190 <span class="preprocessor">#ifdef CRYPTOPP_EXPORTS</span>00191 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_IS_DLL</span>00192 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_DLL __declspec(dllexport)</span>00193 <span class="preprocessor"></span><span class="preprocessor">#elif defined(CRYPTOPP_IMPORTS)</span>00194 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_IS_DLL</span>00195 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_DLL __declspec(dllimport)</span>00196 <span class="preprocessor"></span><span class="preprocessor">#else</span>00197 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_DLL</span>00198 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00199 <span class="preprocessor"></span>00200 <span class="preprocessor">#define CRYPTOPP_API __stdcall</span>00201 <span class="preprocessor"></span>00202 <span class="preprocessor">#else // _MSC_VER</span>00203 <span class="preprocessor"></span>00204 <span class="preprocessor">#define CRYPTOPP_DLL</span>00205 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_API</span>00206 <span class="preprocessor"></span>00207 <span class="preprocessor">#endif // _MSC_VER</span>00208 <span class="preprocessor"></span>00209 <span class="preprocessor">#ifdef CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES</span>00210 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_MANUAL_EXTERN</span>00211 <span class="preprocessor"></span><span class="preprocessor">#else</span>00212 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_MANUAL_EXTERN extern</span>00213 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00214 <span class="preprocessor"></span>00215 <span class="preprocessor">#define CRYPTOPP_DLL_TEMPLATE_CLASS CRYPTOPP_MANUAL_EXTERN template class CRYPTOPP_DLL</span>00216 <span class="preprocessor"></span>00217 <span class="comment">// ***************** determine availability of OS features ********************</span>00218 00219 <span class="preprocessor">#ifndef NO_OS_DEPENDENCE</span>00220 <span class="preprocessor"></span>00221 <span class="preprocessor">#if defined(_WIN32) || defined(__CYGWIN__)</span>00222 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_WIN32_AVAILABLE</span>00223 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00224 <span class="preprocessor"></span>00225 <span class="preprocessor">#if !defined(NO_OS_DEPENDENCE) && defined(WORD64_AVAILABLE) && (defined(_WIN32) || defined(__unix__) || defined(macintosh))</span>00226 <span class="preprocessor"></span><span class="preprocessor"># define HIGHRES_TIMER_AVAILABLE</span>00227 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00228 <span class="preprocessor"></span>00229 <span class="preprocessor">#if defined(__unix__)</span>00230 <span class="preprocessor"></span><span class="preprocessor"># define HAS_BERKELEY_STYLE_SOCKETS</span>00231 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00232 <span class="preprocessor"></span>00233 <span class="preprocessor">#ifdef CRYPTOPP_WIN32_AVAILABLE</span>00234 <span class="preprocessor"></span><span class="preprocessor"># define HAS_WINDOWS_STYLE_SOCKETS</span>00235 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00236 <span class="preprocessor"></span>00237 <span class="preprocessor">#if defined(HIGHRES_TIMER_AVAILABLE) && (defined(HAS_BERKELEY_STYLE_SOCKETS) || defined(HAS_WINDOWS_STYLE_SOCKETS))</span>00238 <span class="preprocessor"></span><span class="preprocessor"># define SOCKETS_AVAILABLE</span>00239 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00240 <span class="preprocessor"></span>00241 <span class="preprocessor">#if defined(HAS_WINDOWS_STYLE_SOCKETS) && (!defined(HAS_BERKELEY_STYLE_SOCKETS) || defined(PREFER_WINDOWS_STYLE_SOCKETS))</span>00242 <span class="preprocessor"></span><span class="preprocessor"># define USE_WINDOWS_STYLE_SOCKETS</span>00243 <span class="preprocessor"></span><span class="preprocessor">#else</span>00244 <span class="preprocessor"></span><span class="preprocessor"># define USE_BERKELEY_STYLE_SOCKETS</span>00245 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00246 <span class="preprocessor"></span>00247 <span class="preprocessor">#if defined(CRYPTOPP_WIN32_AVAILABLE) && !defined(USE_BERKELEY_STYLE_SOCKETS)</span>00248 <span class="preprocessor"></span><span class="preprocessor"># define WINDOWS_PIPES_AVAILABLE</span>00249 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00250 <span class="preprocessor"></span>00251 <span class="preprocessor">#if defined(CRYPTOPP_WIN32_AVAILABLE) && defined(USE_MS_CRYPTOAPI)</span>00252 <span class="preprocessor"></span><span class="preprocessor"># define NONBLOCKING_RNG_AVAILABLE</span>00253 <span class="preprocessor"></span><span class="preprocessor"># define OS_RNG_AVAILABLE</span>00254 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00255 <span class="preprocessor"></span>00256 <span class="preprocessor">#if (defined(__FreeBSD__) || defined(__linux__) || defined(__MACH__))</span>00257 <span class="preprocessor"></span><span class="preprocessor"># define NONBLOCKING_RNG_AVAILABLE</span>00258 <span class="preprocessor"></span><span class="preprocessor"># define BLOCKING_RNG_AVAILABLE</span>00259 <span class="preprocessor"></span><span class="preprocessor"># define OS_RNG_AVAILABLE</span>00260 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00261 <span class="preprocessor"></span>00262 <span class="preprocessor">#ifdef __unix__</span>00263 <span class="preprocessor"></span><span class="preprocessor"># define HAS_PTHREADS</span>00264 <span class="preprocessor"></span><span class="preprocessor"># define THREADS_AVAILABLE</span>00265 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00266 <span class="preprocessor"></span>00267 <span class="preprocessor">#ifdef CRYPTOPP_WIN32_AVAILABLE</span>00268 <span class="preprocessor"></span><span class="preprocessor"># define HAS_WINTHREADS</span>00269 <span class="preprocessor"></span><span class="preprocessor"># define THREADS_AVAILABLE</span>00270 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00271 <span class="preprocessor"></span>00272 <span class="preprocessor">#endif // NO_OS_DEPENDENCE</span>00273 <span class="preprocessor"></span>00274 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:10 2003 for Crypto++ by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -