New upstream version 18.08
[deb_dpdk.git] / drivers / crypto / openssl / compat.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2018 Cavium Networks
3  */
4
5 #ifndef __RTA_COMPAT_H__
6 #define __RTA_COMPAT_H__
7
8 #if (OPENSSL_VERSION_NUMBER < 0x10100000L)
9
10 #define set_rsa_params(rsa, p, q, ret) \
11         do {rsa->p = p; rsa->q = q; ret = 0; } while (0)
12
13 #define set_rsa_crt_params(rsa, dmp1, dmq1, iqmp, ret) \
14         do { \
15                 rsa->dmp1 = dmp1; \
16                 rsa->dmq1 = dmq1; \
17                 rsa->iqmp = iqmp; \
18                 ret = 0; \
19         } while (0)
20
21 #define set_rsa_keys(rsa, n, e, d, ret) \
22         do { \
23                 rsa->n = n; rsa->e = e; rsa->d = d; ret = 0; \
24         } while (0)
25
26 #define set_dh_params(dh, p, g, ret) \
27         do { \
28                 dh->p = p; \
29                 dh->q = NULL; \
30                 dh->g = g; \
31                 ret = 0; \
32         } while (0)
33
34 #define set_dh_priv_key(dh, priv_key, ret) \
35         do { dh->priv_key = priv_key; ret = 0; } while (0)
36
37 #define set_dsa_params(dsa, p, q, g, ret) \
38         do { dsa->p = p; dsa->q = q; dsa->g = g; ret = 0; } while (0)
39
40 #define get_dh_pub_key(dh, pub_key) \
41         (pub_key = dh->pub_key)
42
43 #define get_dh_priv_key(dh, priv_key) \
44         (priv_key = dh->priv_key)
45
46 #define set_dsa_sign(sign, r, s) \
47         do { sign->r = r; sign->s = s; } while (0)
48
49 #define get_dsa_sign(sign, r, s) \
50         do { r = sign->r; s = sign->s; } while (0)
51
52 #define set_dsa_keys(dsa, pub, priv, ret) \
53         do { dsa->pub_key = pub; dsa->priv_key = priv; ret = 0; } while (0)
54
55 #define set_dsa_pub_key(dsa, pub_key) \
56         (dsa->pub_key = pub_key)
57
58 #define get_dsa_priv_key(dsa, priv_key) \
59         (priv_key = dsa->priv_key)
60
61 #else
62
63 #define set_rsa_params(rsa, p, q, ret) \
64         (ret = !RSA_set0_factors(rsa, p, q))
65
66 #define set_rsa_crt_params(rsa, dmp1, dmq1, iqmp, ret) \
67         (ret = !RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp))
68
69 /* n, e must be non-null, d can be NULL */
70 #define set_rsa_keys(rsa, n, e, d, ret) \
71         (ret = !RSA_set0_key(rsa, n, e, d))
72
73 #define set_dh_params(dh, p, g, ret) \
74         (ret = !DH_set0_pqg(dh, p, NULL, g))
75
76 #define set_dh_priv_key(dh, priv_key, ret) \
77         (ret = !DH_set0_key(dh, NULL, priv_key))
78
79 #define get_dh_pub_key(dh, pub_key) \
80         (DH_get0_key(dh_key, &pub_key, NULL))
81
82 #define get_dh_priv_key(dh, priv_key) \
83         (DH_get0_key(dh_key, NULL, &priv_key))
84
85 #define set_dsa_params(dsa, p, q, g, ret) \
86         (ret = !DSA_set0_pqg(dsa, p, q, g))
87
88 #define set_dsa_priv_key(dsa, priv_key) \
89         (DSA_set0_key(dsa, NULL, priv_key))
90
91 #define set_dsa_sign(sign, r, s) \
92         (DSA_SIG_set0(sign, r, s))
93
94 #define get_dsa_sign(sign, r, s) \
95         (DSA_SIG_get0(sign, &r, &s))
96
97 #define set_dsa_keys(dsa, pub, priv, ret) \
98         (ret = !DSA_set0_key(dsa, pub, priv))
99
100 #define set_dsa_pub_key(dsa, pub_key) \
101         (DSA_set0_key(dsa, pub_key, NULL))
102
103 #define get_dsa_priv_key(dsa, priv_key) \
104         (DSA_get0_key(dsa, NULL, &priv_key))
105
106 #endif /* version < 10100000 */
107
108 #endif /* __RTA_COMPAT_H__ */