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