Update version for v3.0.0 release
[qemu.git] / include / qemu / thread-win32.h
blobd668d789b460954a27cb93c2ec61837f4b9571c5
1 #ifndef QEMU_THREAD_WIN32_H
2 #define QEMU_THREAD_WIN32_H
4 #include <windows.h>
6 struct QemuMutex {
7 SRWLOCK lock;
8 #ifdef CONFIG_DEBUG_MUTEX
9 const char *file;
10 int line;
11 #endif
12 bool initialized;
15 typedef struct QemuRecMutex QemuRecMutex;
16 struct QemuRecMutex {
17 CRITICAL_SECTION lock;
18 bool initialized;
21 void qemu_rec_mutex_destroy(QemuRecMutex *mutex);
22 void qemu_rec_mutex_lock(QemuRecMutex *mutex);
23 int qemu_rec_mutex_trylock(QemuRecMutex *mutex);
24 void qemu_rec_mutex_unlock(QemuRecMutex *mutex);
26 struct QemuCond {
27 CONDITION_VARIABLE var;
28 bool initialized;
31 struct QemuSemaphore {
32 HANDLE sema;
33 bool initialized;
36 struct QemuEvent {
37 int value;
38 HANDLE event;
39 bool initialized;
42 typedef struct QemuThreadData QemuThreadData;
43 struct QemuThread {
44 QemuThreadData *data;
45 unsigned tid;
48 /* Only valid for joinable threads. */
49 HANDLE qemu_thread_get_handle(QemuThread *thread);
51 #endif