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)23int 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