STM32F769IDiscovery
1.00
uDANTE Audio Networking with STM32F7 DISCO board
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
Eclipse_WS2
STM32F769IDiscovery
Middlewares
Third_Party
LwIP
src
include
lwip
igmp.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2002 CITEL Technologies Ltd.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* 3. Neither the name of CITEL Technologies Ltd nor the names of its contributors
14
* may be used to endorse or promote products derived from this software
15
* without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY CITEL TECHNOLOGIES AND CONTRIBUTORS ``AS IS''
18
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL CITEL TECHNOLOGIES OR CONTRIBUTORS BE LIABLE
21
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
* SUCH DAMAGE.
28
*
29
* This file is a contribution to the lwIP TCP/IP stack.
30
* The Swedish Institute of Computer Science and Adam Dunkels
31
* are specifically granted permission to redistribute this
32
* source code.
33
*/
34
35
#ifndef LWIP_HDR_IGMP_H
36
#define LWIP_HDR_IGMP_H
37
38
#include "
lwip/opt.h
"
39
#include "
lwip/ip_addr.h
"
40
#include "
lwip/netif.h
"
41
#include "
lwip/pbuf.h
"
42
43
#if LWIP_IPV4 && LWIP_IGMP
/* don't build if not configured for use in lwipopts.h */
44
45
#ifdef __cplusplus
46
extern
"C"
{
47
#endif
48
49
50
/* IGMP timer */
51
#define IGMP_TMR_INTERVAL 100
/* Milliseconds */
52
#define IGMP_V1_DELAYING_MEMBER_TMR (1000/IGMP_TMR_INTERVAL)
53
#define IGMP_JOIN_DELAYING_MEMBER_TMR (500 /IGMP_TMR_INTERVAL)
54
55
/* MAC Filter Actions, these are passed to a netif's
56
* igmp_mac_filter callback function. */
57
#define IGMP_DEL_MAC_FILTER 0
58
#define IGMP_ADD_MAC_FILTER 1
59
60
72
struct
igmp_group {
74
struct
igmp_group *next;
76
struct
netif
*
netif
;
78
ip4_addr_t group_address;
80
u8_t
last_reporter_flag;
82
u8_t
group_state;
84
u16_t
timer;
86
u8_t
use;
87
};
88
89
/* Prototypes */
90
void
igmp_init(
void
);
91
err_t
igmp_start(
struct
netif
*
netif
);
92
err_t
igmp_stop(
struct
netif
*
netif
);
93
void
igmp_report_groups(
struct
netif
*
netif
);
94
struct
igmp_group *igmp_lookfor_group(
struct
netif
*ifp,
const
ip4_addr_t *addr);
95
void
igmp_input(
struct
pbuf
*p,
struct
netif
*inp,
const
ip4_addr_t *dest);
96
err_t
igmp_joingroup(
const
ip4_addr_t *ifaddr,
const
ip4_addr_t *groupaddr);
97
err_t
igmp_joingroup_netif(
struct
netif
*
netif
,
const
ip4_addr_t *groupaddr);
98
err_t
igmp_leavegroup(
const
ip4_addr_t *ifaddr,
const
ip4_addr_t *groupaddr);
99
err_t
igmp_leavegroup_netif(
struct
netif
*
netif
,
const
ip4_addr_t *groupaddr);
100
void
igmp_tmr(
void
);
101
102
#ifdef __cplusplus
103
}
104
#endif
105
106
#endif
/* LWIP_IPV4 && LWIP_IGMP */
107
108
#endif
/* LWIP_HDR_IGMP_H */
109
opt.h
netif.h
pbuf
Definition:
pbuf.h:108
err_t
s8_t err_t
Definition:
err.h:47
netif
Definition:
netif.h:182
pbuf.h
u8_t
unsigned char u8_t
Definition:
cc.h:38
ip_addr.h
u16_t
unsigned short u16_t
Definition:
cc.h:40
Generated by
1.8.11