#ifndef TIMER_QUEUE_H #define TIMER_QUEUE_H /* How much the currtime can diverge from set time to match (in ms)*/ #define TIME_DIV 10 #include #include #include #include #include #include #include #include #include #include "packet_queue.h" #include "route_table.h" #include "flood_id_queue.h" #include "utils.h" #include "neighbor_list.h" #include "interface_list.h" extern struct timer_list aodv_timer; int init_timer_queue(); void update_timer_queue(); void timer_queue_signal(); int insert_timer_queue_entry(u_int64_t msec,void *data,int size, u_int32_t id,u_int16_t retries,u_int8_t ttl,unsigned char flags); struct timer_queue_entry *find_first_timer_queue_entry(); struct timer_queue_entry * find_first_timer_queue_entry_of_id(u_int32_t id); struct timer_queue_entry * find_first_timer_queue_entry_of_id_and_flag(u_int32_t id, unsigned char flags); void delete_timer_queue_entry_of_id(u_int32_t id, unsigned char flags); int delete_timer_queue_entry(struct timer_queue_entry *dead_entry); void remove_first_timer_queue_entry(); struct timer_queue_entry *find_first_timer_queue_entry_due(u_int64_t tv); int read_timer_queue_proc(char *buffer, char **buffer_location, off_t offset, int buffer_length,int *eof,void *data); #endif