igmp.h File Reference

IGMP protocol definitions. More...

Go to the source code of this file.

Data Structures

struct  IGMP
 IGMP packet structure. More...
struct  igmpv3
 IGMPv3 query format. More...
struct  igmp_grouprec
 IGMPv3 group record. More...
struct  igmp_report
 IGMPv3 report. More...

Defines

#define IGMP_MINLEN   8
 Minimum IGMP packet length.
#define IGMP_MEMBERSHIP_QUERY   0x11
 Membership query.
#define IGMP_V1_MEMBERSHIP_REPORT   0x12
 Ver. 1 membership report.
#define IGMP_V2_MEMBERSHIP_REPORT   0x16
 Ver. 2 membership report.
#define IGMP_V3_MEMBERSHIP_REPORT   0x22
 Ver. 3 membership report.
#define IGMP_V2_LEAVE_GROUP   0x17
 Leave-group message.
#define IGMP_MAX_HOST_REPORT_DELAY   10
 Maximum delay for response query.
#define IGMP_TIMER_SCALE   10
 Code field time scale.
#define IGMP_EXCLUDE_LIST   1
 List identifiers.
#define IGMP_INCLUDE_LIST   2
#define IGMP_RECORDED_LIST   3

Functions

void NutIgmpInput (NUTDEVICE *dev, NETBUF *nb)
 Process incoming IGMP packets.
int NutIgmpOutput (uint8_t type, uint32_t dest, NETBUF *nb)
 Send an IGMP datagram.

IGMPv3 Report Types

#define IGMP_REPORT_MODE_IN   1
 Mode-is-include.
#define IGMP_REPORT_MODE_EX   2
 Mode-is-exclude.
#define IGMP_REPORT_TO_IN   3
 Change-to-include.
#define IGMP_REPORT_TO_EX   4
 Change-to-exclude.
#define IGMP_REPORT_ALLOW_NEW   5
 Allow-new-sources.
#define IGMP_REPORT_BLOCK_OLD   6
 Block-old-sources.

IGMPv3 Report Type Flags

#define IGMP_MASK_CUR_STATE   0x01
 Report current-state.
#define IGMP_MASK_ALLOW_NEW   0x02
 Report source as allow-new.
#define IGMP_MASK_BLOCK_OLD   0x04
 Report source as block-old.
#define IGMP_MASK_TO_IN   0x08
 Report source as to_in.
#define IGMP_MASK_TO_EX   0x10
 Report source as to_ex.
#define IGMP_MASK_STATE_T1   0x20
 State at T1.
#define IGMP_MASK_STATE_T2   0x40
 State at T2.
#define IGMP_MASK_IF_STATE   0x80
 Report current-state per interface.
#define IGMP_MASK_STATE_TX   (IGMP_MASK_STATE_T1 | IGMP_MASK_STATE_T2)
#define IGMP_MASK_PENDING   (IGMP_MASK_CUR_STATE | IGMP_MASK_ALLOW_NEW | IGMP_MASK_BLOCK_OLD)


Detailed Description

IGMP protocol definitions.

Definition in file igmp.h.


© 2000-2007 by egnite Software GmbH - visit http://www.ethernut.de/