24 #include <libssh/libssh.h>
25 #include <libssh/callbacks.h>
30 #define SSH_MUTEX pthread_mutex_t
32 #if defined(PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP)
33 #define SSH_MUTEX_STATIC_INIT PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
35 #define SSH_MUTEX_STATIC_INIT PTHREAD_MUTEX_INITIALIZER
38 #elif (defined _WIN32) || (defined _WIN64)
42 #define SSH_MUTEX CRITICAL_SECTION *
43 #define SSH_MUTEX_STATIC_INIT NULL
47 # define SSH_MUTEX void *
48 #define SSH_MUTEX_STATIC_INIT NULL
52 int ssh_threads_init(
void);
53 void ssh_threads_finalize(
void);
54 const char *ssh_threads_get_type(
void);
56 void ssh_mutex_lock(SSH_MUTEX *mutex);
57 void ssh_mutex_unlock(SSH_MUTEX *mutex);
61 void crypto_thread_finalize(
void);