18 #ifndef _IGMP_TIMER_H_ 19 #define _IGMP_TIMER_H_ 28 #define IGMP_TIMER_ID_INVALID (~0) 60 #define foreach_igmp_timer_type \ 64 _ (0x4, REPORT_INTERVAL) 68 #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)
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)