22 #ifndef MBEDTLS_THREADING_H
23 #define MBEDTLS_THREADING_H
35 #define MBEDTLS_ERR_THREADING_BAD_INPUT_DATA -0x001C
37 #define MBEDTLS_ERR_THREADING_MUTEX_ERROR -0x001E
39 #if defined(MBEDTLS_THREADING_PTHREAD)
41 typedef struct mbedtls_threading_mutex_t {
47 } mbedtls_threading_mutex_t;
50 #if defined(MBEDTLS_THREADING_ALT)
52 #include "threading_alt.h"
72 void mbedtls_threading_set_alt(
void (*mutex_init)(mbedtls_threading_mutex_t *),
73 void (*mutex_free)(mbedtls_threading_mutex_t *),
74 int (*mutex_lock)(mbedtls_threading_mutex_t *),
75 int (*mutex_unlock)(mbedtls_threading_mutex_t *));
80 void mbedtls_threading_free_alt(
void);
83 #if defined(MBEDTLS_THREADING_C)
89 extern void (*mbedtls_mutex_init)(mbedtls_threading_mutex_t *mutex);
90 extern void (*mbedtls_mutex_free)(mbedtls_threading_mutex_t *mutex);
91 extern int (*mbedtls_mutex_lock)(mbedtls_threading_mutex_t *mutex);
92 extern int (*mbedtls_mutex_unlock)(mbedtls_threading_mutex_t *mutex);
97 #if defined(MBEDTLS_FS_IO)
98 extern mbedtls_threading_mutex_t mbedtls_threading_readdir_mutex;
101 #if defined(MBEDTLS_HAVE_TIME_DATE) && !defined(MBEDTLS_PLATFORM_GMTIME_R_ALT)
108 extern mbedtls_threading_mutex_t mbedtls_threading_gmtime_mutex;
#define MBEDTLS_PRIVATE(member)
Macro wrapper for struct's members.
Build-time configuration info.