igmp.h File Reference


Detailed Description

IGMP protocol definitions.

Definition in file igmp.h.

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...

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)

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

Typedefs

typedef struct igmp IGMP
 IGMP packet type.

Functions

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


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