diff --git a/wolfcrypt/src/wc_slhdsa.c b/wolfcrypt/src/wc_slhdsa.c index 4d24d5ff96..c64b006a52 100644 --- a/wolfcrypt/src/wc_slhdsa.c +++ b/wolfcrypt/src/wc_slhdsa.c @@ -299,7 +299,10 @@ wc_static_assert(SLHDSA_MAX_MSG_SZ <= 255); */ /* HashAddress type. */ +#ifndef WC_HASHADDRESS_TYPE_DEFINED typedef word32 HashAddress[8]; + #define WC_HASHADDRESS_TYPE_DEFINED +#endif /* Encode a HashAddress. * diff --git a/wolfssl/wolfcrypt/wc_mlkem.h b/wolfssl/wolfcrypt/wc_mlkem.h index 3dad3a5e94..edbc17a077 100644 --- a/wolfssl/wolfcrypt/wc_mlkem.h +++ b/wolfssl/wolfcrypt/wc_mlkem.h @@ -362,7 +362,7 @@ enum { #define MLKEM_PRF_T wc_Shake /* ML-KEM key. */ -typedef struct MlKemKey { +struct MlKemKey { /* Type of key: WC_ML_KEM_512, WC_ML_KEM_768, WC_ML_KEM_1024 */ int type; #ifdef WOLFSSL_MLKEM_DYNAMIC_KEYS @@ -418,8 +418,12 @@ typedef struct MlKemKey { sword16* a; #endif #endif -} MlKemKey; +}; +#ifndef WC_MLKEMKEY_TYPE_DEFINED + typedef struct MlKemKey MlKemKey; + #define WC_MLKEMKEY_TYPE_DEFINED +#endif WOLFSSL_API MlKemKey* wc_MlKemKey_New(int type, void* heap, int devId); WOLFSSL_API int wc_MlKemKey_Delete(MlKemKey* key, MlKemKey** key_p); diff --git a/wolfssl/wolfcrypt/wc_slhdsa.h b/wolfssl/wolfcrypt/wc_slhdsa.h index ecf29dfea5..2073630f91 100644 --- a/wolfssl/wolfcrypt/wc_slhdsa.h +++ b/wolfssl/wolfcrypt/wc_slhdsa.h @@ -601,7 +601,7 @@ typedef struct SlhDsaParameters { #endif /* SLH-DSA key data and state. */ -typedef struct SlhDsaKey { +struct SlhDsaKey { /* Parameters. */ const SlhDsaParameters* params; /* Flags of the key. */ @@ -654,7 +654,12 @@ typedef struct SlhDsaKey { } sha2; #endif } hash; -} SlhDsaKey; +}; + +#ifndef WC_SLHDSAKEY_TYPE_DEFINED + typedef struct SlhDsaKey SlhDsaKey; + #define WC_SLHDSAKEY_TYPE_DEFINED +#endif WOLFSSL_API int wc_SlhDsaKey_Init(SlhDsaKey* key, enum SlhDsaParam param, void* heap, int devId); diff --git a/wolfssl/wolfcrypt/wc_xmss.h b/wolfssl/wolfcrypt/wc_xmss.h index 6c26c830bf..a9090cfeab 100644 --- a/wolfssl/wolfcrypt/wc_xmss.h +++ b/wolfssl/wolfcrypt/wc_xmss.h @@ -307,7 +307,10 @@ typedef enum wc_XmssRc (*wc_xmss_read_private_key_cb)(byte* priv, word32 privSz, /* Type for hash address. */ +#ifndef WC_HASHADDRESS_TYPE_DEFINED typedef word32 HashAddress[8]; + #define WC_HASHADDRESS_TYPE_DEFINED +#endif /* XMSS/XMSS^MT fixed parameters. */ typedef struct XmssParams {