Contiki 2.6

contiki-conf.h

00001 /*
00002  * Copyright (c) 2006, Swedish Institute of Computer Science.
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  * 1. Redistributions of source code must retain the above copyright
00009  *    notice, this list of conditions and the following disclaimer.
00010  * 2. Redistributions in binary form must reproduce the above
00011  *    copyright notice, this list of conditions and the following
00012  *    disclaimer in the documentation and/or other materials provided
00013  *    with the distribution.
00014  * 3. The name of the author may not be used to endorse or promote
00015  *    products derived from this software without specific prior
00016  *    written permission.
00017  *
00018  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
00019  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00020  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00021  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
00022  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00023  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
00024  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00025  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00026  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00027  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00028  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00029  *
00030  * $Id: contiki-conf.h,v 1.17 2010/03/31 10:22:33 fros4943 Exp $
00031  *
00032  */
00033 
00034 #ifndef __CONTIKI_CONF_H__
00035 #define __CONTIKI_CONF_H__
00036 
00037 #define PROFILE_CONF_ON 0
00038 #define ENERGEST_CONF_ON 0
00039 #define LOG_CONF_ENABLED 1
00040 
00041 #define COOJA 1
00042 
00043 #if WITH_UIP
00044 #if WITH_UIP6
00045 #error WITH_UIP && WITH_IP6: Bad configuration
00046 #endif /* WITH_UIP6 */
00047 #endif /* WITH_UIP */
00048 
00049 #ifdef NETSTACK_CONF_H
00050 
00051 /* These header overrides the below default configuration */
00052 #define NETSTACK__QUOTEME(s) NETSTACK_QUOTEME(s)
00053 #define NETSTACK_QUOTEME(s) #s
00054 #include NETSTACK__QUOTEME(NETSTACK_CONF_H)
00055 
00056 #else /* NETSTACK_CONF_H */
00057 
00058 /* Default network config */
00059 #if WITH_UIP6
00060 
00061 /* Network setup for IPv6 */
00062 #define NETSTACK_CONF_NETWORK uip_driver
00063 #define NETSTACK_CONF_MAC nullmac_driver
00064 #define NETSTACK_CONF_RDC nullrdc_driver
00065 #define NETSTACK_CONF_RADIO cooja_radio_driver
00066 #define UIP_CONF_IPV6 1
00067 #define UIP_CONF_IP_FORWARD           0
00068 
00069 #else /* WITH_UIP6 */
00070 
00071 #if WITH_UIP
00072 
00073 /* Network setup for IPv4 */
00074 #define NETSTACK_CONF_NETWORK rime_driver /* NOTE: uip_over_mesh. else: uip_driver */
00075 #define NETSTACK_CONF_MAC nullmac_driver
00076 #define NETSTACK_CONF_RDC nullrdc_driver
00077 #define NETSTACK_CONF_RADIO cooja_radio_driver
00078 #define UIP_CONF_IP_FORWARD           1
00079 
00080 #else /* WITH_UIP */
00081 
00082 /* Network setup for Rime */
00083 #define NETSTACK_CONF_NETWORK rime_driver
00084 #define NETSTACK_CONF_MAC nullmac_driver
00085 #define NETSTACK_CONF_RDC nullrdc_driver
00086 #define NETSTACK_CONF_RADIO cooja_radio_driver
00087 /*#define NETSTACK_CONF_FRAMER framer_nullmac*/
00088 
00089 #endif /* WITH_UIP */
00090 #endif /* WITH_UIP6 */
00091 
00092 #endif /* NETSTACK_CONF_H */
00093 
00094 
00095 #define PACKETBUF_CONF_ATTRS_INLINE 1
00096 
00097 #define QUEUEBUF_CONF_NUM 16
00098 
00099 #define CC_CONF_REGISTER_ARGS          1
00100 #define CC_CONF_FUNCTION_POINTER_ARGS  1
00101 #define CC_CONF_FASTCALL
00102 #define CC_CONF_VA_ARGS                1
00103 #define CC_CONF_INLINE inline
00104 
00105 #define CCIF
00106 #define CLIF
00107 
00108 /* These names are deprecated, use C99 names. */
00109 #include <inttypes.h>
00110 typedef uint8_t u8_t;
00111 typedef uint16_t u16_t;
00112 typedef uint32_t u32_t;
00113 typedef int32_t s32_t;
00114 
00115 typedef unsigned short uip_stats_t;
00116 
00117 #define CLOCK_CONF_SECOND 1000L
00118 typedef unsigned long clock_time_t;
00119 typedef unsigned long rtimer_clock_t;
00120 #define RTIMER_CLOCK_LT(a,b)     ((signed long)((a)-(b)) < 0)
00121 
00122 #define AODV_COMPLIANCE
00123 #define AODV_NUM_RT_ENTRIES 32
00124 
00125 #define WITH_ASCII 1
00126 
00127 #define UIP_CONF_MAX_LISTENPORTS      40
00128 #define UIP_CONF_MAX_CONNECTIONS      40
00129 #define UIP_CONF_BYTE_ORDER           UIP_LITTLE_ENDIAN
00130 #define UIP_CONF_TCP_SPLIT            0
00131 #define UIP_CONF_LOGGING              0
00132 #define UIP_CONF_UDP_CHECKSUMS        0
00133 #define UIP_CONF_BROADCAST            1
00134 
00135 #define UIP_CONF_UDP                  1
00136 #define UIP_CONF_TCP                  1
00137 
00138 #if UIP_CONF_IPV6
00139 #define RIMEADDR_CONF_SIZE            8
00140 #define UIP_CONF_IPV6_QUEUE_PKT       1
00141 #define UIP_CONF_IPV6_CHECKS          1
00142 #define UIP_CONF_IPV6_REASSEMBLY      1
00143 #define UIP_CONF_NETIF_MAX_ADDRESSES  3
00144 #define UIP_CONF_ND6_MAX_PREFIXES     3
00145 #define UIP_CONF_ND6_MAX_NEIGHBORS    4
00146 #define UIP_CONF_ND6_MAX_DEFROUTERS   2
00147 #endif /* UIP_CONF_IPV6 */
00148 
00149 #define CFS_CONF_OFFSET_TYPE    long
00150 
00151 #endif /* __CONTIKI_CONF_H__ */