fips/fips_[canister|premain].c: make it work with VC6 and add sentinels
[openssl.git] / fips / fipssyms.h
index 0b24c32ade53cd073cf16723ee4f4d09fae0560e..5b1e18878597bdbc2ce07f897bc4dd8968c07ef5 100644 (file)
-#define AES_cfb128_encrypt FIPS_aes_cfb128_encrypt
-#define AES_cfb1_encrypt FIPS_aes_cfb1_encrypt
-#define AES_cfb8_encrypt FIPS_aes_cfb8_encrypt
-#define AES_ecb_encrypt FIPS_aes_ecb_encrypt
-#define AES_ofb128_encrypt FIPS_aes_ofb128_encrypt
-#define BN_BLINDING_convert FIPS_bn_blinding_convert
-#define BN_BLINDING_convert_ex FIPS_bn_blinding_convert_ex
-#define BN_BLINDING_create_param FIPS_bn_blinding_create_param
-#define BN_BLINDING_free FIPS_bn_blinding_free
-#define BN_BLINDING_get_flags FIPS_bn_blinding_get_flags
-#define BN_BLINDING_invert FIPS_bn_blinding_invert
-#define BN_BLINDING_invert_ex FIPS_bn_blinding_invert_ex
-#define BN_BLINDING_new FIPS_bn_blinding_new
-#define BN_BLINDING_set_flags FIPS_bn_blinding_set_flags
-#define BN_BLINDING_thread_id FIPS_bn_blinding_thread_id
-#define BN_BLINDING_update FIPS_bn_blinding_update
-#define BN_BLINDING_get_thread_id FIPS_bn_blinding_get_thread_id
-#define BN_BLINDING_set_thread_id FIPS_bn_blinding_set_thread_id
-#define BN_CTX_end FIPS_bn_ctx_end
-#define BN_CTX_init FIPS_bn_ctx_init
-#define BN_CTX_free FIPS_bn_ctx_free
-#define BN_CTX_get FIPS_bn_ctx_get
-#define BN_CTX_new FIPS_bn_ctx_new
-#define BN_CTX_start FIPS_bn_ctx_start
-#define BN_GENCB_call FIPS_bn_gencb_call
-#define BN_GF2m_add FIPS_bn_gf2m_add
-#define BN_GF2m_arr2poly FIPS_bn_gf2m_arr2poly
-#define BN_GF2m_mod FIPS_bn_gf2m_mod
-#define BN_GF2m_mod_arr FIPS_bn_gf2m_mod_arr
-#define BN_GF2m_mod_div FIPS_bn_gf2m_mod_div
-#define BN_GF2m_mod_div_arr FIPS_bn_gf2m_mod_div_arr
-#define BN_GF2m_mod_exp FIPS_bn_gf2m_mod_exp
-#define BN_GF2m_mod_exp_arr FIPS_bn_gf2m_mod_exp_arr
-#define BN_GF2m_mod_inv FIPS_bn_gf2m_mod_inv
-#define BN_GF2m_mod_inv_arr FIPS_bn_gf2m_mod_inv_arr
-#define BN_GF2m_mod_mul FIPS_bn_gf2m_mod_mul
-#define BN_GF2m_mod_mul_arr FIPS_bn_gf2m_mod_mul_arr
-#define BN_GF2m_mod_solve_quad FIPS_bn_gf2m_mod_solve_quad
-#define BN_GF2m_mod_solve_quad_arr FIPS_bn_gf2m_mod_solve_quad_arr
-#define BN_GF2m_mod_sqr FIPS_bn_gf2m_mod_sqr
-#define BN_GF2m_mod_sqr_arr FIPS_bn_gf2m_mod_sqr_arr
-#define BN_GF2m_mod_sqrt FIPS_bn_gf2m_mod_sqrt
-#define BN_GF2m_mod_sqrt_arr FIPS_bn_gf2m_mod_sqrt_arr
-#define BN_GF2m_poly2arr FIPS_bn_gf2m_poly2arr
-#define BN_MONT_CTX_copy FIPS_bn_mont_ctx_copy
-#define BN_MONT_CTX_free FIPS_bn_mont_ctx_free
-#define BN_MONT_CTX_init FIPS_bn_mont_ctx_init
-#define BN_MONT_CTX_new FIPS_bn_mont_ctx_new
-#define BN_MONT_CTX_set FIPS_bn_mont_ctx_set
-#define BN_MONT_CTX_set_locked FIPS_bn_mont_ctx_set_locked
-#define BN_RECP_CTX_free FIPS_bn_recp_ctx_free
-#define BN_RECP_CTX_init FIPS_bn_recp_ctx_init
-#define BN_RECP_CTX_new FIPS_bn_recp_ctx_new
-#define BN_RECP_CTX_set FIPS_bn_recp_ctx_set
+
+/* Where necessary redirect standard OpenSSL APIs to FIPS versions */
+
+#define CRYPTO_lock FIPS_lock
+#define CRYPTO_add_lock FIPS_add_lock
+#define CRYPTO_malloc FIPS_malloc
+#define CRYPTO_free FIPS_free
+
+#define ERR_put_error FIPS_put_error
+#define ERR_add_error_data FIPS_add_error_data
+
+#define EVP_MD_CTX_init FIPS_md_ctx_init
+#define EVP_MD_CTX_cleanup FIPS_md_ctx_cleanup
+#define EVP_MD_CTX_create FIPS_md_ctx_create
+#define EVP_MD_CTX_destroy FIPS_md_ctx_destroy
+#define EVP_DigestInit_ex(ctx, type, impl) FIPS_digestinit(ctx, type)
+#define EVP_DigestInit FIPS_digestinit
+#define EVP_DigestUpdate FIPS_digestupdate
+#define EVP_Digest(data, count, md, size, type, impl) \
+                       FIPS_digest(data, count, md, size, type)
+#define EVP_DigestFinal_ex FIPS_digestfinal
+#define EVP_MD_CTX_copy_ex FIPS_md_ctx_copy
+
+#define EVP_CipherInit_ex(ctx, cipher, impl, key, iv, enc) \
+                               FIPS_cipherinit(ctx, cipher, key, iv, enc)
+
+#define EVP_CipherInit FIPS_cipherinit
+
+#define EVP_CIPHER_CTX_init FIPS_cipher_ctx_init
+#define EVP_CIPHER_CTX_cleanup FIPS_cipher_ctx_cleanup
+#define EVP_Cipher FIPS_cipher
+#define EVP_CIPHER_CTX_ctrl FIPS_cipher_ctx_ctrl
+#define EVP_CIPHER_CTX_new FIPS_cipher_ctx_new
+#define EVP_CIPHER_CTX_free FIPS_cipher_ctx_free
+#define EVP_CIPHER_CTX_copy FIPS_cipher_ctx_copy
+#define EVP_CIPHER_CTX_set_key_length FIPS_cipher_ctx_set_key_length
+
+#define DSA_SIG_new FIPS_dsa_sig_new
+#define DSA_SIG_free FIPS_dsa_sig_free
+
+#define ECDSA_SIG_new FIPS_ecdsa_sig_new
+#define ECDSA_SIG_free FIPS_ecdsa_sig_free
+
+#define ecdsa_check fips_ecdsa_check
+#define ecdh_check fips_ecdh_check
+
+#define RAND_bytes FIPS_rand_bytes
+#define RAND_pseudo_bytes FIPS_rand_pseudo_bytes
+#define RAND_add FIPS_rand_add
+#define RAND_seed FIPS_rand_seed
+#define RAND_status FIPS_rand_status
+
+/* Rename symbols so they don't clash with standard OpenSSL */
+
+#define AES_cfb128_encrypt fips_aes_cfb128_encrypt
+#define AES_cfb1_encrypt fips_aes_cfb1_encrypt
+#define AES_cfb8_encrypt fips_aes_cfb8_encrypt
+#define AES_ecb_encrypt fips_aes_ecb_encrypt
+#define AES_ofb128_encrypt fips_aes_ofb128_encrypt
+#define BN_BLINDING_convert fips_bn_blinding_convert
+#define BN_BLINDING_convert_ex fips_bn_blinding_convert_ex
+#define BN_BLINDING_create_param fips_bn_blinding_create_param
+#define BN_BLINDING_free fips_bn_blinding_free
+#define BN_BLINDING_get_flags fips_bn_blinding_get_flags
+#define BN_BLINDING_invert fips_bn_blinding_invert
+#define BN_BLINDING_invert_ex fips_bn_blinding_invert_ex
+#define BN_BLINDING_new fips_bn_blinding_new
+#define BN_BLINDING_set_flags fips_bn_blinding_set_flags
+#define BN_BLINDING_thread_id fips_bn_blinding_thread_id
+#define BN_BLINDING_update fips_bn_blinding_update
+#define BN_BLINDING_get_thread_id fips_bn_blinding_get_thread_id
+#define BN_BLINDING_set_thread_id fips_bn_blinding_set_thread_id
+#define BN_CTX_end fips_bn_ctx_end
+#define BN_CTX_init fips_bn_ctx_init
+#define BN_CTX_free fips_bn_ctx_free
+#define BN_CTX_get fips_bn_ctx_get
+#define BN_CTX_new fips_bn_ctx_new
+#define BN_CTX_start fips_bn_ctx_start
+#define BN_GENCB_call fips_bn_gencb_call
+#define BN_GF2m_add fips_bn_gf2m_add
+#define BN_GF2m_arr2poly fips_bn_gf2m_arr2poly
+#define BN_GF2m_mod fips_bn_gf2m_mod
+#define BN_GF2m_mod_arr fips_bn_gf2m_mod_arr
+#define BN_GF2m_mod_div fips_bn_gf2m_mod_div
+#define BN_GF2m_mod_div_arr fips_bn_gf2m_mod_div_arr
+#define BN_GF2m_mod_exp fips_bn_gf2m_mod_exp
+#define BN_GF2m_mod_exp_arr fips_bn_gf2m_mod_exp_arr
+#define BN_GF2m_mod_inv fips_bn_gf2m_mod_inv
+#define BN_GF2m_mod_inv_arr fips_bn_gf2m_mod_inv_arr
+#define BN_GF2m_mod_mul fips_bn_gf2m_mod_mul
+#define BN_GF2m_mod_mul_arr fips_bn_gf2m_mod_mul_arr
+#define BN_GF2m_mod_solve_quad fips_bn_gf2m_mod_solve_quad
+#define BN_GF2m_mod_solve_quad_arr fips_bn_gf2m_mod_solve_quad_arr
+#define BN_GF2m_mod_sqr fips_bn_gf2m_mod_sqr
+#define BN_GF2m_mod_sqr_arr fips_bn_gf2m_mod_sqr_arr
+#define BN_GF2m_mod_sqrt fips_bn_gf2m_mod_sqrt
+#define BN_GF2m_mod_sqrt_arr fips_bn_gf2m_mod_sqrt_arr
+#define BN_GF2m_poly2arr fips_bn_gf2m_poly2arr
+#define BN_MONT_CTX_copy fips_bn_mont_ctx_copy
+#define BN_MONT_CTX_free fips_bn_mont_ctx_free
+#define BN_MONT_CTX_init fips_bn_mont_ctx_init
+#define BN_MONT_CTX_new fips_bn_mont_ctx_new
+#define BN_MONT_CTX_set fips_bn_mont_ctx_set
+#define BN_MONT_CTX_set_locked fips_bn_mont_ctx_set_locked
+#define BN_RECP_CTX_free fips_bn_recp_ctx_free
+#define BN_RECP_CTX_init fips_bn_recp_ctx_init
+#define BN_RECP_CTX_new fips_bn_recp_ctx_new
+#define BN_RECP_CTX_set fips_bn_recp_ctx_set
 #define BN_X931_derive_prime_ex FIPS_bn_x931_derive_prime_ex
 #define BN_X931_generate_Xpq FIPS_bn_x931_generate_xpq
 #define BN_X931_generate_prime_ex FIPS_bn_x931_generate_prime_ex
