#ifndef ETHERLIB_IGMP_CONNBLOCK_H #define ETHERLIB_IGMP_CONNBLOCK_H #include "../../connection_block.h" #include "../packet_parsers/ipv4_types.h" struct EthInterface_; /** * Create IGMP connection block. * @param intf associated Ethernet interface * @return connection block */ ConnBlock igmp_new_connblock(struct EthInterface_ * intf); /** * Report IGMP membership. * @param connBlock pointer to IGMP connblock * @param ga IPv4 group address */ void igmp_report_membership(ConnBlock * connBlock, ip4_addr ga); /** * Leave IGMP group. * @param connBlock pointer to IGMP connblock * @param ga IPv4 group address */ void igmp_leave_group(ConnBlock * connBlock, ip4_addr ga); /** * Print IGMP connblock report. * @param connBlock IGMP connblock */ void igmp_print_report(const ConnBlock* connBlock); #endif //ETHERLIB_IGMP_CONNBLOCK_H