22 #ifndef CRYPTOPP_CONFIG_OS_H 23 #define CRYPTOPP_CONFIG_OS_H 32 #if (defined(_MSC_VER) && defined(__clang__) && !(defined( __clang_analyzer__))) 33 # error: "Unsupported configuration" 37 #if defined(_WIN32) || defined(_WIN64) || defined(__CYGWIN__) 38 #define CRYPTOPP_WIN32_AVAILABLE 42 #if defined(__unix__) || defined(__MACH__) || defined(__NetBSD__) || defined(__sun) 43 #define CRYPTOPP_UNIX_AVAILABLE 47 #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) 48 #define CRYPTOPP_BSD_AVAILABLE 52 #if defined(_MSC_VER) || defined(__fastcall) 53 #define CRYPTOPP_FASTCALL __fastcall 55 #define CRYPTOPP_FASTCALL 60 #define CRYPTOPP_NO_VTABLE __declspec(novtable) 62 #define CRYPTOPP_NO_VTABLE 83 #if !defined(USE_MS_CRYPTOAPI) && !defined(USE_MS_CNGAPI) 84 # if !defined(_USING_V110_SDK71_) && ((WINVER >= 0x0602 ) || \ 85 (_WIN32_WINNT >= 0x0602 )) 86 # define USE_MS_CNGAPI 88 # define USE_MS_CRYPTOAPI 93 #ifndef NO_OS_DEPENDENCE 102 #ifndef CRYPTOPP_INIT_PRIORITY 103 # define CRYPTOPP_INIT_PRIORITY 250 109 #ifndef CRYPTOPP_USER_PRIORITY 110 # define CRYPTOPP_USER_PRIORITY (CRYPTOPP_INIT_PRIORITY+101) 114 #if (CRYPTOPP_INIT_PRIORITY > 0) && !(defined(NO_OS_DEPENDENCE) || defined(__APPLE__) || defined(__sun__)) 115 # if (CRYPTOPP_GCC_VERSION >= 30000) || (CRYPTOPP_LLVM_CLANG_VERSION >= 20900) || (_INTEL_COMPILER >= 800) 116 # define HAVE_GCC_INIT_PRIORITY 1 117 # elif (CRYPTOPP_MSC_VERSION >= 1310) 118 # define HAVE_MSC_INIT_PRIORITY 1 119 # elif defined(__xlc__) || defined(__xlC__) || defined(__ibmxl__) 120 # define HAVE_XLC_INIT_PRIORITY 1 122 #endif // CRYPTOPP_INIT_PRIORITY, NO_OS_DEPENDENCE, Apple, Sun 124 #if defined(CRYPTOPP_WIN32_AVAILABLE) || defined(CRYPTOPP_UNIX_AVAILABLE) 125 # define HIGHRES_TIMER_AVAILABLE 128 #ifdef CRYPTOPP_WIN32_AVAILABLE 129 # if !defined(WINAPI_FAMILY) 130 # define THREAD_TIMER_AVAILABLE 131 # elif defined(WINAPI_FAMILY) 132 # if (WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)) 133 # define THREAD_TIMER_AVAILABLE 138 #if defined(CRYPTOPP_UNIX_AVAILABLE) || defined(CRYPTOPP_DOXYGEN_PROCESSING) 139 # define NONBLOCKING_RNG_AVAILABLE 140 # define BLOCKING_RNG_AVAILABLE 141 # define OS_RNG_AVAILABLE 145 #if defined(CRYPTOPP_UNIX_AVAILABLE) 146 # define UNIX_SIGNALS_AVAILABLE 1 149 #ifdef CRYPTOPP_WIN32_AVAILABLE 150 # if !defined(WINAPI_FAMILY) 151 # define NONBLOCKING_RNG_AVAILABLE 152 # define OS_RNG_AVAILABLE 153 # elif defined(WINAPI_FAMILY) 154 # if (WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)) 155 # define NONBLOCKING_RNG_AVAILABLE 156 # define OS_RNG_AVAILABLE 157 # elif !(WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)) 158 # if ((WINVER >= 0x0A00 ) || (_WIN32_WINNT >= 0x0A00 )) 159 # define NONBLOCKING_RNG_AVAILABLE 160 # define OS_RNG_AVAILABLE 166 #endif // NO_OS_DEPENDENCE 168 #endif // CRYPTOPP_CONFIG_OS_H Library configuration file.