Introduce time64 support.
[uclibc-ng.git] / librt / timer_gettime.c
blob9495c802d317ab99391d5e0fd26412f0406aabcc
1 /*
2 * timer_gettime.c - get the timer value.
3 */
5 #include <errno.h>
6 #include <stdlib.h>
7 #include <time.h>
8 #include <sys/syscall.h>
10 #include "kernel-posix-timers.h"
12 #if defined(__NR_timer_gettime) || defined(__NR_timer_gettime64)
14 #if defined(__UCLIBC_USE_TIME64__) && defined(__NR_timer_gettime64)
15 #define __NR___syscall_timer_gettime __NR_timer_gettime64
16 #else
17 #define __NR___syscall_timer_gettime __NR_timer_gettime
18 #endif
19 static __inline__ _syscall2(int, __syscall_timer_gettime, kernel_timer_t, ktimerid,
20 void *, value);
22 /* Get the amount of time left on a timer */
23 int timer_gettime(timer_t timerid, struct itimerspec *value)
25 struct timer *kt = (struct timer *)timerid;
27 /* Get timeout from the kernel */
28 return __syscall_timer_gettime(kt->ktimerid, value);
31 #endif