📄 aodv_route_table_entry.h
字号:
/** Aodv_Route_Table_Entry.h **//****************************************//* Written *//* by *//* Lyes Guemari *//* *//* National Inst. of Stands & Tech *//* Washington, D.C., U.S.A. *//****************************************//*/* Definition of a Routing Table Entry in /* the AODV context*//** Include directives **/#include <opnet.h>#include "Aodv_List.h"#include "Aodv_Utils.h"#ifndef AODV_ROUTE_TABLE_ENTRY_H#define AODV_ROUTE_TABLE_ENTRY_H/** Define structure **/typedef struct { int entry_exist; int dest_ip_addr; int dest_seq_nb; int hop_count; int last_hop_count; int next_hop; Aodv_List * list_prec; double expi_time; Evhandle expi_evh; int breakage_flag; // indicate whether route was lost following a link breakage or not int repair_flag; // indicate whether entry is under repair or not int gratuitous_flag; // indicates whether the route is bi-directional or not int routing_flag; } Aodv_Route_Table_Entry;/***************************************//** Function declarations **//***************************************//* "Constructor" */extern Aodv_Route_Table_Entry * aodv_entry_create (int dest_ip_addr);/* Getters */extern int aodv_entry_get_dest_seq_nb(Aodv_Route_Table_Entry * entry_ptr);extern int aodv_entry_get_hop_count(Aodv_Route_Table_Entry * entry_ptr);extern intaodv_entry_get_next_hop(Aodv_Route_Table_Entry * entry_ptr);extern Aodv_List * aodv_entry_get_list_prec(Aodv_Route_Table_Entry * entry_ptr);extern doubleaodv_entry_get_expi_time(Aodv_Route_Table_Entry * entry_ptr); extern Evhandle aodv_entry_get_expi_evh(Aodv_Route_Table_Entry * entry_ptr);/* Setters */extern voidaodv_entry_set_dest_ip(Aodv_Route_Table_Entry * entry_ptr, int );extern void aodv_entry_set_dest_seq_nb(Aodv_Route_Table_Entry * entry_ptr, int );extern void aodv_entry_set_hop_count(Aodv_Route_Table_Entry * entry_ptr, int );extern voidaodv_entry_set_next_hop(Aodv_Route_Table_Entry * entry_ptr, int );extern void aodv_entry_set_list_prec(Aodv_Route_Table_Entry * entry_ptr, Aodv_List* );extern void aodv_entry_invalidate(Aodv_Route_Table_Entry * entry_ptr );extern void aodv_entry_add_prec(Aodv_Route_Table_Entry * entry_ptr, int prec_ip_addr);extern void aodv_entry_remove_prec(Aodv_Route_Table_Entry * entry_ptr, int prec_ip_addr);extern void aodv_entry_flush_prec_list(Aodv_Route_Table_Entry * entry_ptr);extern voidaodv_entry_set_expi_time(Aodv_Route_Table_Entry * entry_ptr, double ); extern void aodv_entry_cancel_intrpt(Aodv_Route_Table_Entry * entry_ptr);extern void aodv_entry_schedule_intrpt(Aodv_Route_Table_Entry * entry_ptr, double );extern void aodv_entry_reschedule_intrpt(Aodv_Route_Table_Entry * entry_ptr, double );/* Print */extern voidaodv_entry_print(Aodv_Route_Table_Entry * entry_ptr, int current_node_ip_addr);#endif AODV_ROUTE_TABLE_ENTRY_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -