mtx_t
int cnd_timedwait(cnd_t *__restrict, mtx_t *__restrict __mtx,
int cnd_wait(cnd_t *, mtx_t *__mtx);
void mtx_destroy(mtx_t *__mtx);
int mtx_init(mtx_t *__mtx, int);
int mtx_lock(mtx_t *__mtx);
int mtx_timedlock(mtx_t *__restrict __mtx,
int mtx_trylock(mtx_t *__mtx);
int mtx_unlock(mtx_t *__mtx);
cnd_timedwait(cnd_t *restrict cond, mtx_t *restrict mtx,
cnd_wait(cnd_t *cond, mtx_t *mtx)
mtx_unlock(mtx_t *mtx)
mtx_destroy(mtx_t *mtx)
mtx_init(mtx_t *mtx, int type)
mtx_lock(mtx_t *mtx)
mtx_timedlock(mtx_t *restrict mtx, const struct timespec *restrict ts)
mtx_trylock(mtx_t *mtx)