1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Cavium Networks
5 #ifndef __RTA_COMPAT_H__
6 #define __RTA_COMPAT_H__
8 #if (OPENSSL_VERSION_NUMBER < 0x10100000L)
10 #define set_rsa_params(rsa, p, q, ret) \
11 do {rsa->p = p; rsa->q = q; ret = 0; } while (0)
13 #define set_rsa_crt_params(rsa, dmp1, dmq1, iqmp, ret) \
21 #define set_rsa_keys(rsa, n, e, d, ret) \
23 rsa->n = n; rsa->e = e; rsa->d = d; ret = 0; \
26 #define set_dh_params(dh, p, g, ret) \
34 #define set_dh_priv_key(dh, priv_key, ret) \
35 do { dh->priv_key = priv_key; ret = 0; } while (0)
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)
40 #define get_dh_pub_key(dh, pub_key) \
41 (pub_key = dh->pub_key)
43 #define get_dh_priv_key(dh, priv_key) \
44 (priv_key = dh->priv_key)
46 #define set_dsa_sign(sign, r, s) \
47 do { sign->r = r; sign->s = s; } while (0)
49 #define get_dsa_sign(sign, r, s) \
50 do { r = sign->r; s = sign->s; } while (0)
52 #define set_dsa_keys(dsa, pub, priv, ret) \
53 do { dsa->pub_key = pub; dsa->priv_key = priv; ret = 0; } while (0)
55 #define set_dsa_pub_key(dsa, pub_key) \
56 (dsa->pub_key = pub_key)
58 #define get_dsa_priv_key(dsa, priv_key) \
59 (priv_key = dsa->priv_key)
63 #define set_rsa_params(rsa, p, q, ret) \
64 (ret = !RSA_set0_factors(rsa, p, q))
66 #define set_rsa_crt_params(rsa, dmp1, dmq1, iqmp, ret) \
67 (ret = !RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp))
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))
73 #define set_dh_params(dh, p, g, ret) \
74 (ret = !DH_set0_pqg(dh, p, NULL, g))
76 #define set_dh_priv_key(dh, priv_key, ret) \
77 (ret = !DH_set0_key(dh, NULL, priv_key))
79 #define get_dh_pub_key(dh, pub_key) \
80 (DH_get0_key(dh_key, &pub_key, NULL))
82 #define get_dh_priv_key(dh, priv_key) \
83 (DH_get0_key(dh_key, NULL, &priv_key))
85 #define set_dsa_params(dsa, p, q, g, ret) \
86 (ret = !DSA_set0_pqg(dsa, p, q, g))
88 #define set_dsa_priv_key(dsa, priv_key) \
89 (DSA_set0_key(dsa, NULL, priv_key))
91 #define set_dsa_sign(sign, r, s) \
92 (DSA_SIG_set0(sign, r, s))
94 #define get_dsa_sign(sign, r, s) \
95 (DSA_SIG_get0(sign, &r, &s))
97 #define set_dsa_keys(dsa, pub, priv, ret) \
98 (ret = !DSA_set0_key(dsa, pub, priv))
100 #define set_dsa_pub_key(dsa, pub_key) \
101 (DSA_set0_key(dsa, pub_key, NULL))
103 #define get_dsa_priv_key(dsa, priv_key) \
104 (DSA_get0_key(dsa, NULL, &priv_key))
106 #endif /* version < 10100000 */
108 #endif /* __RTA_COMPAT_H__ */