-#define BN_add FIPS_bn_add
-#define BN_add_word FIPS_bn_add_word
+#define BN_add fips_bn_add
+#define BN_add_word fips_bn_add_word
 #define BN_bin2bn FIPS_bn_bin2bn
 #define BN_bn2bin FIPS_bn_bn2bin
-#define BN_bntest_rand FIPS_bn_bntest_rand
+#define BN_bntest_rand fips_bn_bntest_rand
 #define BN_clear FIPS_bn_clear
-#define BN_clear_bit FIPS_bn_clear_bit
+#define BN_clear_bit fips_bn_clear_bit
 #define BN_clear_free FIPS_bn_clear_free
-#define BN_cmp FIPS_bn_cmp
-#define BN_copy FIPS_bn_copy
-#define BN_div FIPS_bn_div
-#define BN_div_recp FIPS_bn_div_recp
-#define BN_div_word FIPS_bn_div_word
-#define BN_dup FIPS_bn_dup
-#define BN_exp FIPS_bn_exp
+#define BN_cmp fips_bn_cmp
+#define BN_copy fips_bn_copy
+#define BN_div fips_bn_div
+#define BN_div_recp fips_bn_div_recp
+#define BN_div_word fips_bn_div_word
+#define BN_dup fips_bn_dup
+#define BN_exp fips_bn_exp
 #define BN_free FIPS_bn_free
-#define BN_gcd FIPS_bn_gcd
+#define BN_gcd fips_bn_gcd
 #define BN_generate_prime_ex FIPS_bn_generate_prime_ex
-#define BN_get0_nist_prime_192 FIPS_bn_get0_nist_prime_192
-#define BN_get0_nist_prime_224 FIPS_bn_get0_nist_prime_224
-#define BN_get0_nist_prime_256 FIPS_bn_get0_nist_prime_256
-#define BN_get0_nist_prime_384 FIPS_bn_get0_nist_prime_384
-#define BN_get0_nist_prime_521 FIPS_bn_get0_nist_prime_521
+#define BN_get0_nist_prime_192 fips_bn_get0_nist_prime_192
+#define BN_get0_nist_prime_224 fips_bn_get0_nist_prime_224
+#define BN_get0_nist_prime_256 fips_bn_get0_nist_prime_256
+#define BN_get0_nist_prime_384 fips_bn_get0_nist_prime_384
+#define BN_get0_nist_prime_521 fips_bn_get0_nist_prime_521
 #define BN_get_word FIPS_bn_get_word
