mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-04-25 09:02:48 +00:00
Add mbedtls_ct_error_if
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
This commit is contained in:
parent
584a08f91d
commit
e50b537266
@ -397,6 +397,17 @@ static inline mbedtls_mpi_uint mbedtls_ct_mpi_uint_if_else_0(mbedtls_ct_conditio
|
|||||||
|
|
||||||
#endif /* MBEDTLS_BIGNUM_C */
|
#endif /* MBEDTLS_BIGNUM_C */
|
||||||
|
|
||||||
|
static inline int mbedtls_ct_error_if(mbedtls_ct_condition_t condition, int if1, int if0)
|
||||||
|
{
|
||||||
|
return -((int) mbedtls_ct_if(condition, (mbedtls_ct_uint_t) (-if1),
|
||||||
|
(mbedtls_ct_uint_t) (-if0)));
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int mbedtls_ct_error_if_else_0(mbedtls_ct_condition_t condition, int if1)
|
||||||
|
{
|
||||||
|
return -((int) (condition & (-if1)));
|
||||||
|
}
|
||||||
|
|
||||||
static inline mbedtls_ct_condition_t mbedtls_ct_uint_eq(mbedtls_ct_uint_t x,
|
static inline mbedtls_ct_condition_t mbedtls_ct_uint_eq(mbedtls_ct_uint_t x,
|
||||||
mbedtls_ct_uint_t y)
|
mbedtls_ct_uint_t y)
|
||||||
{
|
{
|
||||||
|
@ -411,6 +411,35 @@ static inline unsigned char mbedtls_ct_uchar_in_range_if(unsigned char low,
|
|||||||
unsigned char c,
|
unsigned char c,
|
||||||
unsigned char t);
|
unsigned char t);
|
||||||
|
|
||||||
|
/** Choose between two error values. The values must be zero or negative.
|
||||||
|
*
|
||||||
|
* Functionally equivalent to:
|
||||||
|
*
|
||||||
|
* condition ? if1 : if0.
|
||||||
|
*
|
||||||
|
* \param condition Condition to test.
|
||||||
|
* \param if1 Value to use if \p condition == MBEDTLS_CT_TRUE.
|
||||||
|
* \param if0 Value to use if \p condition == MBEDTLS_CT_FALSE.
|
||||||
|
*
|
||||||
|
* \return \c if1 if \p condition == MBEDTLS_CT_TRUE, otherwise \c if0.
|
||||||
|
*/
|
||||||
|
static inline int mbedtls_ct_error_if(mbedtls_ct_condition_t condition, int if1, int if0);
|
||||||
|
|
||||||
|
/** Choose between an error value and 0. The error value must be zero or negative.
|
||||||
|
*
|
||||||
|
* Functionally equivalent to:
|
||||||
|
*
|
||||||
|
* condition ? if1 : 0.
|
||||||
|
*
|
||||||
|
* Functionally equivalent to mbedtls_ct_error_if(condition, if1, 0) but
|
||||||
|
* results in smaller code size.
|
||||||
|
*
|
||||||
|
* \param condition Condition to test.
|
||||||
|
* \param if1 Value to use if \p condition == MBEDTLS_CT_TRUE.
|
||||||
|
*
|
||||||
|
* \return \c if1 if \p condition == MBEDTLS_CT_TRUE, otherwise 0.
|
||||||
|
*/
|
||||||
|
static inline int mbedtls_ct_error_if_else_0(mbedtls_ct_condition_t condition, int if1);
|
||||||
|
|
||||||
/* ============================================================================
|
/* ============================================================================
|
||||||
* Block memory operations
|
* Block memory operations
|
||||||
|
Loading…
x
Reference in New Issue
Block a user