26 #ifndef MBEDTLS_PLATFORM_H
27 #define MBEDTLS_PLATFORM_H
32 #if defined(MBEDTLS_HAVE_TIME)
52 #if defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER <= 1900)
53 #define MBEDTLS_PLATFORM_HAS_NON_CONFORMING_SNPRINTF
54 #define MBEDTLS_PLATFORM_HAS_NON_CONFORMING_VSNPRINTF
57 #if !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS)
60 #if defined(MBEDTLS_HAVE_TIME)
63 #if !defined(MBEDTLS_PLATFORM_STD_SNPRINTF)
64 #if defined(MBEDTLS_PLATFORM_HAS_NON_CONFORMING_SNPRINTF)
65 #define MBEDTLS_PLATFORM_STD_SNPRINTF mbedtls_platform_win32_snprintf
67 #define MBEDTLS_PLATFORM_STD_SNPRINTF snprintf
70 #if !defined(MBEDTLS_PLATFORM_STD_VSNPRINTF)
71 #if defined(MBEDTLS_PLATFORM_HAS_NON_CONFORMING_VSNPRINTF)
72 #define MBEDTLS_PLATFORM_STD_VSNPRINTF mbedtls_platform_win32_vsnprintf
74 #define MBEDTLS_PLATFORM_STD_VSNPRINTF vsnprintf
77 #if !defined(MBEDTLS_PLATFORM_STD_PRINTF)
78 #define MBEDTLS_PLATFORM_STD_PRINTF printf
80 #if !defined(MBEDTLS_PLATFORM_STD_FPRINTF)
81 #define MBEDTLS_PLATFORM_STD_FPRINTF fprintf
83 #if !defined(MBEDTLS_PLATFORM_STD_CALLOC)
84 #define MBEDTLS_PLATFORM_STD_CALLOC calloc
86 #if !defined(MBEDTLS_PLATFORM_STD_FREE)
87 #define MBEDTLS_PLATFORM_STD_FREE free
89 #if !defined(MBEDTLS_PLATFORM_STD_SETBUF)
90 #define MBEDTLS_PLATFORM_STD_SETBUF setbuf
92 #if !defined(MBEDTLS_PLATFORM_STD_EXIT)
93 #define MBEDTLS_PLATFORM_STD_EXIT exit
95 #if !defined(MBEDTLS_PLATFORM_STD_TIME)
96 #define MBEDTLS_PLATFORM_STD_TIME time
98 #if !defined(MBEDTLS_PLATFORM_STD_EXIT_SUCCESS)
99 #define MBEDTLS_PLATFORM_STD_EXIT_SUCCESS EXIT_SUCCESS
101 #if !defined(MBEDTLS_PLATFORM_STD_EXIT_FAILURE)
102 #define MBEDTLS_PLATFORM_STD_EXIT_FAILURE EXIT_FAILURE
104 #if defined(MBEDTLS_FS_IO)
105 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ)
106 #define MBEDTLS_PLATFORM_STD_NV_SEED_READ mbedtls_platform_std_nv_seed_read
108 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE)
109 #define MBEDTLS_PLATFORM_STD_NV_SEED_WRITE mbedtls_platform_std_nv_seed_write
111 #if !defined(MBEDTLS_PLATFORM_STD_NV_SEED_FILE)
112 #define MBEDTLS_PLATFORM_STD_NV_SEED_FILE "seedfile"
116 #if defined(MBEDTLS_PLATFORM_STD_MEM_HDR)
117 #include MBEDTLS_PLATFORM_STD_MEM_HDR
123 #if defined(__DOXYGEN__) && !defined(MBEDTLS_PLATFORM_STD_CALLOC)
124 #define MBEDTLS_PLATFORM_STD_CALLOC
127 #if defined(__DOXYGEN__) && !defined(MBEDTLS_PLATFORM_STD_FREE)
128 #define MBEDTLS_PLATFORM_STD_FREE
138 #if defined(MBEDTLS_PLATFORM_MEMORY)
139 #if defined(MBEDTLS_PLATFORM_FREE_MACRO) && \
140 defined(MBEDTLS_PLATFORM_CALLOC_MACRO)
142 #undef mbedtls_calloc
143 #define mbedtls_free MBEDTLS_PLATFORM_FREE_MACRO
144 #define mbedtls_calloc MBEDTLS_PLATFORM_CALLOC_MACRO
160 int mbedtls_platform_set_calloc_free(
void *(*calloc_func)(
size_t,
size_t),
165 #undef mbedtls_calloc
166 #define mbedtls_free free
167 #define mbedtls_calloc calloc
173 #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT)
187 int mbedtls_platform_set_fprintf(
int (*fprintf_func)(FILE *stream,
const char *,
190 #undef mbedtls_fprintf
191 #if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO)
192 #define mbedtls_fprintf MBEDTLS_PLATFORM_FPRINTF_MACRO
194 #define mbedtls_fprintf fprintf
201 #if defined(MBEDTLS_PLATFORM_PRINTF_ALT)
213 int mbedtls_platform_set_printf(
int (*printf_func)(
const char *, ...));
215 #undef mbedtls_printf
216 #if defined(MBEDTLS_PLATFORM_PRINTF_MACRO)
217 #define mbedtls_printf MBEDTLS_PLATFORM_PRINTF_MACRO
219 #define mbedtls_printf printf
232 #if defined(MBEDTLS_PLATFORM_HAS_NON_CONFORMING_SNPRINTF)
234 int mbedtls_platform_win32_snprintf(
char *s,
size_t n,
const char *fmt, ...);
237 #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT)
249 const char *
format, ...));
251 #undef mbedtls_snprintf
252 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO)
253 #define mbedtls_snprintf MBEDTLS_PLATFORM_SNPRINTF_MACRO
255 #define mbedtls_snprintf MBEDTLS_PLATFORM_STD_SNPRINTF
268 #if defined(MBEDTLS_PLATFORM_HAS_NON_CONFORMING_VSNPRINTF)
271 int mbedtls_platform_win32_vsnprintf(
char *s,
size_t n,
const char *fmt, va_list arg);
274 #if defined(MBEDTLS_PLATFORM_VSNPRINTF_ALT)
286 const char *
format, va_list arg));
288 #undef mbedtls_vsnprintf
289 #if defined(MBEDTLS_PLATFORM_VSNPRINTF_MACRO)
290 #define mbedtls_vsnprintf MBEDTLS_PLATFORM_VSNPRINTF_MACRO
292 #define mbedtls_vsnprintf vsnprintf
299 #if defined(MBEDTLS_PLATFORM_SETBUF_ALT)
328 int mbedtls_platform_set_setbuf(
void (*setbuf_func)(
329 FILE *stream,
char *
buf));
331 #undef mbedtls_setbuf
332 #if defined(MBEDTLS_PLATFORM_SETBUF_MACRO)
343 #define mbedtls_setbuf MBEDTLS_PLATFORM_SETBUF_MACRO
345 #define mbedtls_setbuf setbuf
352 #if defined(MBEDTLS_PLATFORM_EXIT_ALT)
364 int mbedtls_platform_set_exit(
void (*exit_func)(
int status));
367 #if defined(MBEDTLS_PLATFORM_EXIT_MACRO)
368 #define mbedtls_exit MBEDTLS_PLATFORM_EXIT_MACRO
370 #define mbedtls_exit exit
377 #if defined(MBEDTLS_PLATFORM_STD_EXIT_SUCCESS)
378 #define MBEDTLS_EXIT_SUCCESS MBEDTLS_PLATFORM_STD_EXIT_SUCCESS
380 #define MBEDTLS_EXIT_SUCCESS 0
382 #if defined(MBEDTLS_PLATFORM_STD_EXIT_FAILURE)
383 #define MBEDTLS_EXIT_FAILURE MBEDTLS_PLATFORM_STD_EXIT_FAILURE
385 #define MBEDTLS_EXIT_FAILURE 1
394 #if defined(MBEDTLS_ENTROPY_NV_SEED)
395 #if !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) && defined(MBEDTLS_FS_IO)
397 int mbedtls_platform_std_nv_seed_read(
unsigned char *
buf,
size_t buf_len);
398 int mbedtls_platform_std_nv_seed_write(
unsigned char *
buf,
size_t buf_len);
401 #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT)
402 extern int (*mbedtls_nv_seed_read)(
unsigned char *
buf,
size_t buf_len);
403 extern int (*mbedtls_nv_seed_write)(
unsigned char *
buf,
size_t buf_len);
414 int mbedtls_platform_set_nv_seed(
415 int (*nv_seed_read_func)(
unsigned char *
buf,
size_t buf_len),
416 int (*nv_seed_write_func)(
unsigned char *
buf,
size_t buf_len)
419 #undef mbedtls_nv_seed_read
420 #undef mbedtls_nv_seed_write
421 #if defined(MBEDTLS_PLATFORM_NV_SEED_READ_MACRO) && \
422 defined(MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO)
423 #define mbedtls_nv_seed_read MBEDTLS_PLATFORM_NV_SEED_READ_MACRO
424 #define mbedtls_nv_seed_write MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO
426 #define mbedtls_nv_seed_read mbedtls_platform_std_nv_seed_read
427 #define mbedtls_nv_seed_write mbedtls_platform_std_nv_seed_write
432 #if !defined(MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT)
446 #include "platform_alt.h"
unsigned int
A callback function used to compare two keys in a database.
Build-time configuration info.
const struct ncbi::grid::netcache::search::fields::SIZE size
#define mbedtls_platform_set_snprintf
#define mbedtls_platform_set_vsnprintf
Macro wrapper for struct's members.
The platform context structure.
char MBEDTLS_PRIVATE(dummy)
A placeholder member, as empty structs are not portable.