192f3ab15Sopenharmony_ci#include <openssl/opensslv.h> 292f3ab15Sopenharmony_ci#include <openssl/opensslconf.h> 392f3ab15Sopenharmony_ci 492f3ab15Sopenharmony_ci#define VERSION2(n, v) RUST_VERSION_##n##_##v 592f3ab15Sopenharmony_ci#define VERSION(n, v) VERSION2(n, v) 692f3ab15Sopenharmony_ci 792f3ab15Sopenharmony_ci#define NEW_VERSION2(a, b, c) RUST_VERSION_NEW_OPENSSL_##a##_##b##_##c 892f3ab15Sopenharmony_ci#define NEW_VERSION(a, b, c) NEW_VERSION2(a, b, c) 992f3ab15Sopenharmony_ci 1092f3ab15Sopenharmony_ci#ifdef LIBRESSL_VERSION_NUMBER 1192f3ab15Sopenharmony_ciVERSION(LIBRESSL, LIBRESSL_VERSION_NUMBER) 1292f3ab15Sopenharmony_ci#elif defined OPENSSL_VERSION_MAJOR 1392f3ab15Sopenharmony_ciNEW_VERSION(OPENSSL_VERSION_MAJOR, OPENSSL_VERSION_MINOR, OPENSSL_VERSION_PATCH) 1492f3ab15Sopenharmony_ci#else 1592f3ab15Sopenharmony_ciVERSION(OPENSSL, OPENSSL_VERSION_NUMBER) 1692f3ab15Sopenharmony_ci#endif 1792f3ab15Sopenharmony_ci 1892f3ab15Sopenharmony_ci#ifdef OPENSSL_IS_BORINGSSL 1992f3ab15Sopenharmony_ciRUST_OPENSSL_IS_BORINGSSL 2092f3ab15Sopenharmony_ci#endif 2192f3ab15Sopenharmony_ci 2292f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_BF 2392f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_BF 2492f3ab15Sopenharmony_ci#endif 2592f3ab15Sopenharmony_ci 2692f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_BUF_FREELISTS 2792f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_BUF_FREELISTS 2892f3ab15Sopenharmony_ci#endif 2992f3ab15Sopenharmony_ci 3092f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_CHACHA 3192f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_CHACHA 3292f3ab15Sopenharmony_ci#endif 3392f3ab15Sopenharmony_ci 3492f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_IDEA 3592f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_IDEA 3692f3ab15Sopenharmony_ci#endif 3792f3ab15Sopenharmony_ci 3892f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_CAMELLIA 3992f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_CAMELLIA 4092f3ab15Sopenharmony_ci#endif 4192f3ab15Sopenharmony_ci 4292f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_CAST 4392f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_CAST 4492f3ab15Sopenharmony_ci#endif 4592f3ab15Sopenharmony_ci 4692f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_CMS 4792f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_CMS 4892f3ab15Sopenharmony_ci#endif 4992f3ab15Sopenharmony_ci 5092f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_COMP 5192f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_COMP 5292f3ab15Sopenharmony_ci#endif 5392f3ab15Sopenharmony_ci 5492f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_EC 5592f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_EC 5692f3ab15Sopenharmony_ci#endif 5792f3ab15Sopenharmony_ci 5892f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_EC2M 5992f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_EC2M 6092f3ab15Sopenharmony_ci#endif 6192f3ab15Sopenharmony_ci 6292f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_ENGINE 6392f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_ENGINE 6492f3ab15Sopenharmony_ci#endif 6592f3ab15Sopenharmony_ci 6692f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_KRB5 6792f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_KRB5 6892f3ab15Sopenharmony_ci#endif 6992f3ab15Sopenharmony_ci 7092f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_NEXTPROTONEG 7192f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_NEXTPROTONEG 7292f3ab15Sopenharmony_ci#endif 7392f3ab15Sopenharmony_ci 7492f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_OCSP 7592f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_OCSP 7692f3ab15Sopenharmony_ci#endif 7792f3ab15Sopenharmony_ci 7892f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_OCB 7992f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_OCB 8092f3ab15Sopenharmony_ci#endif 8192f3ab15Sopenharmony_ci 8292f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_PSK 8392f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_PSK 8492f3ab15Sopenharmony_ci#endif 8592f3ab15Sopenharmony_ci 8692f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_RC4 8792f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_RC4 8892f3ab15Sopenharmony_ci#endif 8992f3ab15Sopenharmony_ci 9092f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_RFC3779 9192f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_RFC3779 9292f3ab15Sopenharmony_ci#endif 9392f3ab15Sopenharmony_ci 9492f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_RMD160 9592f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_RMD160 9692f3ab15Sopenharmony_ci#endif 9792f3ab15Sopenharmony_ci 9892f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_SHA 9992f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_SHA 10092f3ab15Sopenharmony_ci#endif 10192f3ab15Sopenharmony_ci 10292f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_SRP 10392f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_SRP 10492f3ab15Sopenharmony_ci#endif 10592f3ab15Sopenharmony_ci 10692f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_SSL3_METHOD 10792f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_SSL3_METHOD 10892f3ab15Sopenharmony_ci#endif 10992f3ab15Sopenharmony_ci 11092f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_TLSEXT 11192f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_TLSEXT 11292f3ab15Sopenharmony_ci#endif 11392f3ab15Sopenharmony_ci 11492f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_SOCK 11592f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_SOCK 11692f3ab15Sopenharmony_ci#endif 11792f3ab15Sopenharmony_ci 11892f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_STDIO 11992f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_STDIO 12092f3ab15Sopenharmony_ci#endif 12192f3ab15Sopenharmony_ci 12292f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_SM3 12392f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_SM3 12492f3ab15Sopenharmony_ci#endif 12592f3ab15Sopenharmony_ci 12692f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_SM4 12792f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_SM4 12892f3ab15Sopenharmony_ci#endif 12992f3ab15Sopenharmony_ci 13092f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_DEPRECATED_3_0 13192f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_DEPRECATED_3_0 13292f3ab15Sopenharmony_ci#endif 13392f3ab15Sopenharmony_ci 13492f3ab15Sopenharmony_ci#ifdef OPENSSL_NO_SEED 13592f3ab15Sopenharmony_ciRUST_CONF_OPENSSL_NO_SEED 13692f3ab15Sopenharmony_ci#endif 137