xref: /qemu/include/qemu/thread-win32.h (revision a9c94277)
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