forked from wolfSSL/wolfssl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathssl.h
722 lines (628 loc) · 34.2 KB
/
ssl.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
/* ssl.h
*
* Copyright (C) 2006-2021 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* wolfSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
/*
* ssl.h makes wolfssl backwards compatible with cyassl
*/
#ifndef WOLFSSL_CYASSL_H_
#define WOLFSSL_CYASSL_H_
/*
* Name change
* include the new ssl.h
*/
#include <wolfssl/ssl.h>
#include <cyassl/ctaocrypt/types.h>
#include <cyassl/ctaocrypt/settings.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
/* wincrypt.h clashes */
#undef X509_NAME
#endif
#ifdef CYASSL_TIRTOS
#undef CYASSL_TIRTOS
#define CYASSL_TIRTOS WOLFSSL_TIRTOS
#endif
#define CYASSL WOLFSSL
#define DEBUG_CYASSL DEBUG_WOLFSSL
#define CYASSL_CTX WOLFSSL_CTX
#define CYASSL_METHOD WOLFSSL_METHOD
#define CYASSL_SESSION WOLFSSL_SESSION
#define CYASSL_X509 WOLFSSL_X509
#define CYASSL_X509_NAME WOLFSSL_X509_NAME
#define CYASSL_X509_CHAIN WOLFSSL_X509_CHAIN
#ifdef WOLFSSL_SNIFFER
#define CYASSL_SNIFFER WOLFSSL_SNIFFER
#endif
/* redeclare guard */
#define CYASSL_TYPES_DEFINED WOLFSSL_TYPES_DEFINED
/* legacy defines */
#define yasslIP wolfSSLIP /**/
#define yasslPort wolfSSLPort /**/
/* cyassl/ssl.h (structs) */
#define CYASSL_RSA WOLFSSL_RSA
#define CYASSL_DSA WOLFSSL_DSA
#define CYASSL_BIO WOLFSSL_BIO
#define CYASSL_CIPHER WOLFSSL_CIPHER
#define CYASSL_MD4_CTX WOLFSSL_MD4_CTX
#define CYASSL_MFL_2_9 WOLFSSL_MFL_2_9 /**/
#define CYASSL_MFL_2_13 WOLFSSL_MFL_2_13 /**/
#define CYASSL_EVP_PKEY WOLFSSL_EVP_PKEY
#define CYASSL_X509_CRL WOLFSSL_X509_CRL
#define CYASSL_ASN1_TIME WOLFSSL_ASN1_TIME
#define CYASSL_BIO_METHOD WOLFSSL_BIO_METHOD
#define CYASSL_X509_STORE WOLFSSL_X509_STORE
#define CYASSL_X509_OBJECT WOLFSSL_X509_OBJECT
#define CYASSL_X509_LOOKUP WOLFSSL_X509_LOOKUP
#define CYASSL_ASN1_OBJECT WOLFSSL_ASN1_OBJECT
#define CYASSL_ASN1_STRING WOLFSSL_ASN1_STRING
#define CYASSL_COMP_METHOD WOLFSSL_COMP_METHOD
#define CYASSL_CRL_CHECKALL WOLFSSL_CRL_CHECKALL
#define CYASSL_ASN1_INTEGER WOLFSSL_ASN1_INTEGER
#define CYASSL_X509_REVOKED WOLFSSL_X509_REVOKED
#define CYASSL_dynlock_value WOLFSSL_dynlock_value
#define CYASSL_X509_EXTENSION WOLFSSL_X509_EXTENSION
#define CYASSL_X509_STORE_CTX WOLFSSL_X509_STORE_CTX
#define CYASSL_X509_LOOKUP_METHOD WOLFSSL_X509_LOOKUP_METHOD
#define CyaSSL_LoadCRL wolfSSL_LoadCRL
#define CyaSSL_EnableCRL wolfSSL_EnableCRL
#define CyaSSL_SetCRL_Cb wolfSSL_SetCRL_Cb
/* cyassl/test.h */
#ifdef CyaSSL_TEST_H
#define CYASSL_THREAD WOLFSSL_THREAD
#endif
/* src/ssl.c */
#define CYASSL_CRL WOLFSSL_CRL
#define CYASSL_SSLV3 WOLFSSL_SSLV3
#define CYASSL_TLSV1 WOLFSSL_TLSV1
#define CYASSL_TLSV1_1 WOLFSSL_TLSV1_1
#define CYASSL_TLSV1_2 WOLFSSL_TLSV1_2
#define CYASSL_USER_CA WOLFSSL_USER_CA
#define CYASSL_CLIENT_END WOLFSSL_CLIENT_END
#define CYASSL_CERT_MANAGER WOLFSSL_CERT_MANAGER
#define MAX_CYASSL_FILE_SIZE MAX_WOLFSSL_FILE_SIZE
#define CyaSSL_get_cipher wolfSSL_get_cipher
#define CyaSSL_get_ciphers wolfSSL_get_ciphers
#define CyaSSL_KeyPemToDer wolfSSL_KeyPemToDer
#define CyaSSL_get_version wolfSSL_get_version
#define CyaSSL_SetServerID wolfSSL_SetServerID
#define CyaSSL_use_old_poly wolfSSL_use_old_poly
#define CyaSSL_SetCertCbCtx wolfSSL_SetCertCbCtx
#define CyaSSL_CertPemToDer wolfSSL_CertPemToDer
#define CyaSSL_get_shutdown wolfSSL_get_shutdown
#define CyaSSL_SetMinVersion wolfSSL_SetMinVersion
#define CyaSSL_CTX_UnloadCAs wolfSSL_CTX_UnloadCAs
#define CyaSSL_session_reused wolfSSL_session_reused
#define CyaSSL_UnloadCertsKeys wolfSSL_UnloadCertsKeys
#define CyaSSL_CIPHER_get_name wolfSSL_CIPHER_get_name
#define CyaSSL_is_init_finished wolfSSL_is_init_finished
#define CyaSSL_get_alert_history wolfSSL_get_alert_history
#define CyaSSL_get_current_cipher wolfSSL_get_current_cipher
#define CyaSSL_CertManagerUnloadCAs wolfSSL_CertManagerUnloadCAs
#define CyaSSL_CertManagerEnableOCSP wolfSSL_CertManagerEnableOCSP
#define CyaSSL_CTX_check_private_key wolfSSL_CTX_check_private_key
#define CyaSSL_CertManagerDisableOCSP wolfSSL_CertManagerDisableOCSP
#define CyaSSL_get_current_cipher_suite wolfSSL_get_current_cipher_suite
#define CyaSSL_CTX_load_verify_locations wolfSSL_CTX_load_verify_locations
#define CyaSSL_CTX_set_default_passwd_cb wolfSSL_CTX_set_default_passwd_cb
#define CyaSSL_save_session_cache wolfSSL_save_session_cache
#define CyaSSL_restore_session_cache wolfSSL_restore_session_cache
#define CyaSSL_memsave_session_cache wolfSSL_memsave_session_cache
#define CyaSSL_memrestore_session_cache wolfSSL_memrestore_session_cache
#define CyaSSL_get_session_cache_memsize wolfSSL_get_session_cache_memsize
/* certificate cache persistence, uses ctx since certs are per ctx */
#define CyaSSL_CTX_save_cert_cache wolfSSL_CTX_save_cert_cache
#define CyaSSL_CTX_restore_cert_cache wolfSSL_CTX_restore_cert_cache
#define CyaSSL_CTX_memsave_cert_cache wolfSSL_CTX_memsave_cert_cache
#define CyaSSL_CTX_memrestore_cert_cache wolfSSL_CTX_memrestore_cert_cache
#define CyaSSL_CTX_get_cert_cache_memsize wolfSSL_CTX_get_cert_cache_memsize
/* wolfSSL extensions */
/* get wolfSSL peer X509_CHAIN */
#define CyaSSL_get_chain_count wolfSSL_get_chain_count
/* index cert length */
#define CyaSSL_get_chain_length wolfSSL_get_chain_length
/* index cert in X509 */
#define CyaSSL_get_chain_X509 wolfSSL_get_chain_X509
/* free X509 */
#define CyaSSL_FreeX509 wolfSSL_FreeX509
/* get index cert in PEM */
#define CyaSSL_X509_get_subjectCN wolfSSL_X509_get_subjectCN
#define CyaSSL_X509_get_der wolfSSL_X509_get_der
#define CyaSSL_X509_notBefore wolfSSL_X509_notBefore
#define CyaSSL_X509_notAfter wolfSSL_X509_notAfter
#define CyaSSL_X509_get_notBefore wolfSSL_X509_get_notBefore
#define CyaSSL_X509_get_notAfter wolfSSL_X509_get_notAfter
#define CyaSSL_X509_version wolfSSL_X509_version
#define CyaSSL_cmp_peer_cert_to_file wolfSSL_cmp_peer_cert_to_file
#define CyaSSL_X509_get_next_altname wolfSSL_X509_get_next_altname
#define CyaSSL_X509_d2i wolfSSL_X509_d2i
#ifndef NO_FILESYSTEM
#ifndef NO_STDIO_FILESYSTEM
#define CyaSSL_X509_d2i_fp wolfSSL_X509_d2i_fp
#endif
#define CyaSSL_X509_load_certificate_file wolfSSL_X509_load_certificate_file
#endif
#ifdef WOLFSSL_SEP
#define CyaSSL_X509_get_device_type wolfSSL_X509_get_device_type
#define CyaSSL_X509_get_hw_type wolfSSL_X509_get_hw_type
#define CyaSSL_X509_get_hw_serial_number wolfSSL_X509_get_hw_serial_number
#endif
#define CyaSSL_CTX_SetGenCookie wolfSSL_CTX_SetGenCookie
#define CyaSSL_SetCookieCtx wolfSSL_SetCookieCtx
#define CyaSSL_GetCookieCtx wolfSSL_GetCookieCtx
#define CyaSSL_ERR_get_error_line_data wolfSSL_ERR_get_error_line_data
#define CyaSSL_ERR_get_error wolfSSL_ERR_get_error
#define CyaSSL_ERR_clear_error wolfSSL_ERR_clear_error
#define CyaSSL_RAND_status wolfSSL_RAND_status
#define CyaSSL_RAND_bytes wolfSSL_RAND_bytes
#define CyaSSL_CTX_set_options wolfSSL_CTX_set_options
#define CyaSSL_ERR_free_strings wolfSSL_ERR_free_strings
#define CyaSSL_ERR_remove_state wolfSSL_ERR_remove_state
#define CyaSSL_EVP_cleanup wolfSSL_EVP_cleanup
#define CyaSSL_cleanup_all_ex_data wolfSSL_cleanup_all_ex_data
#define CyaSSL_CTX_set_mode wolfSSL_CTX_set_mode
#define CyaSSL_CTX_get_mode wolfSSL_CTX_get_mode
#define CyaSSL_CTX_set_default_read_ahead wolfSSL_CTX_set_default_read_ahead
#define CyaSSL_CTX_sess_set_cache_size wolfSSL_CTX_sess_set_cache_size
#define CyaSSL_CTX_set_default_verify_paths wolfSSL_CTX_set_default_verify_paths
#define CyaSSL_CTX_set_session_id_context wolfSSL_CTX_set_session_id_context
#define CyaSSL_get_peer_certificate wolfSSL_get_peer_certificate
#define CyaSSL_BIO_printf wolfSSL_BIO_printf
#define CyaSSL_ASN1_UTCTIME_print wolfSSL_ASN1_UTCTIME_print
#define CyaSSL_sk_num wolfSSL_sk_num
#define CyaSSL_sk_value wolfSSL_sk_value
/* stunnel 4.28 needs */
#define CyaSSL_CTX_get_ex_data wolfSSL_CTX_get_ex_data
#define CyaSSL_CTX_set_ex_data wolfSSL_CTX_set_ex_data
#define CyaSSL_CTX_sess_set_get_cb wolfSSL_CTX_sess_set_get_cb
#define CyaSSL_CTX_sess_set_new_cb wolfSSL_CTX_sess_set_new_cb
#define CyaSSL_CTX_sess_set_remove_cb wolfSSL_CTX_sess_set_remove_cb
#define CyaSSL_i2d_SSL_SESSION wolfSSL_i2d_SSL_SESSION
#define CyaSSL_d2i_SSL_SESSION wolfSSL_d2i_SSL_SESSION
#define CyaSSL_SESSION_get_timeout wolfSSL_SESSION_get_timeout
#define CyaSSL_SESSION_get_time wolfSSL_SESSION_get_time
#define CyaSSL_CTX_get_ex_new_index wolfSSL_CTX_get_ex_new_index
/* wolfio.c */
#define CYASSL_CBIO_ERR_ISR WOLFSSL_CBIO_ERR_ISR
#define CYASSL_CBIO_ERR_TIMEOUT WOLFSSL_CBIO_ERR_TIMEOUT
#define CYASSL_CBIO_ERR_GENERAL WOLFSSL_CBIO_ERR_GENERAL
#define CYASSL_CBIO_ERR_CONN_RST WOLFSSL_CBIO_ERR_CONN_RST
#define CYASSL_CBIO_ERR_WANT_READ WOLFSSL_CBIO_ERR_WANT_READ
#define CYASSL_CBIO_ERR_WANT_WRITE WOLFSSL_CBIO_ERR_WANT_WRITE
#define CYASSL_CBIO_ERR_CONN_CLOSE WOLFSSL_CBIO_ERR_CONN_CLOSE
#define CyaSSL_GetIOReadCtx wolfSSL_GetIOReadCtx
#define CyaSSL_GetIOWriteCtx wolfSSL_GetIOWriteCtx
/* src/tls.c */
#define CYASSL_SERVER_END WOLFSSL_SERVER_END
#define CYASSL_TLS_HMAC_INNER_SZ WOLFSSL_TLS_HMAC_INNER_SZ
#define CyaSSL_DeriveTlsKeys wolfSSL_DeriveTlsKeys
#define CyaSSL_make_eap_keys wolfSSL_make_eap_keys
#define CyaSSL_MakeTlsMasterSecret wolfSSL_MakeTlsMasterSecret
/* src/internal.c */
#define CYASSL_CHAIN_CA WOLFSSL_CHAIN_CA
#define CYASSL_ALERT_HISTORY WOLFSSL_ALERT_HISTORY
#define CYASSL_SESSION_TIMEOUT WOLFSSL_SESSION_TIMEOUT
#define CYASSL_CBIO_ERR_CONN_RST WOLFSSL_CBIO_ERR_CONN_RST
#define cyassl_rc4 wolfssl_rc4
#define cyassl_aes wolfssl_aes
#define cyassl_chacha wolfssl_chacha
#define CyaSSL_ERR_reason_error_string wolfSSL_ERR_reason_error_string
#define CyaSSL_set_ex_data wolfSSL_set_ex_data
#define CyaSSL_get_shutdown wolfSSL_get_shutdown
#define CyaSSL_set_rfd wolfSSL_set_rfd
#define CyaSSL_set_wfd wolfSSL_set_wfd
#define CyaSSL_set_shutdown wolfSSL_set_shutdown
#define CyaSSL_set_session_id_context wolfSSL_set_session_id_context
#define CyaSSL_set_connect_state wolfSSL_set_connect_state
#define CyaSSL_set_accept_state wolfSSL_set_accept_state
#define CyaSSL_session_reused wolfSSL_session_reused
#define CyaSSL_SESSION_free wolfSSL_SESSION_free
#define CyaSSL_is_init_finished wolfSSL_is_init_finished
#define CyaSSL_get_version wolfSSL_get_version
#define CyaSSL_get_current_cipher_suite wolfSSL_get_current_cipher_suite
#define CyaSSL_get_current_cipher wolfSSL_get_current_cipher
#define CyaSSL_CIPHER_description wolfSSL_CIPHER_description
#define CyaSSL_CIPHER_get_name wolfSSL_CIPHER_get_name
#define CyaSSL_get_cipher wolfSSL_get_cipher
#define CyaSSL_get1_session wolfSSL_get1_session
#define CyaSSL_X509_free wolfSSL_X509_free
#define CyaSSL_OPENSSL_free wolfSSL_OPENSSL_free
#define CyaSSL_OCSP_parse_url wolfSSL_OCSP_parse_url
#define CyaSSLv23_client_method wolfSSLv23_client_method
#define CyaSSLv2_client_method wolfSSLv2_client_method
#define CyaSSLv2_server_method wolfSSLv2_server_method
#define CyaSSL_MD4_Init wolfSSL_MD4_Init
#define CyaSSL_MD4_Update wolfSSL_MD4_Update
#define CyaSSL_MD4_Final wolfSSL_MD4_Final
#define CyaSSL_BIO_new wolfSSL_BIO_new
#define CyaSSL_BIO_free wolfSSL_BIO_free
#define CyaSSL_BIO_free_all wolfSSL_BIO_free_all
#define CyaSSL_BIO_read wolfSSL_BIO_read
#define CyaSSL_BIO_write wolfSSL_BIO_write
#define CyaSSL_BIO_push wolfSSL_BIO_push
#define CyaSSL_BIO_pop wolfSSL_BIO_pop
#define CyaSSL_BIO_flush wolfSSL_BIO_flush
#define CyaSSL_BIO_pending wolfSSL_BIO_pending
#define CyaSSL_BIO_f_buffer wolfSSL_BIO_f_buffer
#define CyaSSL_BIO_set_write_buffer_size wolfSSL_BIO_set_write_buffer_size
#define CyaSSL_BIO_f_ssl wolfSSL_BIO_f_ssl
#define CyaSSL_BIO_new_socket wolfSSL_BIO_new_socket
#define CyaSSL_BIO_eof wolfSSL_BIO_eof
#define CyaSSL_BIO_s_mem wolfSSL_BIO_s_mem
#define CyaSSL_BIO_f_base64 wolfSSL_BIO_f_base64
#define CyaSSL_BIO_set_flags wolfSSL_BIO_set_flags
#define CyaSSL_BIO_get_mem_data wolfSSL_BIO_get_mem_data
#define CyaSSL_BIO_new_mem_buf wolfSSL_BIO_new_mem_buf
#define CyaSSL_BIO_set_ssl wolfSSL_BIO_set_ssl
#define CyaSSL_set_bio wolfSSL_set_bio
#define CyaSSL_add_all_algorithms wolfSSL_add_all_algorithms
#define CyaSSL_RAND_screen wolfSSL_RAND_screen
#define CyaSSL_RAND_file_name wolfSSL_RAND_file_name
#define CyaSSL_RAND_write_file wolfSSL_RAND_write_file
#define CyaSSL_RAND_load_file wolfSSL_RAND_load_file
#define CyaSSL_RAND_egd wolfSSL_RAND_egd
#define CyaSSL_RAND_seed wolfSSL_RAND_seed
#define CyaSSL_RAND_add wolfSSL_RAND_add
#define CyaSSL_COMP_zlib wolfSSL_COMP_zlib
#define CyaSSL_COMP_rle wolfSSL_COMP_rle
#define CyaSSL_COMP_add_compression_method wolfSSL_COMP_add_compression_method
#define CyaSSL_set_dynlock_create_callback wolfSSL_set_dynlock_create_callback
#define CyaSSL_set_dynlock_lock_callback wolfSSL_set_dynlock_lock_callback
#define CyaSSL_set_dynlock_destroy_callback wolfSSL_set_dynlock_destroy_callback
#define CyaSSL_get_ex_new_index wolfSSL_get_ex_new_index
#define CyaSSL_set_id_callback wolfSSL_set_id_callback
#define CyaSSL_set_locking_callback wolfSSL_set_locking_callback
#define CyaSSL_num_locks wolfSSL_num_locks
#define CyaSSL_X509_STORE_CTX_get_current_cert wolfSSL_X509_STORE_CTX_get_current_cert
#define CyaSSL_X509_STORE_CTX_get_error wolfSSL_X509_STORE_CTX_get_error
#define CyaSSL_X509_STORE_CTX_get_error_depth wolfSSL_X509_STORE_CTX_get_error_depth
#define CyaSSL_X509_NAME_oneline wolfSSL_X509_NAME_oneline
#define CyaSSL_X509_get_issuer_name wolfSSL_X509_get_issuer_name
#define CyaSSL_X509_get_subject_name wolfSSL_X509_get_subject_name
#define CyaSSL_X509_ext_isSet_by_NID wolfSSL_X509_ext_isSet_by_NID
#define CyaSSL_X509_ext_get_critical_by_NID wolfSSL_X509_ext_get_critical_by_NID
#define CyaSSL_X509_get_isCA wolfSSL_X509_get_isCA
#define CyaSSL_X509_get_isSet_pathLength wolfSSL_X509_get_isSet_pathLength
#define CyaSSL_X509_get_pathLength wolfSSL_X509_get_pathLength
#define CyaSSL_X509_get_keyUsage wolfSSL_X509_get_keyUsage
#define CyaSSL_X509_get_authorityKeyID wolfSSL_X509_get_authorityKeyID
#define CyaSSL_X509_get_subjectKeyID wolfSSL_X509_get_subjectKeyID
#define CyaSSL_X509_NAME_entry_count wolfSSL_X509_NAME_entry_count
#define CyaSSL_X509_NAME_get_text_by_NID wolfSSL_X509_NAME_get_text_by_NID
#define CyaSSL_X509_verify_cert wolfSSL_X509_verify_cert
#define CyaSSL_X509_verify_cert_error_string wolfSSL_X509_verify_cert_error_string
#define CyaSSL_X509_get_signature_type wolfSSL_X509_get_signature_type
#define CyaSSL_X509_get_signature wolfSSL_X509_get_signature
#define CyaSSL_X509_LOOKUP_add_dir wolfSSL_X509_LOOKUP_add_dir
#define CyaSSL_X509_LOOKUP_load_file wolfSSL_X509_LOOKUP_load_file
#define CyaSSL_X509_LOOKUP_hash_dir wolfSSL_X509_LOOKUP_hash_dir
#define CyaSSL_X509_LOOKUP_file wolfSSL_X509_LOOKUP_file
#define CyaSSL_X509_STORE_add_lookup wolfSSL_X509_STORE_add_lookup
#define CyaSSL_X509_STORE_new wolfSSL_X509_STORE_new
#define CyaSSL_X509_STORE_free wolfSSL_X509_STORE_free
#define CyaSSL_X509_STORE_add_cert wolfSSL_X509_STORE_add_cert
#define CyaSSL_X509_STORE_set_default_paths wolfSSL_X509_STORE_set_default_paths
#define CyaSSL_X509_STORE_get_by_subject wolfSSL_X509_STORE_get_by_subject
#define CyaSSL_X509_STORE_CTX_new wolfSSL_X509_STORE_CTX_new
#define CyaSSL_X509_STORE_CTX_init wolfSSL_X509_STORE_CTX_init
#define CyaSSL_X509_STORE_CTX_free wolfSSL_X509_STORE_CTX_free
#define CyaSSL_X509_STORE_CTX_cleanup wolfSSL_X509_STORE_CTX_cleanup
#define CyaSSL_X509_CRL_get_lastUpdate wolfSSL_X509_CRL_get_lastUpdate
#define CyaSSL_X509_CRL_get_nextUpdate wolfSSL_X509_CRL_get_nextUpdate
#define CyaSSL_X509_get_pubkey wolfSSL_X509_get_pubkey
#define CyaSSL_X509_CRL_verify wolfSSL_X509_CRL_verify
#define CyaSSL_X509_STORE_CTX_set_error wolfSSL_X509_STORE_CTX_set_error
#define CyaSSL_X509_OBJECT_free_contents wolfSSL_X509_OBJECT_free_contents
#define CyaSSL_EVP_PKEY_free wolfSSL_EVP_PKEY_free
#define CyaSSL_X509_cmp_current_time wolfSSL_X509_cmp_current_time
#define CyaSSL_sk_X509_REVOKED_num wolfSSL_sk_X509_REVOKED_num
#define CyaSSL_X509_CRL_get_REVOKED wolfSSL_X509_CRL_get_REVOKED
#define CyaSSL_sk_X509_REVOKED_value wolfSSL_sk_X509_REVOKED_value
#define CyaSSL_X509_get_serialNumber wolfSSL_X509_get_serialNumber
#define CyaSSL_ASN1_TIME_print wolfSSL_ASN1_TIME_print
#define CyaSSL_ASN1_INTEGER_cmp wolfSSL_ASN1_INTEGER_cmp
#define CyaSSL_ASN1_INTEGER_get wolfSSL_ASN1_INTEGER_get
#define CyaSSL_load_client_CA_file wolfSSL_load_client_CA_file
#define CyaSSL_CTX_set_client_CA_list wolfSSL_CTX_set_client_CA_list
#define CyaSSL_X509_STORE_CTX_get_ex_data wolfSSL_X509_STORE_CTX_get_ex_data
#define CyaSSL_get_ex_data_X509_STORE_CTX_idx wolfSSL_get_ex_data_X509_STORE_CTX_idx
#define CyaSSL_get_ex_data wolfSSL_get_ex_data
#define CyaSSL_CTX_set_default_passwd_cb_userdata wolfSSL_CTX_set_default_passwd_cb_userdata
#define CyaSSL_CTX_set_default_passwd_cb wolfSSL_CTX_set_default_passwd_cb
#define CyaSSL_CTX_set_info_callback wolfSSL_CTX_set_info_callback
#define CyaSSL_ERR_peek_error wolfSSL_ERR_peek_error
#define CyaSSL_GET_REASON wolfSSL_GET_REASON
#define CyaSSL_alert_type_string_long wolfSSL_alert_type_string_long
#define CyaSSL_alert_desc_string_long wolfSSL_alert_desc_string_long
#define CyaSSL_state_string_long wolfSSL_state_string_long
#define CyaSSL_RSA_generate_key wolfSSL_RSA_generate_key
#define CyaSSL_CTX_set_tmp_rsa_callback wolfSSL_CTX_set_tmp_rsa_callback
#define CyaSSL_PEM_def_callback wolfSSL_PEM_def_callback
#define CyaSSL_CTX_sess_accept wolfSSL_CTX_sess_accept
#define CyaSSL_CTX_sess_connect wolfSSL_CTX_sess_connect
#define CyaSSL_CTX_sess_accept_good wolfSSL_CTX_sess_accept_good
#define CyaSSL_CTX_sess_connect_good wolfSSL_CTX_sess_connect_good
#define CyaSSL_CTX_sess_accept_renegotiate wolfSSL_CTX_sess_accept_renegotiate
#define CyaSSL_CTX_sess_connect_renegotiate wolfSSL_CTX_sess_connect_renegotiate
#define CyaSSL_CTX_sess_hits wolfSSL_CTX_sess_hits
#define CyaSSL_CTX_sess_cb_hits wolfSSL_CTX_sess_cb_hits
#define CyaSSL_CTX_sess_cache_full wolfSSL_CTX_sess_cache_full
#define CyaSSL_CTX_sess_misses wolfSSL_CTX_sess_misses
#define CyaSSL_CTX_sess_timeouts wolfSSL_CTX_sess_timeouts
#define CyaSSL_CTX_sess_number wolfSSL_CTX_sess_number
#define CyaSSL_CTX_sess_get_cache_size wolfSSL_CTX_sess_get_cache_size
/* src/keys.c */
#define cyassl_triple_des wolfssl_triple_des
/* Initialization and Shutdown */
#define CyaSSL_Init wolfSSL_Init
#define CyaSSL_library_init wolfSSL_library_init
#define CyaSSL_Cleanup wolfSSL_Cleanup
#define CyaSSL_shutdown wolfSSL_shutdown
/* Certs and keys */
#define CyaSSL_SetTmpDH wolfSSL_SetTmpDH
#define CyaSSL_KeepArrays wolfSSL_KeepArrays
#define CyaSSL_FreeArrays wolfSSL_FreeArrays
#define CyaSSL_SetTmpDH_file wolfSSL_SetTmpDH_file
#define CyaSSL_use_PrivateKey_buffer wolfSSL_use_PrivateKey_buffer
#define CyaSSL_use_certificate_buffer wolfSSL_use_certificate_buffer
#define CyaSSL_CTX_load_verify_buffer wolfSSL_CTX_load_verify_buffer
#define CyaSSL_CTX_use_PrivateKey_file wolfSSL_CTX_use_PrivateKey_file
#define CyaSSL_CTX_use_certificate_file wolfSSL_CTX_use_certificate_file
#define CyaSSL_CTX_use_PrivateKey_buffer wolfSSL_CTX_use_PrivateKey_buffer
#define CyaSSL_CTX_use_certificate_buffer wolfSSL_CTX_use_certificate_buffer
#define CyaSSL_use_certificate_chain_buffer wolfSSL_use_certificate_chain_buffer
#define CyaSSL_CTX_der_load_verify_locations \
wolfSSL_CTX_der_load_verify_locations
#define CyaSSL_CTX_use_certificate_chain_file \
wolfSSL_CTX_use_certificate_chain_file
#define CyaSSL_CTX_use_certificate_chain_buffer \
wolfSSL_CTX_use_certificate_chain_buffer
/* Context and Session Setup*/
#define CyaSSL_new wolfSSL_new
#define CyaSSL_free wolfSSL_free
#define CyaSSL_set_fd wolfSSL_set_fd
#define CyaSSL_CTX_new wolfSSL_CTX_new
#define CyaSSL_CTX_free wolfSSL_CTX_free
#define CyaSSL_SetVersion wolfSSL_SetVersion
#define CyaSSL_set_verify wolfSSL_set_verify
#define CyaSSL_set_session wolfSSL_set_session
#define CyaSSL_set_timeout wolfSSL_set_timeout
#define CyaSSL_CTX_set_verify wolfSSL_CTX_set_verify
#define CyaSSL_CTX_set_timeout wolfSSL_CTX_set_timeout
#define CyaSSL_set_cipher_list wolfSSL_set_cipher_list
#define CyaSSL_set_compression wolfSSL_set_compression
#define CyaTLSv1_client_method wolfTLSv1_client_method
#define CyaTLSv1_server_method wolfTLSv1_server_method
#define CyaSSLv3_client_method wolfSSLv3_client_method
#define CyaSSLv3_server_method wolfSSLv3_server_method
#define CyaSSLv23_client_method wolfSSLv23_client_method
#define CyaSSLv23_server_method wolfSSLv23_server_method
#define CyaDTLSv1_client_method wolfDTLSv1_client_method
#define CyaDTLSv1_server_method wolfDTLSv1_server_method
#define CyaSSL_check_domain_name wolfSSL_check_domain_name
#define CyaTLSv1_1_client_method wolfTLSv1_1_client_method
#define CyaTLSv1_1_server_method wolfTLSv1_1_server_method
#define CyaTLSv1_2_client_method wolfTLSv1_2_client_method
#define CyaTLSv1_2_server_method wolfTLSv1_2_server_method
#define CyaDTLSv1_2_client_method wolfDTLSv1_2_client_method
#define CyaDTLSv1_2_server_method wolfDTLSv1_2_server_method
#define CyaSSL_set_group_messages wolfSSL_set_group_messages
#define CyaSSL_CTX_set_cipher_list wolfSSL_CTX_set_cipher_list
#define CyaSSL_CTX_set_group_messages wolfSSL_CTX_set_group_messages
#define CyaSSL_CTX_set_session_cache_mode wolfSSL_CTX_set_session_cache_mode
/* Callbacks */
/*
* Empty comment denotes not listed in CyaSSL Manual
* (soon to be wolfSSL Manual)
*/
#define CyaSSL_accept_ex wolfSSL_accept_ex
#define CyaSSL_SetIORecv wolfSSL_CTX_SetIORecv
#define CyaSSL_SetIOSend wolfSSL_CTX_SetIOSend
#define CyaSSL_connect_ex wolfSSL_connect_ex
#define CyaSSL_CTX_SetCACb wolfSSL_CTX_SetCACb
#define CyaSSL_SetIOReadCtx wolfSSL_SetIOReadCtx
#define CyaSSL_SetRsaEncCtx wolfSSL_SetRsaEncCtx
#define CyaSSL_GetRsaEncCtx wolfSSL_GetRsaEncCtx
#define CyaSSL_SetRsaDecCtx wolfSSL_SetRsaDecCtx
#define CyaSSL_GetRsaDecCtx wolfSSL_GetRsaDecCtx
#define CyaSSL_SetLoggingCb wolfSSL_SetLoggingCb
#define CyaSSL_SetEccSignCtx wolfSSL_SetEccSignCtx
#define CyaSSL_GetEccSignCtx wolfSSL_GetEccSignCtx
#define CyaSSL_SetRsaSignCtx wolfSSL_SetRsaSignCtx
#define CyaSSL_GetRsaSignCtx wolfSSL_GetRsaSignCtx
#define CyaSSL_SetIOWriteCtx wolfSSL_SetIOWriteCtx
#define CyaSSL_SetIOReadFlags wolfSSL_SetIOReadFlags
#define CyaSSL_SetEccVerifyCtx wolfSSL_SetEccVerifyCtx
#define CyaSSL_GetEccVerifyCtx wolfSSL_GetEccVerifyCtx
#define CyaSSL_SetRsaVerifyCtx wolfSSL_SetRsaVerifyCtx
#define CyaSSL_GetRsaVerifyCtx wolfSSL_GetRsaVerifyCtx
#define CyaSSL_CTX_SetRsaEncCb wolfSSL_CTX_SetRsaEncCb
#define CyaSSL_CTX_SetRsaDecCb wolfSSL_CTX_SetRsaDecCb
#define CyaSSL_SetIOWriteFlags wolfSSL_SetIOWriteFlags
#define CyaSSL_SetTlsHmacInner wolfSSL_SetTlsHmacInner
#define CyaSSL_SetMacEncryptCtx wolfSSL_SetMacEncryptCtx
#define CyaSSL_GetMacEncryptCtx wolfSSL_GetMacEncryptCtx
#define CyaSSL_CTX_SetEccSignCb wolfSSL_CTX_SetEccSignCb
#define CyaSSL_CTX_SetRsaSignCb wolfSSL_CTX_SetRsaSignCb
#define CyaSSL_CTX_SetEccVerifyCb wolfSSL_CTX_SetEccVerifyCb
#define CyaSSL_CTX_SetRsaVerifyCb wolfSSL_CTX_SetRsaVerifyCb
#define CyaSSL_CTX_SetMacEncryptCb wolfSSL_CTX_SetMacEncryptCb
#define CyaSSL_SetDecryptVerifyCtx wolfSSL_SetDecryptVerifyCtx
#define CyaSSL_GetDecryptVerifyCtx wolfSSL_GetDecryptVerifyCtx
#define CyaSSL_CTX_SetDecryptVerifyCb wolfSSL_CTX_SetDecryptVerifyCb
/* psk specific */
#ifndef NO_PSK
#define CyaSSL_get_psk_identity wolfSSL_get_psk_identity /**/
#define CyaSSL_get_psk_identity_hint wolfSSL_get_psk_identity_hint /**/
#define CyaSSL_use_psk_identity_hint wolfSSL_use_psk_identity_hint /**/
#define CyaSSL_set_psk_client_callback wolfSSL_set_psk_client_callback /**/
#define CyaSSL_set_psk_server_callback wolfSSL_set_psk_server_callback /**/
#define CyaSSL_CTX_use_psk_identity_hint wolfSSL_CTX_use_psk_identity_hint /**/
#define CyaSSL_CTX_set_psk_client_callback \
wolfSSL_CTX_set_psk_client_callback /**/
#define CyaSSL_CTX_set_psk_server_callback \
wolfSSL_CTX_set_psk_server_callback /**/
#endif
/* end psk specific */
/* Anonymous */
#define CyaSSL_CTX_allow_anon_cipher wolfSSL_CTX_allow_anon_cipher /**/
/* Error Handling and Debugging*/
#define CyaSSL_get_error wolfSSL_get_error
#define CyaSSL_want_read wolfSSL_want_read
#define CyaSSL_want_write wolfSSL_want_write
#define CyaSSL_Debugging_ON wolfSSL_Debugging_ON
#define CyaSSL_Debugging_OFF wolfSSL_Debugging_OFF
#define CyaSSL_ERR_error_string wolfSSL_ERR_error_string
#define CyaSSL_load_error_strings wolfSSL_load_error_strings
#define CyaSSL_ERR_error_string_n wolfSSL_ERR_error_string_n
#define CyaSSL_ERR_print_errors_fp wolfSSL_ERR_print_errors_fp
/* OCSP and CRL */
/*
* Empty comment denotes not listed in CyaSSL Manual
* (soon to be wolfSSL Manual)
*/
#define CYASSL_CRL_MONITOR WOLFSSL_CRL_MONITOR /**/
#define CYASSL_CRL_START_MON WOLFSSL_CRL_START_MON /**/
#define CYASSL_OCSP_NO_NONCE WOLFSSL_OCSP_NO_NONCE /**/
#define CYASSL_OCSP_URL_OVERRIDE WOLFSSL_OCSP_URL_OVERRIDE
#define CYASSL_OCSP_CHECKALL WOLFSSL_OCSP_CHECKALL
#define CyaSSL_CTX_EnableOCSP wolfSSL_CTX_EnableOCSP
#define CyaSSL_CTX_OCSP_set_options wolfSSL_CTX_OCSP_set_options /**/
#define CyaSSL_CTX_SetOCSP_OverrideURL wolfSSL_CTX_SetOCSP_OverrideURL /**/
#define CyaSSL_CTX_OCSP_set_override_url wolfSSL_CTX_OCSP_set_override_url /**/
/* Informational */
#define CyaSSL_GetSide wolfSSL_GetSide
#define CyaSSL_IsTLSv1_1 wolfSSL_IsTLSv1_1
#define CyaSSL_GetKeySize wolfSSL_GetKeySize
#define CyaSSL_GetHmacSize wolfSSL_GetHmacSize
#define CyaSSL_GetHmacType wolfSSL_GetHmacType
#define CyaSSL_GetMacSecret wolfSSL_GetMacSecret
#define CyaSSL_GetObjectSize wolfSSL_GetObjectSize
#define CyaSSL_GetBulkCipher wolfSSL_GetBulkCipher
#define CyaSSL_GetCipherType wolfSSL_GetCipherType
#define CyaSSL_GetAeadMacSize wolfSSL_GetAeadMacSize
#define CyaSSL_GetClientWriteIV wolfSSL_GetClientWriteIV
#define CyaSSL_GetServerWriteIV wolfSSL_GetServerWriteIV
#define CyaSSL_GetClientWriteKey wolfSSL_GetClientWriteKey
#define CyaSSL_GetServerWriteKey wolfSSL_GetServerWriteKey
#define CyaSSL_GetCipherBlockSize wolfSSL_GetCipherBlockSize
/* Connection, Session, and I/O */
#define CyaSSL_peek wolfSSL_peek
#define CyaSSL_read wolfSSL_read
#define CyaSSL_recv wolfSSL_recv
#define CyaSSL_send wolfSSL_send
#define CyaSSL_write wolfSSL_write
#define CyaSSL_writev wolfSSL_writev
#define CyaSSL_accept wolfSSL_accept
#define CyaSSL_get_fd wolfSSL_get_fd
#define CyaSSL_connect wolfSSL_connect
#define CyaSSL_pending wolfSSL_pending
#define CyaSSL_negotiate wolfSSL_negotiate
#define CyaSSL_get_session wolfSSL_get_session
#define CyaSSL_connect_cert wolfSSL_connect_cert
#define CyaSSL_flush_sessions wolfSSL_flush_sessions
#define CyaSSL_get_using_nonblock wolfSSL_get_using_nonblock
#define CyaSSL_PrintSessionStats wolfSSL_PrintSessionStats
/* DTLS Specific */
#define CyaSSL_dtls wolfSSL_dtls
#define CyaSSL_dtls_set_peer wolfSSL_dtls_set_peer
#define CyaSSL_dtls_get_peer wolfSSL_dtls_get_peer
#define CyaSSL_dtls_got_timeout wolfSSL_dtls_got_timeout
#define CyaSSL_dtls_get_current_timeout wolfSSL_dtls_get_current_timeout
#define CyaSSL_set_using_nonblock wolfSSL_dtls_set_using_nonblock
/* Certificate Manager */
#define CyaSSL_CertManagerNew wolfSSL_CertManagerNew
#define CyaSSL_CertManagerFree wolfSSL_CertManagerFree
#define CyaSSL_CertManagerLoadCA wolfSSL_CertManagerLoadCA
#define CyaSSL_CertManagerVerify wolfSSL_CertManagerVerify
#define CyaSSL_CertManagerEnableCRL wolfSSL_CertManagerEnableCRL
#define CyaSSL_CertManagerDisableCRL wolfSSL_CertManagerDisableCRL
#define CyaSSL_CertManagerVerifyBuffer wolfSSL_CertManagerVerifyBuffer
#ifndef NO_CERTS
#define CyaSSL_CertManagerCheckCRL wolfSSL_CertManagerCheckCRL
#define CyaSSL_CertManagerLoadCRL wolfSSL_CertManagerLoadCRL
#define CyaSSL_CertManagerSetCRL_Cb wolfSSL_CertManagerSetCRL_Cb
#define CyaSSL_CertManagerCheckOCSP wolfSSL_CertManagerCheckOCSP
#define CyaSSL_CertManagerSetOCSP_Cb wolfSSL_CertManagerSetOCSP_Cb
#define CyaSSL_CertManagerSetOCSPOverrideURL \
wolfSSL_CertManagerSetOCSPOverrideURL
#define CyaSSL_DisableCRL wolfSSL_DisableCRL
#define CyaSSL_EnableOCSP wolfSSL_EnableOCSP
#define CyaSSL_DisableOCSP wolfSSL_DisableOCSP
#define CyaSSL_SetOCSP_OverrideURL wolfSSL_SetOCSP_OverrideURL
#define CyaSSL_SetOCSP_Cb wolfSSL_SetOCSP_Cb
#define CyaSSL_CTX_EnableCRL wolfSSL_CTX_EnableCRL
#define CyaSSL_CTX_DisableCRL wolfSSL_CTX_DisableCRL
#define CyaSSL_CTX_LoadCRL wolfSSL_CTX_LoadCRL
#define CyaSSL_CTX_SetCRL_Cb wolfSSL_CTX_SetCRL_Cb
#define CyaSSL_CTX_DisableOCSP wolfSSL_CTX_DisableOCSP
#define CyaSSL_CTX_SetOCSP_Cb wolfSSL_CTX_SetOCSP_Cb
#endif /* !NO_CERTS */
/* OpenSSL Compatibility Layer */
#define CyaSSL_get_sessionID wolfSSL_get_sessionID
#define CyaSSL_get_peer_count wolfSSL_get_peer_count
#define CyaSSL_get_chain_cert wolfSSL_get_chain_cert
#define CyaSSL_get_peer_chain wolfSSL_get_peer_chain
#define CyaSSL_get_peer_length wolfSSL_get_peer_length
#define CyaSSL_get_chain_cert_pem wolfSSL_get_chain_cert_pem
#define CyaSSL_use_PrivateKey_file wolfSSL_use_PrivateKey_file
#define CyaSSL_use_certificate_file wolfSSL_use_certificate_file
#define CyaSSL_use_RSAPrivateKey_file wolfSSL_use_RSAPrivateKey_file
#define CyaSSL_X509_get_serial_number wolfSSL_X509_get_serial_number
#define CyaSSL_CTX_use_RSAPrivateKey_file wolfSSL_CTX_use_RSAPrivateKey_file
#define CyaSSL_use_certificate_chain_file wolfSSL_use_certificate_chain_file
/* TLS Extensions */
#define CYASSL_SNI_HOST_NAME WOLFSSL_SNI_HOST_NAME
#define CyaSSL_UseSNI wolfSSL_UseSNI
#define CyaSSL_CTX_UseSNI wolfSSL_CTX_UseSNI
#define CyaSSL_SNI_SetOptions wolfSSL_SNI_SetOptions
#define CyaSSL_SNI_GetRequest wolfSSL_SNI_GetRequest
#define CyaSSL_UseMaxFragment wolfSSL_UseMaxFragment
#define CyaSSL_UseTruncatedHMAC wolfSSL_UseTruncatedHMAC
#define CyaSSL_UseSupportedCurve wolfSSL_UseSupportedCurve
#define CyaSSL_SNI_GetFromBuffer wolfSSL_SNI_GetFromBuffer
#define CyaSSL_CTX_SNI_SetOptions wolfSSL_CTX_SNI_SetOptions
#define CyaSSL_CTX_UseMaxFragment wolfSSL_CTX_UseMaxFragment
#define CyaSSL_CTX_UseTruncatedHMAC wolfSSL_CTX_UseTruncatedHMAC
#define CyaSSL_CTX_UseSupportedCurve wolfSSL_CTX_UseSupportedCurve
/* End wolfssl -> cyassl -> openssl compatibility */
/* JRB macro redefinitions and api calls for cryptography for reverse compat. */
#ifdef WOLFSSL_SMALL_STACK
#define CYASSL_SMALL_STACK
#endif
/*
* wrapper around macros until they are changed in cyassl code
* needs investigation in regards to macros in fips
*/
#ifdef NO_CYASSL_ALLOC_ALIGN
#define NO_WOLFSSL_ALLOC_ALIGN NO_CYASSL_ALLOC_ALIGN
#endif
/* examples/client/client.h */
#define CYASSL_THREAD WOLFSSL_THREAD
#ifdef WOLFSSL_DTLS
#define CYASSL_DTLS WOLFSSL_DTLS
#endif
/* examples/client/client.c */
#define LIBCYASSL_VERSION_STRING LIBWOLFSSL_VERSION_STRING
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CyaSSL_openssl_h__ */