igmp_host.h File Reference

IGMP host. More...

#include "core/net.h"
#include "igmp/igmp_common.h"

Go to the source code of this file.

Data Structures

struct  IgmpHostContext
 IGMP host context. More...
 

Macros

#define IGMP_HOST_SUPPORT   ENABLED
 

Enumerations

enum  IgmpHostGroupState { IGMP_HOST_GROUP_STATE_NON_MEMBER = 0, IGMP_HOST_GROUP_STATE_DELAYING_MEMBER = 1, IGMP_HOST_GROUP_STATE_IDLE_MEMBER = 2 }
 Multicast group states. More...
 

Functions

error_t igmpHostInit (NetInterface *interface)
 IGMP host initialization. More...
 
error_t igmpHostJoinGroup (NetInterface *interface, Ipv4FilterEntry *entry)
 Join the specified host group. More...
 
error_t igmpHostLeaveGroup (NetInterface *interface, Ipv4FilterEntry *entry)
 Leave the specified host group. More...
 
void igmpHostTick (NetInterface *interface)
 IGMP timer handler. More...
 
void igmpHostLinkChangeEvent (NetInterface *interface)
 Callback function for link change event. More...
 

Detailed Description

IGMP host.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2022 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.2.0

Definition in file igmp_host.h.

Macro Definition Documentation

◆ IGMP_HOST_SUPPORT

#define IGMP_HOST_SUPPORT   ENABLED

Definition at line 40 of file igmp_host.h.

Enumeration Type Documentation

◆ IgmpHostGroupState

Multicast group states.

Enumerator
IGMP_HOST_GROUP_STATE_NON_MEMBER 
IGMP_HOST_GROUP_STATE_DELAYING_MEMBER 
IGMP_HOST_GROUP_STATE_IDLE_MEMBER 

Definition at line 55 of file igmp_host.h.

Function Documentation

◆ igmpHostInit()

error_t igmpHostInit ( NetInterface interface)

IGMP host initialization.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 59 of file igmp_host.c.

◆ igmpHostJoinGroup()

error_t igmpHostJoinGroup ( NetInterface interface,
Ipv4FilterEntry entry 
)

Join the specified host group.

Parameters
[in]interfaceUnderlying network interface
[in]entryIPv4 filter entry identifying the host group to join
Returns
Error code

Definition at line 87 of file igmp_host.c.

◆ igmpHostLeaveGroup()

error_t igmpHostLeaveGroup ( NetInterface interface,
Ipv4FilterEntry entry 
)

Leave the specified host group.

Parameters
[in]interfaceUnderlying network interface
[in]entryIPv4 filter entry identifying the host group to leave
Returns
Error code

Definition at line 137 of file igmp_host.c.

◆ igmpHostLinkChangeEvent()

void igmpHostLinkChangeEvent ( NetInterface interface)

Callback function for link change event.

Parameters
[in]interfaceUnderlying network interface

Definition at line 223 of file igmp_host.c.

◆ igmpHostTick()

void igmpHostTick ( NetInterface interface)

IGMP timer handler.

This routine must be periodically called by the TCP/IP stack to handle IGMP related timers

Parameters
[in]interfaceUnderlying network interface

Definition at line 166 of file igmp_host.c.