ReactOS 0.4.16-dev-340-g0540c21
lwipopts.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * 3. The name of the author may not be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 * OF SUCH DAMAGE.
26 *
27 * This file is part of the lwIP TCP/IP stack.
28 *
29 * Author: Simon Goldschmidt
30 *
31 */
32#ifndef LWIP_HDR_LWIPOPTS_H
33#define LWIP_HDR_LWIPOPTS_H
34
35#define LWIP_TESTMODE 1
36
37#define LWIP_IPV6 1
38
39#define LWIP_CHECKSUM_ON_COPY 1
40#define TCP_CHECKSUM_ON_COPY_SANITY_CHECK 1
41#define TCP_CHECKSUM_ON_COPY_SANITY_CHECK_FAIL(printfmsg) LWIP_ASSERT("TCP_CHECKSUM_ON_COPY_SANITY_CHECK_FAIL", 0)
42
43/* We link to special sys_arch.c (for basic non-waiting API layers unit tests) */
44#define NO_SYS 0
45#define SYS_LIGHTWEIGHT_PROT 0
46#define LWIP_NETCONN !NO_SYS
47#define LWIP_SOCKET !NO_SYS
48#define LWIP_NETCONN_FULLDUPLEX LWIP_SOCKET
49#define LWIP_NETCONN_SEM_PER_THREAD 1
50#define LWIP_NETBUF_RECVINFO 1
51#define LWIP_HAVE_LOOPIF 1
52#define TCPIP_THREAD_TEST
53
54/* Enable DHCP to test it */
55#define LWIP_DHCP 1
56
57/* Enable DNS, with random source port to avoid alloc in dns_init */
58#define LWIP_DNS 1
59#define LWIP_DNS_SECURE (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_RAND_SRC_PORT)
60
61/* Minimal changes to opt.h required for tcp unit tests: */
62#define MEM_SIZE 16000
63#define TCP_SND_QUEUELEN 40
64#define MEMP_NUM_TCP_SEG TCP_SND_QUEUELEN
65#define TCP_SND_BUF (12 * TCP_MSS)
66#define TCP_WND (10 * TCP_MSS)
67#define LWIP_WND_SCALE 1
68#define TCP_RCV_SCALE 0
69#define PBUF_POOL_SIZE 400 /* pbuf tests need ~200KByte */
70
71/* Enable IGMP and MDNS for MDNS tests */
72#define LWIP_IGMP 1
73#define LWIP_MDNS_RESPONDER 1
74#define LWIP_NUM_NETIF_CLIENT_DATA (LWIP_MDNS_RESPONDER)
75
76/* Enable PPP and PPPOS support for PPPOS test suites */
77#define PPP_SUPPORT 1
78#define PPPOS_SUPPORT 1
79
80/* Minimal changes to opt.h required for etharp unit tests: */
81#define ETHARP_SUPPORT_STATIC_ENTRIES 1
82
83#define MEMP_NUM_SYS_TIMEOUT (LWIP_NUM_SYS_TIMEOUT_INTERNAL + 8)
84
85/* MIB2 stats are required to check IPv4 reassembly results */
86#define MIB2_STATS 1
87
88/* netif tests want to test this, so enable: */
89#define LWIP_NETIF_EXT_STATUS_CALLBACK 1
90
91/* Check lwip_stats.mem.illegal instead of asserting */
92#define LWIP_MEM_ILLEGAL_FREE(msg) /* to nothing */
93
94#endif /* LWIP_HDR_LWIPOPTS_H */