diff --git a/wolfssl/ssl.h b/wolfssl/ssl.h index 69ce185e6..704817d5c 100644 --- a/wolfssl/ssl.h +++ b/wolfssl/ssl.h @@ -74,7 +74,6 @@ typedef struct WOLFSSL_X509_CHAIN WOLFSSL_X509_CHAIN; typedef struct WOLFSSL_CERT_MANAGER WOLFSSL_CERT_MANAGER; typedef struct WOLFSSL_SOCKADDR WOLFSSL_SOCKADDR; -typedef struct WC_RNG WC_RNG; /* redeclare guard */ #define WOLFSSL_TYPES_DEFINED @@ -84,6 +83,11 @@ typedef struct WOLFSSL_RSA WOLFSSL_RSA; #define WOLFSSL_RSA_TYPE_DEFINED #endif +#ifndef WC_RNG_TYPE_DEFINED /* guard on redeclaration */ + typedef struct WC_RNG WC_RNG; + #define WC_RNG_TYPE_DEFINED +#endif + typedef struct WOLFSSL_DSA WOLFSSL_DSA; typedef struct WOLFSSL_EC_KEY WOLFSSL_EC_KEY; typedef struct WOLFSSL_EC_POINT WOLFSSL_EC_POINT; diff --git a/wolfssl/wolfcrypt/random.h b/wolfssl/wolfcrypt/random.h index 23d5020d0..e8d63257a 100644 --- a/wolfssl/wolfcrypt/random.h +++ b/wolfssl/wolfcrypt/random.h @@ -76,6 +76,11 @@ typedef struct OS_Seed { } OS_Seed; +#ifndef WC_RNG_TYPE_DEFINED /* guard on redeclaration */ + typedef struct WC_RNG WC_RNG; + #define WC_RNG_TYPE_DEFINED +#endif + #if (defined(HAVE_HASHDRBG) || defined(NO_RC4)) && !defined(CUSTOM_RAND_GENERATE_BLOCK) #define DRBG_SEED_LEN (440/8) @@ -85,12 +90,12 @@ struct DRBG; /* Private DRBG state */ /* Hash-based Deterministic Random Bit Generator */ -typedef struct WC_RNG { +struct WC_RNG { struct DRBG* drbg; OS_Seed seed; void* heap; byte status; -} WC_RNG; +}; @@ -101,7 +106,7 @@ typedef struct WC_RNG { /* secure Random Number Generator */ -typedef struct WC_RNG { +struct WC_RNG { OS_Seed seed; #ifndef NO_RC4 Arc4 cipher; @@ -110,7 +115,7 @@ typedef struct WC_RNG { int devId; /* nitrox device id */ word32 magic; /* using cavium magic */ #endif -} WC_RNG; +};