22 #ifndef LELY_LIBC_TIME_H_ 23 #define LELY_LIBC_TIME_H_ 29 #ifndef LELY_HAVE_ITIMERSPEC 30 #if defined(_POSIX_C_SOURCE) || defined(_POSIX_TIMERS) \ 31 || defined(_TIMESPEC_DEFINED) 32 #define LELY_HAVE_ITIMERSPEC 1 36 #undef LELY_HAVE_TIMESPEC 37 #if __STDC_VERSION__ >= 201112L || _MSC_VER >= 1900 \ 38 || _POSIX_C_SOURCE >= 199309L || defined(__CYGWIN__) \ 39 || defined(_TIMESPEC_DEFINED) || defined(__timespec_defined) 40 #define LELY_HAVE_TIMESPEC 1 43 #ifndef LELY_HAVE_TIMESPEC_GET 44 #if (__STDC_VERSION__ >= 201112L || __USE_ISOC11 || _MSC_VER >= 1900) \ 46 #define LELY_HAVE_TIMESPEC_GET 1 50 #if !defined(_POSIX_C_SOURCE) && !defined(_POSIX_TIMERS) \ 51 && !defined(__MINGW32__) 54 #define CLOCK_REALTIME 0 61 #define CLOCK_MONOTONIC 1 67 #define CLOCK_PROCESS_CPUTIME_ID 2 73 #define CLOCK_THREAD_CPUTIME_ID 3 76 #define TIMER_ABSTIME 1 78 #endif // !_POSIX_C_SOURCE && !_POSIX_TIMERS && !__MINGW32__ 80 #if !LELY_HAVE_TIMESPEC 90 #endif // !LELY_HAVE_TIMESPEC 92 #if !LELY_HAVE_ITIMERSPEC 97 struct timespec it_interval;
99 struct timespec it_value;
102 #endif // !LELY_HAVE_ITIMERSPEC 108 #if !defined(_POSIX_TIMERS) && !defined(__MINGW32__) 125 int clock_getres(clockid_t clock_id,
struct timespec *res);
141 int clock_gettime(clockid_t clock_id,
struct timespec *tp);
173 int clock_nanosleep(clockid_t clock_id,
int flags,
const struct timespec *rqtp,
174 struct timespec *rmtp);
188 int clock_settime(clockid_t clock_id,
const struct timespec *tp);
194 int nanosleep(
const struct timespec *rqtp,
struct timespec *rmtp);
196 #endif // !_POSIX_TIMERS && !__MINGW32__ 198 #if !LELY_HAVE_TIMESPEC_GET 219 #endif // !LELY_HAVE_TIMESPEC_GET 225 #endif // !LELY_LIBC_TIME_H_ This header file is part of the C11 and POSIX compatibility library; it includes <sys/types.h>, if it exists, and defines any missing functionality.
int timespec_get(struct timespec *ts, int base)
Sets the interval at ts to hold the current calendar time based on the specified time base...
This header file is part of the C11 and POSIX compatibility library; it includes <time.h> and defines any missing functionality.