22#ifndef CRYPTOPP_CONFIG_OS_H
23#define CRYPTOPP_CONFIG_OS_H
32#if (defined(_MSC_VER) && defined(__clang__))
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(CRYPTOPP_MSC_VERSION) || defined(__fastcall)
53 #define CRYPTOPP_FASTCALL __fastcall
55 #define CRYPTOPP_FASTCALL
59#if defined(CRYPTOPP_MSC_VERSION)
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 ))
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
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
Library configuration file.