-#define BN_init FIPS_bn_init
+#define BN_init fips_bn_init
 #define BN_is_bit_set FIPS_bn_is_bit_set
 #define BN_is_prime_ex FIPS_bn_is_prime_ex
 #define BN_is_prime_fasttest_ex FIPS_bn_is_prime_fasttest_ex
-#define BN_lshift FIPS_bn_lshift
-#define BN_lshift1 FIPS_bn_lshift1
-#define BN_mask_bits FIPS_bn_mask_bits
-#define BN_mod_add FIPS_bn_mod_add
-#define BN_mod_add_quick FIPS_bn_mod_add_quick
-#define BN_mod_exp FIPS_bn_mod_exp
-#define BN_mod_exp2_mont FIPS_bn_mod_exp2_mont
-#define BN_mod_exp_mont FIPS_bn_mod_exp_mont
-#define BN_mod_exp_mont_consttime FIPS_bn_mod_exp_mont_consttime
-#define BN_mod_exp_mont_word FIPS_bn_mod_exp_mont_word
-#define BN_mod_exp_recp FIPS_bn_mod_exp_recp
-#define BN_mod_exp_simple FIPS_bn_mod_exp_simple
-#define BN_mod_inverse FIPS_bn_mod_inverse
-#define BN_mod_lshift FIPS_bn_mod_lshift
-#define BN_mod_lshift1 FIPS_bn_mod_lshift1
-#define BN_mod_lshift1_quick FIPS_bn_mod_lshift1_quick
-#define BN_mod_lshift_quick FIPS_bn_mod_lshift_quick
-#define BN_mod_mul FIPS_bn_mod_mul
-#define BN_mod_mul_montgomery FIPS_bn_mod_mul_montgomery
-#define BN_mod_mul_reciprocal FIPS_bn_mod_mul_reciprocal
-#define BN_mod_sqr FIPS_bn_mod_sqr
-#define BN_mod_sub FIPS_bn_mod_sub
-#define BN_mod_sub_quick FIPS_bn_mod_sub_quick
-#define BN_mod_word FIPS_bn_mod_word
-#define BN_mul FIPS_bn_mul
-#define BN_mul_word FIPS_bn_mul_word
+#define BN_lshift fips_bn_lshift
+#define BN_lshift1 fips_bn_lshift1
+#define BN_mask_bits fips_bn_mask_bits
+#define BN_mod_add fips_bn_mod_add
+#define BN_mod_add_quick fips_bn_mod_add_quick
+#define BN_mod_exp fips_bn_mod_exp
+#define BN_mod_exp2_mont fips_bn_mod_exp2_mont
+#define BN_mod_exp_mont fips_bn_mod_exp_mont
+#define BN_mod_exp_mont_consttime fips_bn_mod_exp_mont_consttime
+#define BN_mod_exp_mont_word fips_bn_mod_exp_mont_word
+#define BN_mod_exp_recp fips_bn_mod_exp_recp
+#define BN_mod_exp_simple fips_bn_mod_exp_simple
+#define BN_mod_inverse fips_bn_mod_inverse
+#define BN_mod_lshift fips_bn_mod_lshift
+#define BN_mod_lshift1 fips_bn_mod_lshift1
+#define BN_mod_lshift1_quick fips_bn_mod_lshift1_quick
+#define BN_mod_lshift_quick fips_bn_mod_lshift_quick
+#define BN_mod_mul fips_bn_mod_mul
+#define BN_mod_mul_montgomery fips_bn_mod_mul_montgomery
+#define BN_mod_mul_reciprocal fips_bn_mod_mul_reciprocal
+#define BN_mod_sqr fips_bn_mod_sqr
+#define BN_mod_sub fips_bn_mod_sub
+#define BN_mod_sub_quick fips_bn_mod_sub_quick
+#define BN_mod_word fips_bn_mod_word
+#define BN_mul fips_bn_mul
+#define BN_mul_word fips_bn_mul_word
 #define BN_new FIPS_bn_new
-#define BN_nist_mod_192 FIPS_bn_nist_mod_192
-#define BN_nist_mod_224 FIPS_bn_nist_mod_224
-#define BN_nist_mod_256 FIPS_bn_nist_mod_256
-#define BN_nist_mod_384 FIPS_bn_nist_mod_384
-#define BN_nist_mod_521 FIPS_bn_nist_mod_521
-#define BN_nist_mod_func FIPS_bn_nist_mod_func
-#define BN_nnmod FIPS_bn_nnmod
+#define BN_nist_mod_192 fips_bn_nist_mod_192
+#define BN_nist_mod_224 fips_bn_nist_mod_224
+#define BN_nist_mod_256 fips_bn_nist_mod_256
+#define BN_nist_mod_384 fips_bn_nist_mod_384
+#define BN_nist_mod_521 fips_bn_nist_mod_521
+#define BN_nist_mod_func fips_bn_nist_mod_func
+#define BN_nnmod fips_bn_nnmod
 #define BN_num_bits FIPS_bn_num_bits
 #define BN_pseudo_rand FIPS_bn_pseudo_rand
 #define BN_pseudo_rand_range FIPS_bn_pseudo_rand_range
 #define BN_rand FIPS_bn_rand
 #define BN_rand_range FIPS_bn_rand_range
-#define BN_reciprocal FIPS_bn_reciprocal
-#define BN_rshift FIPS_bn_rshift
-#define BN_rshift1 FIPS_bn_rshift1
+#define BN_reciprocal fips_bn_reciprocal
+#define BN_rshift fips_bn_rshift
+#define BN_rshift1 fips_bn_rshift1
 #define BN_set_bit FIPS_bn_set_bit
-#define BN_set_negative FIPS_bn_set_negative
-#define BN_set_word FIPS_bn_set_word
-#define BN_sqr FIPS_bn_sqr
-#define BN_sub FIPS_bn_sub
-#define BN_sub_word FIPS_bn_sub_word
-#define BN_swap FIPS_bn_swap
-#define BN_uadd FIPS_bn_uadd
-#define BN_ucmp FIPS_bn_ucmp
-#define BN_usub FIPS_bn_usub
-#define BN_value_one FIPS_bn_value_one
-#define BN_set_params FIPS_bn_set_params
-#define BN_get_params FIPS_bn_get_params
+#define BN_set_negative fips_bn_set_negative
+#define BN_set_word fips_bn_set_word
+#define BN_sqr fips_bn_sqr
+#define BN_sub fips_bn_sub
+#define BN_sub_word fips_bn_sub_word
+#define BN_swap fips_bn_swap
+#define BN_uadd fips_bn_uadd
+#define BN_ucmp fips_bn_ucmp
+#define BN_usub fips_bn_usub
+#define BN_value_one fips_bn_value_one
+#define BN_set_params fips_bn_set_params
+#define BN_get_params fips_bn_get_params
 #define BN_version FIPS_bn_version
