diff --git a/wolfssl/openssl/conf.h b/wolfssl/openssl/conf.h index d059c5975..1007b64a1 100644 --- a/wolfssl/openssl/conf.h +++ b/wolfssl/openssl/conf.h @@ -24,22 +24,30 @@ #ifndef WOLFSSL_conf_H_ #define WOLFSSL_conf_H_ +#include +#include + #ifdef __cplusplus extern "C" { #endif -#include -#include - typedef struct WOLFSSL_CONF_VALUE { char *section; char *name; char *value; } WOLFSSL_CONF_VALUE; +#ifdef __cplusplus +} /* extern "C" */ +#endif + /* ssl.h requires WOLFSSL_CONF_VALUE */ #include +#ifdef __cplusplus + extern "C" { +#endif + typedef struct WOLFSSL_CONF { void *meth_data; WOLF_LHASH_OF(WOLFSSL_CONF_VALUE) *data; diff --git a/wolfssl/ssl.h b/wolfssl/ssl.h index 83385d876..ba8f56ca0 100644 --- a/wolfssl/ssl.h +++ b/wolfssl/ssl.h @@ -270,11 +270,21 @@ typedef struct WOLFSSL_BY_DIR WOLFSSL_BY_DIR; /* redeclare guard */ #define WOLFSSL_TYPES_DEFINED +#ifdef __cplusplus + } /* extern "C" */ +#endif + +#include + /* The WOLFSSL_RSA type is required in all build configurations. */ #if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) #include #endif +#ifdef __cplusplus + extern "C" { +#endif + #ifndef WC_RNG_TYPE_DEFINED /* guard on redeclaration */ typedef struct WC_RNG WC_RNG; #define WC_RNG_TYPE_DEFINED