xref: /openbsd-src/lib/libssl/hidden/openssl/ssl.h (revision 71e048498e9e93d86d440a9a930c1c1566ea505d)
1 /* $OpenBSD: ssl.h,v 1.3 2023/07/08 16:40:14 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 _LIBSSL_SSL_H
19 #define _LIBSSL_SSL_H
20 
21 #ifndef _MSC_VER
22 #include_next <openssl/ssl.h>
23 #else
24 #include "../include/openssl/ssl.h"
25 #endif
26 #include "ssl_namespace.h"
27 
28 LSSL_USED(SSL_CTX_set_msg_callback);
29 LSSL_USED(SSL_set_msg_callback);
30 LSSL_USED(SSL_CTX_set_keylog_callback);
31 LSSL_USED(SSL_CTX_get_keylog_callback);
32 LSSL_USED(SSL_set_num_tickets);
33 LSSL_USED(SSL_get_num_tickets);
34 LSSL_USED(SSL_CTX_set_num_tickets);
35 LSSL_USED(SSL_CTX_get_num_tickets);
36 LSSL_USED(SSL_get0_verified_chain);
37 LSSL_USED(SSL_CTX_sessions);
38 LSSL_USED(SSL_CTX_sess_set_new_cb);
39 LSSL_USED(SSL_CTX_sess_get_new_cb);
40 LSSL_USED(SSL_CTX_sess_set_remove_cb);
41 LSSL_USED(SSL_CTX_sess_get_remove_cb);
42 LSSL_USED(SSL_CTX_sess_set_get_cb);
43 LSSL_USED(SSL_CTX_set_info_callback);
44 LSSL_USED(SSL_CTX_get_info_callback);
45 LSSL_USED(SSL_CTX_set_client_cert_cb);
46 LSSL_USED(SSL_CTX_get_client_cert_cb);
47 LSSL_USED(SSL_CTX_set_client_cert_engine);
48 LSSL_USED(SSL_CTX_set_cookie_generate_cb);
49 LSSL_USED(SSL_CTX_set_cookie_verify_cb);
50 LSSL_USED(SSL_CTX_set_next_protos_advertised_cb);
51 LSSL_USED(SSL_CTX_set_next_proto_select_cb);
52 LSSL_USED(SSL_select_next_proto);
53 LSSL_USED(SSL_get0_next_proto_negotiated);
54 LSSL_USED(SSL_CTX_set_alpn_protos);
55 LSSL_USED(SSL_set_alpn_protos);
56 LSSL_USED(SSL_CTX_set_alpn_select_cb);
57 LSSL_USED(SSL_get0_alpn_selected);
58 LSSL_USED(SSL_set_psk_use_session_callback);
59 LSSL_USED(SSL_get_finished);
60 LSSL_USED(SSL_get_peer_finished);
61 LSSL_USED(SSL_verify_client_post_handshake);
62 LSSL_USED(SSL_CTX_set_post_handshake_auth);
63 LSSL_USED(SSL_set_post_handshake_auth);
64 LSSL_USED(PEM_read_bio_SSL_SESSION);
65 LSSL_USED(PEM_read_SSL_SESSION);
66 LSSL_USED(PEM_write_bio_SSL_SESSION);
67 LSSL_USED(PEM_write_SSL_SESSION);
68 LSSL_USED(SSL_CTX_set0_chain);
69 LSSL_USED(SSL_CTX_set1_chain);
70 LSSL_USED(SSL_CTX_add0_chain_cert);
71 LSSL_USED(SSL_CTX_add1_chain_cert);
72 LSSL_USED(SSL_CTX_get0_chain_certs);
73 LSSL_USED(SSL_CTX_clear_chain_certs);
74 LSSL_USED(SSL_set0_chain);
75 LSSL_USED(SSL_set1_chain);
76 LSSL_USED(SSL_add0_chain_cert);
77 LSSL_USED(SSL_add1_chain_cert);
78 LSSL_USED(SSL_get0_chain_certs);
79 LSSL_USED(SSL_clear_chain_certs);
80 LSSL_USED(SSL_CTX_set1_groups);
81 LSSL_USED(SSL_CTX_set1_groups_list);
82 LSSL_USED(SSL_set1_groups);
83 LSSL_USED(SSL_set1_groups_list);
84 LSSL_USED(SSL_CTX_get_min_proto_version);
85 LSSL_USED(SSL_CTX_get_max_proto_version);
86 LSSL_USED(SSL_CTX_set_min_proto_version);
87 LSSL_USED(SSL_CTX_set_max_proto_version);
88 LSSL_USED(SSL_get_min_proto_version);
89 LSSL_USED(SSL_get_max_proto_version);
90 LSSL_USED(SSL_set_min_proto_version);
91 LSSL_USED(SSL_set_max_proto_version);
92 LSSL_USED(SSL_CTX_get_ssl_method);
93 LSSL_USED(BIO_f_ssl);
94 LSSL_USED(BIO_new_ssl);
95 LSSL_USED(BIO_new_ssl_connect);
96 LSSL_USED(BIO_new_buffer_ssl_connect);
97 LSSL_USED(BIO_ssl_copy_session_id);
98 LSSL_USED(BIO_ssl_shutdown);
99 LSSL_USED(SSL_CTX_get_ciphers);
100 LSSL_USED(SSL_CTX_set_cipher_list);
101 LSSL_USED(SSL_CTX_set_ciphersuites);
102 LSSL_USED(SSL_CTX_new);
103 LSSL_USED(SSL_CTX_free);
104 LSSL_USED(SSL_CTX_up_ref);
105 LSSL_USED(SSL_CTX_set_timeout);
106 LSSL_USED(SSL_CTX_get_timeout);
107 LSSL_USED(SSL_CTX_get_cert_store);
108 LSSL_USED(SSL_CTX_set_cert_store);
109 LSSL_USED(SSL_CTX_get0_certificate);
110 LSSL_USED(SSL_CTX_get0_privatekey);
111 LSSL_USED(SSL_want);
112 LSSL_USED(SSL_clear);
113 LSSL_USED(SSL_CTX_flush_sessions);
114 LSSL_USED(SSL_get_current_cipher);
115 LSSL_USED(SSL_CIPHER_get_by_id);
116 LSSL_USED(SSL_CIPHER_get_by_value);
117 LSSL_USED(SSL_CIPHER_get_bits);
118 LSSL_USED(SSL_CIPHER_get_version);
119 LSSL_USED(SSL_CIPHER_get_name);
120 LSSL_USED(SSL_CIPHER_get_id);
121 LSSL_USED(SSL_CIPHER_get_value);
122 LSSL_USED(SSL_CIPHER_find);
123 LSSL_USED(SSL_CIPHER_get_cipher_nid);
124 LSSL_USED(SSL_CIPHER_get_digest_nid);
125 LSSL_USED(SSL_CIPHER_get_kx_nid);
126 LSSL_USED(SSL_CIPHER_get_auth_nid);
127 LSSL_USED(SSL_CIPHER_is_aead);
128 LSSL_USED(SSL_get_fd);
129 LSSL_USED(SSL_get_rfd);
130 LSSL_USED(SSL_get_wfd);
131 LSSL_USED(SSL_get_cipher_list);
132 LSSL_USED(SSL_get_shared_ciphers);
133 LSSL_USED(SSL_get_read_ahead);
134 LSSL_USED(SSL_pending);
135 LSSL_USED(SSL_set_fd);
136 LSSL_USED(SSL_set_rfd);
137 LSSL_USED(SSL_set_wfd);
138 LSSL_USED(SSL_set_bio);
139 LSSL_USED(SSL_get_rbio);
140 LSSL_USED(SSL_set0_rbio);
141 LSSL_USED(SSL_get_wbio);
142 LSSL_USED(SSL_set_cipher_list);
143 LSSL_USED(SSL_set_ciphersuites);
144 LSSL_USED(SSL_set_read_ahead);
145 LSSL_USED(SSL_get_verify_mode);
146 LSSL_USED(SSL_get_verify_depth);
147 LSSL_USED(SSL_get_verify_callback);
148 LSSL_USED(SSL_set_verify);
149 LSSL_USED(SSL_set_verify_depth);
150 LSSL_USED(SSL_use_RSAPrivateKey);
151 LSSL_USED(SSL_use_RSAPrivateKey_ASN1);
152 LSSL_USED(SSL_use_PrivateKey);
153 LSSL_USED(SSL_use_PrivateKey_ASN1);
154 LSSL_USED(SSL_use_certificate);
155 LSSL_USED(SSL_use_certificate_ASN1);
156 LSSL_USED(SSL_use_RSAPrivateKey_file);
157 LSSL_USED(SSL_use_PrivateKey_file);
158 LSSL_USED(SSL_use_certificate_file);
159 LSSL_USED(SSL_use_certificate_chain_file);
160 LSSL_USED(SSL_CTX_use_RSAPrivateKey_file);
161 LSSL_USED(SSL_CTX_use_PrivateKey_file);
162 LSSL_USED(SSL_CTX_use_certificate_file);
163 LSSL_USED(SSL_CTX_use_certificate_chain_file);
164 LSSL_USED(SSL_CTX_use_certificate_chain_mem);
165 LSSL_USED(SSL_load_client_CA_file);
166 LSSL_USED(SSL_add_file_cert_subjects_to_stack);
167 LSSL_USED(SSL_add_dir_cert_subjects_to_stack);
168 LSSL_USED(SSL_load_error_strings);
169 LSSL_USED(SSL_state_string);
170 LSSL_USED(SSL_rstate_string);
171 LSSL_USED(SSL_state_string_long);
172 LSSL_USED(SSL_rstate_string_long);
173 LSSL_USED(SSL_SESSION_get0_cipher);
174 LSSL_USED(SSL_SESSION_get_master_key);
175 LSSL_USED(SSL_SESSION_get_protocol_version);
176 LSSL_USED(SSL_SESSION_get_time);
177 LSSL_USED(SSL_SESSION_set_time);
178 LSSL_USED(SSL_SESSION_get_timeout);
179 LSSL_USED(SSL_SESSION_set_timeout);
180 LSSL_USED(SSL_copy_session_id);
181 LSSL_USED(SSL_SESSION_get0_peer);
182 LSSL_USED(SSL_SESSION_set1_id);
183 LSSL_USED(SSL_SESSION_set1_id_context);
184 LSSL_USED(SSL_SESSION_is_resumable);
185 LSSL_USED(SSL_SESSION_new);
186 LSSL_USED(SSL_SESSION_free);
187 LSSL_USED(SSL_SESSION_up_ref);
188 LSSL_USED(SSL_SESSION_get_id);
189 LSSL_USED(SSL_SESSION_get0_id_context);
190 LSSL_USED(SSL_SESSION_get_max_early_data);
191 LSSL_USED(SSL_SESSION_set_max_early_data);
192 LSSL_USED(SSL_SESSION_get_ticket_lifetime_hint);
193 LSSL_USED(SSL_SESSION_has_ticket);
194 LSSL_USED(SSL_SESSION_get_compress_id);
195 LSSL_USED(SSL_SESSION_print_fp);
196 LSSL_USED(SSL_SESSION_print);
197 LSSL_USED(i2d_SSL_SESSION);
198 LSSL_USED(SSL_set_session);
199 LSSL_USED(SSL_CTX_add_session);
200 LSSL_USED(SSL_CTX_remove_session);
201 LSSL_USED(SSL_CTX_set_generate_session_id);
202 LSSL_USED(SSL_set_generate_session_id);
203 LSSL_USED(SSL_has_matching_session_id);
204 LSSL_USED(d2i_SSL_SESSION);
205 LSSL_USED(SSL_get_peer_cert_chain);
206 LSSL_USED(SSL_CTX_get_verify_mode);
207 LSSL_USED(SSL_CTX_get_verify_depth);
208 LSSL_USED(SSL_CTX_get_verify_callback);
209 LSSL_USED(SSL_CTX_set_verify);
210 LSSL_USED(SSL_CTX_set_verify_depth);
211 LSSL_USED(SSL_CTX_set_cert_verify_callback);
212 LSSL_USED(SSL_CTX_use_RSAPrivateKey);
213 LSSL_USED(SSL_CTX_use_RSAPrivateKey_ASN1);
214 LSSL_USED(SSL_CTX_use_PrivateKey);
215 LSSL_USED(SSL_CTX_use_PrivateKey_ASN1);
216 LSSL_USED(SSL_CTX_use_certificate);
217 LSSL_USED(SSL_CTX_use_certificate_ASN1);
218 LSSL_USED(SSL_CTX_get_default_passwd_cb);
219 LSSL_USED(SSL_CTX_set_default_passwd_cb);
220 LSSL_USED(SSL_CTX_get_default_passwd_cb_userdata);
221 LSSL_USED(SSL_CTX_set_default_passwd_cb_userdata);
222 LSSL_USED(SSL_CTX_check_private_key);
223 LSSL_USED(SSL_check_private_key);
224 LSSL_USED(SSL_CTX_set_session_id_context);
225 LSSL_USED(SSL_set_session_id_context);
226 LSSL_USED(SSL_CTX_set_purpose);
227 LSSL_USED(SSL_set_purpose);
228 LSSL_USED(SSL_CTX_set_trust);
229 LSSL_USED(SSL_set_trust);
230 LSSL_USED(SSL_set1_host);
231 LSSL_USED(SSL_set_hostflags);
232 LSSL_USED(SSL_get0_peername);
233 LSSL_USED(SSL_CTX_get0_param);
234 LSSL_USED(SSL_CTX_set1_param);
235 LSSL_USED(SSL_get0_param);
236 LSSL_USED(SSL_set1_param);
237 LSSL_USED(SSL_new);
238 LSSL_USED(SSL_free);
239 LSSL_USED(SSL_up_ref);
240 LSSL_USED(SSL_accept);
241 LSSL_USED(SSL_connect);
242 LSSL_USED(SSL_is_dtls);
243 LSSL_USED(SSL_is_server);
244 LSSL_USED(SSL_read);
245 LSSL_USED(SSL_peek);
246 LSSL_USED(SSL_write);
247 LSSL_USED(SSL_read_ex);
248 LSSL_USED(SSL_peek_ex);
249 LSSL_USED(SSL_write_ex);
250 LSSL_USED(SSL_CTX_get_max_early_data);
251 LSSL_USED(SSL_CTX_set_max_early_data);
252 LSSL_USED(SSL_get_max_early_data);
253 LSSL_USED(SSL_set_max_early_data);
254 LSSL_USED(SSL_get_early_data_status);
255 LSSL_USED(SSL_read_early_data);
256 LSSL_USED(SSL_write_early_data);
257 LSSL_USED(SSL_ctrl);
258 LSSL_USED(SSL_callback_ctrl);
259 LSSL_USED(SSL_CTX_ctrl);
260 LSSL_USED(SSL_CTX_callback_ctrl);
261 LSSL_USED(SSL_get_error);
262 LSSL_USED(SSL_get_version);
263 LSSL_USED(SSL_CTX_set_ssl_version);
264 LSSL_USED(SSLv23_method);
265 LSSL_USED(SSLv23_server_method);
266 LSSL_USED(SSLv23_client_method);
267 LSSL_USED(TLSv1_method);
268 LSSL_USED(TLSv1_server_method);
269 LSSL_USED(TLSv1_client_method);
270 LSSL_USED(TLSv1_1_method);
271 LSSL_USED(TLSv1_1_server_method);
272 LSSL_USED(TLSv1_1_client_method);
273 LSSL_USED(TLSv1_2_method);
274 LSSL_USED(TLSv1_2_server_method);
275 LSSL_USED(TLSv1_2_client_method);
276 LSSL_USED(TLS_method);
277 LSSL_USED(TLS_server_method);
278 LSSL_USED(TLS_client_method);
279 LSSL_USED(DTLSv1_method);
280 LSSL_USED(DTLSv1_server_method);
281 LSSL_USED(DTLSv1_client_method);
282 LSSL_USED(DTLSv1_2_method);
283 LSSL_USED(DTLSv1_2_server_method);
284 LSSL_USED(DTLSv1_2_client_method);
285 LSSL_USED(DTLS_method);
286 LSSL_USED(DTLS_server_method);
287 LSSL_USED(DTLS_client_method);
288 LSSL_USED(SSL_get_ciphers);
289 LSSL_USED(SSL_get_client_ciphers);
290 LSSL_USED(SSL_get1_supported_ciphers);
291 LSSL_USED(SSL_do_handshake);
292 LSSL_USED(SSL_renegotiate);
293 LSSL_USED(SSL_renegotiate_abbreviated);
294 LSSL_USED(SSL_renegotiate_pending);
295 LSSL_USED(SSL_shutdown);
296 LSSL_USED(SSL_get_ssl_method);
297 LSSL_USED(SSL_set_ssl_method);
298 LSSL_USED(SSL_alert_type_string_long);
299 LSSL_USED(SSL_alert_type_string);
300 LSSL_USED(SSL_alert_desc_string_long);
301 LSSL_USED(SSL_alert_desc_string);
302 LSSL_USED(SSL_set_client_CA_list);
303 LSSL_USED(SSL_CTX_set_client_CA_list);
304 LSSL_USED(SSL_get_client_CA_list);
305 LSSL_USED(SSL_CTX_get_client_CA_list);
306 LSSL_USED(SSL_add_client_CA);
307 LSSL_USED(SSL_CTX_add_client_CA);
308 LSSL_USED(SSL_set_connect_state);
309 LSSL_USED(SSL_set_accept_state);
310 LSSL_USED(SSL_get_default_timeout);
311 LSSL_USED(SSL_library_init);
312 LSSL_USED(SSL_CIPHER_description);
313 LSSL_USED(SSL_dup_CA_list);
314 LSSL_USED(SSL_dup);
315 LSSL_USED(SSL_get_certificate);
316 LSSL_USED(SSL_get_privatekey);
317 LSSL_USED(SSL_CTX_set_quiet_shutdown);
318 LSSL_USED(SSL_CTX_get_quiet_shutdown);
319 LSSL_USED(SSL_set_quiet_shutdown);
320 LSSL_USED(SSL_get_quiet_shutdown);
321 LSSL_USED(SSL_set_shutdown);
322 LSSL_USED(SSL_get_shutdown);
323 LSSL_USED(SSL_version);
324 LSSL_USED(SSL_CTX_set_default_verify_paths);
325 LSSL_USED(SSL_CTX_load_verify_locations);
326 LSSL_USED(SSL_CTX_load_verify_mem);
327 LSSL_USED(SSL_get_session);
328 LSSL_USED(SSL_get1_session);
329 LSSL_USED(SSL_get_SSL_CTX);
330 LSSL_USED(SSL_set_SSL_CTX);
331 LSSL_USED(SSL_set_info_callback);
332 LSSL_USED(SSL_get_info_callback);
333 LSSL_USED(SSL_state);
334 LSSL_USED(SSL_set_state);
335 LSSL_USED(SSL_set_verify_result);
336 LSSL_USED(SSL_get_verify_result);
337 LSSL_USED(SSL_set_ex_data);
338 LSSL_USED(SSL_get_ex_data);
339 LSSL_USED(SSL_get_ex_new_index);
340 LSSL_USED(SSL_SESSION_set_ex_data);
341 LSSL_USED(SSL_SESSION_get_ex_data);
342 LSSL_USED(SSL_SESSION_get_ex_new_index);
343 LSSL_USED(SSL_CTX_set_ex_data);
344 LSSL_USED(SSL_CTX_get_ex_data);
345 LSSL_USED(SSL_CTX_get_ex_new_index);
346 LSSL_USED(SSL_get_ex_data_X509_STORE_CTX_idx);
347 LSSL_USED(SSL_CTX_set_tmp_rsa_callback);
348 LSSL_USED(SSL_set_tmp_rsa_callback);
349 LSSL_USED(SSL_CTX_set_tmp_dh_callback);
350 LSSL_USED(SSL_set_tmp_dh_callback);
351 LSSL_USED(SSL_CTX_set_tmp_ecdh_callback);
352 LSSL_USED(SSL_set_tmp_ecdh_callback);
353 LSSL_USED(SSL_get_client_random);
354 LSSL_USED(SSL_get_server_random);
355 LSSL_USED(SSL_get_current_compression);
356 LSSL_USED(SSL_get_current_expansion);
357 LSSL_USED(SSL_get_peer_certificate);
358 LSSL_USED(SSL_COMP_get_name);
359 LSSL_USED(SSL_COMP_get_compression_methods);
360 LSSL_USED(SSL_COMP_add_compression_method);
361 LSSL_USED(SSL_set_session_ticket_ext);
362 LSSL_USED(SSL_set_session_ticket_ext_cb);
363 LSSL_USED(SSL_set_session_secret_cb);
364 LSSL_USED(SSL_set_debug);
365 LSSL_USED(SSL_cache_hit);
366 LSSL_USED(SSL_set_security_level);
367 LSSL_USED(SSL_get_security_level);
368 LSSL_USED(SSL_CTX_set_security_level);
369 LSSL_USED(SSL_CTX_get_security_level);
370 LSSL_USED(SSL_CTX_set_quic_method);
371 LSSL_USED(SSL_CTX_sess_get_get_cb);
372 LSSL_USED(SSL_set_quic_method);
373 LSSL_USED(SSL_is_quic);
374 LSSL_USED(SSL_quic_max_handshake_flight_len);
375 LSSL_USED(SSL_quic_read_level);
376 LSSL_USED(SSL_quic_write_level);
377 LSSL_USED(SSL_provide_quic_data);
378 LSSL_USED(SSL_process_quic_post_handshake);
379 LSSL_USED(SSL_set_quic_transport_params);
380 LSSL_USED(SSL_get_peer_quic_transport_params);
381 LSSL_USED(SSL_set_quic_use_legacy_codepoint);
382 LSSL_USED(ERR_load_SSL_strings);
383 LSSL_USED(OPENSSL_init_ssl);
384 
385 #endif /* _LIBSSL_SSL_H */
386