crypto/openssl: add RSA and mod asym operations
[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 #else
27
28 #define set_rsa_params(rsa, p, q, ret) \
29         (ret = !RSA_set0_factors(rsa, p, q))
30
31 #define set_rsa_crt_params(rsa, dmp1, dmq1, iqmp, ret) \
32         (ret = !RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp))
33
34 /* n, e must be non-null, d can be NULL */
35 #define set_rsa_keys(rsa, n, e, d, ret) \
36         (ret = !RSA_set0_key(rsa, n, e, d))
37
38 #endif /* version < 10100000 */
39
40 #endif /* __RTA_COMPAT_H__ */