/*-------------------------------------------------------------*/ typedef struct netwib_thread_cond netwib_thread_cond; /*-------------------------------------------------------------*/ /* Name : netwib_thread_cond_init Description : Initialize a condition. Input parameter(s) : Input/output parameter(s) : *ppcond : netwib_thread_cond initialized Output parameter(s) : Normal return values : NETWIB_ERR_OK : ok */ netwib_err netwib_thread_cond_init(netwib_thread_cond **ppcond); /*-------------------------------------------------------------*/ /* Name : netwib_thread_cond_close Description : Close a condition. Input parameter(s) : Input/output parameter(s) : *ppcond : netwib_thread_cond closed Output parameter(s) : Normal return values : NETWIB_ERR_OK : ok */ netwib_err netwib_thread_cond_close(netwib_thread_cond **ppcond); /*-------------------------------------------------------------*/ /* Name : netwib_thread_cond_broadcast Description : Inform every waiting thread. Input parameter(s) : value : value to broadcast Input/output parameter(s) : *pcond : netwib_thread_cond Output parameter(s) : Normal return values : NETWIB_ERR_OK : ok */ netwib_err netwib_thread_cond_broadcast(netwib_thread_cond *pcond, netwib_uint32 value); /*-------------------------------------------------------------*/ /* Name : netwib_thread_cond_wait Description : Wait for the condition. Input parameter(s) : *pcond : netwib_thread_cond *pabstime : end time. If *pabstime is reached, function returns (*pevent set to NETWIB_FALSE). Input/output parameter(s) : Output parameter(s) : *pevent : condition reached *pvalue : value received Normal return values : NETWIB_ERR_OK : ok */ netwib_err netwib_thread_cond_wait(netwib_thread_cond *pcond, netwib_consttime *pabstime, netwib_bool *pevent, netwib_uint32 *pvalue); /*-------------------------------------------------------------*/ /* Name : netwib_thread_cond_reinit Description : Reset the condition. So netwib_thread_cond_broadcast can be used again. Input parameter(s) : Input/output parameter(s) : *pcond : netwib_thread_cond Output parameter(s) : Normal return values : NETWIB_ERR_OK : ok */ netwib_err netwib_thread_cond_reinit(netwib_thread_cond *pcond);