1#ifndef __QEMU_THREAD_POSIX_H 2#define __QEMU_THREAD_POSIX_H 1 3#include "pthread.h" 4#include <semaphore.h> 5 6struct QemuMutex { 7 pthread_mutex_t lock; 8}; 9 10struct QemuCond { 11 pthread_cond_t cond; 12}; 13 14struct QemuSemaphore { 15#if defined(__APPLE__) || defined(__NetBSD__) 16 pthread_mutex_t lock; 17 pthread_cond_t cond; 18 unsigned int count; 19#else 20 sem_t sem; 21#endif 22}; 23 24struct QemuEvent { 25#ifndef __linux__ 26 pthread_mutex_t lock; 27 pthread_cond_t cond; 28#endif 29 unsigned value; 30}; 31 32struct QemuThread { 33 pthread_t thread; 34}; 35 36#endif 37