xref: /onnv-gate/usr/src/grub/grub-0.97/netboot/igmp.h (revision 8044:b3af80bbf173)
1*8044SWilliam.Kucharski@Sun.COM #ifndef	_IGMP_H
2*8044SWilliam.Kucharski@Sun.COM #define	_IGMP_H
3*8044SWilliam.Kucharski@Sun.COM 
4*8044SWilliam.Kucharski@Sun.COM /* Max interval between IGMP packets */
5*8044SWilliam.Kucharski@Sun.COM #define IGMP_INTERVAL			(10*TICKS_PER_SEC)
6*8044SWilliam.Kucharski@Sun.COM #define IGMPv1_ROUTER_PRESENT_TIMEOUT	(400*TICKS_PER_SEC)
7*8044SWilliam.Kucharski@Sun.COM 
8*8044SWilliam.Kucharski@Sun.COM #define IGMP_QUERY	0x11
9*8044SWilliam.Kucharski@Sun.COM #define IGMPv1_REPORT	0x12
10*8044SWilliam.Kucharski@Sun.COM #define IGMPv2_REPORT	0x16
11*8044SWilliam.Kucharski@Sun.COM #define IGMP_LEAVE	0x17
12*8044SWilliam.Kucharski@Sun.COM #define GROUP_ALL_HOSTS 0xe0000001 /* 224.0.0.1 Host byte order */
13*8044SWilliam.Kucharski@Sun.COM 
14*8044SWilliam.Kucharski@Sun.COM struct igmp {
15*8044SWilliam.Kucharski@Sun.COM 	uint8_t  type;
16*8044SWilliam.Kucharski@Sun.COM 	uint8_t  response_time;
17*8044SWilliam.Kucharski@Sun.COM 	uint16_t chksum;
18*8044SWilliam.Kucharski@Sun.COM 	in_addr group;
19*8044SWilliam.Kucharski@Sun.COM };
20*8044SWilliam.Kucharski@Sun.COM 
21*8044SWilliam.Kucharski@Sun.COM struct igmp_ip_t { /* Format of an igmp ip packet */
22*8044SWilliam.Kucharski@Sun.COM 	struct iphdr ip;
23*8044SWilliam.Kucharski@Sun.COM 	uint8_t router_alert[4]; /* Router alert option */
24*8044SWilliam.Kucharski@Sun.COM 	struct igmp igmp;
25*8044SWilliam.Kucharski@Sun.COM };
26*8044SWilliam.Kucharski@Sun.COM 
27*8044SWilliam.Kucharski@Sun.COM #endif	/* _IGMP_H */
28