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 HANDLE event; 22 }; 23 24 typedef struct QemuThreadData QemuThreadData; 25 struct QemuThread { 26 QemuThreadData *data; 27 unsigned tid; 28 }; 29 30 /* Only valid for joinable threads. */ 31 HANDLE qemu_thread_get_handle(QemuThread *thread); 32 33 #endif 34