58 #ifndef MBEDTLS_PLATFORM_H 59 #define MBEDTLS_PLATFORM_H 61 #if !defined(MBEDTLS_CONFIG_FILE) 64 #include MBEDTLS_CONFIG_FILE 67 #if defined(MBEDTLS_HAVE_TIME) 72 #define MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED -0x0070 74 #define MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED -0x0072 88 #if !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) 92 #if !defined(MBEDTLS_PLATFORM_STD_SNPRINTF) 94 #define MBEDTLS_PLATFORM_STD_SNPRINTF mbedtls_platform_win32_snprintf 96 #define MBEDTLS_PLATFORM_STD_SNPRINTF snprintf 99 #if !defined(MBEDTLS_PLATFORM_STD_PRINTF) 100 #define MBEDTLS_PLATFORM_STD_PRINTF printf 102 #if !defined(MBEDTLS_PLATFORM_STD_FPRINTF) 103 #define MBEDTLS_PLATFORM_STD_FPRINTF fprintf 105 #if !defined(MBEDTLS_PLATFORM_STD_CALLOC) 106 #define MBEDTLS_PLATFORM_STD_CALLOC calloc 108 #if !defined(MBEDTLS_PLATFORM_STD_FREE) 109 #define MBEDTLS_PLATFORM_STD_FREE free 111 #if !defined(MBEDTLS_PLATFORM_STD_EXIT) 112 #define MBEDTLS_PLATFORM_STD_EXIT exit 114 #if !defined(MBEDTLS_PLATFORM_STD_TIME) 115 #define MBEDTLS_PLATFORM_STD_TIME time 117 #if !defined(MBEDTLS_PLATFORM_STD_EXIT_SUCCESS) 118 #define MBEDTLS_PLATFORM_STD_EXIT_SUCCESS EXIT_SUCCESS 120 #if !defined(MBEDTLS_PLATFORM_STD_EXIT_FAILURE) 121 #define MBEDTLS_PLATFORM_STD_EXIT_FAILURE EXIT_FAILURE 123 #if defined(MBEDTLS_FS_IO) 124 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ) 125 #define MBEDTLS_PLATFORM_STD_NV_SEED_READ mbedtls_platform_std_nv_seed_read 127 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE) 128 #define MBEDTLS_PLATFORM_STD_NV_SEED_WRITE mbedtls_platform_std_nv_seed_write 130 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_FILE) 131 #define MBEDTLS_PLATFORM_STD_NV_SEED_FILE "seedfile" 135 #if defined(MBEDTLS_PLATFORM_STD_MEM_HDR) 136 #include MBEDTLS_PLATFORM_STD_MEM_HDR 146 #if defined(MBEDTLS_PLATFORM_MEMORY) 147 #if defined(MBEDTLS_PLATFORM_FREE_MACRO) && \ 148 defined(MBEDTLS_PLATFORM_CALLOC_MACRO) 149 #define mbedtls_free MBEDTLS_PLATFORM_FREE_MACRO 150 #define mbedtls_calloc MBEDTLS_PLATFORM_CALLOC_MACRO 166 int mbedtls_platform_set_calloc_free(
void * (*calloc_func)(
size_t,
size_t ),
167 void (*free_func)(
void * ) );
170 #define mbedtls_free free 171 #define mbedtls_calloc calloc 177 #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT) 180 extern int (*
mbedtls_fprintf)( FILE *stream,
const char *format, ... );
191 int mbedtls_platform_set_fprintf(
int (*fprintf_func)( FILE *stream,
const char *,
194 #if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO) 195 #define mbedtls_fprintf MBEDTLS_PLATFORM_FPRINTF_MACRO 197 #define mbedtls_fprintf fprintf 204 #if defined(MBEDTLS_PLATFORM_PRINTF_ALT) 216 int mbedtls_platform_set_printf(
int (*printf_func)(
const char *, ... ) );
218 #if defined(MBEDTLS_PLATFORM_PRINTF_MACRO) 219 #define mbedtls_printf MBEDTLS_PLATFORM_PRINTF_MACRO 221 #define mbedtls_printf printf 236 int mbedtls_platform_win32_snprintf(
char *s,
size_t n,
const char *fmt, ... );
239 #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) 240 extern int (*
mbedtls_snprintf)(
char * s,
size_t n,
const char * format, ... );
250 int mbedtls_platform_set_snprintf(
int (*snprintf_func)(
char * s,
size_t n,
251 const char * format, ... ) );
253 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) 254 #define mbedtls_snprintf MBEDTLS_PLATFORM_SNPRINTF_MACRO 256 #define mbedtls_snprintf MBEDTLS_PLATFORM_STD_SNPRINTF 263 #if defined(MBEDTLS_PLATFORM_EXIT_ALT) 275 int mbedtls_platform_set_exit(
void (*exit_func)(
int status ) );
277 #if defined(MBEDTLS_PLATFORM_EXIT_MACRO) 278 #define mbedtls_exit MBEDTLS_PLATFORM_EXIT_MACRO 280 #define mbedtls_exit exit 287 #if defined(MBEDTLS_PLATFORM_STD_EXIT_SUCCESS) 288 #define MBEDTLS_EXIT_SUCCESS MBEDTLS_PLATFORM_STD_EXIT_SUCCESS 290 #define MBEDTLS_EXIT_SUCCESS 0 292 #if defined(MBEDTLS_PLATFORM_STD_EXIT_FAILURE) 293 #define MBEDTLS_EXIT_FAILURE MBEDTLS_PLATFORM_STD_EXIT_FAILURE 295 #define MBEDTLS_EXIT_FAILURE 1 304 #if defined(MBEDTLS_ENTROPY_NV_SEED) 305 #if !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) && defined(MBEDTLS_FS_IO) 307 int mbedtls_platform_std_nv_seed_read(
unsigned char *buf,
size_t buf_len );
308 int mbedtls_platform_std_nv_seed_write(
unsigned char *buf,
size_t buf_len );
311 #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT) 312 extern int (*mbedtls_nv_seed_read)(
unsigned char *buf,
size_t buf_len );
313 extern int (*mbedtls_nv_seed_write)(
unsigned char *buf,
size_t buf_len );
324 int mbedtls_platform_set_nv_seed(
325 int (*nv_seed_read_func)(
unsigned char *buf,
size_t buf_len ),
326 int (*nv_seed_write_func)(
unsigned char *buf,
size_t buf_len )
329 #if defined(MBEDTLS_PLATFORM_NV_SEED_READ_MACRO) && \ 330 defined(MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO) 331 #define mbedtls_nv_seed_read MBEDTLS_PLATFORM_NV_SEED_READ_MACRO 332 #define mbedtls_nv_seed_write MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO 334 #define mbedtls_nv_seed_read mbedtls_platform_std_nv_seed_read 335 #define mbedtls_nv_seed_write mbedtls_platform_std_nv_seed_write 340 #if !defined(MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT) 355 #include "platform_alt.h"
Configuration options (set of defines)
The platform context structure.