From 6096480407bcb8e6e74389f8a6780c1056a0aaf3 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Mon, 11 Dec 2023 12:21:02 +0100 Subject: win32: Remove windows.h from public headers --- include/libimobiledevice-glue/thread.h | 7 ++++--- include/libimobiledevice-glue/utils.h | 4 ---- src/thread.c | 13 ++++++++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/libimobiledevice-glue/thread.h b/include/libimobiledevice-glue/thread.h index 2aadc6e..a960410 100644 --- a/include/libimobiledevice-glue/thread.h +++ b/include/libimobiledevice-glue/thread.h @@ -25,14 +25,15 @@ #include #ifdef WIN32 -#include +typedef void* HANDLE; typedef HANDLE THREAD_T; -typedef CRITICAL_SECTION mutex_t; +struct _RTL_CRITICAL_SECTION; +typedef struct _RTL_CRITICAL_SECTION mutex_t; typedef struct { HANDLE sem; } cond_t; typedef volatile struct { - LONG lock; + long lock; int state; } thread_once_t; #define THREAD_ONCE_INIT {0, 0} diff --git a/include/libimobiledevice-glue/utils.h b/include/libimobiledevice-glue/utils.h index 1a21871..f7f60f2 100644 --- a/include/libimobiledevice-glue/utils.h +++ b/include/libimobiledevice-glue/utils.h @@ -29,10 +29,6 @@ #include #endif -#ifdef WIN32 -#include -#endif - #include #include diff --git a/src/thread.c b/src/thread.c index 6efacec..e2c3b63 100644 --- a/src/thread.c +++ b/src/thread.c @@ -22,13 +22,16 @@ #ifdef HAVE_CONFIG_H #include #endif +#ifdef WIN32 +#include +#endif #include "common.h" #include "libimobiledevice-glue/thread.h" LIBIMOBILEDEVICE_GLUE_API int thread_new(THREAD_T *thread, thread_func_t thread_func, void* data) { #ifdef WIN32 - HANDLE th = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)thread_func, data, 0, NULL); + HANDLE th = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)(void*)thread_func, data, 0, NULL); if (th == NULL) { return -1; } @@ -93,7 +96,7 @@ LIBIMOBILEDEVICE_GLUE_API int thread_cancel(THREAD_T thread) LIBIMOBILEDEVICE_GLUE_API void mutex_init(mutex_t* mutex) { #ifdef WIN32 - InitializeCriticalSection(mutex); + InitializeCriticalSection((LPCRITICAL_SECTION)mutex); #else pthread_mutex_init(mutex, NULL); #endif @@ -102,7 +105,7 @@ LIBIMOBILEDEVICE_GLUE_API void mutex_init(mutex_t* mutex) LIBIMOBILEDEVICE_GLUE_API void mutex_destroy(mutex_t* mutex) { #ifdef WIN32 - DeleteCriticalSection(mutex); + DeleteCriticalSection((LPCRITICAL_SECTION)mutex); #else pthread_mutex_destroy(mutex); #endif @@ -111,7 +114,7 @@ LIBIMOBILEDEVICE_GLUE_API void mutex_destroy(mutex_t* mutex) LIBIMOBILEDEVICE_GLUE_API void mutex_lock(mutex_t* mutex) { #ifdef WIN32 - EnterCriticalSection(mutex); + EnterCriticalSection((LPCRITICAL_SECTION)mutex); #else pthread_mutex_lock(mutex); #endif @@ -120,7 +123,7 @@ LIBIMOBILEDEVICE_GLUE_API void mutex_lock(mutex_t* mutex) LIBIMOBILEDEVICE_GLUE_API void mutex_unlock(mutex_t* mutex) { #ifdef WIN32 - LeaveCriticalSection(mutex); + LeaveCriticalSection((LPCRITICAL_SECTION)mutex); #else pthread_mutex_unlock(mutex); #endif -- cgit v1.1-32-gdbae