Annotation of embedaddon/pimdd/include/sunos-cc/netinet/igmp.h, revision 1.1

1.1     ! misho       1: /*
        !             2:  * Internet Group Management Protocol (IGMP) definitions.
        !             3:  *
        !             4:  * Written by Steve Deering, Stanford, May 1988.
        !             5:  *
        !             6:  * MULTICAST $Revision: 1.3 $
        !             7:  */
        !             8: 
        !             9: /*
        !            10:  * IGMP packet format.
        !            11:  */
        !            12: struct igmp {
        !            13:        u_char          igmp_type;      /* version & type of IGMP message  */
        !            14:        u_char          igmp_code;      /* code for routing sub-msgs       */
        !            15:        u_short         igmp_cksum;     /* IP-style checksum               */
        !            16:        struct in_addr  igmp_group;     /* group address being reported    */
        !            17: };                                     /*  (zero for queries)             */
        !            18: 
        !            19: #define IGMP_MINLEN                 8
        !            20: 
        !            21: /*
        !            22:  * Message types, including version number.
        !            23:  */
        !            24: #define IGMP_HOST_MEMBERSHIP_QUERY   0x11      /* Host membership query    */
        !            25: #define IGMP_HOST_MEMBERSHIP_REPORT  0x12      /* Old membership report    */
        !            26: #define IGMP_DVMRP                  0x13       /* DVMRP routing message    */
        !            27: #define IGMP_PIM                    0x14       /* PIM routing message      */
        !            28: 
        !            29: #define IGMP_HOST_NEW_MEMBERSHIP_REPORT 0x16   /* New membership report    */
        !            30: 
        !            31: #define IGMP_HOST_LEAVE_MESSAGE      0x17      /* Leave-group message      */
        !            32: 
        !            33: #define IGMP_MTRACE_RESP            0x1e  /* traceroute resp. (to sender)  */
        !            34: #define IGMP_MTRACE                 0x1f  /* mcast traceroute messages     */
        !            35: 
        !            36: #define IGMP_MAX_HOST_REPORT_DELAY   10    /* max delay for response to     */
        !            37:                                           /*  query (in seconds)           */
        !            38: 
        !            39: 
        !            40: #define IGMP_TIMER_SCALE     10            /* denotes that the igmp->timer filed */
        !            41:                                    /* specifies time in 10th of seconds  */
        !            42: 
        !            43: /*
        !            44:  * States for the IGMPv2 state table
        !            45:  */
        !            46: #define IGMP_DELAYING_MEMBER                     1
        !            47: #define IGMP_IDLE_MEMBER                         2
        !            48: #define IGMP_LAZY_MEMBER                         3 
        !            49: #define IGMP_SLEEPING_MEMBER                     4 
        !            50: #define IGMP_AWAKENING_MEMBER                    5 
        !            51: 
        !            52: /*
        !            53:  * We must remember whether the querier is an old or a new router.
        !            54:  */
        !            55: #define IGMP_OLD_ROUTER                          0
        !            56: #define IGMP_NEW_ROUTER                          1
        !            57: 
        !            58: /*
        !            59:  * Revert to new router if we haven't heard from an old router in
        !            60:  * this amount of time.
        !            61:  */
        !            62: #define IGMP_AGE_THRESHOLD                      540

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>