/*-------------------------------------------------------------*/
typedef struct netwib_thread_mutex netwib_thread_mutex;
/*-------------------------------------------------------------*/
/* Name : netwib_thread_mutex_init
Description :
Initialize a mutex.
Input parameter(s) :
Input/output parameter(s) :
*ppmutex : netwib_thread_mutex initialized
Output parameter(s) :
Normal return values :
NETWIB_ERR_OK : ok
*/
netwib_err netwib_thread_mutex_init(netwib_thread_mutex **ppmutex);
/*-------------------------------------------------------------*/
/* Name : netwib_thread_mutex_close
Description :
Close a mutex.
Input parameter(s) :
Input/output parameter(s) :
*ppmutex : netwib_thread_mutex closed
Output parameter(s) :
Normal return values :
NETWIB_ERR_OK : ok
*/
netwib_err netwib_thread_mutex_close(netwib_thread_mutex **ppmutex);
/*-------------------------------------------------------------*/
/* Name : netwib_thread_mutex_lock
Description :
Wait for the mutex.
Input parameter(s) :
*pmutex : netwib_thread_mutex
*pabstime : end time. If *pabstime is reached, locking is
not done (*plocked set to NETWIB_FALSE).
Input/output parameter(s) :
Output parameter(s) :
*plocked : the mutex could be locked
Normal return values :
NETWIB_ERR_OK : ok
*/
netwib_err netwib_thread_mutex_lock(netwib_thread_mutex *pmutex,
netwib_consttime *pabstime,
netwib_bool *plocked);
/*-------------------------------------------------------------*/
/* Name : netwib_thread_mutex_unlock
Description :
Unlock a mutex.
Input parameter(s) :
Input/output parameter(s) :
*pmutex : netwib_thread_mutex to unlock
Output parameter(s) :
Normal return values :
NETWIB_ERR_OK : ok
*/
netwib_err netwib_thread_mutex_unlock(netwib_thread_mutex *pmutex);