util/hbitmap: update orig_size on truncate
[qemu/ar7.git] / include / qemu / thread-win32.h
blob50af5dd7ab863c486e0d26356c72c035d2c5313c
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_impl(QemuRecMutex *mutex, const char *file, int line);
23 int qemu_rec_mutex_trylock_impl(QemuRecMutex *mutex, const char *file,
24 int line);
25 void qemu_rec_mutex_unlock(QemuRecMutex *mutex);
27 struct QemuCond {
28 CONDITION_VARIABLE var;
29 bool initialized;
32 struct QemuSemaphore {
33 HANDLE sema;
34 bool initialized;
37 struct QemuEvent {
38 int value;
39 HANDLE event;
40 bool initialized;
43 typedef struct QemuThreadData QemuThreadData;
44 struct QemuThread {
45 QemuThreadData *data;
46 unsigned tid;
49 /* Only valid for joinable threads. */
50 HANDLE qemu_thread_get_handle(QemuThread *thread);
52 #endif