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