-#define BUF_memdup FIPS_buf_memdup
-#define BUF_strdup FIPS_buf_strdup
-#define BUF_strlcat FIPS_buf_strlcat
-#define BUF_strlcpy FIPS_buf_strlcpy
-#define BUF_strndup FIPS_buf_strndup
+#define BUF_memdup fips_buf_memdup
+#define BUF_strdup fips_buf_strdup
+#define BUF_strlcat fips_buf_strlcat
+#define BUF_strlcpy fips_buf_strlcpy
+#define BUF_strndup fips_buf_strndup
 #define DllMain        fips_dllmain
-#define CRYPTO_THREADID_cmp FIPS_crypto_threadid_cmp
-#define CRYPTO_THREADID_cpy FIPS_crypto_threadid_cpy
-#define CRYPTO_THREADID_current FIPS_crypto_threadid_current
+#define CRYPTO_THREADID_cmp fips_crypto_threadid_cmp
+#define CRYPTO_THREADID_cpy fips_crypto_threadid_cpy
+#define CRYPTO_THREADID_current fips_crypto_threadid_current
 #define CRYPTO_THREADID_get_callback FIPS_crypto_threadid_get_callback
 #define CRYPTO_THREADID_hash FIPS_crypto_threadid_hash
 #define CRYPTO_THREADID_set_callback FIPS_crypto_threadid_set_callback
 #define CRYPTO_get_id_callback FIPS_crypto_get_id_callback
 #define CRYPTO_set_id_callback FIPS_crypto_set_id_callback
 #define CRYPTO_thread_id FIPS_crypto_thread_id
-#define CRYPTO_cbc128_decrypt FIPS_crypto_cbc128_decrypt
-#define CRYPTO_cbc128_encrypt FIPS_crypto_cbc128_encrypt
-#define CRYPTO_cfb128_1_encrypt FIPS_crypto_cfb128_1_encrypt
-#define CRYPTO_cfb128_8_encrypt FIPS_crypto_cfb128_8_encrypt
-#define CRYPTO_cfb128_encrypt FIPS_crypto_cfb128_encrypt
-#define CRYPTO_ctr128_encrypt FIPS_crypto_ctr128_encrypt
-#define CRYPTO_ctr128_encrypt_ctr32 FIPS_crypto_ctr128_encrypt_ctr32
-#define CRYPTO_gcm128_aad FIPS_crypto_gcm128_aad
-#define CRYPTO_gcm128_decrypt FIPS_crypto_gcm128_decrypt
-#define CRYPTO_gcm128_decrypt_ctr32 FIPS_crypto_gcm128_decrypt_ctr32
-#define CRYPTO_gcm128_encrypt FIPS_crypto_gcm128_encrypt
-#define CRYPTO_gcm128_encrypt_ctr32 FIPS_crypto_gcm128_encrypt_ctr32
-#define CRYPTO_gcm128_finish FIPS_crypto_gcm128_finish
-#define CRYPTO_gcm128_init FIPS_crypto_gcm128_init
-#define CRYPTO_gcm128_new FIPS_crypto_gcm128_new
-#define CRYPTO_gcm128_release FIPS_crypto_gcm128_release
-#define CRYPTO_gcm128_setiv FIPS_crypto_gcm128_setiv
-#define CRYPTO_gcm128_tag FIPS_crypto_gcm128_tag
-#define CRYPTO_ofb128_encrypt FIPS_crypto_ofb128_encrypt
-#define DES_cfb64_encrypt FIPS_des_cfb64_encrypt
-#define DES_cfb_encrypt FIPS_des_cfb_encrypt
+#define CRYPTO_ccm128_aad fips_crypto_ccm128_aad
+#define CRYPTO_ccm128_decrypt fips_crypto_ccm128_decrypt
+#define CRYPTO_ccm128_decrypt_ccm64 fips_crypto_ccm128_decrypt_ccm64
+#define CRYPTO_ccm128_encrypt fips_crypto_ccm128_encrypt
+#define CRYPTO_ccm128_encrypt_ccm64 fips_crypto_ccm128_encrypt_ccm64
+#define CRYPTO_ccm128_init fips_crypto_ccm128_init
+#define CRYPTO_ccm128_setiv fips_crypto_ccm128_setiv
+#define CRYPTO_ccm128_tag fips_crypto_ccm128_tag
+#define CRYPTO_cbc128_decrypt fips_crypto_cbc128_decrypt
+#define CRYPTO_cbc128_encrypt fips_crypto_cbc128_encrypt
+#define CRYPTO_cfb128_1_encrypt fips_crypto_cfb128_1_encrypt
+#define CRYPTO_cfb128_8_encrypt fips_crypto_cfb128_8_encrypt
+#define CRYPTO_cfb128_encrypt fips_crypto_cfb128_encrypt
+#define CRYPTO_ctr128_encrypt fips_crypto_ctr128_encrypt
+#define CRYPTO_ctr128_encrypt_ctr32 fips_crypto_ctr128_encrypt_ctr32
+#define CRYPTO_gcm128_aad fips_crypto_gcm128_aad
+#define CRYPTO_gcm128_decrypt fips_crypto_gcm128_decrypt
+#define CRYPTO_gcm128_decrypt_ctr32 fips_crypto_gcm128_decrypt_ctr32
+#define CRYPTO_gcm128_encrypt fips_crypto_gcm128_encrypt
+#define CRYPTO_gcm128_encrypt_ctr32 fips_crypto_gcm128_encrypt_ctr32
+#define CRYPTO_gcm128_finish fips_crypto_gcm128_finish
+#define CRYPTO_gcm128_init fips_crypto_gcm128_init
+#define CRYPTO_gcm128_new fips_crypto_gcm128_new
+#define CRYPTO_gcm128_release fips_crypto_gcm128_release
+#define CRYPTO_gcm128_setiv fips_crypto_gcm128_setiv
+#define CRYPTO_gcm128_tag fips_crypto_gcm128_tag
+#define CRYPTO_ofb128_encrypt fips_crypto_ofb128_encrypt
+#define CRYPTO_xts128_encrypt fips_crypto_xts128_encrypt
+#define DES_cfb64_encrypt fips_des_cfb64_encrypt
+#define DES_cfb_encrypt fips_des_cfb_encrypt
 #define DES_check_key_parity FIPS_des_check_key_parity
-#define DES_crypt FIPS_des_crypt
-#define DES_ecb3_encrypt FIPS_des_ecb3_encrypt
-#define DES_ede3_cfb64_encrypt FIPS_des_ede3_cfb64_encrypt
-#define DES_ede3_cfb_encrypt FIPS_des_ede3_cfb_encrypt
-#define DES_ede3_ofb64_encrypt FIPS_des_ede3_ofb64_encrypt
-#define DES_fcrypt FIPS_des_fcrypt
-#define DES_is_weak_key FIPS_des_is_weak_key
-#define DES_key_sched FIPS_des_key_sched
-#define DES_set_key FIPS_des_set_key
-#define DES_set_key_checked FIPS_des_set_key_checked
-#define DES_set_key_unchecked FIPS_des_set_key_unchecked
-#define DES_set_odd_parity FIPS_des_set_odd_parity
+#define DES_crypt fips_des_crypt
+#define DES_ecb3_encrypt fips_des_ecb3_encrypt
+#define DES_ede3_cfb64_encrypt fips_des_ede3_cfb64_encrypt
+#define DES_ede3_cfb_encrypt fips_des_ede3_cfb_encrypt
+#define DES_ede3_ofb64_encrypt fips_des_ede3_ofb64_encrypt
+#define DES_fcrypt fips_des_fcrypt
+#define DES_is_weak_key fips_des_is_weak_key
+#define DES_key_sched fips_des_key_sched
+#define DES_set_key fips_des_set_key
+#define DES_set_key_checked fips_des_set_key_checked
+#define DES_set_key_unchecked fips_des_set_key_unchecked
+#define DES_set_odd_parity fips_des_set_odd_parity
 #define DH_OpenSSL FIPS_dh_openssl
 #define DH_check FIPS_dh_check
 #define DH_check_pub_key FIPS_dh_check_pub_key
 #define DSA_generate_key FIPS_dsa_generate_key
 #define DSA_generate_parameters_ex FIPS_dsa_generate_parameters_ex
 #define ECDSA_OpenSSL FIPS_ecdsa_openssl
