1 #ifndef __QEMU_THREAD_WIN32_H 2 #define __QEMU_THREAD_WIN32_H 1 3 4 #include <windows.h> 5 6 struct QemuMutex { 7 CRITICAL_SECTION lock; 8 LONG owner; 9 }; 10 11 struct QemuCond { 12 LONG waiters, target; 13 HANDLE sema; 14 HANDLE continue_event; 15 }; 16 17 struct QemuSemaphore { 18 HANDLE sema; 19 }; 20 21 struct QemuEvent { 22 int value; 23 HANDLE event; 24 }; 25 26 typedef struct QemuThreadData QemuThreadData; 27 struct QemuThread { 28 QemuThreadData *data; 29 unsigned tid; 30 }; 31 32 /* Only valid for joinable threads. */ 33 HANDLE qemu_thread_get_handle(QemuThread *thread); 34 35 #endif 36