#include <libtasn1.h>
#include <gnutls_dh.h>
#include <random.h>
-#ifndef HAVE_LIBNETTLE
-#include <gcrypt.h>
-#endif
+#include <locks.h>
-#ifdef _WIN32
+#ifdef HAVE_WIN32_LOCKS
# include <windows.h>
return 0;
}
-#else
+#endif /* WIN32_LOCKS */
-# ifdef HAVE_LIBPTHREAD
-# include <pthread.h>
+#ifdef HAVE_PTHREAD_LOCKS
+# include <pthread.h>
static int gnutls_system_mutex_init (void **priv)
{
return 0;
}
-# else
+#endif /* PTHREAD_LOCKS */
-#define gnutls_system_mutex_init NULL
-#define gnutls_system_mutex_deinit NULL
-#define gnutls_system_mutex_lock NULL
-#define gnutls_mutex_unlock NULL
+#ifdef HAVE_NO_LOCKS
-# endif /* PTHREAD */
+static int gnutls_system_mutex_init (void **priv)
+{
+ return 0;
+}
+
+static void gnutls_system_mutex_deinit (void *priv)
+{
+ return;
+}
+
+static int gnutls_system_mutex_lock (void *priv)
+{
+ return 0;
+}
+
+static int gnutls_system_mutex_unlock (void *priv)
+{
+ return 0;
+}
-#endif
+#endif /* NO_LOCKS */
mutex_init_func gnutls_mutex_init = gnutls_system_mutex_init;
mutex_deinit_func gnutls_mutex_deinit = gnutls_system_mutex_deinit;
#include <gnutls/gnutls.h>
#include <gnutls_int.h>
+#ifdef _WIN32
+# define HAVE_WIN32_LOCKS
+#else
+# ifdef HAVE_LIBPTHREAD
+# define HAVE_PTHREAD_LOCKS
+# else
+# define HAVE_NO_LOCKS
+# endif
+#endif
+
extern mutex_init_func gnutls_mutex_init;
extern mutex_deinit_func gnutls_mutex_deinit;
extern mutex_lock_func gnutls_mutex_lock;
static void* rnd_mutex;
-#define RND_LOCK if (gnutls_mutex_lock && gnutls_mutex_lock(&rnd_mutex)!=0) abort()
-#define RND_UNLOCK if (gnutls_mutex_unlock && gnutls_mutex_unlock(&rnd_mutex)!=0) abort()
+#define RND_LOCK if (gnutls_mutex_lock(&rnd_mutex)!=0) abort()
+#define RND_UNLOCK if (gnutls_mutex_unlock(&rnd_mutex)!=0) abort()
enum {
RANDOM_SOURCE_TRIVIA=0,