1.2.4.4.3 Library Interface

NameDescription
Macros
IGMP_CONFIG_HThis is macro IGMP_CONFIG_H.
TCPIP_IGMP_INTERFACESthe maximum number of interfaces that support IGMP Should be <= interfaces that are present at the stack initialization
TCPIP_IGMP_MCAST_GROUPSmaximum number of multicast groups (addresses) for which a IGMP application can subscribe Each group can listen to multiple sources Should be prime number for best performance
TCPIP_IGMP_ROBUSTNESS_VARIABLEThe default Robustness Variable value The Robustness Variable allows tuning for the expected packet loss on a network. If a network is expected to be lossy, the Robustness Variable may be increased. IGMP is robust to (Robustness Variable - 1) packet losses. RFC 3376 IGMPv3: The Robustness Variable MUST NOT be zero, and SHOULD NOT be one. Default: 2 This is just a default value. The actual value is taken from a router query.
TCPIP_IGMP_SOCKET_RECORDS_PER_SOURCEmaximum number of socket records that are part of a IGMP source unicast address for a specific group G Note that same socket may need multiple records if it listens on multiple interfaces! When operating in IGMPv2 style, it represents the total number of sockets that can join/leave a specific group.
TCPIP_IGMP_SOURCES_PER_GROUPmaximum number of unicast sources per group a IGMP application can listen to Each unicast source can be used by multiple sockets Should be prime number for best performance
TCPIP_IGMP_TASK_TICK_RATEThe IGMP task processing rate: number of milliseconds to generate an IGMP tick. This is the tick that advances the IGMP state machine. The default value is 33 milliseconds. The lower the rate (higher the frequency) the higher the module priority and higher module performance can be obtained The value cannot be lower than the TCPIP_STACK_TICK_RATE.
TCPIP_IGMP_UNSOLICITED_REPORT_INTERVALThe default Unsolicited Report Interval, milliseconds The Unsolicited Report Interval is the time between repetitions of a host’s initial report of membership in a group. RFC 3376 IGMPv3: Default: 1 second.
TCPIP_IGMP_USER_NOTIFICATIONenable/disable user notification functions
TCPIP_IGMPV2_SUPPORT_ONLYIf this symbol is !0, then only Join and Leave operations are supported, without support for source addresses required by IGMPv3 This results in smaller code and less RAM needed by the IGMP module.
TCPIP_STACK_USE_IGMPIGMPv3 functionality
Functions
TCPIP_IGMP_ExcludeSourceHelper to unsubscribe from one source.
TCPIP_IGMP_GroupInfoGetGets current info about a multicast group.
TCPIP_IGMP_GroupsGetGets current info about multicast groups.
TCPIP_IGMP_HandlerDeRegisterDeregisters a previously registered IGMP client handler.
TCPIP_IGMP_HandlerRegisterRegisters a IGMP client Handler.
TCPIP_IGMP_IncludeSourceHelper to subscribe to one source.
TCPIP_IGMP_JoinIGMPv2 style "join" function.
TCPIP_IGMP_LeaveIGMPv2 style "leave" function.
TCPIP_IGMP_SubscribeSubscribes to an IGMP multicast group.
TCPIP_IGMP_SubscribeGetReturns the subscription to sources in an IGMP multicast group.
TCPIP_IGMP_TaskStandard TCP/IP stack module task function.
TCPIP_IGMP_UnsubscribeRemoves the subscription to sources in an IGMP multicast group.
Data Types and Constants
TCPIP_IGMP_EVENT_HANDLERNotification handler that can be called when an IGMP event ocurrs and the user needs to be notified
TCPIP_IGMP_EVENT_TYPEThis enumeration lists the IGMP events used to notify IGMP client applications.
TCPIP_IGMP_FILTER_TYPEThis enumeration lists the supported IGMP filters.
TCPIP_IGMP_GROUP_INFOIGMP group information
TCPIP_IGMP_HANDLEIGMP client handle.
TCPIP_IGMP_MODULE_CONFIGIGMP module run-time configuration/initialization data.
TCPIP_IGMP_RESULTThis enumeration is used to report the result of an IGMP API call.