23 #ifndef MBEDTLS_PLATFORM_H 24 #define MBEDTLS_PLATFORM_H 26 #if !defined(MBEDTLS_CONFIG_FILE) 29 #include MBEDTLS_CONFIG_FILE 44 #if !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) 48 #if !defined(MBEDTLS_PLATFORM_STD_SNPRINTF) 50 #define MBEDTLS_PLATFORM_STD_SNPRINTF mbedtls_platform_win32_snprintf 52 #define MBEDTLS_PLATFORM_STD_SNPRINTF snprintf 55 #if !defined(MBEDTLS_PLATFORM_STD_PRINTF) 56 #define MBEDTLS_PLATFORM_STD_PRINTF printf 58 #if !defined(MBEDTLS_PLATFORM_STD_FPRINTF) 59 #define MBEDTLS_PLATFORM_STD_FPRINTF fprintf 61 #if !defined(MBEDTLS_PLATFORM_STD_CALLOC) 62 #define MBEDTLS_PLATFORM_STD_CALLOC calloc 64 #if !defined(MBEDTLS_PLATFORM_STD_FREE) 65 #define MBEDTLS_PLATFORM_STD_FREE free 67 #if !defined(MBEDTLS_PLATFORM_STD_EXIT) 68 #define MBEDTLS_PLATFORM_STD_EXIT exit 70 #if !defined(MBEDTLS_PLATFORM_STD_TIME) 71 #define MBEDTLS_PLATFORM_STD_TIME time 73 #if !defined(MBEDTLS_PLATFORM_STD_EXIT_SUCCESS) 74 #define MBEDTLS_PLATFORM_STD_EXIT_SUCCESS EXIT_SUCCESS 76 #if !defined(MBEDTLS_PLATFORM_STD_EXIT_FAILURE) 77 #define MBEDTLS_PLATFORM_STD_EXIT_FAILURE EXIT_FAILURE 79 #if defined(MBEDTLS_FS_IO) 80 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ) 81 #define MBEDTLS_PLATFORM_STD_NV_SEED_READ mbedtls_platform_std_nv_seed_read 83 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE) 84 #define MBEDTLS_PLATFORM_STD_NV_SEED_WRITE mbedtls_platform_std_nv_seed_write 86 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_FILE) 87 #define MBEDTLS_PLATFORM_STD_NV_SEED_FILE "seedfile" 91 #if defined(MBEDTLS_PLATFORM_STD_MEM_HDR) 92 #include MBEDTLS_PLATFORM_STD_MEM_HDR 102 #if defined(MBEDTLS_PLATFORM_MEMORY) 103 #if defined(MBEDTLS_PLATFORM_FREE_MACRO) && \ 104 defined(MBEDTLS_PLATFORM_CALLOC_MACRO) 105 #define mbedtls_free MBEDTLS_PLATFORM_FREE_MACRO 106 #define mbedtls_calloc MBEDTLS_PLATFORM_CALLOC_MACRO 110 extern void * (*mbedtls_calloc)(
size_t n,
size_t size );
121 int mbedtls_platform_set_calloc_free(
void * (*calloc_func)(
size_t,
size_t ),
122 void (*free_func)(
void * ) );
125 #define mbedtls_free free 126 #define mbedtls_calloc calloc 132 #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT) 135 extern int (*
mbedtls_fprintf)( FILE *stream,
const char *format, ... );
144 int mbedtls_platform_set_fprintf(
int (*fprintf_func)( FILE *stream,
const char *,
147 #if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO) 148 #define mbedtls_fprintf MBEDTLS_PLATFORM_FPRINTF_MACRO 150 #define mbedtls_fprintf fprintf 157 #if defined(MBEDTLS_PLATFORM_PRINTF_ALT) 167 int mbedtls_platform_set_printf(
int (*printf_func)(
const char *, ... ) );
169 #if defined(MBEDTLS_PLATFORM_PRINTF_MACRO) 170 #define mbedtls_printf MBEDTLS_PLATFORM_PRINTF_MACRO 172 #define mbedtls_printf printf 187 int mbedtls_platform_win32_snprintf(
char *s,
size_t n,
const char *fmt, ... );
190 #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) 191 extern int (*
mbedtls_snprintf)(
char * s,
size_t n,
const char * format, ... );
200 int mbedtls_platform_set_snprintf(
int (*snprintf_func)(
char * s,
size_t n,
201 const char * format, ... ) );
203 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) 204 #define mbedtls_snprintf MBEDTLS_PLATFORM_SNPRINTF_MACRO 206 #define mbedtls_snprintf snprintf 213 #if defined(MBEDTLS_PLATFORM_EXIT_ALT) 223 int mbedtls_platform_set_exit(
void (*exit_func)(
int status ) );
225 #if defined(MBEDTLS_PLATFORM_EXIT_MACRO) 226 #define mbedtls_exit MBEDTLS_PLATFORM_EXIT_MACRO 228 #define mbedtls_exit exit 235 #if defined(MBEDTLS_PLATFORM_STD_EXIT_SUCCESS) 236 #define MBEDTLS_EXIT_SUCCESS MBEDTLS_PLATFORM_STD_EXIT_SUCCESS 238 #define MBEDTLS_EXIT_SUCCESS 0 240 #if defined(MBEDTLS_PLATFORM_STD_EXIT_FAILURE) 241 #define MBEDTLS_EXIT_FAILURE MBEDTLS_PLATFORM_STD_EXIT_FAILURE 243 #define MBEDTLS_EXIT_FAILURE 1 249 #if defined(MBEDTLS_PLATFORM_TIME_TYPE_MACRO) 260 #if defined(MBEDTLS_PLATFORM_TIME_ALT) 270 int mbedtls_platform_set_time( mbedtls_time_t (*time_func)( mbedtls_time_t* time ) );
272 #if defined(MBEDTLS_PLATFORM_TIME_MACRO) 273 #define mbedtls_time MBEDTLS_PLATFORM_TIME_MACRO 275 #define mbedtls_time time 285 #if defined(MBEDTLS_ENTROPY_NV_SEED) 286 #if !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) && defined(MBEDTLS_FS_IO) 288 int mbedtls_platform_std_nv_seed_read(
unsigned char *buf,
size_t buf_len );
289 int mbedtls_platform_std_nv_seed_write(
unsigned char *buf,
size_t buf_len );
292 #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT) 293 extern int (*mbedtls_nv_seed_read)(
unsigned char *buf,
size_t buf_len );
294 extern int (*mbedtls_nv_seed_write)(
unsigned char *buf,
size_t buf_len );
304 int mbedtls_platform_set_nv_seed(
305 int (*nv_seed_read_func)(
unsigned char *buf,
size_t buf_len ),
306 int (*nv_seed_write_func)(
unsigned char *buf,
size_t buf_len )
309 #if defined(MBEDTLS_PLATFORM_NV_SEED_READ_MACRO) && \ 310 defined(MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO) 311 #define mbedtls_nv_seed_read MBEDTLS_PLATFORM_NV_SEED_READ_MACRO 312 #define mbedtls_nv_seed_write MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO 314 #define mbedtls_nv_seed_read mbedtls_platform_std_nv_seed_read 315 #define mbedtls_nv_seed_write mbedtls_platform_std_nv_seed_write
Configuration options (set of defines)