1 /* $OpenBSD: bn.h,v 1.7 2024/04/10 14:58:06 beck Exp $ */ 2 /* 3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org> 4 * 5 * Permission to use, copy, modify, and distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 */ 17 18 #ifndef _LIBCRYPTO_BN_H 19 #define _LIBCRYPTO_BN_H 20 21 #ifndef _MSC_VER 22 #include_next <openssl/bn.h> 23 #else 24 #include "../include/openssl/bn.h" 25 #endif 26 #include "crypto_namespace.h" 27 28 LCRYPTO_USED(BN_set_flags); 29 LCRYPTO_USED(BN_get_flags); 30 LCRYPTO_USED(BN_with_flags); 31 LCRYPTO_USED(BN_GENCB_new); 32 LCRYPTO_USED(BN_GENCB_free); 33 LCRYPTO_USED(BN_GENCB_call); 34 LCRYPTO_USED(BN_GENCB_set_old); 35 LCRYPTO_USED(BN_GENCB_set); 36 LCRYPTO_USED(BN_GENCB_get_arg); 37 LCRYPTO_USED(BN_abs_is_word); 38 LCRYPTO_USED(BN_is_zero); 39 LCRYPTO_USED(BN_is_one); 40 LCRYPTO_USED(BN_is_word); 41 LCRYPTO_USED(BN_is_odd); 42 LCRYPTO_USED(BN_zero); 43 LCRYPTO_USED(BN_one); 44 LCRYPTO_USED(BN_value_one); 45 LCRYPTO_USED(BN_CTX_new); 46 LCRYPTO_USED(BN_CTX_free); 47 LCRYPTO_USED(BN_CTX_start); 48 LCRYPTO_USED(BN_CTX_get); 49 LCRYPTO_USED(BN_CTX_end); 50 LCRYPTO_USED(BN_rand); 51 LCRYPTO_USED(BN_pseudo_rand); 52 LCRYPTO_USED(BN_rand_range); 53 LCRYPTO_USED(BN_pseudo_rand_range); 54 LCRYPTO_USED(BN_num_bits); 55 LCRYPTO_USED(BN_num_bits_word); 56 LCRYPTO_USED(BN_new); 57 LCRYPTO_USED(BN_clear_free); 58 LCRYPTO_USED(BN_copy); 59 LCRYPTO_USED(BN_swap); 60 LCRYPTO_USED(BN_bin2bn); 61 LCRYPTO_USED(BN_bn2bin); 62 LCRYPTO_USED(BN_bn2binpad); 63 LCRYPTO_USED(BN_lebin2bn); 64 LCRYPTO_USED(BN_bn2lebinpad); 65 LCRYPTO_USED(BN_mpi2bn); 66 LCRYPTO_USED(BN_bn2mpi); 67 LCRYPTO_USED(BN_sub); 68 LCRYPTO_USED(BN_usub); 69 LCRYPTO_USED(BN_uadd); 70 LCRYPTO_USED(BN_add); 71 LCRYPTO_USED(BN_mul); 72 LCRYPTO_USED(BN_sqr); 73 LCRYPTO_USED(BN_set_negative); 74 LCRYPTO_USED(BN_is_negative); 75 LCRYPTO_USED(BN_nnmod); 76 LCRYPTO_USED(BN_mod_add); 77 LCRYPTO_USED(BN_mod_add_quick); 78 LCRYPTO_USED(BN_mod_sub); 79 LCRYPTO_USED(BN_mod_sub_quick); 80 LCRYPTO_USED(BN_mod_mul); 81 LCRYPTO_USED(BN_mod_sqr); 82 LCRYPTO_USED(BN_mod_lshift1); 83 LCRYPTO_USED(BN_mod_lshift1_quick); 84 LCRYPTO_USED(BN_mod_lshift); 85 LCRYPTO_USED(BN_mod_lshift_quick); 86 LCRYPTO_USED(BN_mod_word); 87 LCRYPTO_USED(BN_div_word); 88 LCRYPTO_USED(BN_mul_word); 89 LCRYPTO_USED(BN_add_word); 90 LCRYPTO_USED(BN_sub_word); 91 LCRYPTO_USED(BN_set_word); 92 LCRYPTO_USED(BN_get_word); 93 LCRYPTO_USED(BN_cmp); 94 LCRYPTO_USED(BN_free); 95 LCRYPTO_USED(BN_is_bit_set); 96 LCRYPTO_USED(BN_lshift); 97 LCRYPTO_USED(BN_lshift1); 98 LCRYPTO_USED(BN_exp); 99 LCRYPTO_USED(BN_mod_exp_mont_consttime); 100 LCRYPTO_USED(BN_mask_bits); 101 LCRYPTO_USED(BN_print_fp); 102 LCRYPTO_USED(BN_print); 103 LCRYPTO_USED(BN_rshift); 104 LCRYPTO_USED(BN_rshift1); 105 LCRYPTO_USED(BN_clear); 106 LCRYPTO_USED(BN_dup); 107 LCRYPTO_USED(BN_ucmp); 108 LCRYPTO_USED(BN_set_bit); 109 LCRYPTO_USED(BN_clear_bit); 110 LCRYPTO_USED(BN_bn2hex); 111 LCRYPTO_USED(BN_bn2dec); 112 LCRYPTO_USED(BN_hex2bn); 113 LCRYPTO_USED(BN_dec2bn); 114 LCRYPTO_USED(BN_asc2bn); 115 LCRYPTO_USED(BN_kronecker); 116 LCRYPTO_USED(BN_mod_sqrt); 117 LCRYPTO_USED(BN_consttime_swap); 118 LCRYPTO_USED(BN_security_bits); 119 LCRYPTO_USED(BN_generate_prime_ex); 120 LCRYPTO_USED(BN_is_prime_ex); 121 LCRYPTO_USED(BN_is_prime_fasttest_ex); 122 LCRYPTO_USED(BN_MONT_CTX_new); 123 LCRYPTO_USED(BN_mod_mul_montgomery); 124 LCRYPTO_USED(BN_to_montgomery); 125 LCRYPTO_USED(BN_from_montgomery); 126 LCRYPTO_USED(BN_MONT_CTX_free); 127 LCRYPTO_USED(BN_MONT_CTX_set); 128 LCRYPTO_USED(BN_MONT_CTX_copy); 129 LCRYPTO_USED(BN_MONT_CTX_set_locked); 130 LCRYPTO_USED(BN_get_rfc2409_prime_768); 131 LCRYPTO_USED(BN_get_rfc2409_prime_1024); 132 LCRYPTO_USED(BN_get_rfc3526_prime_1536); 133 LCRYPTO_USED(BN_get_rfc3526_prime_2048); 134 LCRYPTO_USED(BN_get_rfc3526_prime_3072); 135 LCRYPTO_USED(BN_get_rfc3526_prime_4096); 136 LCRYPTO_USED(BN_get_rfc3526_prime_6144); 137 LCRYPTO_USED(BN_get_rfc3526_prime_8192); 138 LCRYPTO_USED(ERR_load_BN_strings); 139 LCRYPTO_UNUSED(BN_div); 140 LCRYPTO_UNUSED(BN_mod_exp); 141 LCRYPTO_UNUSED(BN_mod_exp_mont); 142 LCRYPTO_UNUSED(BN_gcd); 143 LCRYPTO_UNUSED(BN_mod_inverse); 144 145 #endif /* _LIBCRYPTO_BN_H */ 146