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