1 /*
2  * SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #pragma once
7 
8 #include_next "mbedtls/ecp.h"
9 #include "sdkconfig.h"
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 #if defined(MBEDTLS_ECP_MUL_ALT) || defined(MBEDTLS_ECP_MUL_ALT_SOFT_FALLBACK)
16 int ecp_mul_restartable_internal( mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
17              const mbedtls_mpi *m, const mbedtls_ecp_point *P,
18              int (*f_rng)(void *, unsigned char *, size_t), void *p_rng,
19              mbedtls_ecp_restart_ctx *rs_ctx );
20 #endif
21 
22 #if defined(MBEDTLS_ECP_MUL_ALT_SOFT_FALLBACK)
23 int ecp_mul_restartable_internal_soft( mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
24              const mbedtls_mpi *m, const mbedtls_ecp_point *P,
25              int (*f_rng)(void *, unsigned char *, size_t), void *p_rng,
26              mbedtls_ecp_restart_ctx *rs_ctx );
27 #endif
28 
29 #if defined(MBEDTLS_ECP_VERIFY_ALT_SOFT_FALLBACK)
30 
31 int mbedtls_ecp_check_pubkey_soft(const mbedtls_ecp_group *grp,
32                               const mbedtls_ecp_point *pt );
33 #endif
34 
35 #ifdef __cplusplus
36 }
37 #endif
38