netstack.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #ifndef NETSTACK_H
00042 #define NETSTACK_H
00043
00044 #include "contiki-conf.h"
00045
00046 #ifndef NETSTACK_NETWORK
00047 #ifdef NETSTACK_CONF_NETWORK
00048 #define NETSTACK_NETWORK NETSTACK_CONF_NETWORK
00049 #else
00050 #define NETSTACK_NETWORK rime_driver
00051 #endif
00052 #endif
00053
00054 #ifndef NETSTACK_MAC
00055 #ifdef NETSTACK_CONF_MAC
00056 #define NETSTACK_MAC NETSTACK_CONF_MAC
00057 #else
00058 #define NETSTACK_MAC nullmac_driver
00059 #endif
00060 #endif
00061
00062 #ifndef NETSTACK_RDC
00063 #ifdef NETSTACK_CONF_RDC
00064 #define NETSTACK_RDC NETSTACK_CONF_RDC
00065 #else
00066 #define NETSTACK_RDC nullrdc_driver
00067 #endif
00068 #endif
00069
00070 #ifndef NETSTACK_RDC_CHANNEL_CHECK_RATE
00071 #ifdef NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE
00072 #define NETSTACK_RDC_CHANNEL_CHECK_RATE NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE
00073 #else
00074 #define NETSTACK_RDC_CHANNEL_CHECK_RATE 4
00075 #endif
00076 #endif
00077
00078 #if (NETSTACK_RDC_CHANNEL_CHECK_RATE & (NETSTACK_RDC_CHANNEL_CHECK_RATE - 1)) != 0
00079 #error NETSTACK_RDC_CONF_CHANNEL_CHECK_RATE must be a power of two (i.e., 1, 2, 4, 8, 16, 32, 64, ...).
00080 #error Change NETSTACK_RDC_CONF_CHANNEL_CHECK_RATE in contiki-conf.h, project-conf.h or in your Makefile.
00081 #endif
00082
00083
00084 #ifndef NETSTACK_RADIO
00085 #ifdef NETSTACK_CONF_RADIO
00086 #define NETSTACK_RADIO NETSTACK_CONF_RADIO
00087 #else
00088 #define NETSTACK_RADIO nullradio_driver
00089 #endif
00090 #endif
00091
00092 #ifndef NETSTACK_FRAMER
00093 #ifdef NETSTACK_CONF_FRAMER
00094 #define NETSTACK_FRAMER NETSTACK_CONF_FRAMER
00095 #else
00096 #define NETSTACK_FRAMER framer_nullmac
00097 #endif
00098 #endif
00099
00100 #include "net/mac/mac.h"
00101 #include "net/mac/rdc.h"
00102 #include "net/mac/framer.h"
00103 #include "dev/radio.h"
00104
00105
00106
00107
00108 struct network_driver {
00109 char *name;
00110
00111
00112 void (* init)(void);
00113
00114
00115 void (* input)(void);
00116 };
00117
00118 extern const struct network_driver NETSTACK_NETWORK;
00119 extern const struct rdc_driver NETSTACK_RDC;
00120 extern const struct mac_driver NETSTACK_MAC;
00121 extern const struct radio_driver NETSTACK_RADIO;
00122 extern const struct framer NETSTACK_FRAMER;
00123
00124 void netstack_init(void);
00125
00126 #endif