📄 dymo_ptypes.h
字号:
/* dymo_ptypes.h */
/* Prototypes used by the DYMO routing protocol */
/****************************************/
/* Copyright (c) 1986-2003 */
/* by OPNET Technologies, Inc. */
/* (A Delaware Corporation) */
/* 7255 Woodmont Av., Suite 250 */
/* Bethesda, MD 20814, U.S.A. */
/* All Rights Reserved. */
/****************************************/
/* Protect against multiple includes. */
#ifndef _DYMO_PTYPES_H_INCLUDED_
#define _DYMO_PTYPES_H_INCLUDED_
#include <dymo.h>
#include <dymo_pkt_support.h>
#include <ip_addr_v4.h>
#include <ip_cmn_rte_table.h>
#if defined (__cplusplus)
extern "C" {
#endif
/***********************************************/
/******* Includes prototypes for ********/
/******* 1. dymo_route_table.ex.c ********/
/******* 2. dymo_packet_queue.ex.c ********/
/******* 3. dymo_request_table.ex.c ********/
/******* 4. dymo_pkt_support.ex.c ********/
/***********************************************/
/* dymo_route_table function prototypes */
DymoT_Route_Table* dymo_route_table_create (IpT_Cmn_Rte_Table*, IpT_Rte_Proc_Id, double, double, DymoT_Local_Stathandles*);
void dymo_route_table_entry_create (DymoT_Route_Table*, InetT_Address, InetT_Subnet_Mask,
InetT_Address, IpT_Port_Info, int, int, double);
DymoT_Route_Entry* dymo_route_table_entry_get (DymoT_Route_Table*, InetT_Address);
Compcode dymo_route_table_entry_param_get (DymoT_Route_Table*, InetT_Address, int, void*);
Compcode dymo_route_table_entry_param_set (DymoT_Route_Table*, InetT_Address, int, ...);
Compcode dymo_route_table_precursor_add (DymoT_Route_Table*, InetT_Address, InetT_Address);
Compcode dymo_route_table_entry_next_hop_update (DymoT_Route_Table*, InetT_Address, InetT_Address,
int, IpT_Port_Info);
Compcode dymo_route_table_entry_state_set (DymoT_Route_Table*, InetT_Address,
DymoC_Route_Entry_State);
Compcode dymo_route_table_entry_delete (DymoT_Route_Table*, InetT_Address);
void dymo_route_table_entry_expiry_time_update (DymoT_Route_Table*, InetT_Address, double, int);
int dymo_route_table_num_active_routes_get (DymoT_Route_Table*);
/* dymo_packet_queue function prototypes */
DymoT_Packet_Queue* dymo_packet_queue_create (int, DymoT_Local_Stathandles*);
void dymo_packet_queue_insert (DymoT_Packet_Queue*, Packet*, InetT_Address);
List* dymo_packet_queue_all_pkts_to_dest_get (DymoT_Packet_Queue*, InetT_Address, Boolean, Boolean);
void dymo_packet_queue_all_pkts_to_dest_delete (DymoT_Packet_Queue*, InetT_Address);
int dymo_packet_queue_num_pkts_get (DymoT_Packet_Queue*, InetT_Address);
/* dymo_request_table function prototypes */
DymoT_Request_Table* dymo_request_table_create (double, int);
void dymo_request_table_orig_rreq_insert (DymoT_Request_Table*, int, InetT_Address,
int, double, int, InetT_Address);
void dymo_request_table_forward_rreq_insert (DymoT_Request_Table*, int, InetT_Address);
Boolean dymo_route_request_forward_entry_exists (DymoT_Request_Table*, int, InetT_Address);
Boolean dymo_request_table_orig_rreq_exists (DymoT_Request_Table*, InetT_Address);
DymoT_Orig_Request_Entry* dymo_route_request_orig_entry_get (DymoT_Request_Table*, int, Boolean);
void dymo_route_request_orig_entry_delete (DymoT_Request_Table*, InetT_Address);
void dymo_request_table_orig_entry_mem_free (DymoT_Orig_Request_Entry*);
/* dymo_pkt_support function prototypes */
Packet* dymo_pkt_support_pkt_create (DymoT_Packet_Option*, int);
DymoT_Packet_Option* dymo_pkt_support_re_option_create (int, int, Boolean, int, InetT_Address, int,
InetT_Address, int, Boolean, Boolean, int, int);
DymoT_Packet_Option* dymo_pkt_support_hello_option_create (Boolean, Boolean, int, InetT_Address, int,
InetT_Address, double, int);
DymoT_Packet_Option* dymo_pkt_support_rerr_option_create (Boolean, int, int, List*);
DymoT_Unreachable_Node* dymo_pkt_support_unreachable_nodes_mem_alloc (void);
DymoT_Re_Block_Entry* dymo_pkt_support_re_block_entry_mem_alloc (void);
void dymo_pkt_support_re_block_entry_mem_free (DymoT_Route_Ele*, int);
/* dymo_support function prototypes */
DymoT_Global_Stathandles* dymo_support_global_stat_handles_obtain (void);
Boolean dymo_support_hello_efficiency_sim_attr_get (void);
void dymo_support_routing_traffic_sent_stats_update (DymoT_Local_Stathandles*,
DymoT_Global_Stathandles*, Packet*);
void dymo_support_routing_traffic_received_stats_update (DymoT_Local_Stathandles*,
DymoT_Global_Stathandles*, Packet*);
void dymo_support_route_reply_sent_stats_update (DymoT_Local_Stathandles*,
DymoT_Global_Stathandles*, Boolean);
/* Prototypes for dymo_support.ex.c, to generate route table report */
void dymo_support_route_table_print_to_string (DymoT_Route_Table*);
void* dymo_array_elements_add (void*, int, int, int);
void dymo_support_conn_table_print_to_string(PrgT_String_Hash_Table*);
#if defined (__cplusplus)
} /* end of 'extern "C" {' */
#endif
/* End if for protection against multiple includes. */
#endif /*_DYMO_PTYPES_H_INCLUDED_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -