Contiki 2.5
redundancy.h
Go to the documentation of this file.
1 /**
2  * \addtogroup agent
3  * @{
4  */
5 
6 /**
7  * \defgroup redundancy Redundancy check moduldes
8  *
9  * @{
10  */
11 
12 /**
13  * \file
14  * \brief defines the interface for redundancy check modules
15  * \author Georg von Zengen <vonzeng@ibr.cs.tu-bs.de>
16  */
17 
18 #ifndef __REDUNDANCE_H__
19 #define __REDUNDANCE_H__
20 
21 #include <stdlib.h>
22 #include <stdio.h>
23 
24 #include "contiki.h"
25 
26 #include "bundle.h"
27 
28 /**
29  * Which redundance driver are we going to use?
30  */
31 #ifdef CONF_REDUNDANCE
32 #define REDUNDANCE CONF_REDUNDANCE
33 #else
34 #define REDUNDANCE redundancy_basic
35 #endif
36 
37 /**
38  * How many recent bundles should be stored in the redundance module?
39  */
40 #define REDUNDANCE_MAX 10
41 
42 /** interface for redundance check modules */
44  char *name;
45  /** called by agent at startup*/
46  void (* init)(void);
47  /** checks if bundle was delivered before */
48  uint8_t (* check)(uint32_t bundle_number);
49  /** sets that bundle was delivered */
50  uint8_t (* set)(uint32_t bundle_number);
51 };
52 
53 extern const struct redundance_check REDUNDANCE;
54 /** @} */
55 /** @} */
56 #endif