15#ifndef _NETSIM_PIM_MSG_H_
16#define _NETSIM_PIM_MSG_H_
88#define ENCODED_UNICAST_ADDR_LEN 6
113#define ENCODED_GROUP_ADDR_LEN 8
139#define ENCODED_SOURCE_ADDR_LEN 8
147#define PIM_HELLO_OPTION_LEN 4
164#define PIM_OPTION_HOLDTIME_LEN 2
165#define PIM_OPTION_HOLDTIME_TYPE 1
184#define PIM_OPTION_LANPRUNEDELAY_LEN 4
185#define PIM_OPTION_LANPRUNEDELAY_TYPE 2
202#define PIM_OPTION_DRPRIORITY_LEN 4
203#define PIM_OPTION_DRPRIORITY_TYPE 19
220#define PIM_OPTION_GENERATIONID_LEN 4
221#define PIM_OPTION_GENERATIONID_TYPE 20
243#define PIM_OPTION_ADDRLIST_LEN 0
244#define PIM_OPTION_ADDRLIST_TYPE 24
278#define PIM_HELLO_LEN 0
409#define PIM_JP_MSG_LEN (ENCODED_UNICAST_ADDR_LEN+4)
struct stru_pim_hdr * ptrPIM_HDR
struct stru_option_lan_prune_delay * ptrOPTION_LANPRUNEDELAY
struct stru_pim_Hello * ptrPIM_HELLO
void set_PIM_MSG(NetSim_PACKET *packet, void *msg)
struct stru_pim_hello_option PIM_HELLO_OPTION
struct stru_pim_encoded_group_addr ENCODED_GROUP_ADDR
void set_pim_hdr(ptrPIM_HDR hdr, PIMMSG type)
struct stru_option_addrlist OPTION_ADDRLIST
struct stru_option_dr_priority OPTION_DRPRIORITY
NetSim_PACKET * create_pim_packet(PIMMSG type, void *opt, double time, NETSIM_ID source, NETSIM_IPAddress sourceAddrss, UINT destCount, NETSIM_ID *destList, NETSIM_IPAddress group, UINT ttl)
struct stru_pim_join_prune_msg * ptrPIM_JOINPRUNE_MSG
struct stru_option_gen_id * ptrOPTION_GENERATIONID
struct stru_pim_register_stop_msg PIM_REGISTERSTOPMSG
struct stru_pim_encoded_unicast_addr * ptrENCODED_UNICAST_ADDR
ptrENCODED_GROUP_ADDR encode_group_addr(NETSIM_IPAddress ip)
struct stru_option_holdtime OPTION_HOLDTIME
@ PIMMSG_CandidateRPAdvertisement
struct stru_pim_register_stop_msg * ptrPIM_REGISTERSTOPMSG
struct stru_pim_Hello PIM_HELLO
ptrENCODED_SOURCE_ADDR encode_source_addr(NETSIM_IPAddress ip, NETSIM_IPAddress subnet)
void * get_PIM_MSG(NetSim_PACKET *packet)
void send_pim_msg(NETSIM_ID d, double time, NetSim_PACKET *packet)
struct stru_pim_encoded_source_addr ENCODED_SOURCE_ADDR
struct stru_pim_join_prune_msg PIM_JOINPRUNE_MSG
struct stru_option_gen_id OPTION_GENERATIONID
struct stru_pim_register_msg * ptrPIM_REGISTERMSG
struct stru_msg_groups PIM_JOINMSG_GROUP
struct stru_pim_encoded_unicast_addr ENCODED_UNICAST_ADDR
struct stru_pim_register_msg PIM_REGISTERMSG
struct stru_option_dr_priority * ptrOPTION_DRPRIORITY
struct stru_pim_encoded_group_addr * ptrENCODED_GROUP_ADDR
struct stru_pim_hdr PIM_HDR
struct stru_option_holdtime * ptrOPTION_HOLDTIME
enum enum_pim_msg_type PIMMSG
struct stru_pim_encoded_source_addr * ptrENCODED_SOURCE_ADDR
struct stru_msg_groups * ptrPIM_JOINMSG_GROUP
struct stru_pim_hello_option * ptrPIM_HELLO_OPTION
struct stru_option_addrlist * ptrOPTION_ADDRLIST
struct stru_option_lan_prune_delay OPTION_LANPRUNEDELAY
ptrENCODED_UNICAST_ADDR encode_unicast_addr(NETSIM_IPAddress ip)
ptrENCODED_SOURCE_ADDR * joinedSourceAddr
ptrENCODED_GROUP_ADDR multicastAddr
ptrENCODED_SOURCE_ADDR * pruneSourceAddr
ptrENCODED_UNICAST_ADDR * SeconadayAddr
ptrPIM_HELLO_OPTION * option
NETSIM_IPAddress GroupMulticastAddr
NETSIM_IPAddress SourceAddr
NETSIM_IPAddress unicastAddr
ptrENCODED_UNICAST_ADDR unicastAddr
ptrPIM_JOINMSG_GROUP * groups
void * multicastDataPacket
ptrENCODED_GROUP_ADDR groupAddr
ptrENCODED_SOURCE_ADDR sourceAddr