]> Git Repo - qemu.git/blob - include/qemu/thread-win32.h
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging
[qemu.git] / include / qemu / thread-win32.h
1 #ifndef QEMU_THREAD_WIN32_H
2 #define QEMU_THREAD_WIN32_H
3
4 #include <windows.h>
5
6 struct QemuMutex {
7     SRWLOCK lock;
8     bool initialized;
9 };
10
11 typedef struct QemuRecMutex QemuRecMutex;
12 struct QemuRecMutex {
13     CRITICAL_SECTION lock;
14     bool initialized;
15 };
16
17 void qemu_rec_mutex_destroy(QemuRecMutex *mutex);
18 void qemu_rec_mutex_lock(QemuRecMutex *mutex);
19 int qemu_rec_mutex_trylock(QemuRecMutex *mutex);
20 void qemu_rec_mutex_unlock(QemuRecMutex *mutex);
21
22 struct QemuCond {
23     CONDITION_VARIABLE var;
24     bool initialized;
25 };
26
27 struct QemuSemaphore {
28     HANDLE sema;
29     bool initialized;
30 };
31
32 struct QemuEvent {
33     int value;
34     HANDLE event;
35     bool initialized;
36 };
37
38 typedef struct QemuThreadData QemuThreadData;
39 struct QemuThread {
40     QemuThreadData *data;
41     unsigned tid;
42 };
43
44 /* Only valid for joinable threads.  */
45 HANDLE qemu_thread_get_handle(QemuThread *thread);
46
47 #endif
This page took 0.028531 seconds and 4 git commands to generate.