#include <threads.h>
#include <errno.h>

int __pthread_cond_timedwait(cnd_t* restrict,
                             mtx_t* restrict,
                             const struct timespec* restrict);

int cnd_timedwait(cnd_t* restrict c,
                  mtx_t* restrict m,
                  const struct timespec* restrict ts) {
  int ret = __pthread_cond_timedwait(c, m, ts);
  switch (ret) {
    /* May also return EINVAL or EPERM. */
    default:
      return thrd_error;
    case 0:
      return thrd_success;
    case ETIMEDOUT:
      return thrd_timedout;
  }
}
