qemu/include/qemu/thread-win32.h
<<
>>
Prefs
   1#ifndef QEMU_THREAD_WIN32_H
   2#define QEMU_THREAD_WIN32_H
   3
   4#include <windows.h>
   5
   6struct QemuMutex {
   7    CRITICAL_SECTION lock;
   8    LONG owner;
   9};
  10
  11typedef struct QemuRecMutex QemuRecMutex;
  12struct QemuRecMutex {
  13    CRITICAL_SECTION lock;
  14};
  15
  16void qemu_rec_mutex_destroy(QemuRecMutex *mutex);
  17void qemu_rec_mutex_lock(QemuRecMutex *mutex);
  18int qemu_rec_mutex_trylock(QemuRecMutex *mutex);
  19void qemu_rec_mutex_unlock(QemuRecMutex *mutex);
  20
  21struct QemuCond {
  22    LONG waiters, target;
  23    HANDLE sema;
  24    HANDLE continue_event;
  25};
  26
  27struct QemuSemaphore {
  28    HANDLE sema;
  29};
  30
  31struct QemuEvent {
  32    int value;
  33    HANDLE event;
  34};
  35
  36typedef struct QemuThreadData QemuThreadData;
  37struct QemuThread {
  38    QemuThreadData *data;
  39    unsigned tid;
  40};
  41
  42/* Only valid for joinable threads.  */
  43HANDLE qemu_thread_get_handle(QemuThread *thread);
  44
  45#endif
  46