18 #ifndef _IGMP_TIMER_H_ 19 #define _IGMP_TIMER_H_ 28 #define IGMP_TIMER_ID_INVALID (~0) 62 #define foreach_igmp_timer_type \ 66 _ (0x4, REPORT_INTERVAL) 70 #define _(n,f) IGMP_TIMER_##f = n, enum igmp_timer_type_t_ igmp_timer_type_t
u32 igmp_timer_type_get(igmp_timer_type_t t)
void * igmp_timer_get_data(igmp_timer_id_t t)
f64 igmp_timer_get_expiry_time(igmp_timer_id_t t)
#define foreach_igmp_timer_type
IGMP timer types and their values QUERY - the general query timer SRC - source expiration LEAVE - lea...
void igmp_timer_type_set(igmp_timer_type_t t, u32 v)
int igmp_timer_is_running(igmp_timer_id_t tid)
u8 * format_igmp_timer_id(u8 *s, va_list *args)
u32 igmp_timer_id_t
The id of a running timer.
igmp_timer_id_t igmp_timer_schedule(f64 when, u32 obj, igmp_timer_function_t fn, void *data)
Schedule a timer to expire in 'when' seconds.
void(* igmp_timer_function_t)(u32 obj, void *data)
A call-back function invoked when a timer expires;.
void igmp_timer_retire(igmp_timer_id_t *tid)
void igmp_timer_set_data(igmp_timer_id_t t, void *data)