-#define EC_EX_DATA_clear_free_all_data FIPS_ec_ex_data_clear_free_all_data
-#define EC_EX_DATA_clear_free_data FIPS_ec_ex_data_clear_free_data
-#define EC_EX_DATA_free_all_data FIPS_ec_ex_data_free_all_data
-#define EC_EX_DATA_free_data FIPS_ec_ex_data_free_data
-#define EC_EX_DATA_get_data FIPS_ec_ex_data_get_data
-#define EC_EX_DATA_set_data FIPS_ec_ex_data_set_data
-#define EC_GF2m_simple_method FIPS_ec_gf2m_simple_method
-#define EC_GFp_mont_method FIPS_ec_gfp_mont_method
-#define EC_GFp_nist_method FIPS_ec_gfp_nist_method
-#define EC_GFp_simple_method FIPS_ec_gfp_simple_method
-#define EC_GROUP_check_discriminant FIPS_ec_group_check_discriminant
+#define EC_EX_DATA_clear_free_all_data fips_ec_ex_data_clear_free_all_data
+#define EC_EX_DATA_clear_free_data fips_ec_ex_data_clear_free_data
+#define EC_EX_DATA_free_all_data fips_ec_ex_data_free_all_data
+#define EC_EX_DATA_free_data fips_ec_ex_data_free_data
+#define EC_EX_DATA_get_data fips_ec_ex_data_get_data
+#define EC_EX_DATA_set_data fips_ec_ex_data_set_data
+#define EC_GF2m_simple_method fips_ec_gf2m_simple_method
+#define EC_GFp_mont_method fips_ec_gfp_mont_method
+#define EC_GFp_nist_method fips_ec_gfp_nist_method
+#define EC_GFp_simple_method fips_ec_gfp_simple_method
+#define EC_GROUP_check_discriminant fips_ec_group_check_discriminant
 #define EC_GROUP_clear_free FIPS_ec_group_clear_free
-#define EC_GROUP_cmp FIPS_ec_group_cmp
-#define EC_GROUP_copy FIPS_ec_group_copy
-#define EC_GROUP_dup FIPS_ec_group_dup
-#define EC_GROUP_free FIPS_ec_group_free
+#define EC_GROUP_cmp fips_ec_group_cmp
+#define EC_GROUP_copy fips_ec_group_copy
+#define EC_GROUP_dup fips_ec_group_dup
+#define EC_GROUP_free fips_ec_group_free
 #define EC_GROUP_get0_generator FIPS_ec_group_get0_generator
 #define EC_GROUP_get0_seed FIPS_ec_group_get0_seed
 #define EC_GROUP_get_asn1_flag FIPS_ec_group_get_asn1_flag
 #define EC_GROUP_get_curve_name FIPS_ec_group_get_curve_name
 #define EC_GROUP_get_degree FIPS_ec_group_get_degree
 #define EC_GROUP_get_order FIPS_ec_group_get_order
-#define EC_GROUP_get_point_conversion_form FIPS_ec_group_get_point_conversion_form
-#define EC_GROUP_get_seed_len FIPS_ec_group_get_seed_len
-#define EC_GROUP_have_precompute_mult FIPS_ec_group_have_precompute_mult
+#define EC_GROUP_get_point_conversion_form fips_ec_group_get_point_conversion_form
+#define EC_GROUP_get_seed_len fips_ec_group_get_seed_len
+#define EC_GROUP_have_precompute_mult fips_ec_group_have_precompute_mult
 #define EC_GROUP_method_of FIPS_ec_group_method_of
 #define EC_GROUP_new FIPS_ec_group_new
 #define EC_GROUP_new_by_curve_name FIPS_ec_group_new_by_curve_name
 #define EC_GROUP_set_curve_name FIPS_ec_group_set_curve_name
 #define EC_GROUP_set_generator FIPS_ec_group_set_generator
 #define EC_GROUP_set_point_conversion_form FIPS_ec_group_set_point_conversion_form
-#define EC_GROUP_set_seed FIPS_ec_group_set_seed
+#define EC_GROUP_set_seed fips_ec_group_set_seed
 #define EC_KEY_check_key FIPS_ec_key_check_key
 #define EC_KEY_copy FIPS_ec_key_copy
 #define EC_KEY_dup FIPS_ec_key_dup
 #define EC_KEY_set_asn1_flag FIPS_ec_key_set_asn1_flag
 #define EC_KEY_set_conv_form FIPS_ec_key_set_conv_form
 #define EC_KEY_set_enc_flags FIPS_ec_key_set_enc_flags
+#define EC_KEY_set_flags FIPS_ec_key_set_flags
+#define EC_KEY_clear_flags FIPS_ec_key_clear_flags
+#define EC_KEY_get_flags FIPS_ec_key_get_flags
 #define EC_KEY_set_group FIPS_ec_key_set_group
 #define EC_KEY_set_private_key FIPS_ec_key_set_private_key
 #define EC_KEY_set_public_key FIPS_ec_key_set_public_key
 #define EC_KEY_set_public_key_affine_coordinates FIPS_ec_key_set_public_key_affine_coordinates
 #define EC_KEY_up_ref FIPS_ec_key_up_ref
 #define EC_METHOD_get_field_type FIPS_ec_method_get_field_type
-#define EC_POINT_add FIPS_ec_point_add
+#define EC_POINT_add fips_ec_point_add
 #define EC_POINT_clear_free FIPS_ec_point_clear_free
-#define EC_POINT_cmp FIPS_ec_point_cmp
-#define EC_POINT_copy FIPS_ec_point_copy
-#define EC_POINT_dbl FIPS_ec_point_dbl
-#define EC_POINT_dup FIPS_ec_point_dup
+#define EC_POINT_cmp fips_ec_point_cmp
+#define EC_POINT_copy fips_ec_point_copy
+#define EC_POINT_dbl fips_ec_point_dbl
+#define EC_POINT_dup fips_ec_point_dup
 #define EC_POINT_free FIPS_ec_point_free
 #define EC_POINT_get_Jprojective_coordinates_GFp FIPS_ec_point_get_jprojective_coordinates_gfp
 #define EC_POINT_get_affine_coordinates_GF2m FIPS_ec_point_get_affine_coordinates_gf2m
 #define EC_POINT_get_affine_coordinates_GFp FIPS_ec_point_get_affine_coordinates_gfp
