Port of LwIP performed by Ralf in 2010. Not recommended for use with recent mbed libraries, but good demos of raw LwIP possible

Dependents:   LwIP_raw_API_serverExample tiny-dtls

Committer:
RodColeman
Date:
Tue Sep 18 14:41:24 2012 +0000
Revision:
0:0791c1fece8e
[mbed] converted /Eth_TCP_Wei_Server/lwip

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RodColeman 0:0791c1fece8e 1 /**
RodColeman 0:0791c1fece8e 2 * @file
RodColeman 0:0791c1fece8e 3 *
RodColeman 0:0791c1fece8e 4 * lwIP Options Configuration
RodColeman 0:0791c1fece8e 5 */
RodColeman 0:0791c1fece8e 6
RodColeman 0:0791c1fece8e 7 /*
RodColeman 0:0791c1fece8e 8 * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
RodColeman 0:0791c1fece8e 9 * All rights reserved.
RodColeman 0:0791c1fece8e 10 *
RodColeman 0:0791c1fece8e 11 * Redistribution and use in source and binary forms, with or without modification,
RodColeman 0:0791c1fece8e 12 * are permitted provided that the following conditions are met:
RodColeman 0:0791c1fece8e 13 *
RodColeman 0:0791c1fece8e 14 * 1. Redistributions of source code must retain the above copyright notice,
RodColeman 0:0791c1fece8e 15 * this list of conditions and the following disclaimer.
RodColeman 0:0791c1fece8e 16 * 2. Redistributions in binary form must reproduce the above copyright notice,
RodColeman 0:0791c1fece8e 17 * this list of conditions and the following disclaimer in the documentation
RodColeman 0:0791c1fece8e 18 * and/or other materials provided with the distribution.
RodColeman 0:0791c1fece8e 19 * 3. The name of the author may not be used to endorse or promote products
RodColeman 0:0791c1fece8e 20 * derived from this software without specific prior written permission.
RodColeman 0:0791c1fece8e 21 *
RodColeman 0:0791c1fece8e 22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
RodColeman 0:0791c1fece8e 23 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
RodColeman 0:0791c1fece8e 24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
RodColeman 0:0791c1fece8e 25 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
RodColeman 0:0791c1fece8e 26 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
RodColeman 0:0791c1fece8e 27 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
RodColeman 0:0791c1fece8e 28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
RodColeman 0:0791c1fece8e 29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
RodColeman 0:0791c1fece8e 30 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
RodColeman 0:0791c1fece8e 31 * OF SUCH DAMAGE.
RodColeman 0:0791c1fece8e 32 *
RodColeman 0:0791c1fece8e 33 * This file is part of the lwIP TCP/IP stack.
RodColeman 0:0791c1fece8e 34 *
RodColeman 0:0791c1fece8e 35 * Author: Adam Dunkels <adam@sics.se>
RodColeman 0:0791c1fece8e 36 *
RodColeman 0:0791c1fece8e 37 */
RodColeman 0:0791c1fece8e 38 #ifndef __LWIP_OPT_H__
RodColeman 0:0791c1fece8e 39 #define __LWIP_OPT_H__
RodColeman 0:0791c1fece8e 40
RodColeman 0:0791c1fece8e 41 /*
RodColeman 0:0791c1fece8e 42 * Include user defined options first. Anything not defined in these files
RodColeman 0:0791c1fece8e 43 * will be set to standard values. Override anything you dont like!
RodColeman 0:0791c1fece8e 44 */
RodColeman 0:0791c1fece8e 45 #include "lwipopts.h"
RodColeman 0:0791c1fece8e 46 #include "lwip/debug.h"
RodColeman 0:0791c1fece8e 47
RodColeman 0:0791c1fece8e 48 /*
RodColeman 0:0791c1fece8e 49 -----------------------------------------------
RodColeman 0:0791c1fece8e 50 ---------- Platform specific locking ----------
RodColeman 0:0791c1fece8e 51 -----------------------------------------------
RodColeman 0:0791c1fece8e 52 */
RodColeman 0:0791c1fece8e 53
RodColeman 0:0791c1fece8e 54 /**
RodColeman 0:0791c1fece8e 55 * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain
RodColeman 0:0791c1fece8e 56 * critical regions during buffer allocation, deallocation and memory
RodColeman 0:0791c1fece8e 57 * allocation and deallocation.
RodColeman 0:0791c1fece8e 58 */
RodColeman 0:0791c1fece8e 59 #ifndef SYS_LIGHTWEIGHT_PROT
RodColeman 0:0791c1fece8e 60 #define SYS_LIGHTWEIGHT_PROT 0
RodColeman 0:0791c1fece8e 61 #endif
RodColeman 0:0791c1fece8e 62
RodColeman 0:0791c1fece8e 63 /**
RodColeman 0:0791c1fece8e 64 * NO_SYS==1: Provides VERY minimal functionality. Otherwise,
RodColeman 0:0791c1fece8e 65 * use lwIP facilities.
RodColeman 0:0791c1fece8e 66 */
RodColeman 0:0791c1fece8e 67 #ifndef NO_SYS
RodColeman 0:0791c1fece8e 68 #define NO_SYS 0
RodColeman 0:0791c1fece8e 69 #endif
RodColeman 0:0791c1fece8e 70
RodColeman 0:0791c1fece8e 71 /**
RodColeman 0:0791c1fece8e 72 * MEMCPY: override this if you have a faster implementation at hand than the
RodColeman 0:0791c1fece8e 73 * one included in your C library
RodColeman 0:0791c1fece8e 74 */
RodColeman 0:0791c1fece8e 75 #ifndef MEMCPY
RodColeman 0:0791c1fece8e 76 #define MEMCPY(dst,src,len) memcpy(dst,src,len)
RodColeman 0:0791c1fece8e 77 #endif
RodColeman 0:0791c1fece8e 78
RodColeman 0:0791c1fece8e 79 /**
RodColeman 0:0791c1fece8e 80 * SMEMCPY: override this with care! Some compilers (e.g. gcc) can inline a
RodColeman 0:0791c1fece8e 81 * call to memcpy() if the length is known at compile time and is small.
RodColeman 0:0791c1fece8e 82 */
RodColeman 0:0791c1fece8e 83 #ifndef SMEMCPY
RodColeman 0:0791c1fece8e 84 #define SMEMCPY(dst,src,len) memcpy(dst,src,len)
RodColeman 0:0791c1fece8e 85 #endif
RodColeman 0:0791c1fece8e 86
RodColeman 0:0791c1fece8e 87 /*
RodColeman 0:0791c1fece8e 88 ------------------------------------
RodColeman 0:0791c1fece8e 89 ---------- Memory options ----------
RodColeman 0:0791c1fece8e 90 ------------------------------------
RodColeman 0:0791c1fece8e 91 */
RodColeman 0:0791c1fece8e 92 /**
RodColeman 0:0791c1fece8e 93 * MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library
RodColeman 0:0791c1fece8e 94 * instead of the lwip internal allocator. Can save code size if you
RodColeman 0:0791c1fece8e 95 * already use it.
RodColeman 0:0791c1fece8e 96 */
RodColeman 0:0791c1fece8e 97 #ifndef MEM_LIBC_MALLOC
RodColeman 0:0791c1fece8e 98 #define MEM_LIBC_MALLOC 0
RodColeman 0:0791c1fece8e 99 #endif
RodColeman 0:0791c1fece8e 100
RodColeman 0:0791c1fece8e 101 /**
RodColeman 0:0791c1fece8e 102 * MEMP_MEM_MALLOC==1: Use mem_malloc/mem_free instead of the lwip pool allocator.
RodColeman 0:0791c1fece8e 103 * Especially useful with MEM_LIBC_MALLOC but handle with care regarding execution
RodColeman 0:0791c1fece8e 104 * speed and usage from interrupts!
RodColeman 0:0791c1fece8e 105 */
RodColeman 0:0791c1fece8e 106 #ifndef MEMP_MEM_MALLOC
RodColeman 0:0791c1fece8e 107 #define MEMP_MEM_MALLOC 0
RodColeman 0:0791c1fece8e 108 #endif
RodColeman 0:0791c1fece8e 109
RodColeman 0:0791c1fece8e 110 /**
RodColeman 0:0791c1fece8e 111 * MEM_ALIGNMENT: should be set to the alignment of the CPU
RodColeman 0:0791c1fece8e 112 * 4 byte alignment -> #define MEM_ALIGNMENT 4
RodColeman 0:0791c1fece8e 113 * 2 byte alignment -> #define MEM_ALIGNMENT 2
RodColeman 0:0791c1fece8e 114 */
RodColeman 0:0791c1fece8e 115 #ifndef MEM_ALIGNMENT
RodColeman 0:0791c1fece8e 116 #define MEM_ALIGNMENT 1
RodColeman 0:0791c1fece8e 117 #endif
RodColeman 0:0791c1fece8e 118
RodColeman 0:0791c1fece8e 119 /**
RodColeman 0:0791c1fece8e 120 * MEM_SIZE: the size of the heap memory. If the application will send
RodColeman 0:0791c1fece8e 121 * a lot of data that needs to be copied, this should be set high.
RodColeman 0:0791c1fece8e 122 */
RodColeman 0:0791c1fece8e 123 #ifndef MEM_SIZE
RodColeman 0:0791c1fece8e 124 #define MEM_SIZE 1600
RodColeman 0:0791c1fece8e 125 #endif
RodColeman 0:0791c1fece8e 126
RodColeman 0:0791c1fece8e 127 #ifndef MEM_POSITION
RodColeman 0:0791c1fece8e 128 #define MEM_POSITION
RodColeman 0:0791c1fece8e 129 #endif
RodColeman 0:0791c1fece8e 130
RodColeman 0:0791c1fece8e 131 /**
RodColeman 0:0791c1fece8e 132 * MEMP_OVERFLOW_CHECK: memp overflow protection reserves a configurable
RodColeman 0:0791c1fece8e 133 * amount of bytes before and after each memp element in every pool and fills
RodColeman 0:0791c1fece8e 134 * it with a prominent default value.
RodColeman 0:0791c1fece8e 135 * MEMP_OVERFLOW_CHECK == 0 no checking
RodColeman 0:0791c1fece8e 136 * MEMP_OVERFLOW_CHECK == 1 checks each element when it is freed
RodColeman 0:0791c1fece8e 137 * MEMP_OVERFLOW_CHECK >= 2 checks each element in every pool every time
RodColeman 0:0791c1fece8e 138 * memp_malloc() or memp_free() is called (useful but slow!)
RodColeman 0:0791c1fece8e 139 */
RodColeman 0:0791c1fece8e 140 #ifndef MEMP_OVERFLOW_CHECK
RodColeman 0:0791c1fece8e 141 #define MEMP_OVERFLOW_CHECK 0
RodColeman 0:0791c1fece8e 142 #endif
RodColeman 0:0791c1fece8e 143
RodColeman 0:0791c1fece8e 144 /**
RodColeman 0:0791c1fece8e 145 * MEMP_SANITY_CHECK==1: run a sanity check after each memp_free() to make
RodColeman 0:0791c1fece8e 146 * sure that there are no cycles in the linked lists.
RodColeman 0:0791c1fece8e 147 */
RodColeman 0:0791c1fece8e 148 #ifndef MEMP_SANITY_CHECK
RodColeman 0:0791c1fece8e 149 #define MEMP_SANITY_CHECK 0
RodColeman 0:0791c1fece8e 150 #endif
RodColeman 0:0791c1fece8e 151
RodColeman 0:0791c1fece8e 152 /**
RodColeman 0:0791c1fece8e 153 * MEM_USE_POOLS==1: Use an alternative to malloc() by allocating from a set
RodColeman 0:0791c1fece8e 154 * of memory pools of various sizes. When mem_malloc is called, an element of
RodColeman 0:0791c1fece8e 155 * the smallest pool that can provide the length needed is returned.
RodColeman 0:0791c1fece8e 156 * To use this, MEMP_USE_CUSTOM_POOLS also has to be enabled.
RodColeman 0:0791c1fece8e 157 */
RodColeman 0:0791c1fece8e 158 #ifndef MEM_USE_POOLS
RodColeman 0:0791c1fece8e 159 #define MEM_USE_POOLS 0
RodColeman 0:0791c1fece8e 160 #endif
RodColeman 0:0791c1fece8e 161
RodColeman 0:0791c1fece8e 162 /**
RodColeman 0:0791c1fece8e 163 * MEM_USE_POOLS_TRY_BIGGER_POOL==1: if one malloc-pool is empty, try the next
RodColeman 0:0791c1fece8e 164 * bigger pool - WARNING: THIS MIGHT WASTE MEMORY but it can make a system more
RodColeman 0:0791c1fece8e 165 * reliable. */
RodColeman 0:0791c1fece8e 166 #ifndef MEM_USE_POOLS_TRY_BIGGER_POOL
RodColeman 0:0791c1fece8e 167 #define MEM_USE_POOLS_TRY_BIGGER_POOL 0
RodColeman 0:0791c1fece8e 168 #endif
RodColeman 0:0791c1fece8e 169
RodColeman 0:0791c1fece8e 170 /**
RodColeman 0:0791c1fece8e 171 * MEMP_USE_CUSTOM_POOLS==1: whether to include a user file lwippools.h
RodColeman 0:0791c1fece8e 172 * that defines additional pools beyond the "standard" ones required
RodColeman 0:0791c1fece8e 173 * by lwIP. If you set this to 1, you must have lwippools.h in your
RodColeman 0:0791c1fece8e 174 * inlude path somewhere.
RodColeman 0:0791c1fece8e 175 */
RodColeman 0:0791c1fece8e 176 #ifndef MEMP_USE_CUSTOM_POOLS
RodColeman 0:0791c1fece8e 177 #define MEMP_USE_CUSTOM_POOLS 0
RodColeman 0:0791c1fece8e 178 #endif
RodColeman 0:0791c1fece8e 179
RodColeman 0:0791c1fece8e 180 /**
RodColeman 0:0791c1fece8e 181 * Set this to 1 if you want to free PBUF_RAM pbufs (or call mem_free()) from
RodColeman 0:0791c1fece8e 182 * interrupt context (or another context that doesn't allow waiting for a
RodColeman 0:0791c1fece8e 183 * semaphore).
RodColeman 0:0791c1fece8e 184 * If set to 1, mem_malloc will be protected by a semaphore and SYS_ARCH_PROTECT,
RodColeman 0:0791c1fece8e 185 * while mem_free will only use SYS_ARCH_PROTECT. mem_malloc SYS_ARCH_UNPROTECTs
RodColeman 0:0791c1fece8e 186 * with each loop so that mem_free can run.
RodColeman 0:0791c1fece8e 187 *
RodColeman 0:0791c1fece8e 188 * ATTENTION: As you can see from the above description, this leads to dis-/
RodColeman 0:0791c1fece8e 189 * enabling interrupts often, which can be slow! Also, on low memory, mem_malloc
RodColeman 0:0791c1fece8e 190 * can need longer.
RodColeman 0:0791c1fece8e 191 *
RodColeman 0:0791c1fece8e 192 * If you don't want that, at least for NO_SYS=0, you can still use the following
RodColeman 0:0791c1fece8e 193 * functions to enqueue a deallocation call which then runs in the tcpip_thread
RodColeman 0:0791c1fece8e 194 * context:
RodColeman 0:0791c1fece8e 195 * - pbuf_free_callback(p);
RodColeman 0:0791c1fece8e 196 * - mem_free_callback(m);
RodColeman 0:0791c1fece8e 197 */
RodColeman 0:0791c1fece8e 198 #ifndef LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT
RodColeman 0:0791c1fece8e 199 #define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0
RodColeman 0:0791c1fece8e 200 #endif
RodColeman 0:0791c1fece8e 201
RodColeman 0:0791c1fece8e 202 /*
RodColeman 0:0791c1fece8e 203 ------------------------------------------------
RodColeman 0:0791c1fece8e 204 ---------- Internal Memory Pool Sizes ----------
RodColeman 0:0791c1fece8e 205 ------------------------------------------------
RodColeman 0:0791c1fece8e 206 */
RodColeman 0:0791c1fece8e 207 /**
RodColeman 0:0791c1fece8e 208 * MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF).
RodColeman 0:0791c1fece8e 209 * If the application sends a lot of data out of ROM (or other static memory),
RodColeman 0:0791c1fece8e 210 * this should be set high.
RodColeman 0:0791c1fece8e 211 */
RodColeman 0:0791c1fece8e 212 #ifndef MEMP_NUM_PBUF
RodColeman 0:0791c1fece8e 213 #define MEMP_NUM_PBUF 16
RodColeman 0:0791c1fece8e 214 #endif
RodColeman 0:0791c1fece8e 215
RodColeman 0:0791c1fece8e 216 /**
RodColeman 0:0791c1fece8e 217 * MEMP_NUM_RAW_PCB: Number of raw connection PCBs
RodColeman 0:0791c1fece8e 218 * (requires the LWIP_RAW option)
RodColeman 0:0791c1fece8e 219 */
RodColeman 0:0791c1fece8e 220 #ifndef MEMP_NUM_RAW_PCB
RodColeman 0:0791c1fece8e 221 #define MEMP_NUM_RAW_PCB 4
RodColeman 0:0791c1fece8e 222 #endif
RodColeman 0:0791c1fece8e 223
RodColeman 0:0791c1fece8e 224 /**
RodColeman 0:0791c1fece8e 225 * MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One
RodColeman 0:0791c1fece8e 226 * per active UDP "connection".
RodColeman 0:0791c1fece8e 227 * (requires the LWIP_UDP option)
RodColeman 0:0791c1fece8e 228 */
RodColeman 0:0791c1fece8e 229 #ifndef MEMP_NUM_UDP_PCB
RodColeman 0:0791c1fece8e 230 #define MEMP_NUM_UDP_PCB 4
RodColeman 0:0791c1fece8e 231 #endif
RodColeman 0:0791c1fece8e 232
RodColeman 0:0791c1fece8e 233 /**
RodColeman 0:0791c1fece8e 234 * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections.
RodColeman 0:0791c1fece8e 235 * (requires the LWIP_TCP option)
RodColeman 0:0791c1fece8e 236 */
RodColeman 0:0791c1fece8e 237 #ifndef MEMP_NUM_TCP_PCB
RodColeman 0:0791c1fece8e 238 #define MEMP_NUM_TCP_PCB 5
RodColeman 0:0791c1fece8e 239 #endif
RodColeman 0:0791c1fece8e 240
RodColeman 0:0791c1fece8e 241 /**
RodColeman 0:0791c1fece8e 242 * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections.
RodColeman 0:0791c1fece8e 243 * (requires the LWIP_TCP option)
RodColeman 0:0791c1fece8e 244 */
RodColeman 0:0791c1fece8e 245 #ifndef MEMP_NUM_TCP_PCB_LISTEN
RodColeman 0:0791c1fece8e 246 #define MEMP_NUM_TCP_PCB_LISTEN 8
RodColeman 0:0791c1fece8e 247 #endif
RodColeman 0:0791c1fece8e 248
RodColeman 0:0791c1fece8e 249 /**
RodColeman 0:0791c1fece8e 250 * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments.
RodColeman 0:0791c1fece8e 251 * (requires the LWIP_TCP option)
RodColeman 0:0791c1fece8e 252 */
RodColeman 0:0791c1fece8e 253 #ifndef MEMP_NUM_TCP_SEG
RodColeman 0:0791c1fece8e 254 #define MEMP_NUM_TCP_SEG 16
RodColeman 0:0791c1fece8e 255 #endif
RodColeman 0:0791c1fece8e 256
RodColeman 0:0791c1fece8e 257 /**
RodColeman 0:0791c1fece8e 258 * MEMP_NUM_REASSDATA: the number of simultaneously IP packets queued for
RodColeman 0:0791c1fece8e 259 * reassembly (whole packets, not fragments!)
RodColeman 0:0791c1fece8e 260 */
RodColeman 0:0791c1fece8e 261 #ifndef MEMP_NUM_REASSDATA
RodColeman 0:0791c1fece8e 262 #define MEMP_NUM_REASSDATA 5
RodColeman 0:0791c1fece8e 263 #endif
RodColeman 0:0791c1fece8e 264
RodColeman 0:0791c1fece8e 265 /**
RodColeman 0:0791c1fece8e 266 * MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing
RodColeman 0:0791c1fece8e 267 * packets (pbufs) that are waiting for an ARP request (to resolve
RodColeman 0:0791c1fece8e 268 * their destination address) to finish.
RodColeman 0:0791c1fece8e 269 * (requires the ARP_QUEUEING option)
RodColeman 0:0791c1fece8e 270 */
RodColeman 0:0791c1fece8e 271 #ifndef MEMP_NUM_ARP_QUEUE
RodColeman 0:0791c1fece8e 272 #define MEMP_NUM_ARP_QUEUE 30
RodColeman 0:0791c1fece8e 273 #endif
RodColeman 0:0791c1fece8e 274
RodColeman 0:0791c1fece8e 275 /**
RodColeman 0:0791c1fece8e 276 * MEMP_NUM_IGMP_GROUP: The number of multicast groups whose network interfaces
RodColeman 0:0791c1fece8e 277 * can be members et the same time (one per netif - allsystems group -, plus one
RodColeman 0:0791c1fece8e 278 * per netif membership).
RodColeman 0:0791c1fece8e 279 * (requires the LWIP_IGMP option)
RodColeman 0:0791c1fece8e 280 */
RodColeman 0:0791c1fece8e 281 #ifndef MEMP_NUM_IGMP_GROUP
RodColeman 0:0791c1fece8e 282 #define MEMP_NUM_IGMP_GROUP 8
RodColeman 0:0791c1fece8e 283 #endif
RodColeman 0:0791c1fece8e 284
RodColeman 0:0791c1fece8e 285 /**
RodColeman 0:0791c1fece8e 286 * MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts.
RodColeman 0:0791c1fece8e 287 * (requires NO_SYS==0)
RodColeman 0:0791c1fece8e 288 */
RodColeman 0:0791c1fece8e 289 #ifndef MEMP_NUM_SYS_TIMEOUT
RodColeman 0:0791c1fece8e 290 #define MEMP_NUM_SYS_TIMEOUT 3
RodColeman 0:0791c1fece8e 291 #endif
RodColeman 0:0791c1fece8e 292
RodColeman 0:0791c1fece8e 293 /**
RodColeman 0:0791c1fece8e 294 * MEMP_NUM_NETBUF: the number of struct netbufs.
RodColeman 0:0791c1fece8e 295 * (only needed if you use the sequential API, like api_lib.c)
RodColeman 0:0791c1fece8e 296 */
RodColeman 0:0791c1fece8e 297 #ifndef MEMP_NUM_NETBUF
RodColeman 0:0791c1fece8e 298 #define MEMP_NUM_NETBUF 2
RodColeman 0:0791c1fece8e 299 #endif
RodColeman 0:0791c1fece8e 300
RodColeman 0:0791c1fece8e 301 /**
RodColeman 0:0791c1fece8e 302 * MEMP_NUM_NETCONN: the number of struct netconns.
RodColeman 0:0791c1fece8e 303 * (only needed if you use the sequential API, like api_lib.c)
RodColeman 0:0791c1fece8e 304 */
RodColeman 0:0791c1fece8e 305 #ifndef MEMP_NUM_NETCONN
RodColeman 0:0791c1fece8e 306 #define MEMP_NUM_NETCONN 4
RodColeman 0:0791c1fece8e 307 #endif
RodColeman 0:0791c1fece8e 308
RodColeman 0:0791c1fece8e 309 /**
RodColeman 0:0791c1fece8e 310 * MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used
RodColeman 0:0791c1fece8e 311 * for callback/timeout API communication.
RodColeman 0:0791c1fece8e 312 * (only needed if you use tcpip.c)
RodColeman 0:0791c1fece8e 313 */
RodColeman 0:0791c1fece8e 314 #ifndef MEMP_NUM_TCPIP_MSG_API
RodColeman 0:0791c1fece8e 315 #define MEMP_NUM_TCPIP_MSG_API 8
RodColeman 0:0791c1fece8e 316 #endif
RodColeman 0:0791c1fece8e 317
RodColeman 0:0791c1fece8e 318 /**
RodColeman 0:0791c1fece8e 319 * MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used
RodColeman 0:0791c1fece8e 320 * for incoming packets.
RodColeman 0:0791c1fece8e 321 * (only needed if you use tcpip.c)
RodColeman 0:0791c1fece8e 322 */
RodColeman 0:0791c1fece8e 323 #ifndef MEMP_NUM_TCPIP_MSG_INPKT
RodColeman 0:0791c1fece8e 324 #define MEMP_NUM_TCPIP_MSG_INPKT 8
RodColeman 0:0791c1fece8e 325 #endif
RodColeman 0:0791c1fece8e 326
RodColeman 0:0791c1fece8e 327 /**
RodColeman 0:0791c1fece8e 328 * PBUF_POOL_SIZE: the number of buffers in the pbuf pool.
RodColeman 0:0791c1fece8e 329 */
RodColeman 0:0791c1fece8e 330 #ifndef PBUF_POOL_SIZE
RodColeman 0:0791c1fece8e 331 #define PBUF_POOL_SIZE 16
RodColeman 0:0791c1fece8e 332 #endif
RodColeman 0:0791c1fece8e 333
RodColeman 0:0791c1fece8e 334 /*
RodColeman 0:0791c1fece8e 335 ---------------------------------
RodColeman 0:0791c1fece8e 336 ---------- ARP options ----------
RodColeman 0:0791c1fece8e 337 ---------------------------------
RodColeman 0:0791c1fece8e 338 */
RodColeman 0:0791c1fece8e 339 /**
RodColeman 0:0791c1fece8e 340 * LWIP_ARP==1: Enable ARP functionality.
RodColeman 0:0791c1fece8e 341 */
RodColeman 0:0791c1fece8e 342 #ifndef LWIP_ARP
RodColeman 0:0791c1fece8e 343 #define LWIP_ARP 1
RodColeman 0:0791c1fece8e 344 #endif
RodColeman 0:0791c1fece8e 345
RodColeman 0:0791c1fece8e 346 /**
RodColeman 0:0791c1fece8e 347 * ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached.
RodColeman 0:0791c1fece8e 348 */
RodColeman 0:0791c1fece8e 349 #ifndef ARP_TABLE_SIZE
RodColeman 0:0791c1fece8e 350 #define ARP_TABLE_SIZE 10
RodColeman 0:0791c1fece8e 351 #endif
RodColeman 0:0791c1fece8e 352
RodColeman 0:0791c1fece8e 353 /**
RodColeman 0:0791c1fece8e 354 * ARP_QUEUEING==1: Outgoing packets are queued during hardware address
RodColeman 0:0791c1fece8e 355 * resolution.
RodColeman 0:0791c1fece8e 356 */
RodColeman 0:0791c1fece8e 357 #ifndef ARP_QUEUEING
RodColeman 0:0791c1fece8e 358 #define ARP_QUEUEING 1
RodColeman 0:0791c1fece8e 359 #endif
RodColeman 0:0791c1fece8e 360
RodColeman 0:0791c1fece8e 361 /**
RodColeman 0:0791c1fece8e 362 * ETHARP_TRUST_IP_MAC==1: Incoming IP packets cause the ARP table to be
RodColeman 0:0791c1fece8e 363 * updated with the source MAC and IP addresses supplied in the packet.
RodColeman 0:0791c1fece8e 364 * You may want to disable this if you do not trust LAN peers to have the
RodColeman 0:0791c1fece8e 365 * correct addresses, or as a limited approach to attempt to handle
RodColeman 0:0791c1fece8e 366 * spoofing. If disabled, lwIP will need to make a new ARP request if
RodColeman 0:0791c1fece8e 367 * the peer is not already in the ARP table, adding a little latency.
RodColeman 0:0791c1fece8e 368 */
RodColeman 0:0791c1fece8e 369 #ifndef ETHARP_TRUST_IP_MAC
RodColeman 0:0791c1fece8e 370 #define ETHARP_TRUST_IP_MAC 1
RodColeman 0:0791c1fece8e 371 #endif
RodColeman 0:0791c1fece8e 372
RodColeman 0:0791c1fece8e 373 /**
RodColeman 0:0791c1fece8e 374 * ETHARP_SUPPORT_VLAN==1: support receiving ethernet packets with VLAN header.
RodColeman 0:0791c1fece8e 375 * Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check.
RodColeman 0:0791c1fece8e 376 * If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted.
RodColeman 0:0791c1fece8e 377 * If ETHARP_VLAN_CHECK is not defined, all traffic is accepted.
RodColeman 0:0791c1fece8e 378 */
RodColeman 0:0791c1fece8e 379 #ifndef ETHARP_SUPPORT_VLAN
RodColeman 0:0791c1fece8e 380 #define ETHARP_SUPPORT_VLAN 0
RodColeman 0:0791c1fece8e 381 #endif
RodColeman 0:0791c1fece8e 382
RodColeman 0:0791c1fece8e 383 /*
RodColeman 0:0791c1fece8e 384 --------------------------------
RodColeman 0:0791c1fece8e 385 ---------- IP options ----------
RodColeman 0:0791c1fece8e 386 --------------------------------
RodColeman 0:0791c1fece8e 387 */
RodColeman 0:0791c1fece8e 388 /**
RodColeman 0:0791c1fece8e 389 * IP_FORWARD==1: Enables the ability to forward IP packets across network
RodColeman 0:0791c1fece8e 390 * interfaces. If you are going to run lwIP on a device with only one network
RodColeman 0:0791c1fece8e 391 * interface, define this to 0.
RodColeman 0:0791c1fece8e 392 */
RodColeman 0:0791c1fece8e 393 #ifndef IP_FORWARD
RodColeman 0:0791c1fece8e 394 #define IP_FORWARD 0
RodColeman 0:0791c1fece8e 395 #endif
RodColeman 0:0791c1fece8e 396
RodColeman 0:0791c1fece8e 397 /**
RodColeman 0:0791c1fece8e 398 * IP_OPTIONS_ALLOWED: Defines the behavior for IP options.
RodColeman 0:0791c1fece8e 399 * IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped.
RodColeman 0:0791c1fece8e 400 * IP_OPTIONS_ALLOWED==1: IP options are allowed (but not parsed).
RodColeman 0:0791c1fece8e 401 */
RodColeman 0:0791c1fece8e 402 #ifndef IP_OPTIONS_ALLOWED
RodColeman 0:0791c1fece8e 403 #define IP_OPTIONS_ALLOWED 1
RodColeman 0:0791c1fece8e 404 #endif
RodColeman 0:0791c1fece8e 405
RodColeman 0:0791c1fece8e 406 /**
RodColeman 0:0791c1fece8e 407 * IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that
RodColeman 0:0791c1fece8e 408 * this option does not affect outgoing packet sizes, which can be controlled
RodColeman 0:0791c1fece8e 409 * via IP_FRAG.
RodColeman 0:0791c1fece8e 410 */
RodColeman 0:0791c1fece8e 411 #ifndef IP_REASSEMBLY
RodColeman 0:0791c1fece8e 412 #define IP_REASSEMBLY 1
RodColeman 0:0791c1fece8e 413 #endif
RodColeman 0:0791c1fece8e 414
RodColeman 0:0791c1fece8e 415 /**
RodColeman 0:0791c1fece8e 416 * IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note
RodColeman 0:0791c1fece8e 417 * that this option does not affect incoming packet sizes, which can be
RodColeman 0:0791c1fece8e 418 * controlled via IP_REASSEMBLY.
RodColeman 0:0791c1fece8e 419 */
RodColeman 0:0791c1fece8e 420 #ifndef IP_FRAG
RodColeman 0:0791c1fece8e 421 #define IP_FRAG 1
RodColeman 0:0791c1fece8e 422 #endif
RodColeman 0:0791c1fece8e 423
RodColeman 0:0791c1fece8e 424 /**
RodColeman 0:0791c1fece8e 425 * IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally)
RodColeman 0:0791c1fece8e 426 * a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived
RodColeman 0:0791c1fece8e 427 * in this time, the whole packet is discarded.
RodColeman 0:0791c1fece8e 428 */
RodColeman 0:0791c1fece8e 429 #ifndef IP_REASS_MAXAGE
RodColeman 0:0791c1fece8e 430 #define IP_REASS_MAXAGE 3
RodColeman 0:0791c1fece8e 431 #endif
RodColeman 0:0791c1fece8e 432
RodColeman 0:0791c1fece8e 433 /**
RodColeman 0:0791c1fece8e 434 * IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled.
RodColeman 0:0791c1fece8e 435 * Since the received pbufs are enqueued, be sure to configure
RodColeman 0:0791c1fece8e 436 * PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive
RodColeman 0:0791c1fece8e 437 * packets even if the maximum amount of fragments is enqueued for reassembly!
RodColeman 0:0791c1fece8e 438 */
RodColeman 0:0791c1fece8e 439 #ifndef IP_REASS_MAX_PBUFS
RodColeman 0:0791c1fece8e 440 #define IP_REASS_MAX_PBUFS 10
RodColeman 0:0791c1fece8e 441 #endif
RodColeman 0:0791c1fece8e 442
RodColeman 0:0791c1fece8e 443 /**
RodColeman 0:0791c1fece8e 444 * IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP
RodColeman 0:0791c1fece8e 445 * fragmentation. Otherwise pbufs are allocated and reference the original
RodColeman 0:0791c1fece8e 446 * packet data to be fragmented.
RodColeman 0:0791c1fece8e 447 */
RodColeman 0:0791c1fece8e 448 #ifndef IP_FRAG_USES_STATIC_BUF
RodColeman 0:0791c1fece8e 449 #define IP_FRAG_USES_STATIC_BUF 1
RodColeman 0:0791c1fece8e 450 #endif
RodColeman 0:0791c1fece8e 451
RodColeman 0:0791c1fece8e 452 /**
RodColeman 0:0791c1fece8e 453 * IP_FRAG_MAX_MTU: Assumed max MTU on any interface for IP frag buffer
RodColeman 0:0791c1fece8e 454 * (requires IP_FRAG_USES_STATIC_BUF==1)
RodColeman 0:0791c1fece8e 455 */
RodColeman 0:0791c1fece8e 456 #if IP_FRAG_USES_STATIC_BUF && !defined(IP_FRAG_MAX_MTU)
RodColeman 0:0791c1fece8e 457 #define IP_FRAG_MAX_MTU 1500
RodColeman 0:0791c1fece8e 458 #endif
RodColeman 0:0791c1fece8e 459
RodColeman 0:0791c1fece8e 460 /**
RodColeman 0:0791c1fece8e 461 * IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers.
RodColeman 0:0791c1fece8e 462 */
RodColeman 0:0791c1fece8e 463 #ifndef IP_DEFAULT_TTL
RodColeman 0:0791c1fece8e 464 #define IP_DEFAULT_TTL 255
RodColeman 0:0791c1fece8e 465 #endif
RodColeman 0:0791c1fece8e 466
RodColeman 0:0791c1fece8e 467 /**
RodColeman 0:0791c1fece8e 468 * IP_SOF_BROADCAST=1: Use the SOF_BROADCAST field to enable broadcast
RodColeman 0:0791c1fece8e 469 * filter per pcb on udp and raw send operations. To enable broadcast filter
RodColeman 0:0791c1fece8e 470 * on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1.
RodColeman 0:0791c1fece8e 471 */
RodColeman 0:0791c1fece8e 472 #ifndef IP_SOF_BROADCAST
RodColeman 0:0791c1fece8e 473 #define IP_SOF_BROADCAST 0
RodColeman 0:0791c1fece8e 474 #endif
RodColeman 0:0791c1fece8e 475
RodColeman 0:0791c1fece8e 476 /**
RodColeman 0:0791c1fece8e 477 * IP_SOF_BROADCAST_RECV (requires IP_SOF_BROADCAST=1) enable the broadcast
RodColeman 0:0791c1fece8e 478 * filter on recv operations.
RodColeman 0:0791c1fece8e 479 */
RodColeman 0:0791c1fece8e 480 #ifndef IP_SOF_BROADCAST_RECV
RodColeman 0:0791c1fece8e 481 #define IP_SOF_BROADCAST_RECV 0
RodColeman 0:0791c1fece8e 482 #endif
RodColeman 0:0791c1fece8e 483
RodColeman 0:0791c1fece8e 484 /*
RodColeman 0:0791c1fece8e 485 ----------------------------------
RodColeman 0:0791c1fece8e 486 ---------- ICMP options ----------
RodColeman 0:0791c1fece8e 487 ----------------------------------
RodColeman 0:0791c1fece8e 488 */
RodColeman 0:0791c1fece8e 489 /**
RodColeman 0:0791c1fece8e 490 * LWIP_ICMP==1: Enable ICMP module inside the IP stack.
RodColeman 0:0791c1fece8e 491 * Be careful, disable that make your product non-compliant to RFC1122
RodColeman 0:0791c1fece8e 492 */
RodColeman 0:0791c1fece8e 493 #ifndef LWIP_ICMP
RodColeman 0:0791c1fece8e 494 #define LWIP_ICMP 1
RodColeman 0:0791c1fece8e 495 #endif
RodColeman 0:0791c1fece8e 496
RodColeman 0:0791c1fece8e 497 /**
RodColeman 0:0791c1fece8e 498 * ICMP_TTL: Default value for Time-To-Live used by ICMP packets.
RodColeman 0:0791c1fece8e 499 */
RodColeman 0:0791c1fece8e 500 #ifndef ICMP_TTL
RodColeman 0:0791c1fece8e 501 #define ICMP_TTL (IP_DEFAULT_TTL)
RodColeman 0:0791c1fece8e 502 #endif
RodColeman 0:0791c1fece8e 503
RodColeman 0:0791c1fece8e 504 /**
RodColeman 0:0791c1fece8e 505 * LWIP_BROADCAST_PING==1: respond to broadcast pings (default is unicast only)
RodColeman 0:0791c1fece8e 506 */
RodColeman 0:0791c1fece8e 507 #ifndef LWIP_BROADCAST_PING
RodColeman 0:0791c1fece8e 508 #define LWIP_BROADCAST_PING 0
RodColeman 0:0791c1fece8e 509 #endif
RodColeman 0:0791c1fece8e 510
RodColeman 0:0791c1fece8e 511 /**
RodColeman 0:0791c1fece8e 512 * LWIP_MULTICAST_PING==1: respond to multicast pings (default is unicast only)
RodColeman 0:0791c1fece8e 513 */
RodColeman 0:0791c1fece8e 514 #ifndef LWIP_MULTICAST_PING
RodColeman 0:0791c1fece8e 515 #define LWIP_MULTICAST_PING 0
RodColeman 0:0791c1fece8e 516 #endif
RodColeman 0:0791c1fece8e 517
RodColeman 0:0791c1fece8e 518 /*
RodColeman 0:0791c1fece8e 519 ---------------------------------
RodColeman 0:0791c1fece8e 520 ---------- RAW options ----------
RodColeman 0:0791c1fece8e 521 ---------------------------------
RodColeman 0:0791c1fece8e 522 */
RodColeman 0:0791c1fece8e 523 /**
RodColeman 0:0791c1fece8e 524 * LWIP_RAW==1: Enable application layer to hook into the IP layer itself.
RodColeman 0:0791c1fece8e 525 */
RodColeman 0:0791c1fece8e 526 #ifndef LWIP_RAW
RodColeman 0:0791c1fece8e 527 #define LWIP_RAW 1
RodColeman 0:0791c1fece8e 528 #endif
RodColeman 0:0791c1fece8e 529
RodColeman 0:0791c1fece8e 530 /**
RodColeman 0:0791c1fece8e 531 * LWIP_RAW==1: Enable application layer to hook into the IP layer itself.
RodColeman 0:0791c1fece8e 532 */
RodColeman 0:0791c1fece8e 533 #ifndef RAW_TTL
RodColeman 0:0791c1fece8e 534 #define RAW_TTL (IP_DEFAULT_TTL)
RodColeman 0:0791c1fece8e 535 #endif
RodColeman 0:0791c1fece8e 536
RodColeman 0:0791c1fece8e 537 /*
RodColeman 0:0791c1fece8e 538 ----------------------------------
RodColeman 0:0791c1fece8e 539 ---------- DHCP options ----------
RodColeman 0:0791c1fece8e 540 ----------------------------------
RodColeman 0:0791c1fece8e 541 */
RodColeman 0:0791c1fece8e 542 /**
RodColeman 0:0791c1fece8e 543 * LWIP_DHCP==1: Enable DHCP module.
RodColeman 0:0791c1fece8e 544 */
RodColeman 0:0791c1fece8e 545 #ifndef LWIP_DHCP
RodColeman 0:0791c1fece8e 546 #define LWIP_DHCP 0
RodColeman 0:0791c1fece8e 547 #endif
RodColeman 0:0791c1fece8e 548
RodColeman 0:0791c1fece8e 549 /**
RodColeman 0:0791c1fece8e 550 * DHCP_DOES_ARP_CHECK==1: Do an ARP check on the offered address.
RodColeman 0:0791c1fece8e 551 */
RodColeman 0:0791c1fece8e 552 #ifndef DHCP_DOES_ARP_CHECK
RodColeman 0:0791c1fece8e 553 #define DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP))
RodColeman 0:0791c1fece8e 554 #endif
RodColeman 0:0791c1fece8e 555
RodColeman 0:0791c1fece8e 556 /*
RodColeman 0:0791c1fece8e 557 ------------------------------------
RodColeman 0:0791c1fece8e 558 ---------- AUTOIP options ----------
RodColeman 0:0791c1fece8e 559 ------------------------------------
RodColeman 0:0791c1fece8e 560 */
RodColeman 0:0791c1fece8e 561 /**
RodColeman 0:0791c1fece8e 562 * LWIP_AUTOIP==1: Enable AUTOIP module.
RodColeman 0:0791c1fece8e 563 */
RodColeman 0:0791c1fece8e 564 #ifndef LWIP_AUTOIP
RodColeman 0:0791c1fece8e 565 #define LWIP_AUTOIP 0
RodColeman 0:0791c1fece8e 566 #endif
RodColeman 0:0791c1fece8e 567
RodColeman 0:0791c1fece8e 568 /**
RodColeman 0:0791c1fece8e 569 * LWIP_DHCP_AUTOIP_COOP==1: Allow DHCP and AUTOIP to be both enabled on
RodColeman 0:0791c1fece8e 570 * the same interface at the same time.
RodColeman 0:0791c1fece8e 571 */
RodColeman 0:0791c1fece8e 572 #ifndef LWIP_DHCP_AUTOIP_COOP
RodColeman 0:0791c1fece8e 573 #define LWIP_DHCP_AUTOIP_COOP 0
RodColeman 0:0791c1fece8e 574 #endif
RodColeman 0:0791c1fece8e 575
RodColeman 0:0791c1fece8e 576 /**
RodColeman 0:0791c1fece8e 577 * LWIP_DHCP_AUTOIP_COOP_TRIES: Set to the number of DHCP DISCOVER probes
RodColeman 0:0791c1fece8e 578 * that should be sent before falling back on AUTOIP. This can be set
RodColeman 0:0791c1fece8e 579 * as low as 1 to get an AutoIP address very quickly, but you should
RodColeman 0:0791c1fece8e 580 * be prepared to handle a changing IP address when DHCP overrides
RodColeman 0:0791c1fece8e 581 * AutoIP.
RodColeman 0:0791c1fece8e 582 */
RodColeman 0:0791c1fece8e 583 #ifndef LWIP_DHCP_AUTOIP_COOP_TRIES
RodColeman 0:0791c1fece8e 584 #define LWIP_DHCP_AUTOIP_COOP_TRIES 9
RodColeman 0:0791c1fece8e 585 #endif
RodColeman 0:0791c1fece8e 586
RodColeman 0:0791c1fece8e 587 /*
RodColeman 0:0791c1fece8e 588 ----------------------------------
RodColeman 0:0791c1fece8e 589 ---------- SNMP options ----------
RodColeman 0:0791c1fece8e 590 ----------------------------------
RodColeman 0:0791c1fece8e 591 */
RodColeman 0:0791c1fece8e 592 /**
RodColeman 0:0791c1fece8e 593 * LWIP_SNMP==1: Turn on SNMP module. UDP must be available for SNMP
RodColeman 0:0791c1fece8e 594 * transport.
RodColeman 0:0791c1fece8e 595 */
RodColeman 0:0791c1fece8e 596 #ifndef LWIP_SNMP
RodColeman 0:0791c1fece8e 597 #define LWIP_SNMP 0
RodColeman 0:0791c1fece8e 598 #endif
RodColeman 0:0791c1fece8e 599
RodColeman 0:0791c1fece8e 600 /**
RodColeman 0:0791c1fece8e 601 * SNMP_CONCURRENT_REQUESTS: Number of concurrent requests the module will
RodColeman 0:0791c1fece8e 602 * allow. At least one request buffer is required.
RodColeman 0:0791c1fece8e 603 */
RodColeman 0:0791c1fece8e 604 #ifndef SNMP_CONCURRENT_REQUESTS
RodColeman 0:0791c1fece8e 605 #define SNMP_CONCURRENT_REQUESTS 1
RodColeman 0:0791c1fece8e 606 #endif
RodColeman 0:0791c1fece8e 607
RodColeman 0:0791c1fece8e 608 /**
RodColeman 0:0791c1fece8e 609 * SNMP_TRAP_DESTINATIONS: Number of trap destinations. At least one trap
RodColeman 0:0791c1fece8e 610 * destination is required
RodColeman 0:0791c1fece8e 611 */
RodColeman 0:0791c1fece8e 612 #ifndef SNMP_TRAP_DESTINATIONS
RodColeman 0:0791c1fece8e 613 #define SNMP_TRAP_DESTINATIONS 1
RodColeman 0:0791c1fece8e 614 #endif
RodColeman 0:0791c1fece8e 615
RodColeman 0:0791c1fece8e 616 /**
RodColeman 0:0791c1fece8e 617 * SNMP_PRIVATE_MIB:
RodColeman 0:0791c1fece8e 618 */
RodColeman 0:0791c1fece8e 619 #ifndef SNMP_PRIVATE_MIB
RodColeman 0:0791c1fece8e 620 #define SNMP_PRIVATE_MIB 0
RodColeman 0:0791c1fece8e 621 #endif
RodColeman 0:0791c1fece8e 622
RodColeman 0:0791c1fece8e 623 /**
RodColeman 0:0791c1fece8e 624 * Only allow SNMP write actions that are 'safe' (e.g. disabeling netifs is not
RodColeman 0:0791c1fece8e 625 * a safe action and disabled when SNMP_SAFE_REQUESTS = 1).
RodColeman 0:0791c1fece8e 626 * Unsafe requests are disabled by default!
RodColeman 0:0791c1fece8e 627 */
RodColeman 0:0791c1fece8e 628 #ifndef SNMP_SAFE_REQUESTS
RodColeman 0:0791c1fece8e 629 #define SNMP_SAFE_REQUESTS 1
RodColeman 0:0791c1fece8e 630 #endif
RodColeman 0:0791c1fece8e 631
RodColeman 0:0791c1fece8e 632 /*
RodColeman 0:0791c1fece8e 633 ----------------------------------
RodColeman 0:0791c1fece8e 634 ---------- IGMP options ----------
RodColeman 0:0791c1fece8e 635 ----------------------------------
RodColeman 0:0791c1fece8e 636 */
RodColeman 0:0791c1fece8e 637 /**
RodColeman 0:0791c1fece8e 638 * LWIP_IGMP==1: Turn on IGMP module.
RodColeman 0:0791c1fece8e 639 */
RodColeman 0:0791c1fece8e 640 #ifndef LWIP_IGMP
RodColeman 0:0791c1fece8e 641 #define LWIP_IGMP 0
RodColeman 0:0791c1fece8e 642 #endif
RodColeman 0:0791c1fece8e 643
RodColeman 0:0791c1fece8e 644 /*
RodColeman 0:0791c1fece8e 645 ----------------------------------
RodColeman 0:0791c1fece8e 646 ---------- DNS options -----------
RodColeman 0:0791c1fece8e 647 ----------------------------------
RodColeman 0:0791c1fece8e 648 */
RodColeman 0:0791c1fece8e 649 /**
RodColeman 0:0791c1fece8e 650 * LWIP_DNS==1: Turn on DNS module. UDP must be available for DNS
RodColeman 0:0791c1fece8e 651 * transport.
RodColeman 0:0791c1fece8e 652 */
RodColeman 0:0791c1fece8e 653 #ifndef LWIP_DNS
RodColeman 0:0791c1fece8e 654 #define LWIP_DNS 0
RodColeman 0:0791c1fece8e 655 #endif
RodColeman 0:0791c1fece8e 656
RodColeman 0:0791c1fece8e 657 /** DNS maximum number of entries to maintain locally. */
RodColeman 0:0791c1fece8e 658 #ifndef DNS_TABLE_SIZE
RodColeman 0:0791c1fece8e 659 #define DNS_TABLE_SIZE 4
RodColeman 0:0791c1fece8e 660 #endif
RodColeman 0:0791c1fece8e 661
RodColeman 0:0791c1fece8e 662 /** DNS maximum host name length supported in the name table. */
RodColeman 0:0791c1fece8e 663 #ifndef DNS_MAX_NAME_LENGTH
RodColeman 0:0791c1fece8e 664 #define DNS_MAX_NAME_LENGTH 256
RodColeman 0:0791c1fece8e 665 #endif
RodColeman 0:0791c1fece8e 666
RodColeman 0:0791c1fece8e 667 /** The maximum of DNS servers */
RodColeman 0:0791c1fece8e 668 #ifndef DNS_MAX_SERVERS
RodColeman 0:0791c1fece8e 669 #define DNS_MAX_SERVERS 2
RodColeman 0:0791c1fece8e 670 #endif
RodColeman 0:0791c1fece8e 671
RodColeman 0:0791c1fece8e 672 /** DNS do a name checking between the query and the response. */
RodColeman 0:0791c1fece8e 673 #ifndef DNS_DOES_NAME_CHECK
RodColeman 0:0791c1fece8e 674 #define DNS_DOES_NAME_CHECK 1
RodColeman 0:0791c1fece8e 675 #endif
RodColeman 0:0791c1fece8e 676
RodColeman 0:0791c1fece8e 677 /** DNS use a local buffer if DNS_USES_STATIC_BUF=0, a static one if
RodColeman 0:0791c1fece8e 678 DNS_USES_STATIC_BUF=1, or a dynamic one if DNS_USES_STATIC_BUF=2.
RodColeman 0:0791c1fece8e 679 The buffer will be of size DNS_MSG_SIZE */
RodColeman 0:0791c1fece8e 680 #ifndef DNS_USES_STATIC_BUF
RodColeman 0:0791c1fece8e 681 #define DNS_USES_STATIC_BUF 1
RodColeman 0:0791c1fece8e 682 #endif
RodColeman 0:0791c1fece8e 683
RodColeman 0:0791c1fece8e 684 /** DNS message max. size. Default value is RFC compliant. */
RodColeman 0:0791c1fece8e 685 #ifndef DNS_MSG_SIZE
RodColeman 0:0791c1fece8e 686 #define DNS_MSG_SIZE 512
RodColeman 0:0791c1fece8e 687 #endif
RodColeman 0:0791c1fece8e 688
RodColeman 0:0791c1fece8e 689 /** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled,
RodColeman 0:0791c1fece8e 690 * you have to define
RodColeman 0:0791c1fece8e 691 * #define DNS_LOCAL_HOSTLIST_INIT {{"host1", 0x123}, {"host2", 0x234}}
RodColeman 0:0791c1fece8e 692 * (an array of structs name/address, where address is an u32_t in network
RodColeman 0:0791c1fece8e 693 * byte order).
RodColeman 0:0791c1fece8e 694 *
RodColeman 0:0791c1fece8e 695 * Instead, you can also use an external function:
RodColeman 0:0791c1fece8e 696 * #define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name)
RodColeman 0:0791c1fece8e 697 * that returns the IP address or INADDR_NONE if not found.
RodColeman 0:0791c1fece8e 698 */
RodColeman 0:0791c1fece8e 699 #ifndef DNS_LOCAL_HOSTLIST
RodColeman 0:0791c1fece8e 700 #define DNS_LOCAL_HOSTLIST 0
RodColeman 0:0791c1fece8e 701 #endif /* DNS_LOCAL_HOSTLIST */
RodColeman 0:0791c1fece8e 702
RodColeman 0:0791c1fece8e 703 /** If this is turned on, the local host-list can be dynamically changed
RodColeman 0:0791c1fece8e 704 * at runtime. */
RodColeman 0:0791c1fece8e 705 #ifndef DNS_LOCAL_HOSTLIST_IS_DYNAMIC
RodColeman 0:0791c1fece8e 706 #define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0
RodColeman 0:0791c1fece8e 707 #endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */
RodColeman 0:0791c1fece8e 708
RodColeman 0:0791c1fece8e 709 /*
RodColeman 0:0791c1fece8e 710 ---------------------------------
RodColeman 0:0791c1fece8e 711 ---------- UDP options ----------
RodColeman 0:0791c1fece8e 712 ---------------------------------
RodColeman 0:0791c1fece8e 713 */
RodColeman 0:0791c1fece8e 714 /**
RodColeman 0:0791c1fece8e 715 * LWIP_UDP==1: Turn on UDP.
RodColeman 0:0791c1fece8e 716 */
RodColeman 0:0791c1fece8e 717 #ifndef LWIP_UDP
RodColeman 0:0791c1fece8e 718 #define LWIP_UDP 1
RodColeman 0:0791c1fece8e 719 #endif
RodColeman 0:0791c1fece8e 720
RodColeman 0:0791c1fece8e 721 /**
RodColeman 0:0791c1fece8e 722 * LWIP_UDPLITE==1: Turn on UDP-Lite. (Requires LWIP_UDP)
RodColeman 0:0791c1fece8e 723 */
RodColeman 0:0791c1fece8e 724 #ifndef LWIP_UDPLITE
RodColeman 0:0791c1fece8e 725 #define LWIP_UDPLITE 0
RodColeman 0:0791c1fece8e 726 #endif
RodColeman 0:0791c1fece8e 727
RodColeman 0:0791c1fece8e 728 /**
RodColeman 0:0791c1fece8e 729 * UDP_TTL: Default Time-To-Live value.
RodColeman 0:0791c1fece8e 730 */
RodColeman 0:0791c1fece8e 731 #ifndef UDP_TTL
RodColeman 0:0791c1fece8e 732 #define UDP_TTL (IP_DEFAULT_TTL)
RodColeman 0:0791c1fece8e 733 #endif
RodColeman 0:0791c1fece8e 734
RodColeman 0:0791c1fece8e 735 /**
RodColeman 0:0791c1fece8e 736 * LWIP_NETBUF_RECVINFO==1: append destination addr and port to every netbuf.
RodColeman 0:0791c1fece8e 737 */
RodColeman 0:0791c1fece8e 738 #ifndef LWIP_NETBUF_RECVINFO
RodColeman 0:0791c1fece8e 739 #define LWIP_NETBUF_RECVINFO 0
RodColeman 0:0791c1fece8e 740 #endif
RodColeman 0:0791c1fece8e 741
RodColeman 0:0791c1fece8e 742 /*
RodColeman 0:0791c1fece8e 743 ---------------------------------
RodColeman 0:0791c1fece8e 744 ---------- TCP options ----------
RodColeman 0:0791c1fece8e 745 ---------------------------------
RodColeman 0:0791c1fece8e 746 */
RodColeman 0:0791c1fece8e 747 /**
RodColeman 0:0791c1fece8e 748 * LWIP_TCP==1: Turn on TCP.
RodColeman 0:0791c1fece8e 749 */
RodColeman 0:0791c1fece8e 750 #ifndef LWIP_TCP
RodColeman 0:0791c1fece8e 751 #define LWIP_TCP 1
RodColeman 0:0791c1fece8e 752 #endif
RodColeman 0:0791c1fece8e 753
RodColeman 0:0791c1fece8e 754 /**
RodColeman 0:0791c1fece8e 755 * TCP_TTL: Default Time-To-Live value.
RodColeman 0:0791c1fece8e 756 */
RodColeman 0:0791c1fece8e 757 #ifndef TCP_TTL
RodColeman 0:0791c1fece8e 758 #define TCP_TTL (IP_DEFAULT_TTL)
RodColeman 0:0791c1fece8e 759 #endif
RodColeman 0:0791c1fece8e 760
RodColeman 0:0791c1fece8e 761 /**
RodColeman 0:0791c1fece8e 762 * TCP_WND: The size of a TCP window. This must be at least
RodColeman 0:0791c1fece8e 763 * (2 * TCP_MSS) for things to work well
RodColeman 0:0791c1fece8e 764 */
RodColeman 0:0791c1fece8e 765 #ifndef TCP_WND
RodColeman 0:0791c1fece8e 766 #define TCP_WND (4 * TCP_MSS)
RodColeman 0:0791c1fece8e 767 #endif
RodColeman 0:0791c1fece8e 768
RodColeman 0:0791c1fece8e 769 /**
RodColeman 0:0791c1fece8e 770 * TCP_MAXRTX: Maximum number of retransmissions of data segments.
RodColeman 0:0791c1fece8e 771 */
RodColeman 0:0791c1fece8e 772 #ifndef TCP_MAXRTX
RodColeman 0:0791c1fece8e 773 #define TCP_MAXRTX 12
RodColeman 0:0791c1fece8e 774 #endif
RodColeman 0:0791c1fece8e 775
RodColeman 0:0791c1fece8e 776 /**
RodColeman 0:0791c1fece8e 777 * TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments.
RodColeman 0:0791c1fece8e 778 */
RodColeman 0:0791c1fece8e 779 #ifndef TCP_SYNMAXRTX
RodColeman 0:0791c1fece8e 780 #define TCP_SYNMAXRTX 6
RodColeman 0:0791c1fece8e 781 #endif
RodColeman 0:0791c1fece8e 782
RodColeman 0:0791c1fece8e 783 /**
RodColeman 0:0791c1fece8e 784 * TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order.
RodColeman 0:0791c1fece8e 785 * Define to 0 if your device is low on memory.
RodColeman 0:0791c1fece8e 786 */
RodColeman 0:0791c1fece8e 787 #ifndef TCP_QUEUE_OOSEQ
RodColeman 0:0791c1fece8e 788 #define TCP_QUEUE_OOSEQ (LWIP_TCP)
RodColeman 0:0791c1fece8e 789 #endif
RodColeman 0:0791c1fece8e 790
RodColeman 0:0791c1fece8e 791 /**
RodColeman 0:0791c1fece8e 792 * TCP_MSS: TCP Maximum segment size. (default is 536, a conservative default,
RodColeman 0:0791c1fece8e 793 * you might want to increase this.)
RodColeman 0:0791c1fece8e 794 * For the receive side, this MSS is advertised to the remote side
RodColeman 0:0791c1fece8e 795 * when opening a connection. For the transmit size, this MSS sets
RodColeman 0:0791c1fece8e 796 * an upper limit on the MSS advertised by the remote host.
RodColeman 0:0791c1fece8e 797 */
RodColeman 0:0791c1fece8e 798 #ifndef TCP_MSS
RodColeman 0:0791c1fece8e 799 #define TCP_MSS 536
RodColeman 0:0791c1fece8e 800 #endif
RodColeman 0:0791c1fece8e 801
RodColeman 0:0791c1fece8e 802 /**
RodColeman 0:0791c1fece8e 803 * TCP_CALCULATE_EFF_SEND_MSS: "The maximum size of a segment that TCP really
RodColeman 0:0791c1fece8e 804 * sends, the 'effective send MSS,' MUST be the smaller of the send MSS (which
RodColeman 0:0791c1fece8e 805 * reflects the available reassembly buffer size at the remote host) and the
RodColeman 0:0791c1fece8e 806 * largest size permitted by the IP layer" (RFC 1122)
RodColeman 0:0791c1fece8e 807 * Setting this to 1 enables code that checks TCP_MSS against the MTU of the
RodColeman 0:0791c1fece8e 808 * netif used for a connection and limits the MSS if it would be too big otherwise.
RodColeman 0:0791c1fece8e 809 */
RodColeman 0:0791c1fece8e 810 #ifndef TCP_CALCULATE_EFF_SEND_MSS
RodColeman 0:0791c1fece8e 811 #define TCP_CALCULATE_EFF_SEND_MSS 1
RodColeman 0:0791c1fece8e 812 #endif
RodColeman 0:0791c1fece8e 813
RodColeman 0:0791c1fece8e 814
RodColeman 0:0791c1fece8e 815 /**
RodColeman 0:0791c1fece8e 816 * TCP_SND_BUF: TCP sender buffer space (bytes).
RodColeman 0:0791c1fece8e 817 */
RodColeman 0:0791c1fece8e 818 #ifndef TCP_SND_BUF
RodColeman 0:0791c1fece8e 819 #define TCP_SND_BUF 256
RodColeman 0:0791c1fece8e 820 #endif
RodColeman 0:0791c1fece8e 821
RodColeman 0:0791c1fece8e 822 /**
RodColeman 0:0791c1fece8e 823 * TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least
RodColeman 0:0791c1fece8e 824 * as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work.
RodColeman 0:0791c1fece8e 825 */
RodColeman 0:0791c1fece8e 826 #ifndef TCP_SND_QUEUELEN
RodColeman 0:0791c1fece8e 827 #define TCP_SND_QUEUELEN (4 * (TCP_SND_BUF)/(TCP_MSS))
RodColeman 0:0791c1fece8e 828 #endif
RodColeman 0:0791c1fece8e 829
RodColeman 0:0791c1fece8e 830 /**
RodColeman 0:0791c1fece8e 831 * TCP_SNDLOWAT: TCP writable space (bytes). This must be less than or equal
RodColeman 0:0791c1fece8e 832 * to TCP_SND_BUF. It is the amount of space which must be available in the
RodColeman 0:0791c1fece8e 833 * TCP snd_buf for select to return writable.
RodColeman 0:0791c1fece8e 834 */
RodColeman 0:0791c1fece8e 835 #ifndef TCP_SNDLOWAT
RodColeman 0:0791c1fece8e 836 #define TCP_SNDLOWAT ((TCP_SND_BUF)/2)
RodColeman 0:0791c1fece8e 837 #endif
RodColeman 0:0791c1fece8e 838
RodColeman 0:0791c1fece8e 839 /**
RodColeman 0:0791c1fece8e 840 * TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb.
RodColeman 0:0791c1fece8e 841 */
RodColeman 0:0791c1fece8e 842 #ifndef TCP_LISTEN_BACKLOG
RodColeman 0:0791c1fece8e 843 #define TCP_LISTEN_BACKLOG 0
RodColeman 0:0791c1fece8e 844 #endif
RodColeman 0:0791c1fece8e 845
RodColeman 0:0791c1fece8e 846 /**
RodColeman 0:0791c1fece8e 847 * The maximum allowed backlog for TCP listen netconns.
RodColeman 0:0791c1fece8e 848 * This backlog is used unless another is explicitly specified.
RodColeman 0:0791c1fece8e 849 * 0xff is the maximum (u8_t).
RodColeman 0:0791c1fece8e 850 */
RodColeman 0:0791c1fece8e 851 #ifndef TCP_DEFAULT_LISTEN_BACKLOG
RodColeman 0:0791c1fece8e 852 #define TCP_DEFAULT_LISTEN_BACKLOG 0xff
RodColeman 0:0791c1fece8e 853 #endif
RodColeman 0:0791c1fece8e 854
RodColeman 0:0791c1fece8e 855 /**
RodColeman 0:0791c1fece8e 856 * LWIP_TCP_TIMESTAMPS==1: support the TCP timestamp option.
RodColeman 0:0791c1fece8e 857 */
RodColeman 0:0791c1fece8e 858 #ifndef LWIP_TCP_TIMESTAMPS
RodColeman 0:0791c1fece8e 859 #define LWIP_TCP_TIMESTAMPS 0
RodColeman 0:0791c1fece8e 860 #endif
RodColeman 0:0791c1fece8e 861
RodColeman 0:0791c1fece8e 862 /**
RodColeman 0:0791c1fece8e 863 * TCP_WND_UPDATE_THRESHOLD: difference in window to trigger an
RodColeman 0:0791c1fece8e 864 * explicit window update
RodColeman 0:0791c1fece8e 865 */
RodColeman 0:0791c1fece8e 866 #ifndef TCP_WND_UPDATE_THRESHOLD
RodColeman 0:0791c1fece8e 867 #define TCP_WND_UPDATE_THRESHOLD (TCP_WND / 4)
RodColeman 0:0791c1fece8e 868 #endif
RodColeman 0:0791c1fece8e 869
RodColeman 0:0791c1fece8e 870 /**
RodColeman 0:0791c1fece8e 871 * LWIP_EVENT_API and LWIP_CALLBACK_API: Only one of these should be set to 1.
RodColeman 0:0791c1fece8e 872 * LWIP_EVENT_API==1: The user defines lwip_tcp_event() to receive all
RodColeman 0:0791c1fece8e 873 * events (accept, sent, etc) that happen in the system.
RodColeman 0:0791c1fece8e 874 * LWIP_CALLBACK_API==1: The PCB callback function is called directly
RodColeman 0:0791c1fece8e 875 * for the event.
RodColeman 0:0791c1fece8e 876 */
RodColeman 0:0791c1fece8e 877 #ifndef LWIP_EVENT_API
RodColeman 0:0791c1fece8e 878 #define LWIP_EVENT_API 0
RodColeman 0:0791c1fece8e 879 #define LWIP_CALLBACK_API 1
RodColeman 0:0791c1fece8e 880 #else
RodColeman 0:0791c1fece8e 881 #define LWIP_EVENT_API 1
RodColeman 0:0791c1fece8e 882 #define LWIP_CALLBACK_API 0
RodColeman 0:0791c1fece8e 883 #endif
RodColeman 0:0791c1fece8e 884
RodColeman 0:0791c1fece8e 885
RodColeman 0:0791c1fece8e 886 /*
RodColeman 0:0791c1fece8e 887 ----------------------------------
RodColeman 0:0791c1fece8e 888 ---------- Pbuf options ----------
RodColeman 0:0791c1fece8e 889 ----------------------------------
RodColeman 0:0791c1fece8e 890 */
RodColeman 0:0791c1fece8e 891 /**
RodColeman 0:0791c1fece8e 892 * PBUF_LINK_HLEN: the number of bytes that should be allocated for a
RodColeman 0:0791c1fece8e 893 * link level header. The default is 14, the standard value for
RodColeman 0:0791c1fece8e 894 * Ethernet.
RodColeman 0:0791c1fece8e 895 */
RodColeman 0:0791c1fece8e 896 #ifndef PBUF_LINK_HLEN
RodColeman 0:0791c1fece8e 897 #define PBUF_LINK_HLEN 14
RodColeman 0:0791c1fece8e 898 #endif
RodColeman 0:0791c1fece8e 899
RodColeman 0:0791c1fece8e 900 /**
RodColeman 0:0791c1fece8e 901 * PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. The default is
RodColeman 0:0791c1fece8e 902 * designed to accomodate single full size TCP frame in one pbuf, including
RodColeman 0:0791c1fece8e 903 * TCP_MSS, IP header, and link header.
RodColeman 0:0791c1fece8e 904 */
RodColeman 0:0791c1fece8e 905 #ifndef PBUF_POOL_BUFSIZE
RodColeman 0:0791c1fece8e 906 #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)
RodColeman 0:0791c1fece8e 907 #endif
RodColeman 0:0791c1fece8e 908
RodColeman 0:0791c1fece8e 909 /*
RodColeman 0:0791c1fece8e 910 ------------------------------------------------
RodColeman 0:0791c1fece8e 911 ---------- Network Interfaces options ----------
RodColeman 0:0791c1fece8e 912 ------------------------------------------------
RodColeman 0:0791c1fece8e 913 */
RodColeman 0:0791c1fece8e 914 /**
RodColeman 0:0791c1fece8e 915 * LWIP_NETIF_HOSTNAME==1: use DHCP_OPTION_HOSTNAME with netif's hostname
RodColeman 0:0791c1fece8e 916 * field.
RodColeman 0:0791c1fece8e 917 */
RodColeman 0:0791c1fece8e 918 #ifndef LWIP_NETIF_HOSTNAME
RodColeman 0:0791c1fece8e 919 #define LWIP_NETIF_HOSTNAME 0
RodColeman 0:0791c1fece8e 920 #endif
RodColeman 0:0791c1fece8e 921
RodColeman 0:0791c1fece8e 922 /**
RodColeman 0:0791c1fece8e 923 * LWIP_NETIF_API==1: Support netif api (in netifapi.c)
RodColeman 0:0791c1fece8e 924 */
RodColeman 0:0791c1fece8e 925 #ifndef LWIP_NETIF_API
RodColeman 0:0791c1fece8e 926 #define LWIP_NETIF_API 0
RodColeman 0:0791c1fece8e 927 #endif
RodColeman 0:0791c1fece8e 928
RodColeman 0:0791c1fece8e 929 /**
RodColeman 0:0791c1fece8e 930 * LWIP_NETIF_STATUS_CALLBACK==1: Support a callback function whenever an interface
RodColeman 0:0791c1fece8e 931 * changes its up/down status (i.e., due to DHCP IP acquistion)
RodColeman 0:0791c1fece8e 932 */
RodColeman 0:0791c1fece8e 933 #ifndef LWIP_NETIF_STATUS_CALLBACK
RodColeman 0:0791c1fece8e 934 #define LWIP_NETIF_STATUS_CALLBACK 0
RodColeman 0:0791c1fece8e 935 #endif
RodColeman 0:0791c1fece8e 936
RodColeman 0:0791c1fece8e 937 /**
RodColeman 0:0791c1fece8e 938 * LWIP_NETIF_LINK_CALLBACK==1: Support a callback function from an interface
RodColeman 0:0791c1fece8e 939 * whenever the link changes (i.e., link down)
RodColeman 0:0791c1fece8e 940 */
RodColeman 0:0791c1fece8e 941 #ifndef LWIP_NETIF_LINK_CALLBACK
RodColeman 0:0791c1fece8e 942 #define LWIP_NETIF_LINK_CALLBACK 0
RodColeman 0:0791c1fece8e 943 #endif
RodColeman 0:0791c1fece8e 944
RodColeman 0:0791c1fece8e 945 /**
RodColeman 0:0791c1fece8e 946 * LWIP_NETIF_HWADDRHINT==1: Cache link-layer-address hints (e.g. table
RodColeman 0:0791c1fece8e 947 * indices) in struct netif. TCP and UDP can make use of this to prevent
RodColeman 0:0791c1fece8e 948 * scanning the ARP table for every sent packet. While this is faster for big
RodColeman 0:0791c1fece8e 949 * ARP tables or many concurrent connections, it might be counterproductive
RodColeman 0:0791c1fece8e 950 * if you have a tiny ARP table or if there never are concurrent connections.
RodColeman 0:0791c1fece8e 951 */
RodColeman 0:0791c1fece8e 952 #ifndef LWIP_NETIF_HWADDRHINT
RodColeman 0:0791c1fece8e 953 #define LWIP_NETIF_HWADDRHINT 0
RodColeman 0:0791c1fece8e 954 #endif
RodColeman 0:0791c1fece8e 955
RodColeman 0:0791c1fece8e 956 /**
RodColeman 0:0791c1fece8e 957 * LWIP_NETIF_LOOPBACK==1: Support sending packets with a destination IP
RodColeman 0:0791c1fece8e 958 * address equal to the netif IP address, looping them back up the stack.
RodColeman 0:0791c1fece8e 959 */
RodColeman 0:0791c1fece8e 960 #ifndef LWIP_NETIF_LOOPBACK
RodColeman 0:0791c1fece8e 961 #define LWIP_NETIF_LOOPBACK 0
RodColeman 0:0791c1fece8e 962 #endif
RodColeman 0:0791c1fece8e 963
RodColeman 0:0791c1fece8e 964 /**
RodColeman 0:0791c1fece8e 965 * LWIP_LOOPBACK_MAX_PBUFS: Maximum number of pbufs on queue for loopback
RodColeman 0:0791c1fece8e 966 * sending for each netif (0 = disabled)
RodColeman 0:0791c1fece8e 967 */
RodColeman 0:0791c1fece8e 968 #ifndef LWIP_LOOPBACK_MAX_PBUFS
RodColeman 0:0791c1fece8e 969 #define LWIP_LOOPBACK_MAX_PBUFS 0
RodColeman 0:0791c1fece8e 970 #endif
RodColeman 0:0791c1fece8e 971
RodColeman 0:0791c1fece8e 972 /**
RodColeman 0:0791c1fece8e 973 * LWIP_NETIF_LOOPBACK_MULTITHREADING: Indicates whether threading is enabled in
RodColeman 0:0791c1fece8e 974 * the system, as netifs must change how they behave depending on this setting
RodColeman 0:0791c1fece8e 975 * for the LWIP_NETIF_LOOPBACK option to work.
RodColeman 0:0791c1fece8e 976 * Setting this is needed to avoid reentering non-reentrant functions like
RodColeman 0:0791c1fece8e 977 * tcp_input().
RodColeman 0:0791c1fece8e 978 * LWIP_NETIF_LOOPBACK_MULTITHREADING==1: Indicates that the user is using a
RodColeman 0:0791c1fece8e 979 * multithreaded environment like tcpip.c. In this case, netif->input()
RodColeman 0:0791c1fece8e 980 * is called directly.
RodColeman 0:0791c1fece8e 981 * LWIP_NETIF_LOOPBACK_MULTITHREADING==0: Indicates a polling (or NO_SYS) setup.
RodColeman 0:0791c1fece8e 982 * The packets are put on a list and netif_poll() must be called in
RodColeman 0:0791c1fece8e 983 * the main application loop.
RodColeman 0:0791c1fece8e 984 */
RodColeman 0:0791c1fece8e 985 #ifndef LWIP_NETIF_LOOPBACK_MULTITHREADING
RodColeman 0:0791c1fece8e 986 #define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS)
RodColeman 0:0791c1fece8e 987 #endif
RodColeman 0:0791c1fece8e 988
RodColeman 0:0791c1fece8e 989 /**
RodColeman 0:0791c1fece8e 990 * LWIP_NETIF_TX_SINGLE_PBUF: if this is set to 1, lwIP tries to put all data
RodColeman 0:0791c1fece8e 991 * to be sent into one single pbuf. This is for compatibility with DMA-enabled
RodColeman 0:0791c1fece8e 992 * MACs that do not support scatter-gather.
RodColeman 0:0791c1fece8e 993 * Beware that this might involve CPU-memcpy before transmitting that would not
RodColeman 0:0791c1fece8e 994 * be needed without this flag! Use this only if you need to!
RodColeman 0:0791c1fece8e 995 *
RodColeman 0:0791c1fece8e 996 * @todo: TCP and IP-frag do not work with this, yet:
RodColeman 0:0791c1fece8e 997 */
RodColeman 0:0791c1fece8e 998 #ifndef LWIP_NETIF_TX_SINGLE_PBUF
RodColeman 0:0791c1fece8e 999 #define LWIP_NETIF_TX_SINGLE_PBUF 0
RodColeman 0:0791c1fece8e 1000 #endif /* LWIP_NETIF_TX_SINGLE_PBUF */
RodColeman 0:0791c1fece8e 1001
RodColeman 0:0791c1fece8e 1002 /*
RodColeman 0:0791c1fece8e 1003 ------------------------------------
RodColeman 0:0791c1fece8e 1004 ---------- LOOPIF options ----------
RodColeman 0:0791c1fece8e 1005 ------------------------------------
RodColeman 0:0791c1fece8e 1006 */
RodColeman 0:0791c1fece8e 1007 /**
RodColeman 0:0791c1fece8e 1008 * LWIP_HAVE_LOOPIF==1: Support loop interface (127.0.0.1) and loopif.c
RodColeman 0:0791c1fece8e 1009 */
RodColeman 0:0791c1fece8e 1010 #ifndef LWIP_HAVE_LOOPIF
RodColeman 0:0791c1fece8e 1011 #define LWIP_HAVE_LOOPIF 0
RodColeman 0:0791c1fece8e 1012 #endif
RodColeman 0:0791c1fece8e 1013
RodColeman 0:0791c1fece8e 1014 /*
RodColeman 0:0791c1fece8e 1015 ------------------------------------
RodColeman 0:0791c1fece8e 1016 ---------- SLIPIF options ----------
RodColeman 0:0791c1fece8e 1017 ------------------------------------
RodColeman 0:0791c1fece8e 1018 */
RodColeman 0:0791c1fece8e 1019 /**
RodColeman 0:0791c1fece8e 1020 * LWIP_HAVE_SLIPIF==1: Support slip interface and slipif.c
RodColeman 0:0791c1fece8e 1021 */
RodColeman 0:0791c1fece8e 1022 #ifndef LWIP_HAVE_SLIPIF
RodColeman 0:0791c1fece8e 1023 #define LWIP_HAVE_SLIPIF 0
RodColeman 0:0791c1fece8e 1024 #endif
RodColeman 0:0791c1fece8e 1025
RodColeman 0:0791c1fece8e 1026 /*
RodColeman 0:0791c1fece8e 1027 ------------------------------------
RodColeman 0:0791c1fece8e 1028 ---------- Thread options ----------
RodColeman 0:0791c1fece8e 1029 ------------------------------------
RodColeman 0:0791c1fece8e 1030 */
RodColeman 0:0791c1fece8e 1031 /**
RodColeman 0:0791c1fece8e 1032 * TCPIP_THREAD_NAME: The name assigned to the main tcpip thread.
RodColeman 0:0791c1fece8e 1033 */
RodColeman 0:0791c1fece8e 1034 #ifndef TCPIP_THREAD_NAME
RodColeman 0:0791c1fece8e 1035 #define TCPIP_THREAD_NAME "tcpip_thread"
RodColeman 0:0791c1fece8e 1036 #endif
RodColeman 0:0791c1fece8e 1037
RodColeman 0:0791c1fece8e 1038 /**
RodColeman 0:0791c1fece8e 1039 * TCPIP_THREAD_STACKSIZE: The stack size used by the main tcpip thread.
RodColeman 0:0791c1fece8e 1040 * The stack size value itself is platform-dependent, but is passed to
RodColeman 0:0791c1fece8e 1041 * sys_thread_new() when the thread is created.
RodColeman 0:0791c1fece8e 1042 */
RodColeman 0:0791c1fece8e 1043 #ifndef TCPIP_THREAD_STACKSIZE
RodColeman 0:0791c1fece8e 1044 #define TCPIP_THREAD_STACKSIZE 0
RodColeman 0:0791c1fece8e 1045 #endif
RodColeman 0:0791c1fece8e 1046
RodColeman 0:0791c1fece8e 1047 /**
RodColeman 0:0791c1fece8e 1048 * TCPIP_THREAD_PRIO: The priority assigned to the main tcpip thread.
RodColeman 0:0791c1fece8e 1049 * The priority value itself is platform-dependent, but is passed to
RodColeman 0:0791c1fece8e 1050 * sys_thread_new() when the thread is created.
RodColeman 0:0791c1fece8e 1051 */
RodColeman 0:0791c1fece8e 1052 #ifndef TCPIP_THREAD_PRIO
RodColeman 0:0791c1fece8e 1053 #define TCPIP_THREAD_PRIO 1
RodColeman 0:0791c1fece8e 1054 #endif
RodColeman 0:0791c1fece8e 1055
RodColeman 0:0791c1fece8e 1056 /**
RodColeman 0:0791c1fece8e 1057 * TCPIP_MBOX_SIZE: The mailbox size for the tcpip thread messages
RodColeman 0:0791c1fece8e 1058 * The queue size value itself is platform-dependent, but is passed to
RodColeman 0:0791c1fece8e 1059 * sys_mbox_new() when tcpip_init is called.
RodColeman 0:0791c1fece8e 1060 */
RodColeman 0:0791c1fece8e 1061 #ifndef TCPIP_MBOX_SIZE
RodColeman 0:0791c1fece8e 1062 #define TCPIP_MBOX_SIZE 0
RodColeman 0:0791c1fece8e 1063 #endif
RodColeman 0:0791c1fece8e 1064
RodColeman 0:0791c1fece8e 1065 /**
RodColeman 0:0791c1fece8e 1066 * SLIPIF_THREAD_NAME: The name assigned to the slipif_loop thread.
RodColeman 0:0791c1fece8e 1067 */
RodColeman 0:0791c1fece8e 1068 #ifndef SLIPIF_THREAD_NAME
RodColeman 0:0791c1fece8e 1069 #define SLIPIF_THREAD_NAME "slipif_loop"
RodColeman 0:0791c1fece8e 1070 #endif
RodColeman 0:0791c1fece8e 1071
RodColeman 0:0791c1fece8e 1072 /**
RodColeman 0:0791c1fece8e 1073 * SLIP_THREAD_STACKSIZE: The stack size used by the slipif_loop thread.
RodColeman 0:0791c1fece8e 1074 * The stack size value itself is platform-dependent, but is passed to
RodColeman 0:0791c1fece8e 1075 * sys_thread_new() when the thread is created.
RodColeman 0:0791c1fece8e 1076 */
RodColeman 0:0791c1fece8e 1077 #ifndef SLIPIF_THREAD_STACKSIZE
RodColeman 0:0791c1fece8e 1078 #define SLIPIF_THREAD_STACKSIZE 0
RodColeman 0:0791c1fece8e 1079 #endif
RodColeman 0:0791c1fece8e 1080
RodColeman 0:0791c1fece8e 1081 /**
RodColeman 0:0791c1fece8e 1082 * SLIPIF_THREAD_PRIO: The priority assigned to the slipif_loop thread.
RodColeman 0:0791c1fece8e 1083 * The priority value itself is platform-dependent, but is passed to
RodColeman 0:0791c1fece8e 1084 * sys_thread_new() when the thread is created.
RodColeman 0:0791c1fece8e 1085 */
RodColeman 0:0791c1fece8e 1086 #ifndef SLIPIF_THREAD_PRIO
RodColeman 0:0791c1fece8e 1087 #define SLIPIF_THREAD_PRIO 1
RodColeman 0:0791c1fece8e 1088 #endif
RodColeman 0:0791c1fece8e 1089
RodColeman 0:0791c1fece8e 1090 /**
RodColeman 0:0791c1fece8e 1091 * PPP_THREAD_NAME: The name assigned to the pppMain thread.
RodColeman 0:0791c1fece8e 1092 */
RodColeman 0:0791c1fece8e 1093 #ifndef PPP_THREAD_NAME
RodColeman 0:0791c1fece8e 1094 #define PPP_THREAD_NAME "pppMain"
RodColeman 0:0791c1fece8e 1095 #endif
RodColeman 0:0791c1fece8e 1096
RodColeman 0:0791c1fece8e 1097 /**
RodColeman 0:0791c1fece8e 1098 * PPP_THREAD_STACKSIZE: The stack size used by the pppMain thread.
RodColeman 0:0791c1fece8e 1099 * The stack size value itself is platform-dependent, but is passed to
RodColeman 0:0791c1fece8e 1100 * sys_thread_new() when the thread is created.
RodColeman 0:0791c1fece8e 1101 */
RodColeman 0:0791c1fece8e 1102 #ifndef PPP_THREAD_STACKSIZE
RodColeman 0:0791c1fece8e 1103 #define PPP_THREAD_STACKSIZE 0
RodColeman 0:0791c1fece8e 1104 #endif
RodColeman 0:0791c1fece8e 1105
RodColeman 0:0791c1fece8e 1106 /**
RodColeman 0:0791c1fece8e 1107 * PPP_THREAD_PRIO: The priority assigned to the pppMain thread.
RodColeman 0:0791c1fece8e 1108 * The priority value itself is platform-dependent, but is passed to
RodColeman 0:0791c1fece8e 1109 * sys_thread_new() when the thread is created.
RodColeman 0:0791c1fece8e 1110 */
RodColeman 0:0791c1fece8e 1111 #ifndef PPP_THREAD_PRIO
RodColeman 0:0791c1fece8e 1112 #define PPP_THREAD_PRIO 1
RodColeman 0:0791c1fece8e 1113 #endif
RodColeman 0:0791c1fece8e 1114
RodColeman 0:0791c1fece8e 1115 /**
RodColeman 0:0791c1fece8e 1116 * DEFAULT_THREAD_NAME: The name assigned to any other lwIP thread.
RodColeman 0:0791c1fece8e 1117 */
RodColeman 0:0791c1fece8e 1118 #ifndef DEFAULT_THREAD_NAME
RodColeman 0:0791c1fece8e 1119 #define DEFAULT_THREAD_NAME "lwIP"
RodColeman 0:0791c1fece8e 1120 #endif
RodColeman 0:0791c1fece8e 1121
RodColeman 0:0791c1fece8e 1122 /**
RodColeman 0:0791c1fece8e 1123 * DEFAULT_THREAD_STACKSIZE: The stack size used by any other lwIP thread.
RodColeman 0:0791c1fece8e 1124 * The stack size value itself is platform-dependent, but is passed to
RodColeman 0:0791c1fece8e 1125 * sys_thread_new() when the thread is created.
RodColeman 0:0791c1fece8e 1126 */
RodColeman 0:0791c1fece8e 1127 #ifndef DEFAULT_THREAD_STACKSIZE
RodColeman 0:0791c1fece8e 1128 #define DEFAULT_THREAD_STACKSIZE 0
RodColeman 0:0791c1fece8e 1129 #endif
RodColeman 0:0791c1fece8e 1130
RodColeman 0:0791c1fece8e 1131 /**
RodColeman 0:0791c1fece8e 1132 * DEFAULT_THREAD_PRIO: The priority assigned to any other lwIP thread.
RodColeman 0:0791c1fece8e 1133 * The priority value itself is platform-dependent, but is passed to
RodColeman 0:0791c1fece8e 1134 * sys_thread_new() when the thread is created.
RodColeman 0:0791c1fece8e 1135 */
RodColeman 0:0791c1fece8e 1136 #ifndef DEFAULT_THREAD_PRIO
RodColeman 0:0791c1fece8e 1137 #define DEFAULT_THREAD_PRIO 1
RodColeman 0:0791c1fece8e 1138 #endif
RodColeman 0:0791c1fece8e 1139
RodColeman 0:0791c1fece8e 1140 /**
RodColeman 0:0791c1fece8e 1141 * DEFAULT_RAW_RECVMBOX_SIZE: The mailbox size for the incoming packets on a
RodColeman 0:0791c1fece8e 1142 * NETCONN_RAW. The queue size value itself is platform-dependent, but is passed
RodColeman 0:0791c1fece8e 1143 * to sys_mbox_new() when the recvmbox is created.
RodColeman 0:0791c1fece8e 1144 */
RodColeman 0:0791c1fece8e 1145 #ifndef DEFAULT_RAW_RECVMBOX_SIZE
RodColeman 0:0791c1fece8e 1146 #define DEFAULT_RAW_RECVMBOX_SIZE 0
RodColeman 0:0791c1fece8e 1147 #endif
RodColeman 0:0791c1fece8e 1148
RodColeman 0:0791c1fece8e 1149 /**
RodColeman 0:0791c1fece8e 1150 * DEFAULT_UDP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a
RodColeman 0:0791c1fece8e 1151 * NETCONN_UDP. The queue size value itself is platform-dependent, but is passed
RodColeman 0:0791c1fece8e 1152 * to sys_mbox_new() when the recvmbox is created.
RodColeman 0:0791c1fece8e 1153 */
RodColeman 0:0791c1fece8e 1154 #ifndef DEFAULT_UDP_RECVMBOX_SIZE
RodColeman 0:0791c1fece8e 1155 #define DEFAULT_UDP_RECVMBOX_SIZE 0
RodColeman 0:0791c1fece8e 1156 #endif
RodColeman 0:0791c1fece8e 1157
RodColeman 0:0791c1fece8e 1158 /**
RodColeman 0:0791c1fece8e 1159 * DEFAULT_TCP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a
RodColeman 0:0791c1fece8e 1160 * NETCONN_TCP. The queue size value itself is platform-dependent, but is passed
RodColeman 0:0791c1fece8e 1161 * to sys_mbox_new() when the recvmbox is created.
RodColeman 0:0791c1fece8e 1162 */
RodColeman 0:0791c1fece8e 1163 #ifndef DEFAULT_TCP_RECVMBOX_SIZE
RodColeman 0:0791c1fece8e 1164 #define DEFAULT_TCP_RECVMBOX_SIZE 0
RodColeman 0:0791c1fece8e 1165 #endif
RodColeman 0:0791c1fece8e 1166
RodColeman 0:0791c1fece8e 1167 /**
RodColeman 0:0791c1fece8e 1168 * DEFAULT_ACCEPTMBOX_SIZE: The mailbox size for the incoming connections.
RodColeman 0:0791c1fece8e 1169 * The queue size value itself is platform-dependent, but is passed to
RodColeman 0:0791c1fece8e 1170 * sys_mbox_new() when the acceptmbox is created.
RodColeman 0:0791c1fece8e 1171 */
RodColeman 0:0791c1fece8e 1172 #ifndef DEFAULT_ACCEPTMBOX_SIZE
RodColeman 0:0791c1fece8e 1173 #define DEFAULT_ACCEPTMBOX_SIZE 0
RodColeman 0:0791c1fece8e 1174 #endif
RodColeman 0:0791c1fece8e 1175
RodColeman 0:0791c1fece8e 1176 /*
RodColeman 0:0791c1fece8e 1177 ----------------------------------------------
RodColeman 0:0791c1fece8e 1178 ---------- Sequential layer options ----------
RodColeman 0:0791c1fece8e 1179 ----------------------------------------------
RodColeman 0:0791c1fece8e 1180 */
RodColeman 0:0791c1fece8e 1181 /**
RodColeman 0:0791c1fece8e 1182 * LWIP_TCPIP_CORE_LOCKING: (EXPERIMENTAL!)
RodColeman 0:0791c1fece8e 1183 * Don't use it if you're not an active lwIP project member
RodColeman 0:0791c1fece8e 1184 */
RodColeman 0:0791c1fece8e 1185 #ifndef LWIP_TCPIP_CORE_LOCKING
RodColeman 0:0791c1fece8e 1186 #define LWIP_TCPIP_CORE_LOCKING 0
RodColeman 0:0791c1fece8e 1187 #endif
RodColeman 0:0791c1fece8e 1188
RodColeman 0:0791c1fece8e 1189 /**
RodColeman 0:0791c1fece8e 1190 * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c)
RodColeman 0:0791c1fece8e 1191 */
RodColeman 0:0791c1fece8e 1192 #ifndef LWIP_NETCONN
RodColeman 0:0791c1fece8e 1193 #define LWIP_NETCONN 1
RodColeman 0:0791c1fece8e 1194 #endif
RodColeman 0:0791c1fece8e 1195
RodColeman 0:0791c1fece8e 1196 /*
RodColeman 0:0791c1fece8e 1197 ------------------------------------
RodColeman 0:0791c1fece8e 1198 ---------- Socket options ----------
RodColeman 0:0791c1fece8e 1199 ------------------------------------
RodColeman 0:0791c1fece8e 1200 */
RodColeman 0:0791c1fece8e 1201 /**
RodColeman 0:0791c1fece8e 1202 * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c)
RodColeman 0:0791c1fece8e 1203 */
RodColeman 0:0791c1fece8e 1204 #ifndef LWIP_SOCKET
RodColeman 0:0791c1fece8e 1205 #define LWIP_SOCKET 1
RodColeman 0:0791c1fece8e 1206 #endif
RodColeman 0:0791c1fece8e 1207
RodColeman 0:0791c1fece8e 1208 /**
RodColeman 0:0791c1fece8e 1209 * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.
RodColeman 0:0791c1fece8e 1210 * (only used if you use sockets.c)
RodColeman 0:0791c1fece8e 1211 */
RodColeman 0:0791c1fece8e 1212 #ifndef LWIP_COMPAT_SOCKETS
RodColeman 0:0791c1fece8e 1213 #define LWIP_COMPAT_SOCKETS 1
RodColeman 0:0791c1fece8e 1214 #endif
RodColeman 0:0791c1fece8e 1215
RodColeman 0:0791c1fece8e 1216 /**
RodColeman 0:0791c1fece8e 1217 * LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names.
RodColeman 0:0791c1fece8e 1218 * Disable this option if you use a POSIX operating system that uses the same
RodColeman 0:0791c1fece8e 1219 * names (read, write & close). (only used if you use sockets.c)
RodColeman 0:0791c1fece8e 1220 */
RodColeman 0:0791c1fece8e 1221 #ifndef LWIP_POSIX_SOCKETS_IO_NAMES
RodColeman 0:0791c1fece8e 1222 #define LWIP_POSIX_SOCKETS_IO_NAMES 1
RodColeman 0:0791c1fece8e 1223 #endif
RodColeman 0:0791c1fece8e 1224
RodColeman 0:0791c1fece8e 1225 /**
RodColeman 0:0791c1fece8e 1226 * LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT
RodColeman 0:0791c1fece8e 1227 * options processing. Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set
RodColeman 0:0791c1fece8e 1228 * in seconds. (does not require sockets.c, and will affect tcp.c)
RodColeman 0:0791c1fece8e 1229 */
RodColeman 0:0791c1fece8e 1230 #ifndef LWIP_TCP_KEEPALIVE
RodColeman 0:0791c1fece8e 1231 #define LWIP_TCP_KEEPALIVE 0
RodColeman 0:0791c1fece8e 1232 #endif
RodColeman 0:0791c1fece8e 1233
RodColeman 0:0791c1fece8e 1234 /**
RodColeman 0:0791c1fece8e 1235 * LWIP_SO_RCVTIMEO==1: Enable SO_RCVTIMEO processing.
RodColeman 0:0791c1fece8e 1236 */
RodColeman 0:0791c1fece8e 1237 #ifndef LWIP_SO_RCVTIMEO
RodColeman 0:0791c1fece8e 1238 #define LWIP_SO_RCVTIMEO 0
RodColeman 0:0791c1fece8e 1239 #endif
RodColeman 0:0791c1fece8e 1240
RodColeman 0:0791c1fece8e 1241 /**
RodColeman 0:0791c1fece8e 1242 * LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing.
RodColeman 0:0791c1fece8e 1243 */
RodColeman 0:0791c1fece8e 1244 #ifndef LWIP_SO_RCVBUF
RodColeman 0:0791c1fece8e 1245 #define LWIP_SO_RCVBUF 0
RodColeman 0:0791c1fece8e 1246 #endif
RodColeman 0:0791c1fece8e 1247
RodColeman 0:0791c1fece8e 1248 /**
RodColeman 0:0791c1fece8e 1249 * If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize.
RodColeman 0:0791c1fece8e 1250 */
RodColeman 0:0791c1fece8e 1251 #ifndef RECV_BUFSIZE_DEFAULT
RodColeman 0:0791c1fece8e 1252 #define RECV_BUFSIZE_DEFAULT INT_MAX
RodColeman 0:0791c1fece8e 1253 #endif
RodColeman 0:0791c1fece8e 1254
RodColeman 0:0791c1fece8e 1255 /**
RodColeman 0:0791c1fece8e 1256 * SO_REUSE==1: Enable SO_REUSEADDR and SO_REUSEPORT options. DO NOT USE!
RodColeman 0:0791c1fece8e 1257 */
RodColeman 0:0791c1fece8e 1258 #ifndef SO_REUSE
RodColeman 0:0791c1fece8e 1259 #define SO_REUSE 0
RodColeman 0:0791c1fece8e 1260 #endif
RodColeman 0:0791c1fece8e 1261
RodColeman 0:0791c1fece8e 1262 /*
RodColeman 0:0791c1fece8e 1263 ----------------------------------------
RodColeman 0:0791c1fece8e 1264 ---------- Statistics options ----------
RodColeman 0:0791c1fece8e 1265 ----------------------------------------
RodColeman 0:0791c1fece8e 1266 */
RodColeman 0:0791c1fece8e 1267 /**
RodColeman 0:0791c1fece8e 1268 * LWIP_STATS==1: Enable statistics collection in lwip_stats.
RodColeman 0:0791c1fece8e 1269 */
RodColeman 0:0791c1fece8e 1270 #ifndef LWIP_STATS
RodColeman 0:0791c1fece8e 1271 #define LWIP_STATS 1
RodColeman 0:0791c1fece8e 1272 #endif
RodColeman 0:0791c1fece8e 1273
RodColeman 0:0791c1fece8e 1274 #if LWIP_STATS
RodColeman 0:0791c1fece8e 1275
RodColeman 0:0791c1fece8e 1276 /**
RodColeman 0:0791c1fece8e 1277 * LWIP_STATS_DISPLAY==1: Compile in the statistics output functions.
RodColeman 0:0791c1fece8e 1278 */
RodColeman 0:0791c1fece8e 1279 #ifndef LWIP_STATS_DISPLAY
RodColeman 0:0791c1fece8e 1280 #define LWIP_STATS_DISPLAY 0
RodColeman 0:0791c1fece8e 1281 #endif
RodColeman 0:0791c1fece8e 1282
RodColeman 0:0791c1fece8e 1283 /**
RodColeman 0:0791c1fece8e 1284 * LINK_STATS==1: Enable link stats.
RodColeman 0:0791c1fece8e 1285 */
RodColeman 0:0791c1fece8e 1286 #ifndef LINK_STATS
RodColeman 0:0791c1fece8e 1287 #define LINK_STATS 1
RodColeman 0:0791c1fece8e 1288 #endif
RodColeman 0:0791c1fece8e 1289
RodColeman 0:0791c1fece8e 1290 /**
RodColeman 0:0791c1fece8e 1291 * ETHARP_STATS==1: Enable etharp stats.
RodColeman 0:0791c1fece8e 1292 */
RodColeman 0:0791c1fece8e 1293 #ifndef ETHARP_STATS
RodColeman 0:0791c1fece8e 1294 #define ETHARP_STATS (LWIP_ARP)
RodColeman 0:0791c1fece8e 1295 #endif
RodColeman 0:0791c1fece8e 1296
RodColeman 0:0791c1fece8e 1297 /**
RodColeman 0:0791c1fece8e 1298 * IP_STATS==1: Enable IP stats.
RodColeman 0:0791c1fece8e 1299 */
RodColeman 0:0791c1fece8e 1300 #ifndef IP_STATS
RodColeman 0:0791c1fece8e 1301 #define IP_STATS 1
RodColeman 0:0791c1fece8e 1302 #endif
RodColeman 0:0791c1fece8e 1303
RodColeman 0:0791c1fece8e 1304 /**
RodColeman 0:0791c1fece8e 1305 * IPFRAG_STATS==1: Enable IP fragmentation stats. Default is
RodColeman 0:0791c1fece8e 1306 * on if using either frag or reass.
RodColeman 0:0791c1fece8e 1307 */
RodColeman 0:0791c1fece8e 1308 #ifndef IPFRAG_STATS
RodColeman 0:0791c1fece8e 1309 #define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG)
RodColeman 0:0791c1fece8e 1310 #endif
RodColeman 0:0791c1fece8e 1311
RodColeman 0:0791c1fece8e 1312 /**
RodColeman 0:0791c1fece8e 1313 * ICMP_STATS==1: Enable ICMP stats.
RodColeman 0:0791c1fece8e 1314 */
RodColeman 0:0791c1fece8e 1315 #ifndef ICMP_STATS
RodColeman 0:0791c1fece8e 1316 #define ICMP_STATS 1
RodColeman 0:0791c1fece8e 1317 #endif
RodColeman 0:0791c1fece8e 1318
RodColeman 0:0791c1fece8e 1319 /**
RodColeman 0:0791c1fece8e 1320 * IGMP_STATS==1: Enable IGMP stats.
RodColeman 0:0791c1fece8e 1321 */
RodColeman 0:0791c1fece8e 1322 #ifndef IGMP_STATS
RodColeman 0:0791c1fece8e 1323 #define IGMP_STATS (LWIP_IGMP)
RodColeman 0:0791c1fece8e 1324 #endif
RodColeman 0:0791c1fece8e 1325
RodColeman 0:0791c1fece8e 1326 /**
RodColeman 0:0791c1fece8e 1327 * UDP_STATS==1: Enable UDP stats. Default is on if
RodColeman 0:0791c1fece8e 1328 * UDP enabled, otherwise off.
RodColeman 0:0791c1fece8e 1329 */
RodColeman 0:0791c1fece8e 1330 #ifndef UDP_STATS
RodColeman 0:0791c1fece8e 1331 #define UDP_STATS (LWIP_UDP)
RodColeman 0:0791c1fece8e 1332 #endif
RodColeman 0:0791c1fece8e 1333
RodColeman 0:0791c1fece8e 1334 /**
RodColeman 0:0791c1fece8e 1335 * TCP_STATS==1: Enable TCP stats. Default is on if TCP
RodColeman 0:0791c1fece8e 1336 * enabled, otherwise off.
RodColeman 0:0791c1fece8e 1337 */
RodColeman 0:0791c1fece8e 1338 #ifndef TCP_STATS
RodColeman 0:0791c1fece8e 1339 #define TCP_STATS (LWIP_TCP)
RodColeman 0:0791c1fece8e 1340 #endif
RodColeman 0:0791c1fece8e 1341
RodColeman 0:0791c1fece8e 1342 /**
RodColeman 0:0791c1fece8e 1343 * MEM_STATS==1: Enable mem.c stats.
RodColeman 0:0791c1fece8e 1344 */
RodColeman 0:0791c1fece8e 1345 #ifndef MEM_STATS
RodColeman 0:0791c1fece8e 1346 #define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0))
RodColeman 0:0791c1fece8e 1347 #endif
RodColeman 0:0791c1fece8e 1348
RodColeman 0:0791c1fece8e 1349 /**
RodColeman 0:0791c1fece8e 1350 * MEMP_STATS==1: Enable memp.c pool stats.
RodColeman 0:0791c1fece8e 1351 */
RodColeman 0:0791c1fece8e 1352 #ifndef MEMP_STATS
RodColeman 0:0791c1fece8e 1353 #define MEMP_STATS (MEMP_MEM_MALLOC == 0)
RodColeman 0:0791c1fece8e 1354 #endif
RodColeman 0:0791c1fece8e 1355
RodColeman 0:0791c1fece8e 1356 /**
RodColeman 0:0791c1fece8e 1357 * SYS_STATS==1: Enable system stats (sem and mbox counts, etc).
RodColeman 0:0791c1fece8e 1358 */
RodColeman 0:0791c1fece8e 1359 #ifndef SYS_STATS
RodColeman 0:0791c1fece8e 1360 #define SYS_STATS (NO_SYS == 0)
RodColeman 0:0791c1fece8e 1361 #endif
RodColeman 0:0791c1fece8e 1362
RodColeman 0:0791c1fece8e 1363 #else
RodColeman 0:0791c1fece8e 1364
RodColeman 0:0791c1fece8e 1365 #define LINK_STATS 0
RodColeman 0:0791c1fece8e 1366 #define IP_STATS 0
RodColeman 0:0791c1fece8e 1367 #define IPFRAG_STATS 0
RodColeman 0:0791c1fece8e 1368 #define ICMP_STATS 0
RodColeman 0:0791c1fece8e 1369 #define IGMP_STATS 0
RodColeman 0:0791c1fece8e 1370 #define UDP_STATS 0
RodColeman 0:0791c1fece8e 1371 #define TCP_STATS 0
RodColeman 0:0791c1fece8e 1372 #define MEM_STATS 0
RodColeman 0:0791c1fece8e 1373 #define MEMP_STATS 0
RodColeman 0:0791c1fece8e 1374 #define SYS_STATS 0
RodColeman 0:0791c1fece8e 1375 #define LWIP_STATS_DISPLAY 0
RodColeman 0:0791c1fece8e 1376
RodColeman 0:0791c1fece8e 1377 #endif /* LWIP_STATS */
RodColeman 0:0791c1fece8e 1378
RodColeman 0:0791c1fece8e 1379 /*
RodColeman 0:0791c1fece8e 1380 ---------------------------------
RodColeman 0:0791c1fece8e 1381 ---------- PPP options ----------
RodColeman 0:0791c1fece8e 1382 ---------------------------------
RodColeman 0:0791c1fece8e 1383 */
RodColeman 0:0791c1fece8e 1384 /**
RodColeman 0:0791c1fece8e 1385 * PPP_SUPPORT==1: Enable PPP.
RodColeman 0:0791c1fece8e 1386 */
RodColeman 0:0791c1fece8e 1387 #ifndef PPP_SUPPORT
RodColeman 0:0791c1fece8e 1388 #define PPP_SUPPORT 0
RodColeman 0:0791c1fece8e 1389 #endif
RodColeman 0:0791c1fece8e 1390
RodColeman 0:0791c1fece8e 1391 /**
RodColeman 0:0791c1fece8e 1392 * PPPOE_SUPPORT==1: Enable PPP Over Ethernet
RodColeman 0:0791c1fece8e 1393 */
RodColeman 0:0791c1fece8e 1394 #ifndef PPPOE_SUPPORT
RodColeman 0:0791c1fece8e 1395 #define PPPOE_SUPPORT 0
RodColeman 0:0791c1fece8e 1396 #endif
RodColeman 0:0791c1fece8e 1397
RodColeman 0:0791c1fece8e 1398 /**
RodColeman 0:0791c1fece8e 1399 * PPPOS_SUPPORT==1: Enable PPP Over Serial
RodColeman 0:0791c1fece8e 1400 */
RodColeman 0:0791c1fece8e 1401 #ifndef PPPOS_SUPPORT
RodColeman 0:0791c1fece8e 1402 #define PPPOS_SUPPORT PPP_SUPPORT
RodColeman 0:0791c1fece8e 1403 #endif
RodColeman 0:0791c1fece8e 1404
RodColeman 0:0791c1fece8e 1405 #if PPP_SUPPORT
RodColeman 0:0791c1fece8e 1406
RodColeman 0:0791c1fece8e 1407 /**
RodColeman 0:0791c1fece8e 1408 * NUM_PPP: Max PPP sessions.
RodColeman 0:0791c1fece8e 1409 */
RodColeman 0:0791c1fece8e 1410 #ifndef NUM_PPP
RodColeman 0:0791c1fece8e 1411 #define NUM_PPP 1
RodColeman 0:0791c1fece8e 1412 #endif
RodColeman 0:0791c1fece8e 1413
RodColeman 0:0791c1fece8e 1414 /**
RodColeman 0:0791c1fece8e 1415 * PAP_SUPPORT==1: Support PAP.
RodColeman 0:0791c1fece8e 1416 */
RodColeman 0:0791c1fece8e 1417 #ifndef PAP_SUPPORT
RodColeman 0:0791c1fece8e 1418 #define PAP_SUPPORT 0
RodColeman 0:0791c1fece8e 1419 #endif
RodColeman 0:0791c1fece8e 1420
RodColeman 0:0791c1fece8e 1421 /**
RodColeman 0:0791c1fece8e 1422 * CHAP_SUPPORT==1: Support CHAP.
RodColeman 0:0791c1fece8e 1423 */
RodColeman 0:0791c1fece8e 1424 #ifndef CHAP_SUPPORT
RodColeman 0:0791c1fece8e 1425 #define CHAP_SUPPORT 0
RodColeman 0:0791c1fece8e 1426 #endif
RodColeman 0:0791c1fece8e 1427
RodColeman 0:0791c1fece8e 1428 /**
RodColeman 0:0791c1fece8e 1429 * MSCHAP_SUPPORT==1: Support MSCHAP. CURRENTLY NOT SUPPORTED! DO NOT SET!
RodColeman 0:0791c1fece8e 1430 */
RodColeman 0:0791c1fece8e 1431 #ifndef MSCHAP_SUPPORT
RodColeman 0:0791c1fece8e 1432 #define MSCHAP_SUPPORT 0
RodColeman 0:0791c1fece8e 1433 #endif
RodColeman 0:0791c1fece8e 1434
RodColeman 0:0791c1fece8e 1435 /**
RodColeman 0:0791c1fece8e 1436 * CBCP_SUPPORT==1: Support CBCP. CURRENTLY NOT SUPPORTED! DO NOT SET!
RodColeman 0:0791c1fece8e 1437 */
RodColeman 0:0791c1fece8e 1438 #ifndef CBCP_SUPPORT
RodColeman 0:0791c1fece8e 1439 #define CBCP_SUPPORT 0
RodColeman 0:0791c1fece8e 1440 #endif
RodColeman 0:0791c1fece8e 1441
RodColeman 0:0791c1fece8e 1442 /**
RodColeman 0:0791c1fece8e 1443 * CCP_SUPPORT==1: Support CCP. CURRENTLY NOT SUPPORTED! DO NOT SET!
RodColeman 0:0791c1fece8e 1444 */
RodColeman 0:0791c1fece8e 1445 #ifndef CCP_SUPPORT
RodColeman 0:0791c1fece8e 1446 #define CCP_SUPPORT 0
RodColeman 0:0791c1fece8e 1447 #endif
RodColeman 0:0791c1fece8e 1448
RodColeman 0:0791c1fece8e 1449 /**
RodColeman 0:0791c1fece8e 1450 * VJ_SUPPORT==1: Support VJ header compression.
RodColeman 0:0791c1fece8e 1451 */
RodColeman 0:0791c1fece8e 1452 #ifndef VJ_SUPPORT
RodColeman 0:0791c1fece8e 1453 #define VJ_SUPPORT 0
RodColeman 0:0791c1fece8e 1454 #endif
RodColeman 0:0791c1fece8e 1455
RodColeman 0:0791c1fece8e 1456 /**
RodColeman 0:0791c1fece8e 1457 * MD5_SUPPORT==1: Support MD5 (see also CHAP).
RodColeman 0:0791c1fece8e 1458 */
RodColeman 0:0791c1fece8e 1459 #ifndef MD5_SUPPORT
RodColeman 0:0791c1fece8e 1460 #define MD5_SUPPORT 0
RodColeman 0:0791c1fece8e 1461 #endif
RodColeman 0:0791c1fece8e 1462
RodColeman 0:0791c1fece8e 1463 /*
RodColeman 0:0791c1fece8e 1464 * Timeouts
RodColeman 0:0791c1fece8e 1465 */
RodColeman 0:0791c1fece8e 1466 #ifndef FSM_DEFTIMEOUT
RodColeman 0:0791c1fece8e 1467 #define FSM_DEFTIMEOUT 6 /* Timeout time in seconds */
RodColeman 0:0791c1fece8e 1468 #endif
RodColeman 0:0791c1fece8e 1469
RodColeman 0:0791c1fece8e 1470 #ifndef FSM_DEFMAXTERMREQS
RodColeman 0:0791c1fece8e 1471 #define FSM_DEFMAXTERMREQS 2 /* Maximum Terminate-Request transmissions */
RodColeman 0:0791c1fece8e 1472 #endif
RodColeman 0:0791c1fece8e 1473
RodColeman 0:0791c1fece8e 1474 #ifndef FSM_DEFMAXCONFREQS
RodColeman 0:0791c1fece8e 1475 #define FSM_DEFMAXCONFREQS 10 /* Maximum Configure-Request transmissions */
RodColeman 0:0791c1fece8e 1476 #endif
RodColeman 0:0791c1fece8e 1477
RodColeman 0:0791c1fece8e 1478 #ifndef FSM_DEFMAXNAKLOOPS
RodColeman 0:0791c1fece8e 1479 #define FSM_DEFMAXNAKLOOPS 5 /* Maximum number of nak loops */
RodColeman 0:0791c1fece8e 1480 #endif
RodColeman 0:0791c1fece8e 1481
RodColeman 0:0791c1fece8e 1482 #ifndef UPAP_DEFTIMEOUT
RodColeman 0:0791c1fece8e 1483 #define UPAP_DEFTIMEOUT 6 /* Timeout (seconds) for retransmitting req */
RodColeman 0:0791c1fece8e 1484 #endif
RodColeman 0:0791c1fece8e 1485
RodColeman 0:0791c1fece8e 1486 #ifndef UPAP_DEFREQTIME
RodColeman 0:0791c1fece8e 1487 #define UPAP_DEFREQTIME 30 /* Time to wait for auth-req from peer */
RodColeman 0:0791c1fece8e 1488 #endif
RodColeman 0:0791c1fece8e 1489
RodColeman 0:0791c1fece8e 1490 #ifndef CHAP_DEFTIMEOUT
RodColeman 0:0791c1fece8e 1491 #define CHAP_DEFTIMEOUT 6 /* Timeout time in seconds */
RodColeman 0:0791c1fece8e 1492 #endif
RodColeman 0:0791c1fece8e 1493
RodColeman 0:0791c1fece8e 1494 #ifndef CHAP_DEFTRANSMITS
RodColeman 0:0791c1fece8e 1495 #define CHAP_DEFTRANSMITS 10 /* max # times to send challenge */
RodColeman 0:0791c1fece8e 1496 #endif
RodColeman 0:0791c1fece8e 1497
RodColeman 0:0791c1fece8e 1498 /* Interval in seconds between keepalive echo requests, 0 to disable. */
RodColeman 0:0791c1fece8e 1499 #ifndef LCP_ECHOINTERVAL
RodColeman 0:0791c1fece8e 1500 #define LCP_ECHOINTERVAL 0
RodColeman 0:0791c1fece8e 1501 #endif
RodColeman 0:0791c1fece8e 1502
RodColeman 0:0791c1fece8e 1503 /* Number of unanswered echo requests before failure. */
RodColeman 0:0791c1fece8e 1504 #ifndef LCP_MAXECHOFAILS
RodColeman 0:0791c1fece8e 1505 #define LCP_MAXECHOFAILS 3
RodColeman 0:0791c1fece8e 1506 #endif
RodColeman 0:0791c1fece8e 1507
RodColeman 0:0791c1fece8e 1508 /* Max Xmit idle time (in jiffies) before resend flag char. */
RodColeman 0:0791c1fece8e 1509 #ifndef PPP_MAXIDLEFLAG
RodColeman 0:0791c1fece8e 1510 #define PPP_MAXIDLEFLAG 100
RodColeman 0:0791c1fece8e 1511 #endif
RodColeman 0:0791c1fece8e 1512
RodColeman 0:0791c1fece8e 1513 /*
RodColeman 0:0791c1fece8e 1514 * Packet sizes
RodColeman 0:0791c1fece8e 1515 *
RodColeman 0:0791c1fece8e 1516 * Note - lcp shouldn't be allowed to negotiate stuff outside these
RodColeman 0:0791c1fece8e 1517 * limits. See lcp.h in the pppd directory.
RodColeman 0:0791c1fece8e 1518 * (XXX - these constants should simply be shared by lcp.c instead
RodColeman 0:0791c1fece8e 1519 * of living in lcp.h)
RodColeman 0:0791c1fece8e 1520 */
RodColeman 0:0791c1fece8e 1521 #define PPP_MTU 1500 /* Default MTU (size of Info field) */
RodColeman 0:0791c1fece8e 1522 #ifndef PPP_MAXMTU
RodColeman 0:0791c1fece8e 1523 /* #define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN) */
RodColeman 0:0791c1fece8e 1524 #define PPP_MAXMTU 1500 /* Largest MTU we allow */
RodColeman 0:0791c1fece8e 1525 #endif
RodColeman 0:0791c1fece8e 1526 #define PPP_MINMTU 64
RodColeman 0:0791c1fece8e 1527 #define PPP_MRU 1500 /* default MRU = max length of info field */
RodColeman 0:0791c1fece8e 1528 #define PPP_MAXMRU 1500 /* Largest MRU we allow */
RodColeman 0:0791c1fece8e 1529 #ifndef PPP_DEFMRU
RodColeman 0:0791c1fece8e 1530 #define PPP_DEFMRU 296 /* Try for this */
RodColeman 0:0791c1fece8e 1531 #endif
RodColeman 0:0791c1fece8e 1532 #define PPP_MINMRU 128 /* No MRUs below this */
RodColeman 0:0791c1fece8e 1533
RodColeman 0:0791c1fece8e 1534
RodColeman 0:0791c1fece8e 1535 #define MAXNAMELEN 256 /* max length of hostname or name for auth */
RodColeman 0:0791c1fece8e 1536 #define MAXSECRETLEN 256 /* max length of password or secret */
RodColeman 0:0791c1fece8e 1537
RodColeman 0:0791c1fece8e 1538 #endif /* PPP_SUPPORT */
RodColeman 0:0791c1fece8e 1539
RodColeman 0:0791c1fece8e 1540 /*
RodColeman 0:0791c1fece8e 1541 --------------------------------------
RodColeman 0:0791c1fece8e 1542 ---------- Checksum options ----------
RodColeman 0:0791c1fece8e 1543 --------------------------------------
RodColeman 0:0791c1fece8e 1544 */
RodColeman 0:0791c1fece8e 1545 /**
RodColeman 0:0791c1fece8e 1546 * CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.
RodColeman 0:0791c1fece8e 1547 */
RodColeman 0:0791c1fece8e 1548 #ifndef CHECKSUM_GEN_IP
RodColeman 0:0791c1fece8e 1549 #define CHECKSUM_GEN_IP 1
RodColeman 0:0791c1fece8e 1550 #endif
RodColeman 0:0791c1fece8e 1551
RodColeman 0:0791c1fece8e 1552 /**
RodColeman 0:0791c1fece8e 1553 * CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.
RodColeman 0:0791c1fece8e 1554 */
RodColeman 0:0791c1fece8e 1555 #ifndef CHECKSUM_GEN_UDP
RodColeman 0:0791c1fece8e 1556 #define CHECKSUM_GEN_UDP 1
RodColeman 0:0791c1fece8e 1557 #endif
RodColeman 0:0791c1fece8e 1558
RodColeman 0:0791c1fece8e 1559 /**
RodColeman 0:0791c1fece8e 1560 * CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets.
RodColeman 0:0791c1fece8e 1561 */
RodColeman 0:0791c1fece8e 1562 #ifndef CHECKSUM_GEN_TCP
RodColeman 0:0791c1fece8e 1563 #define CHECKSUM_GEN_TCP 1
RodColeman 0:0791c1fece8e 1564 #endif
RodColeman 0:0791c1fece8e 1565
RodColeman 0:0791c1fece8e 1566 /**
RodColeman 0:0791c1fece8e 1567 * CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.
RodColeman 0:0791c1fece8e 1568 */
RodColeman 0:0791c1fece8e 1569 #ifndef CHECKSUM_CHECK_IP
RodColeman 0:0791c1fece8e 1570 #define CHECKSUM_CHECK_IP 1
RodColeman 0:0791c1fece8e 1571 #endif
RodColeman 0:0791c1fece8e 1572
RodColeman 0:0791c1fece8e 1573 /**
RodColeman 0:0791c1fece8e 1574 * CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.
RodColeman 0:0791c1fece8e 1575 */
RodColeman 0:0791c1fece8e 1576 #ifndef CHECKSUM_CHECK_UDP
RodColeman 0:0791c1fece8e 1577 #define CHECKSUM_CHECK_UDP 1
RodColeman 0:0791c1fece8e 1578 #endif
RodColeman 0:0791c1fece8e 1579
RodColeman 0:0791c1fece8e 1580 /**
RodColeman 0:0791c1fece8e 1581 * CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets.
RodColeman 0:0791c1fece8e 1582 */
RodColeman 0:0791c1fece8e 1583 #ifndef CHECKSUM_CHECK_TCP
RodColeman 0:0791c1fece8e 1584 #define CHECKSUM_CHECK_TCP 1
RodColeman 0:0791c1fece8e 1585 #endif
RodColeman 0:0791c1fece8e 1586
RodColeman 0:0791c1fece8e 1587 /*
RodColeman 0:0791c1fece8e 1588 ---------------------------------------
RodColeman 0:0791c1fece8e 1589 ---------- Debugging options ----------
RodColeman 0:0791c1fece8e 1590 ---------------------------------------
RodColeman 0:0791c1fece8e 1591 */
RodColeman 0:0791c1fece8e 1592 /**
RodColeman 0:0791c1fece8e 1593 * LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is
RodColeman 0:0791c1fece8e 1594 * compared against this value. If it is smaller, then debugging
RodColeman 0:0791c1fece8e 1595 * messages are written.
RodColeman 0:0791c1fece8e 1596 */
RodColeman 0:0791c1fece8e 1597 #ifndef LWIP_DBG_MIN_LEVEL
RodColeman 0:0791c1fece8e 1598 #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_OFF
RodColeman 0:0791c1fece8e 1599 #endif
RodColeman 0:0791c1fece8e 1600
RodColeman 0:0791c1fece8e 1601 /**
RodColeman 0:0791c1fece8e 1602 * LWIP_DBG_TYPES_ON: A mask that can be used to globally enable/disable
RodColeman 0:0791c1fece8e 1603 * debug messages of certain types.
RodColeman 0:0791c1fece8e 1604 */
RodColeman 0:0791c1fece8e 1605 #ifndef LWIP_DBG_TYPES_ON
RodColeman 0:0791c1fece8e 1606 #define LWIP_DBG_TYPES_ON LWIP_DBG_ON
RodColeman 0:0791c1fece8e 1607 #endif
RodColeman 0:0791c1fece8e 1608
RodColeman 0:0791c1fece8e 1609 /**
RodColeman 0:0791c1fece8e 1610 * ETHARP_DEBUG: Enable debugging in etharp.c.
RodColeman 0:0791c1fece8e 1611 */
RodColeman 0:0791c1fece8e 1612 #ifndef ETHARP_DEBUG
RodColeman 0:0791c1fece8e 1613 #define ETHARP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1614 #endif
RodColeman 0:0791c1fece8e 1615
RodColeman 0:0791c1fece8e 1616 /**
RodColeman 0:0791c1fece8e 1617 * NETIF_DEBUG: Enable debugging in netif.c.
RodColeman 0:0791c1fece8e 1618 */
RodColeman 0:0791c1fece8e 1619 #ifndef NETIF_DEBUG
RodColeman 0:0791c1fece8e 1620 #define NETIF_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1621 #endif
RodColeman 0:0791c1fece8e 1622
RodColeman 0:0791c1fece8e 1623 /**
RodColeman 0:0791c1fece8e 1624 * PBUF_DEBUG: Enable debugging in pbuf.c.
RodColeman 0:0791c1fece8e 1625 */
RodColeman 0:0791c1fece8e 1626 #ifndef PBUF_DEBUG
RodColeman 0:0791c1fece8e 1627 #define PBUF_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1628 #endif
RodColeman 0:0791c1fece8e 1629
RodColeman 0:0791c1fece8e 1630 /**
RodColeman 0:0791c1fece8e 1631 * API_LIB_DEBUG: Enable debugging in api_lib.c.
RodColeman 0:0791c1fece8e 1632 */
RodColeman 0:0791c1fece8e 1633 #ifndef API_LIB_DEBUG
RodColeman 0:0791c1fece8e 1634 #define API_LIB_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1635 #endif
RodColeman 0:0791c1fece8e 1636
RodColeman 0:0791c1fece8e 1637 /**
RodColeman 0:0791c1fece8e 1638 * API_MSG_DEBUG: Enable debugging in api_msg.c.
RodColeman 0:0791c1fece8e 1639 */
RodColeman 0:0791c1fece8e 1640 #ifndef API_MSG_DEBUG
RodColeman 0:0791c1fece8e 1641 #define API_MSG_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1642 #endif
RodColeman 0:0791c1fece8e 1643
RodColeman 0:0791c1fece8e 1644 /**
RodColeman 0:0791c1fece8e 1645 * SOCKETS_DEBUG: Enable debugging in sockets.c.
RodColeman 0:0791c1fece8e 1646 */
RodColeman 0:0791c1fece8e 1647 #ifndef SOCKETS_DEBUG
RodColeman 0:0791c1fece8e 1648 #define SOCKETS_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1649 #endif
RodColeman 0:0791c1fece8e 1650
RodColeman 0:0791c1fece8e 1651 /**
RodColeman 0:0791c1fece8e 1652 * ICMP_DEBUG: Enable debugging in icmp.c.
RodColeman 0:0791c1fece8e 1653 */
RodColeman 0:0791c1fece8e 1654 #ifndef ICMP_DEBUG
RodColeman 0:0791c1fece8e 1655 #define ICMP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1656 #endif
RodColeman 0:0791c1fece8e 1657
RodColeman 0:0791c1fece8e 1658 /**
RodColeman 0:0791c1fece8e 1659 * IGMP_DEBUG: Enable debugging in igmp.c.
RodColeman 0:0791c1fece8e 1660 */
RodColeman 0:0791c1fece8e 1661 #ifndef IGMP_DEBUG
RodColeman 0:0791c1fece8e 1662 #define IGMP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1663 #endif
RodColeman 0:0791c1fece8e 1664
RodColeman 0:0791c1fece8e 1665 /**
RodColeman 0:0791c1fece8e 1666 * INET_DEBUG: Enable debugging in inet.c.
RodColeman 0:0791c1fece8e 1667 */
RodColeman 0:0791c1fece8e 1668 #ifndef INET_DEBUG
RodColeman 0:0791c1fece8e 1669 #define INET_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1670 #endif
RodColeman 0:0791c1fece8e 1671
RodColeman 0:0791c1fece8e 1672 /**
RodColeman 0:0791c1fece8e 1673 * IP_DEBUG: Enable debugging for IP.
RodColeman 0:0791c1fece8e 1674 */
RodColeman 0:0791c1fece8e 1675 #ifndef IP_DEBUG
RodColeman 0:0791c1fece8e 1676 #define IP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1677 #endif
RodColeman 0:0791c1fece8e 1678
RodColeman 0:0791c1fece8e 1679 /**
RodColeman 0:0791c1fece8e 1680 * IP_REASS_DEBUG: Enable debugging in ip_frag.c for both frag & reass.
RodColeman 0:0791c1fece8e 1681 */
RodColeman 0:0791c1fece8e 1682 #ifndef IP_REASS_DEBUG
RodColeman 0:0791c1fece8e 1683 #define IP_REASS_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1684 #endif
RodColeman 0:0791c1fece8e 1685
RodColeman 0:0791c1fece8e 1686 /**
RodColeman 0:0791c1fece8e 1687 * RAW_DEBUG: Enable debugging in raw.c.
RodColeman 0:0791c1fece8e 1688 */
RodColeman 0:0791c1fece8e 1689 #ifndef RAW_DEBUG
RodColeman 0:0791c1fece8e 1690 #define RAW_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1691 #endif
RodColeman 0:0791c1fece8e 1692
RodColeman 0:0791c1fece8e 1693 /**
RodColeman 0:0791c1fece8e 1694 * MEM_DEBUG: Enable debugging in mem.c.
RodColeman 0:0791c1fece8e 1695 */
RodColeman 0:0791c1fece8e 1696 #ifndef MEM_DEBUG
RodColeman 0:0791c1fece8e 1697 #define MEM_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1698 #endif
RodColeman 0:0791c1fece8e 1699
RodColeman 0:0791c1fece8e 1700 /**
RodColeman 0:0791c1fece8e 1701 * MEMP_DEBUG: Enable debugging in memp.c.
RodColeman 0:0791c1fece8e 1702 */
RodColeman 0:0791c1fece8e 1703 #ifndef MEMP_DEBUG
RodColeman 0:0791c1fece8e 1704 #define MEMP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1705 #endif
RodColeman 0:0791c1fece8e 1706
RodColeman 0:0791c1fece8e 1707 /**
RodColeman 0:0791c1fece8e 1708 * SYS_DEBUG: Enable debugging in sys.c.
RodColeman 0:0791c1fece8e 1709 */
RodColeman 0:0791c1fece8e 1710 #ifndef SYS_DEBUG
RodColeman 0:0791c1fece8e 1711 #define SYS_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1712 #endif
RodColeman 0:0791c1fece8e 1713
RodColeman 0:0791c1fece8e 1714 /**
RodColeman 0:0791c1fece8e 1715 * TCP_DEBUG: Enable debugging for TCP.
RodColeman 0:0791c1fece8e 1716 */
RodColeman 0:0791c1fece8e 1717 #ifndef TCP_DEBUG
RodColeman 0:0791c1fece8e 1718 #define TCP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1719 #endif
RodColeman 0:0791c1fece8e 1720
RodColeman 0:0791c1fece8e 1721 /**
RodColeman 0:0791c1fece8e 1722 * TCP_INPUT_DEBUG: Enable debugging in tcp_in.c for incoming debug.
RodColeman 0:0791c1fece8e 1723 */
RodColeman 0:0791c1fece8e 1724 #ifndef TCP_INPUT_DEBUG
RodColeman 0:0791c1fece8e 1725 #define TCP_INPUT_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1726 #endif
RodColeman 0:0791c1fece8e 1727
RodColeman 0:0791c1fece8e 1728 /**
RodColeman 0:0791c1fece8e 1729 * TCP_FR_DEBUG: Enable debugging in tcp_in.c for fast retransmit.
RodColeman 0:0791c1fece8e 1730 */
RodColeman 0:0791c1fece8e 1731 #ifndef TCP_FR_DEBUG
RodColeman 0:0791c1fece8e 1732 #define TCP_FR_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1733 #endif
RodColeman 0:0791c1fece8e 1734
RodColeman 0:0791c1fece8e 1735 /**
RodColeman 0:0791c1fece8e 1736 * TCP_RTO_DEBUG: Enable debugging in TCP for retransmit
RodColeman 0:0791c1fece8e 1737 * timeout.
RodColeman 0:0791c1fece8e 1738 */
RodColeman 0:0791c1fece8e 1739 #ifndef TCP_RTO_DEBUG
RodColeman 0:0791c1fece8e 1740 #define TCP_RTO_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1741 #endif
RodColeman 0:0791c1fece8e 1742
RodColeman 0:0791c1fece8e 1743 /**
RodColeman 0:0791c1fece8e 1744 * TCP_CWND_DEBUG: Enable debugging for TCP congestion window.
RodColeman 0:0791c1fece8e 1745 */
RodColeman 0:0791c1fece8e 1746 #ifndef TCP_CWND_DEBUG
RodColeman 0:0791c1fece8e 1747 #define TCP_CWND_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1748 #endif
RodColeman 0:0791c1fece8e 1749
RodColeman 0:0791c1fece8e 1750 /**
RodColeman 0:0791c1fece8e 1751 * TCP_WND_DEBUG: Enable debugging in tcp_in.c for window updating.
RodColeman 0:0791c1fece8e 1752 */
RodColeman 0:0791c1fece8e 1753 #ifndef TCP_WND_DEBUG
RodColeman 0:0791c1fece8e 1754 #define TCP_WND_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1755 #endif
RodColeman 0:0791c1fece8e 1756
RodColeman 0:0791c1fece8e 1757 /**
RodColeman 0:0791c1fece8e 1758 * TCP_OUTPUT_DEBUG: Enable debugging in tcp_out.c output functions.
RodColeman 0:0791c1fece8e 1759 */
RodColeman 0:0791c1fece8e 1760 #ifndef TCP_OUTPUT_DEBUG
RodColeman 0:0791c1fece8e 1761 #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1762 #endif
RodColeman 0:0791c1fece8e 1763
RodColeman 0:0791c1fece8e 1764 /**
RodColeman 0:0791c1fece8e 1765 * TCP_RST_DEBUG: Enable debugging for TCP with the RST message.
RodColeman 0:0791c1fece8e 1766 */
RodColeman 0:0791c1fece8e 1767 #ifndef TCP_RST_DEBUG
RodColeman 0:0791c1fece8e 1768 #define TCP_RST_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1769 #endif
RodColeman 0:0791c1fece8e 1770
RodColeman 0:0791c1fece8e 1771 /**
RodColeman 0:0791c1fece8e 1772 * TCP_QLEN_DEBUG: Enable debugging for TCP queue lengths.
RodColeman 0:0791c1fece8e 1773 */
RodColeman 0:0791c1fece8e 1774 #ifndef TCP_QLEN_DEBUG
RodColeman 0:0791c1fece8e 1775 #define TCP_QLEN_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1776 #endif
RodColeman 0:0791c1fece8e 1777
RodColeman 0:0791c1fece8e 1778 /**
RodColeman 0:0791c1fece8e 1779 * UDP_DEBUG: Enable debugging in UDP.
RodColeman 0:0791c1fece8e 1780 */
RodColeman 0:0791c1fece8e 1781 #ifndef UDP_DEBUG
RodColeman 0:0791c1fece8e 1782 #define UDP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1783 #endif
RodColeman 0:0791c1fece8e 1784
RodColeman 0:0791c1fece8e 1785 /**
RodColeman 0:0791c1fece8e 1786 * TCPIP_DEBUG: Enable debugging in tcpip.c.
RodColeman 0:0791c1fece8e 1787 */
RodColeman 0:0791c1fece8e 1788 #ifndef TCPIP_DEBUG
RodColeman 0:0791c1fece8e 1789 #define TCPIP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1790 #endif
RodColeman 0:0791c1fece8e 1791
RodColeman 0:0791c1fece8e 1792 /**
RodColeman 0:0791c1fece8e 1793 * PPP_DEBUG: Enable debugging for PPP.
RodColeman 0:0791c1fece8e 1794 */
RodColeman 0:0791c1fece8e 1795 #ifndef PPP_DEBUG
RodColeman 0:0791c1fece8e 1796 #define PPP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1797 #endif
RodColeman 0:0791c1fece8e 1798
RodColeman 0:0791c1fece8e 1799 /**
RodColeman 0:0791c1fece8e 1800 * SLIP_DEBUG: Enable debugging in slipif.c.
RodColeman 0:0791c1fece8e 1801 */
RodColeman 0:0791c1fece8e 1802 #ifndef SLIP_DEBUG
RodColeman 0:0791c1fece8e 1803 #define SLIP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1804 #endif
RodColeman 0:0791c1fece8e 1805
RodColeman 0:0791c1fece8e 1806 /**
RodColeman 0:0791c1fece8e 1807 * DHCP_DEBUG: Enable debugging in dhcp.c.
RodColeman 0:0791c1fece8e 1808 */
RodColeman 0:0791c1fece8e 1809 #ifndef DHCP_DEBUG
RodColeman 0:0791c1fece8e 1810 #define DHCP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1811 #endif
RodColeman 0:0791c1fece8e 1812
RodColeman 0:0791c1fece8e 1813 /**
RodColeman 0:0791c1fece8e 1814 * AUTOIP_DEBUG: Enable debugging in autoip.c.
RodColeman 0:0791c1fece8e 1815 */
RodColeman 0:0791c1fece8e 1816 #ifndef AUTOIP_DEBUG
RodColeman 0:0791c1fece8e 1817 #define AUTOIP_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1818 #endif
RodColeman 0:0791c1fece8e 1819
RodColeman 0:0791c1fece8e 1820 /**
RodColeman 0:0791c1fece8e 1821 * SNMP_MSG_DEBUG: Enable debugging for SNMP messages.
RodColeman 0:0791c1fece8e 1822 */
RodColeman 0:0791c1fece8e 1823 #ifndef SNMP_MSG_DEBUG
RodColeman 0:0791c1fece8e 1824 #define SNMP_MSG_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1825 #endif
RodColeman 0:0791c1fece8e 1826
RodColeman 0:0791c1fece8e 1827 /**
RodColeman 0:0791c1fece8e 1828 * SNMP_MIB_DEBUG: Enable debugging for SNMP MIBs.
RodColeman 0:0791c1fece8e 1829 */
RodColeman 0:0791c1fece8e 1830 #ifndef SNMP_MIB_DEBUG
RodColeman 0:0791c1fece8e 1831 #define SNMP_MIB_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1832 #endif
RodColeman 0:0791c1fece8e 1833
RodColeman 0:0791c1fece8e 1834 /**
RodColeman 0:0791c1fece8e 1835 * DNS_DEBUG: Enable debugging for DNS.
RodColeman 0:0791c1fece8e 1836 */
RodColeman 0:0791c1fece8e 1837 #ifndef DNS_DEBUG
RodColeman 0:0791c1fece8e 1838 #define DNS_DEBUG LWIP_DBG_OFF
RodColeman 0:0791c1fece8e 1839 #endif
RodColeman 0:0791c1fece8e 1840
RodColeman 0:0791c1fece8e 1841 #endif /* __LWIP_OPT_H__ */