The Pedigree Project
0.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
modules
system
lwip
include
lwip
mld6.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008-2014, Pedigree Developers
3
*
4
* Please see the CONTRIB file in the root of the source tree for a full
5
* list of contributors.
6
*
7
* Permission to use, copy, modify, and distribute this software for any
8
* purpose with or without fee is hereby granted, provided that the above
9
* copyright notice and this permission notice appear in all copies.
10
*
11
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18
*/
19
27
/*
28
* Copyright (c) 2010 Inico Technologies Ltd.
29
* All rights reserved.
30
*
31
* Redistribution and use in source and binary forms, with or without modification,
32
* are permitted provided that the following conditions are met:
33
*
34
* 1. Redistributions of source code must retain the above copyright notice,
35
* this list of conditions and the following disclaimer.
36
* 2. Redistributions in binary form must reproduce the above copyright notice,
37
* this list of conditions and the following disclaimer in the documentation
38
* and/or other materials provided with the distribution.
39
* 3. The name of the author may not be used to endorse or promote products
40
* derived from this software without specific prior written permission.
41
*
42
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
43
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
44
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
45
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
46
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
47
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
48
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
49
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
50
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
51
* OF SUCH DAMAGE.
52
*
53
* This file is part of the lwIP TCP/IP stack.
54
*
55
* Author: Ivan Delamer <delamer@inicotech.com>
56
*
57
*
58
* Please coordinate changes and requests with Ivan Delamer
59
* <delamer@inicotech.com>
60
*/
61
62
#ifndef LWIP_HDR_MLD6_H
63
#define LWIP_HDR_MLD6_H
64
65
#include "
lwip/opt.h
"
66
67
#if LWIP_IPV6_MLD && LWIP_IPV6
/* don't build if not configured for use in lwipopts.h */
68
69
#include "
lwip/pbuf.h
"
70
#include "
lwip/netif.h
"
71
72
#ifdef __cplusplus
73
extern
"C"
{
74
#endif
75
77
struct
mld_group {
79
struct
mld_group *next;
81
ip6_addr_t group_address;
83
u8_t last_reporter_flag;
85
u8_t group_state;
87
u16_t timer;
89
u8_t use;
90
};
91
92
#define MLD6_TMR_INTERVAL 100
/* Milliseconds */
93
94
err_t
mld6_stop(
struct
netif
*
netif
);
95
void
mld6_report_groups(
struct
netif
*
netif
);
96
void
mld6_tmr(
void
);
97
struct
mld_group *mld6_lookfor_group(
struct
netif
*ifp,
const
ip6_addr_t *addr);
98
void
mld6_input(
struct
pbuf
*p,
struct
netif
*inp);
99
err_t
mld6_joingroup(
const
ip6_addr_t *srcaddr,
const
ip6_addr_t *groupaddr);
100
err_t
mld6_joingroup_netif(
struct
netif
*
netif
,
const
ip6_addr_t *groupaddr);
101
err_t
mld6_leavegroup(
const
ip6_addr_t *srcaddr,
const
ip6_addr_t *groupaddr);
102
err_t
mld6_leavegroup_netif(
struct
netif
*
netif
,
const
ip6_addr_t *groupaddr);
103
110
#define netif_mld6_data(netif) ((struct mld_group *)netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_MLD6))
111
112
#ifdef __cplusplus
113
}
114
#endif
115
116
#endif
/* LWIP_IPV6_MLD && LWIP_IPV6 */
117
118
#endif
/* LWIP_HDR_MLD6_H */
opt.h
netif.h
pbuf
Definition:
pbuf.h:161
netif
Definition:
netif.h:244
err_t
s8_t err_t
Definition:
err.h:76
pbuf.h
Generated on Fri Jan 24 2020 06:46:14 for The Pedigree Project by
1.8.11