// Copyright 2024 The BoringSSL Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Generated by go ./util/pregenerate. Do not edit manually.

// IWYU pragma: private

#ifndef OPENSSL_HEADER_PREFIX_SYMBOLS_INTERNAL_C_H
#define OPENSSL_HEADER_PREFIX_SYMBOLS_INTERNAL_C_H

#include <openssl/prefix_symbols.h>


#if defined(BORINGSSL_PREFIX)

#define BORINGSSL_function_hit BORINGSSL_ADD_PREFIX(BORINGSSL_function_hit)
#define CRYPTO_rdrand BORINGSSL_ADD_PREFIX(CRYPTO_rdrand)
#define CRYPTO_rdrand_multiple8_buf BORINGSSL_ADD_PREFIX(CRYPTO_rdrand_multiple8_buf)
#define ChaCha20_ctr32_avx2 BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_avx2)
#define ChaCha20_ctr32_neon BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_neon)
#define ChaCha20_ctr32_nohw BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_nohw)
#define ChaCha20_ctr32_ssse3 BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_ssse3)
#define ChaCha20_ctr32_ssse3_4x BORINGSSL_ADD_PREFIX(ChaCha20_ctr32_ssse3_4x)
#define abi_test_bad_unwind_epilog BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_epilog)
#define abi_test_bad_unwind_temporary BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_temporary)
#define abi_test_bad_unwind_wrong_register BORINGSSL_ADD_PREFIX(abi_test_bad_unwind_wrong_register)
#define abi_test_clobber_d0 BORINGSSL_ADD_PREFIX(abi_test_clobber_d0)
#define abi_test_clobber_d1 BORINGSSL_ADD_PREFIX(abi_test_clobber_d1)
#define abi_test_clobber_d10 BORINGSSL_ADD_PREFIX(abi_test_clobber_d10)
#define abi_test_clobber_d11 BORINGSSL_ADD_PREFIX(abi_test_clobber_d11)
#define abi_test_clobber_d12 BORINGSSL_ADD_PREFIX(abi_test_clobber_d12)
#define abi_test_clobber_d13 BORINGSSL_ADD_PREFIX(abi_test_clobber_d13)
#define abi_test_clobber_d14 BORINGSSL_ADD_PREFIX(abi_test_clobber_d14)
#define abi_test_clobber_d15 BORINGSSL_ADD_PREFIX(abi_test_clobber_d15)
#define abi_test_clobber_d16 BORINGSSL_ADD_PREFIX(abi_test_clobber_d16)
#define abi_test_clobber_d17 BORINGSSL_ADD_PREFIX(abi_test_clobber_d17)
#define abi_test_clobber_d18 BORINGSSL_ADD_PREFIX(abi_test_clobber_d18)
#define abi_test_clobber_d19 BORINGSSL_ADD_PREFIX(abi_test_clobber_d19)
#define abi_test_clobber_d2 BORINGSSL_ADD_PREFIX(abi_test_clobber_d2)
#define abi_test_clobber_d20 BORINGSSL_ADD_PREFIX(abi_test_clobber_d20)
#define abi_test_clobber_d21 BORINGSSL_ADD_PREFIX(abi_test_clobber_d21)
#define abi_test_clobber_d22 BORINGSSL_ADD_PREFIX(abi_test_clobber_d22)
#define abi_test_clobber_d23 BORINGSSL_ADD_PREFIX(abi_test_clobber_d23)
#define abi_test_clobber_d24 BORINGSSL_ADD_PREFIX(abi_test_clobber_d24)
#define abi_test_clobber_d25 BORINGSSL_ADD_PREFIX(abi_test_clobber_d25)
#define abi_test_clobber_d26 BORINGSSL_ADD_PREFIX(abi_test_clobber_d26)
#define abi_test_clobber_d27 BORINGSSL_ADD_PREFIX(abi_test_clobber_d27)
#define abi_test_clobber_d28 BORINGSSL_ADD_PREFIX(abi_test_clobber_d28)
#define abi_test_clobber_d29 BORINGSSL_ADD_PREFIX(abi_test_clobber_d29)
#define abi_test_clobber_d3 BORINGSSL_ADD_PREFIX(abi_test_clobber_d3)
#define abi_test_clobber_d30 BORINGSSL_ADD_PREFIX(abi_test_clobber_d30)
#define abi_test_clobber_d31 BORINGSSL_ADD_PREFIX(abi_test_clobber_d31)
#define abi_test_clobber_d4 BORINGSSL_ADD_PREFIX(abi_test_clobber_d4)
#define abi_test_clobber_d5 BORINGSSL_ADD_PREFIX(abi_test_clobber_d5)
#define abi_test_clobber_d6 BORINGSSL_ADD_PREFIX(abi_test_clobber_d6)
#define abi_test_clobber_d7 BORINGSSL_ADD_PREFIX(abi_test_clobber_d7)
#define abi_test_clobber_d8 BORINGSSL_ADD_PREFIX(abi_test_clobber_d8)
#define abi_test_clobber_d9 BORINGSSL_ADD_PREFIX(abi_test_clobber_d9)
#define abi_test_clobber_eax BORINGSSL_ADD_PREFIX(abi_test_clobber_eax)
#define abi_test_clobber_ebp BORINGSSL_ADD_PREFIX(abi_test_clobber_ebp)
#define abi_test_clobber_ebx BORINGSSL_ADD_PREFIX(abi_test_clobber_ebx)
#define abi_test_clobber_ecx BORINGSSL_ADD_PREFIX(abi_test_clobber_ecx)
#define abi_test_clobber_edi BORINGSSL_ADD_PREFIX(abi_test_clobber_edi)
#define abi_test_clobber_edx BORINGSSL_ADD_PREFIX(abi_test_clobber_edx)
#define abi_test_clobber_esi BORINGSSL_ADD_PREFIX(abi_test_clobber_esi)
#define abi_test_clobber_r0 BORINGSSL_ADD_PREFIX(abi_test_clobber_r0)
#define abi_test_clobber_r1 BORINGSSL_ADD_PREFIX(abi_test_clobber_r1)
#define abi_test_clobber_r10 BORINGSSL_ADD_PREFIX(abi_test_clobber_r10)
#define abi_test_clobber_r11 BORINGSSL_ADD_PREFIX(abi_test_clobber_r11)
#define abi_test_clobber_r12 BORINGSSL_ADD_PREFIX(abi_test_clobber_r12)
#define abi_test_clobber_r13 BORINGSSL_ADD_PREFIX(abi_test_clobber_r13)
#define abi_test_clobber_r14 BORINGSSL_ADD_PREFIX(abi_test_clobber_r14)
#define abi_test_clobber_r15 BORINGSSL_ADD_PREFIX(abi_test_clobber_r15)
#define abi_test_clobber_r2 BORINGSSL_ADD_PREFIX(abi_test_clobber_r2)
#define abi_test_clobber_r3 BORINGSSL_ADD_PREFIX(abi_test_clobber_r3)
#define abi_test_clobber_r4 BORINGSSL_ADD_PREFIX(abi_test_clobber_r4)
#define abi_test_clobber_r5 BORINGSSL_ADD_PREFIX(abi_test_clobber_r5)
#define abi_test_clobber_r6 BORINGSSL_ADD_PREFIX(abi_test_clobber_r6)
#define abi_test_clobber_r7 BORINGSSL_ADD_PREFIX(abi_test_clobber_r7)
#define abi_test_clobber_r8 BORINGSSL_ADD_PREFIX(abi_test_clobber_r8)
#define abi_test_clobber_r9 BORINGSSL_ADD_PREFIX(abi_test_clobber_r9)
#define abi_test_clobber_rax BORINGSSL_ADD_PREFIX(abi_test_clobber_rax)
#define abi_test_clobber_rbp BORINGSSL_ADD_PREFIX(abi_test_clobber_rbp)
#define abi_test_clobber_rbx BORINGSSL_ADD_PREFIX(abi_test_clobber_rbx)
#define abi_test_clobber_rcx BORINGSSL_ADD_PREFIX(abi_test_clobber_rcx)
#define abi_test_clobber_rdi BORINGSSL_ADD_PREFIX(abi_test_clobber_rdi)
#define abi_test_clobber_rdx BORINGSSL_ADD_PREFIX(abi_test_clobber_rdx)
#define abi_test_clobber_rsi BORINGSSL_ADD_PREFIX(abi_test_clobber_rsi)
#define abi_test_clobber_v10_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v10_upper)
#define abi_test_clobber_v11_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v11_upper)
#define abi_test_clobber_v12_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v12_upper)
#define abi_test_clobber_v13_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v13_upper)
#define abi_test_clobber_v14_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v14_upper)
#define abi_test_clobber_v15_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v15_upper)
#define abi_test_clobber_v8_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v8_upper)
#define abi_test_clobber_v9_upper BORINGSSL_ADD_PREFIX(abi_test_clobber_v9_upper)
#define abi_test_clobber_x0 BORINGSSL_ADD_PREFIX(abi_test_clobber_x0)
#define abi_test_clobber_x1 BORINGSSL_ADD_PREFIX(abi_test_clobber_x1)
#define abi_test_clobber_x10 BORINGSSL_ADD_PREFIX(abi_test_clobber_x10)
#define abi_test_clobber_x11 BORINGSSL_ADD_PREFIX(abi_test_clobber_x11)
#define abi_test_clobber_x12 BORINGSSL_ADD_PREFIX(abi_test_clobber_x12)
#define abi_test_clobber_x13 BORINGSSL_ADD_PREFIX(abi_test_clobber_x13)
#define abi_test_clobber_x14 BORINGSSL_ADD_PREFIX(abi_test_clobber_x14)
#define abi_test_clobber_x15 BORINGSSL_ADD_PREFIX(abi_test_clobber_x15)
#define abi_test_clobber_x16 BORINGSSL_ADD_PREFIX(abi_test_clobber_x16)
#define abi_test_clobber_x17 BORINGSSL_ADD_PREFIX(abi_test_clobber_x17)
#define abi_test_clobber_x19 BORINGSSL_ADD_PREFIX(abi_test_clobber_x19)
#define abi_test_clobber_x2 BORINGSSL_ADD_PREFIX(abi_test_clobber_x2)
#define abi_test_clobber_x20 BORINGSSL_ADD_PREFIX(abi_test_clobber_x20)
#define abi_test_clobber_x21 BORINGSSL_ADD_PREFIX(abi_test_clobber_x21)
#define abi_test_clobber_x22 BORINGSSL_ADD_PREFIX(abi_test_clobber_x22)
#define abi_test_clobber_x23 BORINGSSL_ADD_PREFIX(abi_test_clobber_x23)
#define abi_test_clobber_x24 BORINGSSL_ADD_PREFIX(abi_test_clobber_x24)
#define abi_test_clobber_x25 BORINGSSL_ADD_PREFIX(abi_test_clobber_x25)
#define abi_test_clobber_x26 BORINGSSL_ADD_PREFIX(abi_test_clobber_x26)
#define abi_test_clobber_x27 BORINGSSL_ADD_PREFIX(abi_test_clobber_x27)
#define abi_test_clobber_x28 BORINGSSL_ADD_PREFIX(abi_test_clobber_x28)
#define abi_test_clobber_x29 BORINGSSL_ADD_PREFIX(abi_test_clobber_x29)
#define abi_test_clobber_x3 BORINGSSL_ADD_PREFIX(abi_test_clobber_x3)
#define abi_test_clobber_x4 BORINGSSL_ADD_PREFIX(abi_test_clobber_x4)
#define abi_test_clobber_x5 BORINGSSL_ADD_PREFIX(abi_test_clobber_x5)
#define abi_test_clobber_x6 BORINGSSL_ADD_PREFIX(abi_test_clobber_x6)
#define abi_test_clobber_x7 BORINGSSL_ADD_PREFIX(abi_test_clobber_x7)
#define abi_test_clobber_x8 BORINGSSL_ADD_PREFIX(abi_test_clobber_x8)
#define abi_test_clobber_x9 BORINGSSL_ADD_PREFIX(abi_test_clobber_x9)
#define abi_test_clobber_xmm0 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm0)
#define abi_test_clobber_xmm1 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm1)
#define abi_test_clobber_xmm10 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm10)
#define abi_test_clobber_xmm11 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm11)
#define abi_test_clobber_xmm12 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm12)
#define abi_test_clobber_xmm13 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm13)
#define abi_test_clobber_xmm14 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm14)
#define abi_test_clobber_xmm15 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm15)
#define abi_test_clobber_xmm2 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm2)
#define abi_test_clobber_xmm3 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm3)
#define abi_test_clobber_xmm4 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm4)
#define abi_test_clobber_xmm5 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm5)
#define abi_test_clobber_xmm6 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm6)
#define abi_test_clobber_xmm7 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm7)
#define abi_test_clobber_xmm8 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm8)
#define abi_test_clobber_xmm9 BORINGSSL_ADD_PREFIX(abi_test_clobber_xmm9)
#define abi_test_get_and_clear_direction_flag BORINGSSL_ADD_PREFIX(abi_test_get_and_clear_direction_flag)
#define abi_test_set_direction_flag BORINGSSL_ADD_PREFIX(abi_test_set_direction_flag)
#define abi_test_trampoline BORINGSSL_ADD_PREFIX(abi_test_trampoline)
#define abi_test_unwind_return BORINGSSL_ADD_PREFIX(abi_test_unwind_return)
#define abi_test_unwind_start BORINGSSL_ADD_PREFIX(abi_test_unwind_start)
#define abi_test_unwind_stop BORINGSSL_ADD_PREFIX(abi_test_unwind_stop)
#define aes128gcmsiv_aes_ks BORINGSSL_ADD_PREFIX(aes128gcmsiv_aes_ks)
#define aes128gcmsiv_aes_ks_enc_x1 BORINGSSL_ADD_PREFIX(aes128gcmsiv_aes_ks_enc_x1)
#define aes128gcmsiv_dec BORINGSSL_ADD_PREFIX(aes128gcmsiv_dec)
#define aes128gcmsiv_ecb_enc_block BORINGSSL_ADD_PREFIX(aes128gcmsiv_ecb_enc_block)
#define aes128gcmsiv_enc_msg_x4 BORINGSSL_ADD_PREFIX(aes128gcmsiv_enc_msg_x4)
#define aes128gcmsiv_enc_msg_x8 BORINGSSL_ADD_PREFIX(aes128gcmsiv_enc_msg_x8)
#define aes128gcmsiv_kdf BORINGSSL_ADD_PREFIX(aes128gcmsiv_kdf)
#define aes256gcmsiv_aes_ks BORINGSSL_ADD_PREFIX(aes256gcmsiv_aes_ks)
#define aes256gcmsiv_aes_ks_enc_x1 BORINGSSL_ADD_PREFIX(aes256gcmsiv_aes_ks_enc_x1)
#define aes256gcmsiv_dec BORINGSSL_ADD_PREFIX(aes256gcmsiv_dec)
#define aes256gcmsiv_ecb_enc_block BORINGSSL_ADD_PREFIX(aes256gcmsiv_ecb_enc_block)
#define aes256gcmsiv_enc_msg_x4 BORINGSSL_ADD_PREFIX(aes256gcmsiv_enc_msg_x4)
#define aes256gcmsiv_enc_msg_x8 BORINGSSL_ADD_PREFIX(aes256gcmsiv_enc_msg_x8)
#define aes256gcmsiv_kdf BORINGSSL_ADD_PREFIX(aes256gcmsiv_kdf)
#define aes_gcm_dec_kernel BORINGSSL_ADD_PREFIX(aes_gcm_dec_kernel)
#define aes_gcm_dec_kernel_eor3 BORINGSSL_ADD_PREFIX(aes_gcm_dec_kernel_eor3)
#define aes_gcm_dec_update_vaes_avx2 BORINGSSL_ADD_PREFIX(aes_gcm_dec_update_vaes_avx2)
#define aes_gcm_dec_update_vaes_avx512 BORINGSSL_ADD_PREFIX(aes_gcm_dec_update_vaes_avx512)
#define aes_gcm_enc_kernel BORINGSSL_ADD_PREFIX(aes_gcm_enc_kernel)
#define aes_gcm_enc_kernel_eor3 BORINGSSL_ADD_PREFIX(aes_gcm_enc_kernel_eor3)
#define aes_gcm_enc_update_vaes_avx2 BORINGSSL_ADD_PREFIX(aes_gcm_enc_update_vaes_avx2)
#define aes_gcm_enc_update_vaes_avx512 BORINGSSL_ADD_PREFIX(aes_gcm_enc_update_vaes_avx512)
#define aes_hw_cbc_encrypt BORINGSSL_ADD_PREFIX(aes_hw_cbc_encrypt)
#define aes_hw_ccm64_decrypt_blocks BORINGSSL_ADD_PREFIX(aes_hw_ccm64_decrypt_blocks)
#define aes_hw_ccm64_encrypt_blocks BORINGSSL_ADD_PREFIX(aes_hw_ccm64_encrypt_blocks)
#define aes_hw_ctr32_encrypt_blocks BORINGSSL_ADD_PREFIX(aes_hw_ctr32_encrypt_blocks)
#define aes_hw_decrypt BORINGSSL_ADD_PREFIX(aes_hw_decrypt)
#define aes_hw_ecb_encrypt BORINGSSL_ADD_PREFIX(aes_hw_ecb_encrypt)
#define aes_hw_encrypt BORINGSSL_ADD_PREFIX(aes_hw_encrypt)
#define aes_hw_encrypt_key_to_decrypt_key BORINGSSL_ADD_PREFIX(aes_hw_encrypt_key_to_decrypt_key)
#define aes_hw_set_decrypt_key BORINGSSL_ADD_PREFIX(aes_hw_set_decrypt_key)
#define aes_hw_set_encrypt_key BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key)
#define aes_hw_set_encrypt_key_alt BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key_alt)
#define aes_hw_set_encrypt_key_base BORINGSSL_ADD_PREFIX(aes_hw_set_encrypt_key_base)
#define aes_hw_xts_decrypt BORINGSSL_ADD_PREFIX(aes_hw_xts_decrypt)
#define aes_hw_xts_encrypt BORINGSSL_ADD_PREFIX(aes_hw_xts_encrypt)
#define aesgcmsiv_htable6_init BORINGSSL_ADD_PREFIX(aesgcmsiv_htable6_init)
#define aesgcmsiv_htable_init BORINGSSL_ADD_PREFIX(aesgcmsiv_htable_init)
#define aesgcmsiv_htable_polyval BORINGSSL_ADD_PREFIX(aesgcmsiv_htable_polyval)
#define aesgcmsiv_polyval_horner BORINGSSL_ADD_PREFIX(aesgcmsiv_polyval_horner)
#define aesni_gcm_decrypt BORINGSSL_ADD_PREFIX(aesni_gcm_decrypt)
#define aesni_gcm_encrypt BORINGSSL_ADD_PREFIX(aesni_gcm_encrypt)
#define beeu_mod_inverse_vartime BORINGSSL_ADD_PREFIX(beeu_mod_inverse_vartime)
#define bn_add_words BORINGSSL_ADD_PREFIX(bn_add_words)
#define bn_gather5 BORINGSSL_ADD_PREFIX(bn_gather5)
#define bn_mul4x_mont BORINGSSL_ADD_PREFIX(bn_mul4x_mont)
#define bn_mul4x_mont_gather5 BORINGSSL_ADD_PREFIX(bn_mul4x_mont_gather5)
#define bn_mul8x_mont_neon BORINGSSL_ADD_PREFIX(bn_mul8x_mont_neon)
#define bn_mul_add_words BORINGSSL_ADD_PREFIX(bn_mul_add_words)
#define bn_mul_comba4 BORINGSSL_ADD_PREFIX(bn_mul_comba4)
#define bn_mul_comba8 BORINGSSL_ADD_PREFIX(bn_mul_comba8)
#define bn_mul_mont_gather5_nohw BORINGSSL_ADD_PREFIX(bn_mul_mont_gather5_nohw)
#define bn_mul_mont_nohw BORINGSSL_ADD_PREFIX(bn_mul_mont_nohw)
#define bn_mul_mont_words BORINGSSL_ADD_PREFIX(bn_mul_mont_words)
#define bn_mul_words BORINGSSL_ADD_PREFIX(bn_mul_words)
#define bn_mulx4x_mont BORINGSSL_ADD_PREFIX(bn_mulx4x_mont)
#define bn_mulx4x_mont_gather5 BORINGSSL_ADD_PREFIX(bn_mulx4x_mont_gather5)
#define bn_power5_nohw BORINGSSL_ADD_PREFIX(bn_power5_nohw)
#define bn_powerx5 BORINGSSL_ADD_PREFIX(bn_powerx5)
#define bn_scatter5 BORINGSSL_ADD_PREFIX(bn_scatter5)
#define bn_sqr8x_internal BORINGSSL_ADD_PREFIX(bn_sqr8x_internal)
#define bn_sqr8x_mont BORINGSSL_ADD_PREFIX(bn_sqr8x_mont)
#define bn_sqr_add_words BORINGSSL_ADD_PREFIX(bn_sqr_add_words)
#define bn_sqr_comba4 BORINGSSL_ADD_PREFIX(bn_sqr_comba4)
#define bn_sqr_comba8 BORINGSSL_ADD_PREFIX(bn_sqr_comba8)
#define bn_sqrx8x_internal BORINGSSL_ADD_PREFIX(bn_sqrx8x_internal)
#define bn_sub_words BORINGSSL_ADD_PREFIX(bn_sub_words)
#define bsaes_cbc_encrypt BORINGSSL_ADD_PREFIX(bsaes_cbc_encrypt)
#define bsaes_ctr32_encrypt_blocks BORINGSSL_ADD_PREFIX(bsaes_ctr32_encrypt_blocks)
#define chacha20_poly1305_open BORINGSSL_ADD_PREFIX(chacha20_poly1305_open)
#define chacha20_poly1305_open_avx2 BORINGSSL_ADD_PREFIX(chacha20_poly1305_open_avx2)
#define chacha20_poly1305_open_sse41 BORINGSSL_ADD_PREFIX(chacha20_poly1305_open_sse41)
#define chacha20_poly1305_seal BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal)
#define chacha20_poly1305_seal_avx2 BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal_avx2)
#define chacha20_poly1305_seal_sse41 BORINGSSL_ADD_PREFIX(chacha20_poly1305_seal_sse41)
#define ecp_nistz256_div_by_2 BORINGSSL_ADD_PREFIX(ecp_nistz256_div_by_2)
#define ecp_nistz256_mul_by_2 BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_by_2)
#define ecp_nistz256_mul_by_3 BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_by_3)
#define ecp_nistz256_mul_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont)
#define ecp_nistz256_mul_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont_adx)
#define ecp_nistz256_mul_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_mul_mont_nohw)
#define ecp_nistz256_neg BORINGSSL_ADD_PREFIX(ecp_nistz256_neg)
#define ecp_nistz256_ord_mul_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont)
#define ecp_nistz256_ord_mul_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont_adx)
#define ecp_nistz256_ord_mul_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_mul_mont_nohw)
#define ecp_nistz256_ord_sqr_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont)
#define ecp_nistz256_ord_sqr_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont_adx)
#define ecp_nistz256_ord_sqr_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_ord_sqr_mont_nohw)
#define ecp_nistz256_point_add BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add)
#define ecp_nistz256_point_add_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_adx)
#define ecp_nistz256_point_add_affine BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine)
#define ecp_nistz256_point_add_affine_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine_adx)
#define ecp_nistz256_point_add_affine_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_affine_nohw)
#define ecp_nistz256_point_add_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_point_add_nohw)
#define ecp_nistz256_point_double BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double)
#define ecp_nistz256_point_double_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double_adx)
#define ecp_nistz256_point_double_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_point_double_nohw)
#define ecp_nistz256_select_w5 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5)
#define ecp_nistz256_select_w5_avx2 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5_avx2)
#define ecp_nistz256_select_w5_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w5_nohw)
#define ecp_nistz256_select_w7 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7)
#define ecp_nistz256_select_w7_avx2 BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7_avx2)
#define ecp_nistz256_select_w7_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_select_w7_nohw)
#define ecp_nistz256_sqr_mont BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont)
#define ecp_nistz256_sqr_mont_adx BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont_adx)
#define ecp_nistz256_sqr_mont_nohw BORINGSSL_ADD_PREFIX(ecp_nistz256_sqr_mont_nohw)
#define ecp_nistz256_sub BORINGSSL_ADD_PREFIX(ecp_nistz256_sub)
#define fiat_curve25519_adx_mul BORINGSSL_ADD_PREFIX(fiat_curve25519_adx_mul)
#define fiat_curve25519_adx_square BORINGSSL_ADD_PREFIX(fiat_curve25519_adx_square)
#define fiat_p256_adx_mul BORINGSSL_ADD_PREFIX(fiat_p256_adx_mul)
#define fiat_p256_adx_sqr BORINGSSL_ADD_PREFIX(fiat_p256_adx_sqr)
#define gcm_ghash_avx BORINGSSL_ADD_PREFIX(gcm_ghash_avx)
#define gcm_ghash_clmul BORINGSSL_ADD_PREFIX(gcm_ghash_clmul)
#define gcm_ghash_neon BORINGSSL_ADD_PREFIX(gcm_ghash_neon)
#define gcm_ghash_ssse3 BORINGSSL_ADD_PREFIX(gcm_ghash_ssse3)
#define gcm_ghash_v8 BORINGSSL_ADD_PREFIX(gcm_ghash_v8)
#define gcm_ghash_vpclmulqdq_avx2 BORINGSSL_ADD_PREFIX(gcm_ghash_vpclmulqdq_avx2)
#define gcm_ghash_vpclmulqdq_avx512 BORINGSSL_ADD_PREFIX(gcm_ghash_vpclmulqdq_avx512)
#define gcm_gmult_avx BORINGSSL_ADD_PREFIX(gcm_gmult_avx)
#define gcm_gmult_clmul BORINGSSL_ADD_PREFIX(gcm_gmult_clmul)
#define gcm_gmult_neon BORINGSSL_ADD_PREFIX(gcm_gmult_neon)
#define gcm_gmult_ssse3 BORINGSSL_ADD_PREFIX(gcm_gmult_ssse3)
#define gcm_gmult_v8 BORINGSSL_ADD_PREFIX(gcm_gmult_v8)
#define gcm_gmult_vpclmulqdq_avx2 BORINGSSL_ADD_PREFIX(gcm_gmult_vpclmulqdq_avx2)
#define gcm_gmult_vpclmulqdq_avx512 BORINGSSL_ADD_PREFIX(gcm_gmult_vpclmulqdq_avx512)
#define gcm_init_avx BORINGSSL_ADD_PREFIX(gcm_init_avx)
#define gcm_init_clmul BORINGSSL_ADD_PREFIX(gcm_init_clmul)
#define gcm_init_neon BORINGSSL_ADD_PREFIX(gcm_init_neon)
#define gcm_init_v8 BORINGSSL_ADD_PREFIX(gcm_init_v8)
#define gcm_init_vpclmulqdq_avx2 BORINGSSL_ADD_PREFIX(gcm_init_vpclmulqdq_avx2)
#define gcm_init_vpclmulqdq_avx512 BORINGSSL_ADD_PREFIX(gcm_init_vpclmulqdq_avx512)
#define md5_block_asm_data_order BORINGSSL_ADD_PREFIX(md5_block_asm_data_order)
#define openssl_poly1305_neon2_addmulmod BORINGSSL_ADD_PREFIX(openssl_poly1305_neon2_addmulmod)
#define openssl_poly1305_neon2_blocks BORINGSSL_ADD_PREFIX(openssl_poly1305_neon2_blocks)
#define p_thread_callback_boringssl BORINGSSL_ADD_PREFIX(p_thread_callback_boringssl)
#define poly_Rq_mul BORINGSSL_ADD_PREFIX(poly_Rq_mul)
#define rsaz_1024_gather5_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_gather5_avx2)
#define rsaz_1024_mul_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_mul_avx2)
#define rsaz_1024_norm2red_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_norm2red_avx2)
#define rsaz_1024_red2norm_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_red2norm_avx2)
#define rsaz_1024_scatter5_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_scatter5_avx2)
#define rsaz_1024_sqr_avx2 BORINGSSL_ADD_PREFIX(rsaz_1024_sqr_avx2)
#define sha1_block_data_order_avx BORINGSSL_ADD_PREFIX(sha1_block_data_order_avx)
#define sha1_block_data_order_avx2 BORINGSSL_ADD_PREFIX(sha1_block_data_order_avx2)
#define sha1_block_data_order_hw BORINGSSL_ADD_PREFIX(sha1_block_data_order_hw)
#define sha1_block_data_order_neon BORINGSSL_ADD_PREFIX(sha1_block_data_order_neon)
#define sha1_block_data_order_nohw BORINGSSL_ADD_PREFIX(sha1_block_data_order_nohw)
#define sha1_block_data_order_ssse3 BORINGSSL_ADD_PREFIX(sha1_block_data_order_ssse3)
#define sha256_block_data_order_avx BORINGSSL_ADD_PREFIX(sha256_block_data_order_avx)
#define sha256_block_data_order_hw BORINGSSL_ADD_PREFIX(sha256_block_data_order_hw)
#define sha256_block_data_order_neon BORINGSSL_ADD_PREFIX(sha256_block_data_order_neon)
#define sha256_block_data_order_nohw BORINGSSL_ADD_PREFIX(sha256_block_data_order_nohw)
#define sha256_block_data_order_ssse3 BORINGSSL_ADD_PREFIX(sha256_block_data_order_ssse3)
#define sha512_block_data_order_avx BORINGSSL_ADD_PREFIX(sha512_block_data_order_avx)
#define sha512_block_data_order_hw BORINGSSL_ADD_PREFIX(sha512_block_data_order_hw)
#define sha512_block_data_order_neon BORINGSSL_ADD_PREFIX(sha512_block_data_order_neon)
#define sha512_block_data_order_nohw BORINGSSL_ADD_PREFIX(sha512_block_data_order_nohw)
#define sha512_block_data_order_ssse3 BORINGSSL_ADD_PREFIX(sha512_block_data_order_ssse3)
#define vpaes_cbc_encrypt BORINGSSL_ADD_PREFIX(vpaes_cbc_encrypt)
#define vpaes_ctr32_encrypt_blocks BORINGSSL_ADD_PREFIX(vpaes_ctr32_encrypt_blocks)
#define vpaes_decrypt BORINGSSL_ADD_PREFIX(vpaes_decrypt)
#define vpaes_decrypt_key_to_bsaes BORINGSSL_ADD_PREFIX(vpaes_decrypt_key_to_bsaes)
#define vpaes_encrypt BORINGSSL_ADD_PREFIX(vpaes_encrypt)
#define vpaes_encrypt_key_to_bsaes BORINGSSL_ADD_PREFIX(vpaes_encrypt_key_to_bsaes)
#define vpaes_set_decrypt_key BORINGSSL_ADD_PREFIX(vpaes_set_decrypt_key)
#define vpaes_set_encrypt_key BORINGSSL_ADD_PREFIX(vpaes_set_encrypt_key)
#define x25519_NEON BORINGSSL_ADD_PREFIX(x25519_NEON)

#endif  // BORINGSSL_PREFIX

#endif  // OPENSSL_HEADER_PREFIX_SYMBOLS_INTERNAL_C_H
