2017-05-31 00:15:41 +03:00
# define TIMER_RETRY 1
struct k_clock {
2017-05-31 00:15:45 +03:00
int ( * clock_getres ) ( const clockid_t which_clock ,
struct timespec64 * tp ) ;
int ( * clock_set ) ( const clockid_t which_clock ,
const struct timespec64 * tp ) ;
int ( * clock_get ) ( const clockid_t which_clock ,
struct timespec64 * tp ) ;
int ( * clock_adj ) ( const clockid_t which_clock , struct timex * tx ) ;
int ( * timer_create ) ( struct k_itimer * timer ) ;
int ( * nsleep ) ( const clockid_t which_clock , int flags ,
2017-06-14 00:34:33 +03:00
const struct timespec64 * ) ;
2017-05-31 00:15:45 +03:00
int ( * timer_set ) ( struct k_itimer * timr , int flags ,
struct itimerspec64 * new_setting ,
struct itimerspec64 * old_setting ) ;
int ( * timer_del ) ( struct k_itimer * timr ) ;
void ( * timer_get ) ( struct k_itimer * timr ,
struct itimerspec64 * cur_setting ) ;
void ( * timer_rearm ) ( struct k_itimer * timr ) ;
2017-05-31 00:15:49 +03:00
int ( * timer_forward ) ( struct k_itimer * timr , ktime_t now ) ;
ktime_t ( * timer_remaining ) ( struct k_itimer * timr , ktime_t now ) ;
2017-05-31 00:15:52 +03:00
int ( * timer_try_to_cancel ) ( struct k_itimer * timr ) ;
void ( * timer_arm ) ( struct k_itimer * timr , ktime_t expires ,
bool absolute , bool sigev_none ) ;
2017-05-31 00:15:41 +03:00
} ;
extern const struct k_clock clock_posix_cpu ;
extern const struct k_clock clock_posix_dynamic ;
extern const struct k_clock clock_process ;
extern const struct k_clock clock_thread ;
extern const struct k_clock alarm_clock ;
int posix_timer_event ( struct k_itimer * timr , int si_private ) ;
2017-05-31 00:15:59 +03:00
void common_timer_get ( struct k_itimer * timr , struct itimerspec64 * cur_setting ) ;
int common_timer_set ( struct k_itimer * timr , int flags ,
struct itimerspec64 * new_setting ,
struct itimerspec64 * old_setting ) ;
int common_timer_del ( struct k_itimer * timer ) ;