#ifndef INCLUDED_C_COND_H #define INCLUDED_C_COND_H #ifndef INCLUDED_C_MUTEX_H #include #endif /*INCLUDED_C_MUTEX_H*/ /* ------------------------------------------------------------------------------------------------------------------ */ /* */ typedef struct { #if defined(PLATFORM_WINDOWS) CONDITION_VARIABLE handle; #elif defined(PLATFORM_POSIX) pthread_cond_t handle; #endif c_bool_t is_initialized; } c_Cond_t; /* ------------------------------------------------------------------------------------------------------------------ */ /* */ c_err_t c_Cond_Init(c_Cond_t* cond); void c_Cond_Destroy(c_Cond_t* cond); void c_Cond_Wait(c_Cond_t* cond, c_Mutex_t* mutex); c_bool_t c_Cond_TimedWait(c_Cond_t* cond, c_Mutex_t* mutex, c_uint_t timeout_ms); void c_Cond_Signal(c_Cond_t* cond); void c_Cond_Broadcast(c_Cond_t* cond); #endif /*INCLUDED_C_COND_H*/