* https://www.openssl.org/source/license.html\r
*/\r
#include <Library/PcdLib.h>\r
-#include <openssl/opensslv.h>\r
+#include <openssl/opensslconf_generated.h>\r
\r
#ifdef __cplusplus\r
extern "C" {\r
#endif\r
\r
-#ifdef OPENSSL_ALGORITHM_DEFINES\r
- #error OPENSSL_ALGORITHM_DEFINES no longer supported\r
-#endif\r
-\r
-/*\r
- * OpenSSL was configured with the following options:\r
- */\r
-\r
-#ifndef OPENSSL_SYS_UEFI\r
-#define OPENSSL_SYS_UEFI 1\r
-#endif\r
-#define OPENSSL_MIN_API 0x10100000L\r
-#ifndef OPENSSL_NO_BF\r
-#define OPENSSL_NO_BF\r
-#endif\r
-#ifndef OPENSSL_NO_BLAKE2\r
-#define OPENSSL_NO_BLAKE2\r
-#endif\r
-#ifndef OPENSSL_NO_CAMELLIA\r
-#define OPENSSL_NO_CAMELLIA\r
-#endif\r
-#ifndef OPENSSL_NO_CAST\r
-#define OPENSSL_NO_CAST\r
-#endif\r
-#ifndef OPENSSL_NO_CHACHA\r
-#define OPENSSL_NO_CHACHA\r
-#endif\r
-#ifndef OPENSSL_NO_CMS\r
-#define OPENSSL_NO_CMS\r
-#endif\r
-#ifndef OPENSSL_NO_CT\r
-#define OPENSSL_NO_CT\r
-#endif\r
-#ifndef OPENSSL_NO_DES\r
-#define OPENSSL_NO_DES\r
-#endif\r
-#ifndef OPENSSL_NO_DSA\r
-#define OPENSSL_NO_DSA\r
-#endif\r
-#if !FixedPcdGetBool (PcdOpensslEcEnabled)\r
- #ifndef OPENSSL_NO_EC\r
-#define OPENSSL_NO_EC\r
- #endif\r
-#endif\r
-#ifndef OPENSSL_NO_IDEA\r
-#define OPENSSL_NO_IDEA\r
-#endif\r
-#ifndef OPENSSL_NO_MD2\r
-#define OPENSSL_NO_MD2\r
-#endif\r
-#ifndef OPENSSL_NO_MD4\r
-#define OPENSSL_NO_MD4\r
-#endif\r
-#ifndef OPENSSL_NO_MDC2\r
-#define OPENSSL_NO_MDC2\r
-#endif\r
-#ifndef OPENSSL_NO_POLY1305\r
-#define OPENSSL_NO_POLY1305\r
-#endif\r
-#ifndef OPENSSL_NO_RC2\r
-#define OPENSSL_NO_RC2\r
-#endif\r
-#ifndef OPENSSL_NO_RC4\r
-#define OPENSSL_NO_RC4\r
-#endif\r
-#ifndef OPENSSL_NO_RC5\r
-#define OPENSSL_NO_RC5\r
-#endif\r
-#ifndef OPENSSL_NO_RMD160\r
-#define OPENSSL_NO_RMD160\r
-#endif\r
-#ifndef OPENSSL_NO_SEED\r
-#define OPENSSL_NO_SEED\r
-#endif\r
-#ifndef OPENSSL_NO_SM2\r
-#define OPENSSL_NO_SM2\r
-#endif\r
-#ifndef OPENSSL_NO_SRP\r
-#define OPENSSL_NO_SRP\r
-#endif\r
-#ifndef OPENSSL_NO_TS\r
-#define OPENSSL_NO_TS\r
-#endif\r
-#ifndef OPENSSL_NO_WHIRLPOOL\r
-#define OPENSSL_NO_WHIRLPOOL\r
-#endif\r
-#ifndef OPENSSL_RAND_SEED_NONE\r
-#define OPENSSL_RAND_SEED_NONE\r
-#endif\r
-#ifndef OPENSSL_NO_AFALGENG\r
-#define OPENSSL_NO_AFALGENG\r
-#endif\r
-#ifndef OPENSSL_NO_APPS\r
-#define OPENSSL_NO_APPS\r
-#endif\r
-#ifndef OPENSSL_NO_ASAN\r
-#define OPENSSL_NO_ASAN\r
-#endif\r
-#ifndef OPENSSL_NO_ASYNC\r
-#define OPENSSL_NO_ASYNC\r
-#endif\r
-#ifndef OPENSSL_NO_AUTOERRINIT\r
-#define OPENSSL_NO_AUTOERRINIT\r
-#endif\r
-#ifndef OPENSSL_NO_AUTOLOAD_CONFIG\r
-#define OPENSSL_NO_AUTOLOAD_CONFIG\r
-#endif\r
-#ifndef OPENSSL_NO_CAPIENG\r
-#define OPENSSL_NO_CAPIENG\r
-#endif\r
-#ifndef OPENSSL_NO_CRYPTO_MDEBUG\r
-#define OPENSSL_NO_CRYPTO_MDEBUG\r
-#endif\r
-#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE\r
-#define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE\r
-#endif\r
-#ifndef OPENSSL_NO_DEPRECATED\r
-#define OPENSSL_NO_DEPRECATED\r
-#endif\r
-#ifndef OPENSSL_NO_DEVCRYPTOENG\r
-#define OPENSSL_NO_DEVCRYPTOENG\r
-#endif\r
-#ifndef OPENSSL_NO_DGRAM\r
-#define OPENSSL_NO_DGRAM\r
-#endif\r
-#ifndef OPENSSL_NO_DTLS\r
-#define OPENSSL_NO_DTLS\r
-#endif\r
-#ifndef OPENSSL_NO_DTLS1\r
-#define OPENSSL_NO_DTLS1\r
-#endif\r
-#ifndef OPENSSL_NO_DTLS1_2\r
-#define OPENSSL_NO_DTLS1_2\r
-#endif\r
-#ifndef OPENSSL_NO_EC2M\r
-#define OPENSSL_NO_EC2M\r
-#endif\r
-#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128\r
-#define OPENSSL_NO_EC_NISTP_64_GCC_128\r
-#endif\r
-#ifndef OPENSSL_NO_ECDH\r
-#define OPENSSL_NO_ECDH\r
-#endif\r
-#ifndef OPENSSL_NO_ECDSA\r
-#define OPENSSL_NO_ECDSA\r
-#endif\r
-#ifndef OPENSSL_NO_EGD\r
-#define OPENSSL_NO_EGD\r
-#endif\r
-#ifndef OPENSSL_NO_ENGINE\r
-#define OPENSSL_NO_ENGINE\r
-#endif\r
-#ifndef OPENSSL_NO_ERR\r
-#define OPENSSL_NO_ERR\r
-#endif\r
-#ifndef OPENSSL_NO_EXTERNAL_TESTS\r
-#define OPENSSL_NO_EXTERNAL_TESTS\r
-#endif\r
-#ifndef OPENSSL_NO_FILENAMES\r
-#define OPENSSL_NO_FILENAMES\r
-#endif\r
-#ifndef OPENSSL_NO_FUZZ_AFL\r
-#define OPENSSL_NO_FUZZ_AFL\r
-#endif\r
-#ifndef OPENSSL_NO_FUZZ_LIBFUZZER\r
-#define OPENSSL_NO_FUZZ_LIBFUZZER\r
-#endif\r
-#ifndef OPENSSL_NO_GOST\r
-#define OPENSSL_NO_GOST\r
-#endif\r
-#ifndef OPENSSL_NO_HEARTBEATS\r
-#define OPENSSL_NO_HEARTBEATS\r
-#endif\r
-#ifndef OPENSSL_NO_HW\r
-#define OPENSSL_NO_HW\r
-#endif\r
-#ifndef OPENSSL_NO_MSAN\r
-#define OPENSSL_NO_MSAN\r
-#endif\r
-#ifndef OPENSSL_NO_OCB\r
-#define OPENSSL_NO_OCB\r
-#endif\r
-#ifndef OPENSSL_NO_POSIX_IO\r
-#define OPENSSL_NO_POSIX_IO\r
-#endif\r
-#ifndef OPENSSL_NO_RFC3779\r
-#define OPENSSL_NO_RFC3779\r
-#endif\r
-#ifndef OPENSSL_NO_SCRYPT\r
-#define OPENSSL_NO_SCRYPT\r
-#endif\r
-#ifndef OPENSSL_NO_SCTP\r
-#define OPENSSL_NO_SCTP\r
-#endif\r
-#ifndef OPENSSL_NO_SOCK\r
-#define OPENSSL_NO_SOCK\r
-#endif\r
-#ifndef OPENSSL_NO_SSL_TRACE\r
-#define OPENSSL_NO_SSL_TRACE\r
-#endif\r
-#ifndef OPENSSL_NO_SSL3\r
-#define OPENSSL_NO_SSL3\r
-#endif\r
-#ifndef OPENSSL_NO_SSL3_METHOD\r
-#define OPENSSL_NO_SSL3_METHOD\r
-#endif\r
-#ifndef OPENSSL_NO_STDIO\r
-#define OPENSSL_NO_STDIO\r
-#endif\r
-#ifndef OPENSSL_NO_TESTS\r
-#define OPENSSL_NO_TESTS\r
-#endif\r
-#ifndef OPENSSL_NO_TLS1_3\r
-#define OPENSSL_NO_TLS1_3\r
-#endif\r
-#ifndef OPENSSL_NO_UBSAN\r
-#define OPENSSL_NO_UBSAN\r
-#endif\r
-#ifndef OPENSSL_NO_UI_CONSOLE\r
-#define OPENSSL_NO_UI_CONSOLE\r
-#endif\r
-#ifndef OPENSSL_NO_UNIT_TEST\r
-#define OPENSSL_NO_UNIT_TEST\r
-#endif\r
-#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS\r
-#define OPENSSL_NO_WEAK_SSL_CIPHERS\r
-#endif\r
-#ifndef OPENSSL_NO_DYNAMIC_ENGINE\r
-#define OPENSSL_NO_DYNAMIC_ENGINE\r
-#endif\r
-\r
-/*\r
- * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers\r
- * don't like that. This will hopefully silence them.\r
- */\r
-#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;\r
-\r
-/*\r
- * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the\r
- * declarations of functions deprecated in or before <version>. Otherwise, they\r
- * still won't see them if the library has been built to disable deprecated\r
- * functions.\r
- */\r
-#ifndef DECLARE_DEPRECATED\r
-#define DECLARE_DEPRECATED(f) f;\r
- #ifdef __GNUC__\r
- #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)\r
- #undef DECLARE_DEPRECATED\r
-#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));\r
- #endif\r
- #elif defined (__SUNPRO_C)\r
- #if (__SUNPRO_C >= 0x5130)\r
- #undef DECLARE_DEPRECATED\r
-#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));\r
- #endif\r
- #endif\r
-#endif\r
-\r
-#ifndef OPENSSL_FILE\r
- #ifdef OPENSSL_NO_FILENAMES\r
-#define OPENSSL_FILE ""\r
-#define OPENSSL_LINE 0\r
- #else\r
-#define OPENSSL_FILE __FILE__\r
-#define OPENSSL_LINE __LINE__\r
- #endif\r
-#endif\r
-\r
-#ifndef OPENSSL_MIN_API\r
-#define OPENSSL_MIN_API 0\r
-#endif\r
-\r
-#if !defined (OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API\r
- #undef OPENSSL_API_COMPAT\r
-#define OPENSSL_API_COMPAT OPENSSL_MIN_API\r
-#endif\r
-\r
-/*\r
- * Do not deprecate things to be deprecated in version 1.2.0 before the\r
- * OpenSSL version number matches.\r
- */\r
-#if OPENSSL_VERSION_NUMBER < 0x10200000L\r
-#define DEPRECATEDIN_1_2_0(f) f;\r
-#elif OPENSSL_API_COMPAT < 0x10200000L\r
-#define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f)\r
-#else\r
-#define DEPRECATEDIN_1_2_0(f)\r
-#endif\r
-\r
-#if OPENSSL_API_COMPAT < 0x10100000L\r
-#define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)\r
-#else\r
-#define DEPRECATEDIN_1_1_0(f)\r
-#endif\r
-\r
-#if OPENSSL_API_COMPAT < 0x10000000L\r
-#define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)\r
-#else\r
-#define DEPRECATEDIN_1_0_0(f)\r
-#endif\r
-\r
-#if OPENSSL_API_COMPAT < 0x00908000L\r
-#define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)\r
-#else\r
-#define DEPRECATEDIN_0_9_8(f)\r
-#endif\r
-\r
-/* Generate 80386 code? */\r
-#undef I386_ONLY\r
-\r
-#undef OPENSSL_UNISTD\r
-#define OPENSSL_UNISTD <unistd.h>\r
-\r
-#undef OPENSSL_EXPORT_VAR_AS_FUNCTION\r
-\r
-/*\r
- * The following are cipher-specific, but are part of the public API.\r
- */\r
-#if !defined (OPENSSL_SYS_UEFI)\r
- #undef BN_LLONG\r
-/* Only one for the following should be defined */\r
- #undef SIXTY_FOUR_BIT_LONG\r
- #undef SIXTY_FOUR_BIT\r
-#define THIRTY_TWO_BIT\r
-#endif\r
-\r
-#define RC4_INT unsigned int\r
+/* Autogenerated conditional openssl feature list starts here */\r
+/* Autogenerated conditional openssl feature list ends here */\r
\r
#ifdef __cplusplus\r
}\r
--- /dev/null
+/*\r
+ * WARNING: do not edit!\r
+ * Generated from include/openssl/opensslconf.h.in\r
+ *\r
+ * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.\r
+ *\r
+ * Licensed under the OpenSSL license (the "License"). You may not use\r
+ * this file except in compliance with the License. You can obtain a copy\r
+ * in the file LICENSE in the source distribution or at\r
+ * https://www.openssl.org/source/license.html\r
+ */\r
+#include <Library/PcdLib.h>\r
+#include <openssl/opensslv.h>\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+#ifdef OPENSSL_ALGORITHM_DEFINES\r
+ #error OPENSSL_ALGORITHM_DEFINES no longer supported\r
+#endif\r
+\r
+/*\r
+ * OpenSSL was configured with the following options:\r
+ */\r
+\r
+#ifndef OPENSSL_SYS_UEFI\r
+#define OPENSSL_SYS_UEFI 1\r
+#endif\r
+#define OPENSSL_MIN_API 0x10100000L\r
+#ifndef OPENSSL_NO_BF\r
+#define OPENSSL_NO_BF\r
+#endif\r
+#ifndef OPENSSL_NO_BLAKE2\r
+#define OPENSSL_NO_BLAKE2\r
+#endif\r
+#ifndef OPENSSL_NO_CAMELLIA\r
+#define OPENSSL_NO_CAMELLIA\r
+#endif\r
+#ifndef OPENSSL_NO_CAST\r
+#define OPENSSL_NO_CAST\r
+#endif\r
+#ifndef OPENSSL_NO_CHACHA\r
+#define OPENSSL_NO_CHACHA\r
+#endif\r
+#ifndef OPENSSL_NO_CMS\r
+#define OPENSSL_NO_CMS\r
+#endif\r
+#ifndef OPENSSL_NO_CT\r
+#define OPENSSL_NO_CT\r
+#endif\r
+#ifndef OPENSSL_NO_DES\r
+#define OPENSSL_NO_DES\r
+#endif\r
+#ifndef OPENSSL_NO_DSA\r
+#define OPENSSL_NO_DSA\r
+#endif\r
+#if !FixedPcdGetBool (PcdOpensslEcEnabled)\r
+ #ifndef OPENSSL_NO_EC\r
+#define OPENSSL_NO_EC\r
+ #endif\r
+#endif\r
+#ifndef OPENSSL_NO_IDEA\r
+#define OPENSSL_NO_IDEA\r
+#endif\r
+#ifndef OPENSSL_NO_MD2\r
+#define OPENSSL_NO_MD2\r
+#endif\r
+#ifndef OPENSSL_NO_MD4\r
+#define OPENSSL_NO_MD4\r
+#endif\r
+#ifndef OPENSSL_NO_MDC2\r
+#define OPENSSL_NO_MDC2\r
+#endif\r
+#ifndef OPENSSL_NO_POLY1305\r
+#define OPENSSL_NO_POLY1305\r
+#endif\r
+#ifndef OPENSSL_NO_RC2\r
+#define OPENSSL_NO_RC2\r
+#endif\r
+#ifndef OPENSSL_NO_RC4\r
+#define OPENSSL_NO_RC4\r
+#endif\r
+#ifndef OPENSSL_NO_RC5\r
+#define OPENSSL_NO_RC5\r
+#endif\r
+#ifndef OPENSSL_NO_RMD160\r
+#define OPENSSL_NO_RMD160\r
+#endif\r
+#ifndef OPENSSL_NO_SEED\r
+#define OPENSSL_NO_SEED\r
+#endif\r
+#ifndef OPENSSL_NO_SM2\r
+#define OPENSSL_NO_SM2\r
+#endif\r
+#ifndef OPENSSL_NO_SRP\r
+#define OPENSSL_NO_SRP\r
+#endif\r
+#ifndef OPENSSL_NO_TS\r
+#define OPENSSL_NO_TS\r
+#endif\r
+#ifndef OPENSSL_NO_WHIRLPOOL\r
+#define OPENSSL_NO_WHIRLPOOL\r
+#endif\r
+#ifndef OPENSSL_RAND_SEED_NONE\r
+#define OPENSSL_RAND_SEED_NONE\r
+#endif\r
+#ifndef OPENSSL_NO_AFALGENG\r
+#define OPENSSL_NO_AFALGENG\r
+#endif\r
+#ifndef OPENSSL_NO_APPS\r
+#define OPENSSL_NO_APPS\r
+#endif\r
+#ifndef OPENSSL_NO_ASAN\r
+#define OPENSSL_NO_ASAN\r
+#endif\r
+#ifndef OPENSSL_NO_ASYNC\r
+#define OPENSSL_NO_ASYNC\r
+#endif\r
+#ifndef OPENSSL_NO_AUTOERRINIT\r
+#define OPENSSL_NO_AUTOERRINIT\r
+#endif\r
+#ifndef OPENSSL_NO_AUTOLOAD_CONFIG\r
+#define OPENSSL_NO_AUTOLOAD_CONFIG\r
+#endif\r
+#ifndef OPENSSL_NO_CAPIENG\r
+#define OPENSSL_NO_CAPIENG\r
+#endif\r
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG\r
+#define OPENSSL_NO_CRYPTO_MDEBUG\r
+#endif\r
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE\r
+#define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE\r
+#endif\r
+#ifndef OPENSSL_NO_DEPRECATED\r
+#define OPENSSL_NO_DEPRECATED\r
+#endif\r
+#ifndef OPENSSL_NO_DEVCRYPTOENG\r
+#define OPENSSL_NO_DEVCRYPTOENG\r
+#endif\r
+#ifndef OPENSSL_NO_DGRAM\r
+#define OPENSSL_NO_DGRAM\r
+#endif\r
+#ifndef OPENSSL_NO_DTLS\r
+#define OPENSSL_NO_DTLS\r
+#endif\r
+#ifndef OPENSSL_NO_DTLS1\r
+#define OPENSSL_NO_DTLS1\r
+#endif\r
+#ifndef OPENSSL_NO_DTLS1_2\r
+#define OPENSSL_NO_DTLS1_2\r
+#endif\r
+#ifndef OPENSSL_NO_EC2M\r
+#define OPENSSL_NO_EC2M\r
+#endif\r
+#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128\r
+#define OPENSSL_NO_EC_NISTP_64_GCC_128\r
+#endif\r
+#ifndef OPENSSL_NO_ECDH\r
+#define OPENSSL_NO_ECDH\r
+#endif\r
+#ifndef OPENSSL_NO_ECDSA\r
+#define OPENSSL_NO_ECDSA\r
+#endif\r
+#ifndef OPENSSL_NO_EGD\r
+#define OPENSSL_NO_EGD\r
+#endif\r
+#ifndef OPENSSL_NO_ENGINE\r
+#define OPENSSL_NO_ENGINE\r
+#endif\r
+#ifndef OPENSSL_NO_ERR\r
+#define OPENSSL_NO_ERR\r
+#endif\r
+#ifndef OPENSSL_NO_EXTERNAL_TESTS\r
+#define OPENSSL_NO_EXTERNAL_TESTS\r
+#endif\r
+#ifndef OPENSSL_NO_FILENAMES\r
+#define OPENSSL_NO_FILENAMES\r
+#endif\r
+#ifndef OPENSSL_NO_FUZZ_AFL\r
+#define OPENSSL_NO_FUZZ_AFL\r
+#endif\r
+#ifndef OPENSSL_NO_FUZZ_LIBFUZZER\r
+#define OPENSSL_NO_FUZZ_LIBFUZZER\r
+#endif\r
+#ifndef OPENSSL_NO_GOST\r
+#define OPENSSL_NO_GOST\r
+#endif\r
+#ifndef OPENSSL_NO_HEARTBEATS\r
+#define OPENSSL_NO_HEARTBEATS\r
+#endif\r
+#ifndef OPENSSL_NO_HW\r
+#define OPENSSL_NO_HW\r
+#endif\r
+#ifndef OPENSSL_NO_MSAN\r
+#define OPENSSL_NO_MSAN\r
+#endif\r
+#ifndef OPENSSL_NO_OCB\r
+#define OPENSSL_NO_OCB\r
+#endif\r
+#ifndef OPENSSL_NO_POSIX_IO\r
+#define OPENSSL_NO_POSIX_IO\r
+#endif\r
+#ifndef OPENSSL_NO_RFC3779\r
+#define OPENSSL_NO_RFC3779\r
+#endif\r
+#ifndef OPENSSL_NO_SCRYPT\r
+#define OPENSSL_NO_SCRYPT\r
+#endif\r
+#ifndef OPENSSL_NO_SCTP\r
+#define OPENSSL_NO_SCTP\r
+#endif\r
+#ifndef OPENSSL_NO_SOCK\r
+#define OPENSSL_NO_SOCK\r
+#endif\r
+#ifndef OPENSSL_NO_SSL_TRACE\r
+#define OPENSSL_NO_SSL_TRACE\r
+#endif\r
+#ifndef OPENSSL_NO_SSL3\r
+#define OPENSSL_NO_SSL3\r
+#endif\r
+#ifndef OPENSSL_NO_SSL3_METHOD\r
+#define OPENSSL_NO_SSL3_METHOD\r
+#endif\r
+#ifndef OPENSSL_NO_STDIO\r
+#define OPENSSL_NO_STDIO\r
+#endif\r
+#ifndef OPENSSL_NO_TESTS\r
+#define OPENSSL_NO_TESTS\r
+#endif\r
+#ifndef OPENSSL_NO_TLS1_3\r
+#define OPENSSL_NO_TLS1_3\r
+#endif\r
+#ifndef OPENSSL_NO_UBSAN\r
+#define OPENSSL_NO_UBSAN\r
+#endif\r
+#ifndef OPENSSL_NO_UI_CONSOLE\r
+#define OPENSSL_NO_UI_CONSOLE\r
+#endif\r
+#ifndef OPENSSL_NO_UNIT_TEST\r
+#define OPENSSL_NO_UNIT_TEST\r
+#endif\r
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS\r
+#define OPENSSL_NO_WEAK_SSL_CIPHERS\r
+#endif\r
+#ifndef OPENSSL_NO_DYNAMIC_ENGINE\r
+#define OPENSSL_NO_DYNAMIC_ENGINE\r
+#endif\r
+\r
+/*\r
+ * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers\r
+ * don't like that. This will hopefully silence them.\r
+ */\r
+#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;\r
+\r
+/*\r
+ * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the\r
+ * declarations of functions deprecated in or before <version>. Otherwise, they\r
+ * still won't see them if the library has been built to disable deprecated\r
+ * functions.\r
+ */\r
+#ifndef DECLARE_DEPRECATED\r
+#define DECLARE_DEPRECATED(f) f;\r
+ #ifdef __GNUC__\r
+ #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)\r
+ #undef DECLARE_DEPRECATED\r
+#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));\r
+ #endif\r
+ #elif defined (__SUNPRO_C)\r
+ #if (__SUNPRO_C >= 0x5130)\r
+ #undef DECLARE_DEPRECATED\r
+#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));\r
+ #endif\r
+ #endif\r
+#endif\r
+\r
+#ifndef OPENSSL_FILE\r
+ #ifdef OPENSSL_NO_FILENAMES\r
+#define OPENSSL_FILE ""\r
+#define OPENSSL_LINE 0\r
+ #else\r
+#define OPENSSL_FILE __FILE__\r
+#define OPENSSL_LINE __LINE__\r
+ #endif\r
+#endif\r
+\r
+#ifndef OPENSSL_MIN_API\r
+#define OPENSSL_MIN_API 0\r
+#endif\r
+\r
+#if !defined (OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API\r
+ #undef OPENSSL_API_COMPAT\r
+#define OPENSSL_API_COMPAT OPENSSL_MIN_API\r
+#endif\r
+\r
+/*\r
+ * Do not deprecate things to be deprecated in version 1.2.0 before the\r
+ * OpenSSL version number matches.\r
+ */\r
+#if OPENSSL_VERSION_NUMBER < 0x10200000L\r
+#define DEPRECATEDIN_1_2_0(f) f;\r
+#elif OPENSSL_API_COMPAT < 0x10200000L\r
+#define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f)\r
+#else\r
+#define DEPRECATEDIN_1_2_0(f)\r
+#endif\r
+\r
+#if OPENSSL_API_COMPAT < 0x10100000L\r
+#define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)\r
+#else\r
+#define DEPRECATEDIN_1_1_0(f)\r
+#endif\r
+\r
+#if OPENSSL_API_COMPAT < 0x10000000L\r
+#define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)\r
+#else\r
+#define DEPRECATEDIN_1_0_0(f)\r
+#endif\r
+\r
+#if OPENSSL_API_COMPAT < 0x00908000L\r
+#define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)\r
+#else\r
+#define DEPRECATEDIN_0_9_8(f)\r
+#endif\r
+\r
+/* Generate 80386 code? */\r
+#undef I386_ONLY\r
+\r
+#undef OPENSSL_UNISTD\r
+#define OPENSSL_UNISTD <unistd.h>\r
+\r
+#undef OPENSSL_EXPORT_VAR_AS_FUNCTION\r
+\r
+/*\r
+ * The following are cipher-specific, but are part of the public API.\r
+ */\r
+#if !defined (OPENSSL_SYS_UEFI)\r
+ #undef BN_LLONG\r
+/* Only one for the following should be defined */\r
+ #undef SIXTY_FOUR_BIT_LONG\r
+ #undef SIXTY_FOUR_BIT\r
+#define THIRTY_TWO_BIT\r
+#endif\r
+\r
+#define RC4_INT unsigned int\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r