23#ifndef MBEDTLS_PLATFORM_UTIL_H
24#define MBEDTLS_PLATFORM_UTIL_H
26#if !defined(MBEDTLS_CONFIG_FILE)
29#include MBEDTLS_CONFIG_FILE
33#if defined(MBEDTLS_HAVE_TIME_DATE)
42#if defined(MBEDTLS_CHECK_PARAMS)
44#if defined(MBEDTLS_CHECK_PARAMS_ASSERT)
50#if defined(MBEDTLS_PARAM_FAILED)
56#define MBEDTLS_PARAM_FAILED_ALT
58#elif defined(MBEDTLS_CHECK_PARAMS_ASSERT)
59#define MBEDTLS_PARAM_FAILED( cond ) assert( cond )
60#define MBEDTLS_PARAM_FAILED_ALT
63#define MBEDTLS_PARAM_FAILED( cond ) \
64 mbedtls_param_failed( #cond, __FILE__, __LINE__ )
81void mbedtls_param_failed(
const char *failure_condition,
87#define MBEDTLS_INTERNAL_VALIDATE_RET( cond, ret ) \
91 MBEDTLS_PARAM_FAILED( cond ); \
97#define MBEDTLS_INTERNAL_VALIDATE( cond ) \
101 MBEDTLS_PARAM_FAILED( cond ); \
109#define MBEDTLS_INTERNAL_VALIDATE_RET( cond, ret ) do { } while( 0 )
110#define MBEDTLS_INTERNAL_VALIDATE( cond ) do { } while( 0 )
115#if !defined(MBEDTLS_DEPRECATED_REMOVED)
116#if defined(MBEDTLS_DEPRECATED_WARNING)
121#define MBEDTLS_DEPRECATED __attribute__((deprecated))
123#define MBEDTLS_DEPRECATED_STRING_CONSTANT( VAL ) \
124 ( (mbedtls_deprecated_string_constant_t) ( VAL ) )
126#define MBEDTLS_DEPRECATED_NUMERIC_CONSTANT( VAL ) \
127 ( (mbedtls_deprecated_numeric_constant_t) ( VAL ) )
128#undef MBEDTLS_DEPRECATED
130#define MBEDTLS_DEPRECATED_STRING_CONSTANT( VAL ) VAL
131#define MBEDTLS_DEPRECATED_NUMERIC_CONSTANT( VAL ) VAL
142#if !defined(MBEDTLS_CHECK_RETURN)
144#define MBEDTLS_CHECK_RETURN __attribute__((__warn_unused_result__))
145#elif defined(_MSC_VER) && _MSC_VER >= 1700
147#define MBEDTLS_CHECK_RETURN _Check_return_
149#define MBEDTLS_CHECK_RETURN
169#define MBEDTLS_CHECK_RETURN_CRITICAL MBEDTLS_CHECK_RETURN
188#if defined(MBEDTLS_CHECK_RETURN_WARNING)
189#define MBEDTLS_CHECK_RETURN_TYPICAL MBEDTLS_CHECK_RETURN
191#define MBEDTLS_CHECK_RETURN_TYPICAL
205#define MBEDTLS_CHECK_RETURN_OPTIONAL
212#if !defined(MBEDTLS_IGNORE_RETURN)
221#define MBEDTLS_IGNORE_RETURN(result) ( (void) !( result ) )
248#if defined(MBEDTLS_HAVE_TIME_DATE)
#define MBEDTLS_DEPRECATED
Configuration options (set of defines)