Lines Matching refs:timer
32 struct acrn_timer *timer = arg; in timer_handler() local
37 if (timer == NULL) { in timer_handler()
45 size = read(timer->fd, &nexp, sizeof(nexp)); in timer_handler()
58 if ((cb = timer->callback) != NULL) { in timer_handler()
59 (*cb)(timer->callback_param, nexp); in timer_handler()
64 acrn_timer_init(struct acrn_timer *timer, void (*cb)(void *, uint64_t), in acrn_timer_init() argument
67 if ((timer == NULL) || (cb == NULL)) { in acrn_timer_init()
71 timer->fd = -1; in acrn_timer_init()
72 if ((timer->clockid == CLOCK_REALTIME) || in acrn_timer_init()
73 (timer->clockid == CLOCK_MONOTONIC)) { in acrn_timer_init()
74 timer->fd = timerfd_create(timer->clockid, in acrn_timer_init()
80 if (timer->fd <= 0) { in acrn_timer_init()
85 timer->mevp = mevent_add(timer->fd, EVF_READ, timer_handler, timer, NULL, NULL); in acrn_timer_init()
86 if (timer->mevp == NULL) { in acrn_timer_init()
87 close(timer->fd); in acrn_timer_init()
92 timer->callback = cb; in acrn_timer_init()
93 timer->callback_param = param; in acrn_timer_init()
99 acrn_timer_deinit(struct acrn_timer *timer) in acrn_timer_deinit() argument
101 if (timer == NULL) { in acrn_timer_deinit()
105 if (timer->mevp != NULL) { in acrn_timer_deinit()
106 mevent_delete_close(timer->mevp); in acrn_timer_deinit()
107 timer->mevp = NULL; in acrn_timer_deinit()
110 timer->fd = -1; in acrn_timer_deinit()
111 timer->callback = NULL; in acrn_timer_deinit()
112 timer->callback_param = NULL; in acrn_timer_deinit()
116 acrn_timer_settime(struct acrn_timer *timer, const struct itimerspec *new_value) in acrn_timer_settime() argument
118 if (timer == NULL) { in acrn_timer_settime()
123 return timerfd_settime(timer->fd, 0, new_value, NULL); in acrn_timer_settime()
127 acrn_timer_settime_abs(struct acrn_timer *timer, in acrn_timer_settime_abs() argument
130 if (timer == NULL) { in acrn_timer_settime_abs()
135 return timerfd_settime(timer->fd, TFD_TIMER_ABSTIME, new_value, NULL); in acrn_timer_settime_abs()
139 acrn_timer_gettime(struct acrn_timer *timer, struct itimerspec *cur_value) in acrn_timer_gettime() argument
141 if (timer == NULL) { in acrn_timer_gettime()
146 return timerfd_gettime(timer->fd, cur_value); in acrn_timer_gettime()