-#define EC_POINT_invert FIPS_ec_point_invert
+#define EC_POINT_invert fips_ec_point_invert
 #define EC_POINT_is_at_infinity FIPS_ec_point_is_at_infinity
 #define EC_POINT_is_on_curve FIPS_ec_point_is_on_curve
 #define EC_POINT_make_affine FIPS_ec_point_make_affine
 #define EC_POINT_method_of FIPS_ec_point_method_of
 #define EC_POINT_mul FIPS_ec_point_mul
 #define EC_POINT_new FIPS_ec_point_new
-#define EC_POINT_set_Jprojective_coordinates_GFp FIPS_ec_point_set_jprojective_coordinates_gfp
-#define EC_POINT_set_affine_coordinates_GF2m FIPS_ec_point_set_affine_coordinates_gf2m
-#define EC_POINT_set_affine_coordinates_GFp FIPS_ec_point_set_affine_coordinates_gfp
+#define EC_POINT_set_Jprojective_coordinates_GFp fips_ec_point_set_jprojective_coordinates_gfp
+#define EC_POINT_set_affine_coordinates_GF2m fips_ec_point_set_affine_coordinates_gf2m
+#define EC_POINT_set_affine_coordinates_GFp fips_ec_point_set_affine_coordinates_gfp
 #define EC_POINT_set_to_infinity FIPS_ec_point_set_to_infinity
 #define EC_POINTs_make_affine FIPS_ec_points_make_affine
-#define EC_POINTs_mul FIPS_ec_points_mul
+#define EC_POINTs_mul fips_ec_points_mul
 #define EC_get_builtin_curves FIPS_ec_get_builtin_curves
 #define EVP_aes_128_cbc FIPS_evp_aes_128_cbc
+#define EVP_aes_128_ccm FIPS_evp_aes_128_ccm
 #define EVP_aes_128_cfb1 FIPS_evp_aes_128_cfb1
 #define EVP_aes_128_cfb128 FIPS_evp_aes_128_cfb128
 #define EVP_aes_128_cfb8 FIPS_evp_aes_128_cfb8
 #define EVP_aes_128_ecb FIPS_evp_aes_128_ecb
 #define EVP_aes_128_gcm FIPS_evp_aes_128_gcm
 #define EVP_aes_128_ofb FIPS_evp_aes_128_ofb
+#define EVP_aes_128_xts FIPS_evp_aes_128_xts
 #define EVP_aes_192_cbc FIPS_evp_aes_192_cbc
+#define EVP_aes_192_ccm FIPS_evp_aes_192_ccm
 #define EVP_aes_192_cfb1 FIPS_evp_aes_192_cfb1
 #define EVP_aes_192_cfb128 FIPS_evp_aes_192_cfb128
 #define EVP_aes_192_cfb8 FIPS_evp_aes_192_cfb8
 #define EVP_aes_192_gcm FIPS_evp_aes_192_gcm
 #define EVP_aes_192_ofb FIPS_evp_aes_192_ofb
 #define EVP_aes_256_cbc FIPS_evp_aes_256_cbc
+#define EVP_aes_256_ccm FIPS_evp_aes_256_ccm
 #define EVP_aes_256_cfb1 FIPS_evp_aes_256_cfb1
 #define EVP_aes_256_cfb128 FIPS_evp_aes_256_cfb128
 #define EVP_aes_256_cfb8 FIPS_evp_aes_256_cfb8
 #define EVP_aes_256_ecb FIPS_evp_aes_256_ecb
 #define EVP_aes_256_gcm FIPS_evp_aes_256_gcm
 #define EVP_aes_256_ofb FIPS_evp_aes_256_ofb
+#define EVP_aes_256_xts FIPS_evp_aes_256_xts
 #define EVP_des_ede FIPS_evp_des_ede
 #define EVP_des_ede3 FIPS_evp_des_ede3
 #define EVP_des_ede3_cbc FIPS_evp_des_ede3_cbc
 #define EVP_des_ede_cfb64 FIPS_evp_des_ede_cfb64
 #define EVP_des_ede_ecb FIPS_evp_des_ede_ecb
 #define EVP_des_ede_ofb FIPS_evp_des_ede_ofb
+#define EVP_enc_null FIPS_evp_enc_null
 #define EVP_sha1 FIPS_evp_sha1
+#define EVP_dss FIPS_evp_dss
+#define EVP_dss1 FIPS_evp_dss1
+#define EVP_ecdsa FIPS_evp_ecdsa
 #define EVP_sha224 FIPS_evp_sha224
 #define EVP_sha256 FIPS_evp_sha256
 #define EVP_sha384 FIPS_evp_sha384
 #define HMAC_Init FIPS_hmac_init
 #define HMAC_Init_ex FIPS_hmac_init_ex
 #define HMAC_Update FIPS_hmac_update
-#define OPENSSL_NONPIC_relocated FIPS_openssl_nonpic_relocated
-#define OPENSSL_ia32cap_loc FIPS_openssl_ia32cap_loc
-#define OPENSSL_isservice FIPS_openssl_isservice
-#define OPENSSL_issetugid FIPS_openssl_issetugid
+#define OPENSSL_NONPIC_relocated fips_openssl_nonpic_relocated
+#define OPENSSL_ia32cap_loc fips_openssl_ia32cap_loc
+#define OPENSSL_isservice fips_openssl_isservice
+#define OPENSSL_issetugid fips_openssl_issetugid
 #define OPENSSL_showfatal FIPS_openssl_showfatal
 #define OPENSSL_stderr FIPS_openssl_stderr
 #define OpenSSLDie FIPS_openssldie
-#define PKCS1_MGF1 FIPS_pkcs1_mgf1
-#define RAND_SSLeay FIPS_rand_ssleay
-#define RAND_add FIPS_rand_add
-#define RAND_bytes FIPS_ossl_rand_bytes
-#define RAND_cleanup FIPS_rand_cleanup
-#define RAND_egd FIPS_rand_egd
-#define RAND_egd_bytes FIPS_rand_egd_bytes
-#define RAND_event FIPS_rand_event
-#define RAND_file_name FIPS_rand_file_name
-#define RAND_get_rand_method FIPS_rand_get_rand_method
-#define RAND_load_file FIPS_rand_load_file
-#define RAND_poll FIPS_rand_poll
-#define RAND_pseudo_bytes FIPS_rand_pseudo_bytes
-#define RAND_query_egd_bytes FIPS_rand_query_egd_bytes
-#define RAND_screen FIPS_rand_screen
-#define RAND_seed FIPS_ossl_rand_seed
-#define RAND_set_rand_method FIPS_rand_set_rand_method
-#define RAND_status FIPS_ossl_rand_status
-#define RAND_version FIPS_rand_version
-#define RAND_write_file FIPS_rand_write_file
+#define PKCS1_MGF1 fips_pkcs1_mgf1
 #define RSA_PKCS1_SSLeay FIPS_rsa_pkcs1_ssleay
 #define RSA_X931_derive_ex FIPS_rsa_x931_derive_ex
 #define RSA_X931_generate_key_ex FIPS_rsa_x931_generate_key_ex
