24 #ifndef MBEDTLS_PLATFORM_H 25 #define MBEDTLS_PLATFORM_H 27 #if !defined(MBEDTLS_CONFIG_FILE) 30 #include MBEDTLS_CONFIG_FILE 33 #if defined(MBEDTLS_HAVE_TIME) 49 #if !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) 53 #if !defined(MBEDTLS_PLATFORM_STD_SNPRINTF) 55 #define MBEDTLS_PLATFORM_STD_SNPRINTF mbedtls_platform_win32_snprintf 57 #define MBEDTLS_PLATFORM_STD_SNPRINTF snprintf 60 #if !defined(MBEDTLS_PLATFORM_STD_PRINTF) 61 #define MBEDTLS_PLATFORM_STD_PRINTF printf 63 #if !defined(MBEDTLS_PLATFORM_STD_FPRINTF) 64 #define MBEDTLS_PLATFORM_STD_FPRINTF fprintf 66 #if !defined(MBEDTLS_PLATFORM_STD_CALLOC) 67 #define MBEDTLS_PLATFORM_STD_CALLOC calloc 69 #if !defined(MBEDTLS_PLATFORM_STD_FREE) 70 #define MBEDTLS_PLATFORM_STD_FREE free 72 #if !defined(MBEDTLS_PLATFORM_STD_EXIT) 73 #define MBEDTLS_PLATFORM_STD_EXIT exit 75 #if !defined(MBEDTLS_PLATFORM_STD_TIME) 76 #define MBEDTLS_PLATFORM_STD_TIME time 78 #if !defined(MBEDTLS_PLATFORM_STD_EXIT_SUCCESS) 79 #define MBEDTLS_PLATFORM_STD_EXIT_SUCCESS EXIT_SUCCESS 81 #if !defined(MBEDTLS_PLATFORM_STD_EXIT_FAILURE) 82 #define MBEDTLS_PLATFORM_STD_EXIT_FAILURE EXIT_FAILURE 84 #if defined(MBEDTLS_FS_IO) 85 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ) 86 #define MBEDTLS_PLATFORM_STD_NV_SEED_READ mbedtls_platform_std_nv_seed_read 88 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE) 89 #define MBEDTLS_PLATFORM_STD_NV_SEED_WRITE mbedtls_platform_std_nv_seed_write 91 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_FILE) 92 #define MBEDTLS_PLATFORM_STD_NV_SEED_FILE "seedfile" 96 #if defined(MBEDTLS_PLATFORM_STD_MEM_HDR) 97 #include MBEDTLS_PLATFORM_STD_MEM_HDR 107 #if defined(MBEDTLS_PLATFORM_MEMORY) 108 #if defined(MBEDTLS_PLATFORM_FREE_MACRO) && \ 109 defined(MBEDTLS_PLATFORM_CALLOC_MACRO) 110 #define mbedtls_free MBEDTLS_PLATFORM_FREE_MACRO 111 #define mbedtls_calloc MBEDTLS_PLATFORM_CALLOC_MACRO 115 extern void * (*mbedtls_calloc)(
size_t n,
size_t size );
126 int mbedtls_platform_set_calloc_free(
void * (*calloc_func)(
size_t,
size_t ),
127 void (*free_func)(
void * ) );
130 #define mbedtls_free free 131 #define mbedtls_calloc calloc 137 #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT) 140 extern int (*
mbedtls_fprintf)( FILE *stream,
const char *format, ... );
149 int mbedtls_platform_set_fprintf(
int (*fprintf_func)( FILE *stream,
const char *,
152 #if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO) 153 #define mbedtls_fprintf MBEDTLS_PLATFORM_FPRINTF_MACRO 155 #define mbedtls_fprintf fprintf 162 #if defined(MBEDTLS_PLATFORM_PRINTF_ALT) 173 int mbedtls_platform_set_printf(
int (*printf_func)(
const char *, ... ) );
175 #if defined(MBEDTLS_PLATFORM_PRINTF_MACRO) 176 #define mbedtls_printf MBEDTLS_PLATFORM_PRINTF_MACRO 178 #define mbedtls_printf printf 193 int mbedtls_platform_win32_snprintf(
char *s,
size_t n,
const char *fmt, ... );
196 #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) 197 extern int (*
mbedtls_snprintf)(
char * s,
size_t n,
const char * format, ... );
207 int mbedtls_platform_set_snprintf(
int (*snprintf_func)(
char * s,
size_t n,
208 const char * format, ... ) );
210 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) 211 #define mbedtls_snprintf MBEDTLS_PLATFORM_SNPRINTF_MACRO 213 #define mbedtls_snprintf MBEDTLS_PLATFORM_STD_SNPRINTF 220 #if defined(MBEDTLS_PLATFORM_EXIT_ALT) 231 int mbedtls_platform_set_exit(
void (*exit_func)(
int status ) );
233 #if defined(MBEDTLS_PLATFORM_EXIT_MACRO) 234 #define mbedtls_exit MBEDTLS_PLATFORM_EXIT_MACRO 236 #define mbedtls_exit exit 243 #if defined(MBEDTLS_PLATFORM_STD_EXIT_SUCCESS) 244 #define MBEDTLS_EXIT_SUCCESS MBEDTLS_PLATFORM_STD_EXIT_SUCCESS 246 #define MBEDTLS_EXIT_SUCCESS 0 248 #if defined(MBEDTLS_PLATFORM_STD_EXIT_FAILURE) 249 #define MBEDTLS_EXIT_FAILURE MBEDTLS_PLATFORM_STD_EXIT_FAILURE 251 #define MBEDTLS_EXIT_FAILURE 1 260 #if defined(MBEDTLS_ENTROPY_NV_SEED) 261 #if !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) && defined(MBEDTLS_FS_IO) 263 int mbedtls_platform_std_nv_seed_read(
unsigned char *buf,
size_t buf_len );
264 int mbedtls_platform_std_nv_seed_write(
unsigned char *buf,
size_t buf_len );
267 #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT) 268 extern int (*mbedtls_nv_seed_read)(
unsigned char *buf,
size_t buf_len );
269 extern int (*mbedtls_nv_seed_write)(
unsigned char *buf,
size_t buf_len );
280 int mbedtls_platform_set_nv_seed(
281 int (*nv_seed_read_func)(
unsigned char *buf,
size_t buf_len ),
282 int (*nv_seed_write_func)(
unsigned char *buf,
size_t buf_len )
285 #if defined(MBEDTLS_PLATFORM_NV_SEED_READ_MACRO) && \ 286 defined(MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO) 287 #define mbedtls_nv_seed_read MBEDTLS_PLATFORM_NV_SEED_READ_MACRO 288 #define mbedtls_nv_seed_write MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO 290 #define mbedtls_nv_seed_read mbedtls_platform_std_nv_seed_read 291 #define mbedtls_nv_seed_write mbedtls_platform_std_nv_seed_write 296 #if !defined(MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT) 310 #include "platform_alt.h"
Configuration options (set of defines)
The platform context structure.