blob: 99eb989388babca33f718e59f74eb5e1664864e2 [file] [log] [blame]
Adam Barth57eacf52020-11-04 00:38:09 +00001#ifndef SYSROOT_NETINET_IGMP_H_
2#define SYSROOT_NETINET_IGMP_H_
Doug Horn1427b6a2018-12-11 13:19:16 -08003
4#include <netinet/in.h>
5#include <stdint.h>
6
7struct igmp {
Adam Barth57eacf52020-11-04 00:38:09 +00008 uint8_t igmp_type;
9 uint8_t igmp_code;
10 uint16_t igmp_cksum;
11 struct in_addr igmp_group;
Doug Horn1427b6a2018-12-11 13:19:16 -080012};
13
14#define IGMP_MINLEN 8
15
16#define IGMP_MEMBERSHIP_QUERY 0x11
17#define IGMP_V1_MEMBERSHIP_REPORT 0x12
18#define IGMP_V2_MEMBERSHIP_REPORT 0x16
19#define IGMP_V2_LEAVE_GROUP 0x17
20
21#define IGMP_DVMRP 0x13
22#define IGMP_PIM 0x14
23#define IGMP_TRACE 0x15
24
25#define IGMP_MTRACE_RESP 0x1e
26#define IGMP_MTRACE 0x1f
27
28#define IGMP_MAX_HOST_REPORT_DELAY 10
29#define IGMP_TIMER_SCALE 10
30
31#define IGMP_DELAYING_MEMBER 1
32#define IGMP_IDLE_MEMBER 2
33#define IGMP_LAZY_MEMBER 3
34#define IGMP_SLEEPING_MEMBER 4
35#define IGMP_AWAKENING_MEMBER 5
36
37#define IGMP_v1_ROUTER 1
38#define IGMP_v2_ROUTER 2
39
40#define IGMP_HOST_MEMBERSHIP_QUERY IGMP_MEMBERSHIP_QUERY
41#define IGMP_HOST_MEMBERSHIP_REPORT IGMP_V1_MEMBERSHIP_REPORT
42#define IGMP_HOST_NEW_MEMBERSHIP_REPORT IGMP_V2_MEMBERSHIP_REPORT
43#define IGMP_HOST_LEAVE_MESSAGE IGMP_V2_LEAVE_GROUP
Adam Barth57eacf52020-11-04 00:38:09 +000044
45#endif // SYSROOT_NETINET_IGMP_H_