35 #ifndef __LWIP_IGMP_H__
36 #define __LWIP_IGMP_H__
39 #include "lwip/ip_addr.h"
40 #include "lwip/netif.h"
41 #include "lwip/pbuf.h"
51 #define IGMP_TMR_INTERVAL 100
52 #define IGMP_V1_DELAYING_MEMBER_TMR (1000/IGMP_TMR_INTERVAL)
53 #define IGMP_JOIN_DELAYING_MEMBER_TMR (500 /IGMP_TMR_INTERVAL)
57 #define IGMP_DEL_MAC_FILTER 0
58 #define IGMP_ADD_MAC_FILTER 1
74 struct igmp_group *next;
78 ip_addr_t group_address;
80 u8_t last_reporter_flag;
90 void igmp_init(
void)ICACHE_FLASH_ATTR;
91 err_t igmp_start(struct
netif *
netif)ICACHE_FLASH_ATTR;
92 err_t igmp_stop(struct
netif *
netif)ICACHE_FLASH_ATTR;
93 void igmp_report_groups(struct
netif *
netif)ICACHE_FLASH_ATTR;
94 struct igmp_group *igmp_lookfor_group(struct
netif *ifp, ip_addr_t *addr)ICACHE_FLASH_ATTR;
95 void igmp_input(struct
pbuf *p, struct
netif *inp, ip_addr_t *dest)ICACHE_FLASH_ATTR;
96 err_t igmp_joingroup(ip_addr_t *ifaddr, ip_addr_t *groupaddr)ICACHE_FLASH_ATTR;
97 err_t igmp_leavegroup(ip_addr_t *ifaddr, ip_addr_t *groupaddr)ICACHE_FLASH_ATTR;
98 void igmp_tmr(
void)ICACHE_FLASH_ATTR;
99 #define LWIP_RAND() rand()