1#include <threads.h>
2#include <errno.h>
3
4int __pthread_mutex_timedlock(mtx_t *restrict, const struct timespec *restrict);
5
6int mtx_timedlock(mtx_t *restrict m, const struct timespec *restrict ts)
7{
8	int ret = __pthread_mutex_timedlock(m, ts);
9	switch (ret) {
10	default:        return thrd_error;
11	case 0:         return thrd_success;
12	case ETIMEDOUT: return thrd_timedout;
13	}
14}
15