1 /* $OpenBSD: ec.h,v 1.12 2025年03月09日 15:42:19 tb 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_EC_H 19#define _LIBCRYPTO_EC_H 20 21#ifndef _MSC_VER 22#include_next <openssl/ec.h> 23#else 24#include "../include/openssl/ec.h" 25#endif 26#include "crypto_namespace.h" 27 28 LCRYPTO_USED(EC_GROUP_free); 29 LCRYPTO_USED(EC_GROUP_dup); 30 LCRYPTO_USED(EC_GROUP_set_generator); 31 LCRYPTO_USED(EC_GROUP_get0_generator); 32 LCRYPTO_USED(EC_GROUP_get_order); 33 LCRYPTO_USED(EC_GROUP_order_bits); 34 LCRYPTO_USED(EC_GROUP_get_cofactor); 35 LCRYPTO_USED(EC_GROUP_set_curve_name); 36 LCRYPTO_USED(EC_GROUP_get_curve_name); 37 LCRYPTO_USED(EC_GROUP_set_asn1_flag); 38 LCRYPTO_USED(EC_GROUP_get_asn1_flag); 39 LCRYPTO_USED(EC_GROUP_set_point_conversion_form); 40 LCRYPTO_USED(EC_GROUP_get_point_conversion_form); 41 LCRYPTO_USED(EC_GROUP_get0_seed); 42 LCRYPTO_USED(EC_GROUP_get_seed_len); 43 LCRYPTO_USED(EC_GROUP_set_seed); 44 LCRYPTO_USED(EC_GROUP_set_curve); 45 LCRYPTO_USED(EC_GROUP_get_curve); 46 LCRYPTO_USED(EC_GROUP_get_degree); 47 LCRYPTO_USED(EC_GROUP_check); 48 LCRYPTO_USED(EC_GROUP_check_discriminant); 49 LCRYPTO_USED(EC_GROUP_cmp); 50 LCRYPTO_USED(EC_GROUP_new_curve_GFp); 51 LCRYPTO_USED(EC_GROUP_new_by_curve_name); 52 LCRYPTO_USED(EC_get_builtin_curves); 53 LCRYPTO_USED(EC_curve_nid2nist); 54 LCRYPTO_USED(EC_curve_nist2nid); 55 LCRYPTO_USED(EC_POINT_new); 56 LCRYPTO_USED(EC_POINT_free); 57 LCRYPTO_USED(EC_POINT_copy); 58 LCRYPTO_USED(EC_POINT_dup); 59 LCRYPTO_USED(EC_POINT_set_to_infinity); 60 LCRYPTO_USED(EC_POINT_set_affine_coordinates); 61 LCRYPTO_USED(EC_POINT_get_affine_coordinates); 62 LCRYPTO_USED(EC_POINT_set_compressed_coordinates); 63 LCRYPTO_USED(EC_POINT_point2oct); 64 LCRYPTO_USED(EC_POINT_oct2point); 65 LCRYPTO_USED(EC_POINT_point2bn); 66 LCRYPTO_USED(EC_POINT_bn2point); 67 LCRYPTO_USED(EC_POINT_point2hex); 68 LCRYPTO_USED(EC_POINT_hex2point); 69 LCRYPTO_USED(EC_POINT_add); 70 LCRYPTO_USED(EC_POINT_dbl); 71 LCRYPTO_USED(EC_POINT_invert); 72 LCRYPTO_USED(EC_POINT_is_at_infinity); 73 LCRYPTO_USED(EC_POINT_is_on_curve); 74 LCRYPTO_USED(EC_POINT_cmp); 75 LCRYPTO_USED(EC_POINT_make_affine); 76 LCRYPTO_USED(EC_POINT_mul); 77 LCRYPTO_USED(EC_GROUP_get_basis_type); 78 LCRYPTO_USED(d2i_ECPKParameters); 79 LCRYPTO_USED(i2d_ECPKParameters); 80 LCRYPTO_USED(ECPKParameters_print); 81 LCRYPTO_USED(ECPKParameters_print_fp); 82 LCRYPTO_USED(EC_KEY_new); 83 LCRYPTO_USED(EC_KEY_get_flags); 84 LCRYPTO_USED(EC_KEY_set_flags); 85 LCRYPTO_USED(EC_KEY_clear_flags); 86 LCRYPTO_USED(EC_KEY_new_by_curve_name); 87 LCRYPTO_USED(EC_KEY_free); 88 LCRYPTO_USED(EC_KEY_copy); 89 LCRYPTO_USED(EC_KEY_dup); 90 LCRYPTO_USED(EC_KEY_up_ref); 91 LCRYPTO_USED(EC_KEY_get0_group); 92 LCRYPTO_USED(EC_KEY_set_group); 93 LCRYPTO_USED(EC_KEY_get0_private_key); 94 LCRYPTO_USED(EC_KEY_set_private_key); 95 LCRYPTO_USED(EC_KEY_get0_public_key); 96 LCRYPTO_USED(EC_KEY_set_public_key); 97 LCRYPTO_USED(EC_KEY_get_enc_flags); 98 LCRYPTO_USED(EC_KEY_set_enc_flags); 99 LCRYPTO_USED(EC_KEY_get_conv_form); 100 LCRYPTO_USED(EC_KEY_set_conv_form); 101 LCRYPTO_USED(EC_KEY_set_asn1_flag); 102 LCRYPTO_USED(EC_KEY_precompute_mult); 103 LCRYPTO_USED(EC_KEY_generate_key); 104 LCRYPTO_USED(EC_KEY_check_key); 105 LCRYPTO_USED(EC_KEY_set_public_key_affine_coordinates); 106 LCRYPTO_USED(d2i_ECPrivateKey); 107 LCRYPTO_USED(i2d_ECPrivateKey); 108 LCRYPTO_USED(d2i_ECParameters); 109 LCRYPTO_USED(i2d_ECParameters); 110 LCRYPTO_USED(o2i_ECPublicKey); 111 LCRYPTO_USED(i2o_ECPublicKey); 112 LCRYPTO_USED(ECParameters_print); 113 LCRYPTO_USED(EC_KEY_print); 114 LCRYPTO_USED(ECParameters_print_fp); 115 LCRYPTO_USED(EC_KEY_print_fp); 116 LCRYPTO_USED(EC_KEY_set_ex_data); 117 LCRYPTO_USED(EC_KEY_get_ex_data); 118 LCRYPTO_USED(EC_KEY_OpenSSL); 119 LCRYPTO_USED(EC_KEY_get_default_method); 120 LCRYPTO_USED(EC_KEY_set_default_method); 121 LCRYPTO_USED(EC_KEY_get_method); 122 LCRYPTO_USED(EC_KEY_set_method); 123 LCRYPTO_USED(EC_KEY_new_method); 124 LCRYPTO_USED(ECDH_size); 125 LCRYPTO_USED(ECDH_compute_key); 126 LCRYPTO_USED(ECDSA_SIG_new); 127 LCRYPTO_USED(ECDSA_SIG_free); 128 LCRYPTO_USED(i2d_ECDSA_SIG); 129 LCRYPTO_USED(d2i_ECDSA_SIG); 130 LCRYPTO_USED(ECDSA_SIG_get0_r); 131 LCRYPTO_USED(ECDSA_SIG_get0_s); 132 LCRYPTO_USED(ECDSA_SIG_get0); 133 LCRYPTO_USED(ECDSA_SIG_set0); 134 LCRYPTO_USED(ECDSA_size); 135 LCRYPTO_USED(ECDSA_do_sign); 136 LCRYPTO_USED(ECDSA_do_verify); 137 LCRYPTO_USED(ECDSA_sign); 138 LCRYPTO_USED(ECDSA_verify); 139 LCRYPTO_USED(EC_KEY_METHOD_new); 140 LCRYPTO_USED(EC_KEY_METHOD_free); 141 LCRYPTO_USED(EC_KEY_METHOD_set_init); 142 LCRYPTO_USED(EC_KEY_METHOD_set_keygen); 143 LCRYPTO_USED(EC_KEY_METHOD_set_compute_key); 144 LCRYPTO_USED(EC_KEY_METHOD_set_sign); 145 LCRYPTO_USED(EC_KEY_METHOD_set_verify); 146 LCRYPTO_USED(EC_KEY_METHOD_get_init); 147 LCRYPTO_USED(EC_KEY_METHOD_get_keygen); 148 LCRYPTO_USED(EC_KEY_METHOD_get_compute_key); 149 LCRYPTO_USED(EC_KEY_METHOD_get_sign); 150 LCRYPTO_USED(EC_KEY_METHOD_get_verify); 151 LCRYPTO_USED(ECParameters_dup); 152 LCRYPTO_USED(ERR_load_EC_strings); 153 LCRYPTO_UNUSED(EC_GROUP_clear_free); 154 LCRYPTO_UNUSED(EC_GROUP_set_curve_GFp); 155 LCRYPTO_UNUSED(EC_GROUP_get_curve_GFp); 156 LCRYPTO_UNUSED(EC_POINT_clear_free); 157 LCRYPTO_UNUSED(EC_POINT_set_affine_coordinates_GFp); 158 LCRYPTO_UNUSED(EC_POINT_get_affine_coordinates_GFp); 159 LCRYPTO_UNUSED(EC_POINT_set_compressed_coordinates_GFp); 160 161#endif /* _LIBCRYPTO_EC_H */ 162