-#define RSA_X931_hash_id FIPS_rsa_x931_hash_id
+#define RSA_X931_hash_id fips_rsa_x931_hash_id
 #define RSA_blinding_off FIPS_rsa_blinding_off
 #define RSA_blinding_on FIPS_rsa_blinding_on
 #define RSA_flags FIPS_rsa_flags
 #define RSA_generate_key_ex FIPS_rsa_generate_key_ex
-#define RSA_padding_add_PKCS1_OAEP FIPS_rsa_padding_add_pkcs1_oaep
-#define RSA_padding_add_PKCS1_PSS FIPS_rsa_padding_add_pkcs1_pss
-#define RSA_padding_add_PKCS1_PSS_mgf1 FIPS_rsa_padding_add_pkcs1_pss_mgf1
-#define RSA_padding_add_PKCS1_type_1 FIPS_rsa_padding_add_pkcs1_type_1
-#define RSA_padding_add_PKCS1_type_2 FIPS_rsa_padding_add_pkcs1_type_2
-#define RSA_padding_add_SSLv23 FIPS_rsa_padding_add_sslv23
-#define RSA_padding_add_X931 FIPS_rsa_padding_add_x931
-#define RSA_padding_add_none FIPS_rsa_padding_add_none
-#define RSA_padding_check_PKCS1_OAEP FIPS_rsa_padding_check_pkcs1_oaep
-#define RSA_padding_check_PKCS1_type_1 FIPS_rsa_padding_check_pkcs1_type_1
-#define RSA_padding_check_PKCS1_type_2 FIPS_rsa_padding_check_pkcs1_type_2
-#define RSA_padding_check_SSLv23 FIPS_rsa_padding_check_sslv23
-#define RSA_padding_check_X931 FIPS_rsa_padding_check_x931
-#define RSA_padding_check_none FIPS_rsa_padding_check_none
+#define RSA_padding_add_PKCS1_OAEP fips_rsa_padding_add_pkcs1_oaep
+#define RSA_padding_add_PKCS1_PSS fips_rsa_padding_add_pkcs1_pss
+#define RSA_padding_add_PKCS1_PSS_mgf1 fips_rsa_padding_add_pkcs1_pss_mgf1
+#define RSA_padding_add_PKCS1_type_1 fips_rsa_padding_add_pkcs1_type_1
+#define RSA_padding_add_PKCS1_type_2 fips_rsa_padding_add_pkcs1_type_2
+#define RSA_padding_add_SSLv23 fips_rsa_padding_add_sslv23
+#define RSA_padding_add_X931 fips_rsa_padding_add_x931
+#define RSA_padding_add_none fips_rsa_padding_add_none
+#define RSA_padding_check_PKCS1_OAEP fips_rsa_padding_check_pkcs1_oaep
+#define RSA_padding_check_PKCS1_type_1 fips_rsa_padding_check_pkcs1_type_1
+#define RSA_padding_check_PKCS1_type_2 fips_rsa_padding_check_pkcs1_type_2
+#define RSA_padding_check_SSLv23 fips_rsa_padding_check_sslv23
+#define RSA_padding_check_X931 fips_rsa_padding_check_x931
+#define RSA_padding_check_none fips_rsa_padding_check_none
 #define RSA_private_decrypt FIPS_rsa_private_decrypt
 #define RSA_private_encrypt FIPS_rsa_private_encrypt
 #define RSA_public_decrypt FIPS_rsa_public_decrypt
 #define RSA_public_encrypt FIPS_rsa_public_encrypt
-#define RSA_setup_blinding FIPS_rsa_setup_blinding
+#define RSA_setup_blinding fips_rsa_setup_blinding
 #define RSA_size FIPS_rsa_size
-#define RSA_verify_PKCS1_PSS FIPS_rsa_verify_pkcs1_pss
-#define RSA_verify_PKCS1_PSS_mgf1 FIPS_rsa_verify_pkcs1_pss_mgf1
-#define SHA1_Final FIPS_sha1_final
-#define SHA1_Init FIPS_sha1_init
-#define SHA1_Transform FIPS_sha1_transform
-#define SHA1_Update FIPS_sha1_update
-#define SHA1_version FIPS_sha1_version
-#define SHA224 FIPS_sha224
-#define SHA224_Final FIPS_sha224_final
-#define SHA224_Init FIPS_sha224_init
-#define SHA224_Update FIPS_sha224_update
-#define SHA256_Final FIPS_sha256_final
-#define SHA256_Init FIPS_sha256_init
-#define SHA256_Transform FIPS_sha256_transform
-#define SHA256_Update FIPS_sha256_update
-#define SHA256_version FIPS_sha256_version
-#define SHA384 FIPS_sha384
-#define SHA384_Final FIPS_sha384_final
-#define SHA384_Init FIPS_sha384_init
-#define SHA384_Update FIPS_sha384_update
-#define SHA512_Final FIPS_sha512_final
-#define SHA512_Init FIPS_sha512_init
-#define SHA512_Transform FIPS_sha512_transform
-#define SHA512_Update FIPS_sha512_update
-#define SHA512_version FIPS_sha512_version
+#define RSA_verify_PKCS1_PSS fips_rsa_verify_pkcs1_pss
+#define RSA_verify_PKCS1_PSS_mgf1 fips_rsa_verify_pkcs1_pss_mgf1
+#define SHA1_Final fips_sha1_final
+#define SHA1_Init fips_sha1_init
+#define SHA1_Transform fips_sha1_transform
+#define SHA1_Update fips_sha1_update
+#define SHA1_version fips_sha1_version
+#define SHA224 fips_sha224
+#define SHA224_Final fips_sha224_final
+#define SHA224_Init fips_sha224_init
+#define SHA224_Update fips_sha224_update
+#define SHA256_Final fips_sha256_final
+#define SHA256_Init fips_sha256_init
+#define SHA256_Transform fips_sha256_transform
+#define SHA256_Update fips_sha256_update
+#define SHA256_version fips_sha256_version
+#define SHA384 fips_sha384
+#define SHA384_Final fips_sha384_final
+#define SHA384_Init fips_sha384_init
+#define SHA384_Update fips_sha384_update
+#define SHA512_Final fips_sha512_final
+#define SHA512_Init fips_sha512_init
+#define SHA512_Transform fips_sha512_transform
+#define SHA512_Update fips_sha512_update
+#define SHA512_version fips_sha512_version
 #define _shadow_DES_check_key fips__shadow_des_check_key
 #define bn_add_part_words fips_bn_add_part_words
 #define bn_cmp_part_words fips_bn_cmp_part_words
 #define bn_sqr_recursive fips_bn_sqr_recursive
 #define dsa_builtin_paramgen fips_dsa_builtin_paramgen
 #define dsa_builtin_paramgen2 fips_dsa_builtin_paramgen2
+#define dsa_paramgen_check_g fips_dsa_paramgen_check_g
 #define ec_GF2m_have_precompute_mult fips_ec_gf2m_have_precompute_mult
 #define ec_GF2m_precompute_mult fips_ec_gf2m_precompute_mult
 #define ec_GF2m_simple_add fips_ec_gf2m_simple_add
 #define DH_compute_key_padded FIPS_dh_compute_key_padded
 #define ECDH_OpenSSL FIPS_ecdh_openssl
 #define ECDH_compute_key FIPS_ecdh_compute_key
