Contiki-Inga 3.x
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
core
net
ipv6
multicast
uip-mcast6-route.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011, Loughborough University - Computer Science
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
*
14
* 3. Neither the name of the copyright holder nor the names of its
15
* contributors may be used to endorse or promote products derived
16
* from this software without specific prior written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
29
* OF THE POSSIBILITY OF SUCH DAMAGE.
30
*/
31
/**
32
* \file
33
* Multicast routing table manipulation
34
*
35
* \author
36
* George Oikonomou - <oikonomou@users.sourceforge.net>
37
*/
38
#ifndef UIP_MCAST6_ROUTE_H_
39
#define UIP_MCAST6_ROUTE_H_
40
41
#include "contiki.h"
42
#include "
net/ip/uip.h
"
43
44
#include <stdint.h>
45
/*---------------------------------------------------------------------------*/
46
/** \brief An entry in the multicast routing table */
47
typedef
struct
uip_mcast6_route
{
48
struct
uip_mcast6_route
*next;
49
uip_ipaddr_t group;
50
uint32_t lifetime;
/* seconds */
51
void
*dag;
/* Pointer to an rpl_dag_t struct */
52
}
uip_mcast6_route_t
;
53
/*---------------------------------------------------------------------------*/
54
/** \name Multicast Routing Table Manipulation */
55
/** @{ */
56
uip_mcast6_route_t
*uip_mcast6_route_lookup(uip_ipaddr_t *group);
57
uip_mcast6_route_t
*uip_mcast6_route_add(uip_ipaddr_t *group);
58
void
uip_mcast6_route_rm(
uip_mcast6_route_t
*defrt);
59
int
uip_mcast6_route_count(
void
);
60
uip_mcast6_route_t
*uip_mcast6_route_list_head(
void
);
61
/*---------------------------------------------------------------------------*/
62
/**
63
* \brief Multicast routing table init routine
64
*
65
* Multicast routing tables are not necessarily required by all
66
* multicast engines. For instance, trickle multicast does not rely on
67
* the existence of a routing table. Therefore, this function here
68
* should be invoked by each engine's init routine only if the relevant
69
* functionality is required. This is also why this function should not
70
* get hooked into the uip-ds6 core.
71
*/
72
void
uip_mcast6_route_init
(
void
);
73
/** @} */
74
75
#endif
/* UIP_MCAST6_ROUTE_H_ */
Generated on Thu Apr 24 2014 16:26:12 for Contiki-Inga 3.x by
1.8.3.1