blob: 5d91ac6402d8cf3d007f28ac8f72446dfb0d1402 [file] [log] [blame]
Narayan Kamathfc74cb42017-09-13 12:53:52 +01001#ifndef OPENSSL_COMPAT_H
2#define OPENSSL_COMPAT_H
3
Haibo Huangb2279672019-05-31 16:12:39 -07004#include <openssl/bio.h>
5#include "util-internal.h"
6
7#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
8 (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
Narayan Kamathfc74cb42017-09-13 12:53:52 +01009
10static inline BIO_METHOD *BIO_meth_new(int type, const char *name)
11{
12 BIO_METHOD *biom = calloc(1, sizeof(BIO_METHOD));
13
14 if (biom != NULL) {
15 biom->type = type;
16 biom->name = name;
17 }
18 return biom;
19}
20
21#define BIO_meth_set_write(b, f) (b)->bwrite = (f)
22#define BIO_meth_set_read(b, f) (b)->bread = (f)
23#define BIO_meth_set_puts(b, f) (b)->bputs = (f)
24#define BIO_meth_set_ctrl(b, f) (b)->ctrl = (f)
25#define BIO_meth_set_create(b, f) (b)->create = (f)
26#define BIO_meth_set_destroy(b, f) (b)->destroy = (f)
27
28#define BIO_set_init(b, val) (b)->init = (val)
29#define BIO_set_data(b, val) (b)->ptr = (val)
30#define BIO_set_shutdown(b, val) (b)->shutdown = (val)
31#define BIO_get_init(b) (b)->init
32#define BIO_get_data(b) (b)->ptr
33#define BIO_get_shutdown(b) (b)->shutdown
34
35#define TLS_method SSLv23_method
36
Haibo Huangb2279672019-05-31 16:12:39 -070037#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
38 (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) */
39
40#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L
41#define BIO_get_init(b) (b)->init
42#endif
Narayan Kamathfc74cb42017-09-13 12:53:52 +010043
44#endif /* OPENSSL_COMPAT_H */