+
+#define CMAC_CTX_cleanup FIPS_cmac_ctx_cleanup
+#define CMAC_CTX_copy FIPS_cmac_ctx_copy
+#define CMAC_CTX_free FIPS_cmac_ctx_free
+#define CMAC_CTX_get0_cipher_ctx FIPS_cmac_ctx_get0_cipher_ctx
+#define CMAC_CTX_new FIPS_cmac_ctx_new
+#define CMAC_Init FIPS_cmac_init
+#define CMAC_Update FIPS_cmac_update
+#define CMAC_Final FIPS_cmac_final
+#define CMAC_resume FIPS_cmac_resume
+
 /* assembler symbols */
 #define gcm_gmult_4bit_x86 fips_gcm_gmult_4bit_x86
 #define gcm_ghash_4bit_x86 fips_gcm_ghash_4bit_x86
-#define AES_cbc_encrypt FIPS_aes_cbc_encrypt
-#define AES_decrypt FIPS_aes_decrypt
-#define AES_encrypt FIPS_aes_encrypt
-#define AES_set_decrypt_key FIPS_aes_set_decrypt_key
-#define AES_set_encrypt_key FIPS_aes_set_encrypt_key
-#define BN_from_montgomery FIPS_bn_from_montgomery
+#define AES_cbc_encrypt fips_aes_cbc_encrypt
+#define AES_decrypt fips_aes_decrypt
+#define AES_encrypt fips_aes_encrypt
+#define AES_set_decrypt_key fips_aes_set_decrypt_key
+#define AES_set_encrypt_key fips_aes_set_encrypt_key
+#define BN_from_montgomery fips_bn_from_montgomery
 #define BN_num_bits_word FIPS_bn_num_bits_word
-#define DES_SPtrans FIPS_des_sptrans
-#define DES_decrypt3 FIPS_des_decrypt3
-#define DES_ede3_cbc_encrypt FIPS_des_ede3_cbc_encrypt
-#define DES_encrypt1 FIPS_des_encrypt1
-#define DES_encrypt2 FIPS_des_encrypt2
-#define DES_encrypt3 FIPS_des_encrypt3
-#define DES_ncbc_encrypt FIPS_des_ncbc_encrypt
-#define OPENSSL_atomic_add FIPS_openssl_atomic_add
+#define DES_SPtrans fips_des_sptrans
+#define DES_decrypt3 fips_des_decrypt3
+#define DES_ede3_cbc_encrypt fips_des_ede3_cbc_encrypt
+#define DES_encrypt1 fips_des_encrypt1
+#define DES_encrypt2 fips_des_encrypt2
+#define DES_encrypt3 fips_des_encrypt3
+#define DES_ncbc_encrypt fips_des_ncbc_encrypt
+#define OPENSSL_altivec_probe fips_openssl_altivec_probe
+#define OPENSSL_atomic_add fips_openssl_atomic_add
 #define OPENSSL_cleanse FIPS_openssl_cleanse
-#define OPENSSL_cpuid_setup FIPS_openssl_cpuid_setup
-#define OPENSSL_ia32_cpuid FIPS_openssl_ia32_cpuid
-#define OPENSSL_ia32cap_P FIPS_openssl_ia32cap_p
-#define OPENSSL_rdtsc FIPS_openssl_rdtsc
-#define OPENSSL_wipe_cpu FIPS_openssl_wipe_cpu
-#define SHA256 FIPS_sha256
-#define SHA512 FIPS_sha512
+#define OPENSSL_cpuid_setup fips_openssl_cpuid_setup
+#define OPENSSL_ia32_cpuid fips_openssl_ia32_cpuid
+#define OPENSSL_ia32cap_P fips_openssl_ia32cap_p
+#define OPENSSL_instrument_bus fips_openssl_instrument_bus
+#define OPENSSL_instrument_bus2 fips_openssl_instrument_bus2
+#define OPENSSL_ppc64_probe fips_openssl_ppc64_probe
+#define OPENSSL_rdtsc fips_openssl_rdtsc
+#define OPENSSL_wipe_cpu fips_openssl_wipe_cpu
+#define SHA256 fips_sha256
+#define SHA512 fips_sha512
 #define aesni_ccm64_decrypt_blocks fips_aesni_ccm64_decrypt_blocks
 #define aesni_ccm64_encrypt_blocks fips_aesni_ccm64_encrypt_blocks
 #define aesni_ctr32_encrypt_blocks fips_aesni_ctr32_encrypt_blocks
 #define bn_mul_comba4 fips_bn_mul_comba4
 #define bn_mul_comba8 fips_bn_mul_comba8
 #define bn_mul_mont fips_bn_mul_mont
+#define bn_sqr_mont fips_bn_sqr_mont
+#define bn_mul_mont_fpu64 fips_bn_mul_mont_fpu64
+#define bn_mul_mont_int fips_bn_mul_mont_int
 #define bn_mul_words fips_bn_mul_words
 #define bn_sqr_comba4 fips_bn_sqr_comba4
 #define bn_sqr_comba8 fips_bn_sqr_comba8
 #define OPENSSL_far_spin fips_openssl_far_spin
 #define OPENSSL_indirect_call fips_openssl_indirect_call
 #define OPENSSL_instrument_halt fips_openssl_instrument_halt
+#define OPENSSL_armcap fips_openssl_armcap
 #define aesni_cbc_encrypt fips_aesni_cbc_encrypt
 #define aesni_decrypt fips_aesni_decrypt
 #define aesni_set_decrypt_key fips_aesni_set_decrypt_key
 #define aesni_set_encrypt_key fips_aesni_set_encrypt_key
+#define bn_GF2m_mul_2x2 fips_bn_GF2m_mul_2x2
+#define gcm_ghash_neon fips_gcm_ghash_neon
+#define gcm_gmult_neon fips_gcm_gmult_neon
+#define aesni_xts_decrypt fips_aesni_xts_decrypt
+#define aesni_xts_encrypt fips_aesni_xts_encrypt
+#define OPENSSL_ia32_rdrand fips_openssl_ia32_rdrand
+#define OPENSSL_armcap_P fips_openssl_armcap_P
+#define _armv7_neon_probe _fips_armv7_neon_probe
+#define _armv7_tick _fips_armv7_tick
+#define _sparcv9_rdtick _fips_sparcv9_rdtick
+#define _sparcv9_vis1_probe _fips_sparcv9_vis1_probe
+#define _sparcv9_vis2_probe _fips_sparcv9_vis2_probe
+#define _sparcv9_fmadd_probe _fips_sparcv9_fmadd_probe
+#define _sparcv9_vis1_instrument _fips_sparcv9_vis1_instrument
+#define bn_mul_mont_gather5 fips_bn_mul_mont_gather5
+#define bn_scatter5 fips_bn_scatter5
+#define bn_gather5 fips_bn_gather5
+
+#if defined(_MSC_VER)
+# pragma const_seg("fipsro$b")
+# pragma const_seg()
+# define __fips_constseg __declspec(allocate("fipsro$b"))
+#else
+# define __fips_constseg
+#endif