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__)
81 void 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)
143 #if defined(__GNUC__)
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)