1 /*
2  * timer_gettime.c - get the timer value.
3  */
4 
5 #include <errno.h>
6 #include <stdlib.h>
7 #include <time.h>
8 #include <sys/syscall.h>
9 
10 #include "kernel-posix-timers.h"
11 
12 #if defined(__NR_timer_gettime) || defined(__NR_timer_gettime64)
13 
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);
21 
22 /* Get the amount of time left on a timer */
timer_gettime(timer_t timerid,struct itimerspec * value)23 int timer_gettime(timer_t timerid, struct itimerspec *value)
24 {
25 	struct timer *kt = (struct timer *)timerid;
26 
27 	/* Get timeout from the kernel */
28 	return __syscall_timer_gettime(kt->ktimerid, value);
29 }
30 
31 #endif
32