1#ifndef __QEMU_THREAD_WIN32_H
2#define __QEMU_THREAD_WIN32_H 1
3#include "windows.h"
4
5struct QemuMutex {
6    CRITICAL_SECTION lock;
7    LONG owner;
8};
9
10struct QemuCond {
11    LONG waiters, target;
12    HANDLE sema;
13    HANDLE continue_event;
14};
15
16struct QemuSemaphore {
17    HANDLE sema;
18};
19
20struct QemuEvent {
21    HANDLE event;
22};
23
24typedef struct QemuThreadData QemuThreadData;
25struct QemuThread {
26    QemuThreadData *data;
27    unsigned tid;
28};
29
30/* Only valid for joinable threads.  */
31HANDLE qemu_thread_get_handle(QemuThread *thread);
32
33#endif
34