Integrating the ublox LISA C200 modem

Fork of SprintUSBModemHTTPClientTest by Donatien Garnier

Committer:
sam_grove
Date:
Thu Sep 26 00:44:20 2013 -0500
Revision:
5:3f93dd1d4cb3
Exported program and replaced contents of the repo with the source
to build and debug using keil mdk. Libs NOT upto date are lwip, lwip-sys
and socket. these have newer versions under mbed_official but were starting
from a know working point

Who changed what in which revision?

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