eecc45fe0ff3948d0ad8ad755bd0a245d1092a90
[olsrd.git] / src / lq_plugin_default.h
1 #ifndef LQ_PLUGIN_DEFAULT_H_
2 #define LQ_PLUGIN_DEFAULT_H_
3
4 #include "olsr_types.h"
5
6 #define LQ_PLUGIN_LC_MULTIPLIER 1024
7 #define LQ_PLUGIN_RELEVANT_COSTCHANGE 16
8
9 struct default_lq {
10         float lq, nlq;
11 };
12
13 olsr_linkcost default_calc_cost(const void *lq);
14
15 olsr_bool default_olsr_is_relevant_costchange(olsr_linkcost c1, olsr_linkcost c2);
16
17 olsr_linkcost default_packet_loss_worker(void *lq, olsr_bool lost);
18 void default_olsr_memorize_foreign_hello_lq(void *local, void *foreign);
19
20 int default_olsr_serialize_hello_lq_pair(unsigned char *buff, void *lq);
21 void default_olsr_deserialize_hello_lq_pair(const olsr_u8_t **curr, void *lq);
22 int default_olsr_serialize_tc_lq_pair(unsigned char *buff, void *lq);
23 void default_olsr_deserialize_tc_lq_pair(const olsr_u8_t **curr, void *lq);
24
25 void default_olsr_copy_link_lq_into_tc(void *target, void *source);
26 void default_olsr_clear_lq(void *target);
27
28 char *default_olsr_print_lq(void *ptr);
29 char *default_olsr_print_cost(olsr_linkcost cost);
30
31 #endif /*LQ_PLUGIN_DEFAULT_H_*/