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