Viewing: lwipopts.h
📄 lwipopts.h (Read Only) ⬅ To go back
#ifndef LWIPOPTS_H
#define LWIPOPTS_H

/* ---- Threaded mode (full API with threads) ---- */
#define NO_SYS                  0
#define LWIP_SOCKET             0
#define LWIP_NETCONN            1
#define LWIP_NETIF_API          0
#define LWIP_COMPAT_MUTEX       0
#define LWIP_TCPIP_CORE_LOCKING 0
#define TCPIP_THREAD_STACKSIZE  4096
#define TCPIP_THREAD_PRIO       1
#define TCPIP_MBOX_SIZE         16
#define DEFAULT_THREAD_STACKSIZE 4096
#define DEFAULT_ACCEPTMBOX_SIZE 8
#define DEFAULT_RAW_RECVMBOX_SIZE 8
#define DEFAULT_UDP_RECVMBOX_SIZE 8
#define DEFAULT_TCP_RECVMBOX_SIZE 8

/* ---- Memory settings ---- */
#define MEM_ALIGNMENT           4
#define MEM_SIZE                (64 * 1024)     /* 64 KB heap for lwIP */
#define MEMP_NUM_PBUF           32
#define MEMP_NUM_UDP_PCB        8
#define MEMP_NUM_TCP_PCB        8
#define MEMP_NUM_TCP_PCB_LISTEN 4
#define MEMP_NUM_TCP_SEG        32
#define MEMP_NUM_ARP_QUEUE      8
#define PBUF_POOL_SIZE          32
#define PBUF_POOL_BUFSIZE       1536

/* ---- IPv4 ---- */
#define LWIP_IPV4               1
#define LWIP_IPV6               1
#define LWIP_IPV6_MLD           1
#define LWIP_IPV6_AUTOCONFIG    1
#define LWIP_ICMP6              1
#define LWIP_IPV6_DHCP6         0
#define MEMP_NUM_MLD6_GROUP     4
#define LWIP_IPV6_NUM_ADDRESSES 3
#define LWIP_ND6_NUM_NEIGHBORS  8
#define LWIP_ND6_NUM_DESTINATIONS 8
#define LWIP_ND6_NUM_PREFIXES   4
#define LWIP_ND6_NUM_ROUTERS    2
#define LWIP_ARP                1
#define LWIP_ICMP               1
#define LWIP_UDP                1
#define LWIP_TCP                1
#define LWIP_DHCP               1
#define LWIP_AUTOIP             0
#define LWIP_DNS                1
#define LWIP_NO_CTYPE_H         1
#define LWIP_IGMP               0

/* ---- TCP tuning ---- */
#define TCP_MSS                 1460
#define TCP_WND                 (4 * TCP_MSS)
#define TCP_SND_BUF             (4 * TCP_MSS)
#define TCP_SND_QUEUELEN        (4 * TCP_SND_BUF / TCP_MSS)
#define TCP_QUEUE_OOSEQ         1

/* ---- Checksum ---- */
#define CHECKSUM_GEN_IP         1
#define CHECKSUM_GEN_UDP        1
#define CHECKSUM_GEN_TCP        1
#define CHECKSUM_GEN_ICMP       1
#define CHECKSUM_CHECK_IP       1
#define CHECKSUM_CHECK_UDP      1
#define CHECKSUM_CHECK_TCP      1
#define CHECKSUM_CHECK_ICMP     1

/* ---- ARP ---- */
#define ARP_TABLE_SIZE          10
#define ARP_QUEUEING            1
#define ETHARP_SUPPORT_STATIC_ENTRIES 1

/* ---- Debug (all off) ---- */
#define LWIP_DEBUG              0
#define LWIP_DBG_TYPES_ON       0

/* ---- Misc ---- */
#define LWIP_STATS              0
#define LWIP_PROVIDE_ERRNO      0
#define LWIP_RAND()             ((u32_t)0x12345678)  /* TODO: proper RNG */
#define LWIP_TIMERS             1
#define SYS_LIGHTWEIGHT_PROT    1
#define LWIP_DONT_PROVIDE_BYTEORDER_FUNCTIONS 1

/* ---- Raw API callbacks ---- */
#define LWIP_RAW                1
#define MEMP_NUM_RAW_PCB        4

#endif /* LWIPOPTS_H */