Some quick code to use UDP-only (no TCP) with mBed. Echos received packets and sends packets when a button is pressed

Dependencies:   mbed

Committer:
pehrhovey
Date:
Sun Mar 14 00:54:12 2010 +0000
Revision:
0:a548a085de55

        

Who changed what in which revision?

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