#ifndef _IGMP_H #define _IGMP_H /* Max interval between IGMP packets */ #define IGMP_INTERVAL (10*TICKS_PER_SEC) #define IGMPv1_ROUTER_PRESENT_TIMEOUT (400*TICKS_PER_SEC) #define IGMP_QUERY 0x11 #define IGMPv1_REPORT 0x12 #define IGMPv2_REPORT 0x16 #define IGMP_LEAVE 0x17 #define GROUP_ALL_HOSTS 0xe0000001 /* 224.0.0.1 Host byte order */ struct igmp { uint8_t type; uint8_t response_time; uint16_t chksum; in_addr group; }; struct igmp_ip_t { /* Format of an igmp ip packet */ struct iphdr ip; uint8_t router_alert[4]; /* Router alert option */ struct igmp igmp; }; #endif /* _IGMP_H */