Go to the documentation of this file.
   38 #if !defined LWIP_HDR_OPT_H 
   39 #define LWIP_HDR_OPT_H 
   81 #if !defined LWIP_TIMERS 
   82 #ifdef NO_SYS_NO_TIMERS 
   83 #define LWIP_TIMERS                     (!NO_SYS || (NO_SYS && !NO_SYS_NO_TIMERS)) 
   96 #if !defined LWIP_TIMERS_CUSTOM 
   97 #define LWIP_TIMERS_CUSTOM              0 
  105 #define MEMCPY(dst,src,len)             memcpy(dst,src,len) 
  113 #define SMEMCPY(dst,src,len)            memcpy(dst,src,len) 
  128 #if !defined LWIP_MPU_COMPATIBLE 
  129 #define LWIP_MPU_COMPATIBLE             0 
  140 #if !defined LWIP_TCPIP_CORE_LOCKING 
  141 #define LWIP_TCPIP_CORE_LOCKING         1 
  152 #if !defined LWIP_TCPIP_CORE_LOCKING_INPUT || defined __DOXYGEN__ 
  153 #define LWIP_TCPIP_CORE_LOCKING_INPUT   0 
  163 #if !defined SYS_LIGHTWEIGHT_PROT || defined __DOXYGEN__ 
  164 #define SYS_LIGHTWEIGHT_PROT            1 
  185 #if !defined MEM_LIBC_MALLOC || defined __DOXYGEN__ 
  186 #define MEM_LIBC_MALLOC                 0 
  198 #if !defined MEMP_MEM_MALLOC || defined __DOXYGEN__ 
  199 #define MEMP_MEM_MALLOC                 0 
  207 #if !defined MEM_ALIGNMENT || defined __DOXYGEN__ 
  208 #define MEM_ALIGNMENT                   1 
  215 #if !defined MEM_SIZE || defined __DOXYGEN__ 
  216 #define MEM_SIZE                        1600 
  228 #if !defined MEMP_OVERFLOW_CHECK || defined __DOXYGEN__ 
  229 #define MEMP_OVERFLOW_CHECK             0 
  236 #if !defined MEMP_SANITY_CHECK || defined __DOXYGEN__ 
  237 #define MEMP_SANITY_CHECK               0 
  246 #if !defined MEM_USE_POOLS || defined __DOXYGEN__ 
  247 #define MEM_USE_POOLS                   0 
  254 #if !defined MEM_USE_POOLS_TRY_BIGGER_POOL || defined __DOXYGEN__ 
  255 #define MEM_USE_POOLS_TRY_BIGGER_POOL   0 
  264 #if !defined MEMP_USE_CUSTOM_POOLS || defined __DOXYGEN__ 
  265 #define MEMP_USE_CUSTOM_POOLS           0 
  286 #if !defined LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT || defined __DOXYGEN__ 
  287 #define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0 
  308 #if !defined MEMP_NUM_PBUF || defined __DOXYGEN__ 
  309 #define MEMP_NUM_PBUF                   16 
  316 #if !defined MEMP_NUM_RAW_PCB || defined __DOXYGEN__ 
  317 #define MEMP_NUM_RAW_PCB                4 
  325 #if !defined MEMP_NUM_UDP_PCB || defined __DOXYGEN__ 
  326 #define MEMP_NUM_UDP_PCB                4 
  333 #if !defined MEMP_NUM_TCP_PCB || defined __DOXYGEN__ 
  334 #define MEMP_NUM_TCP_PCB                5 
  341 #if !defined MEMP_NUM_TCP_PCB_LISTEN || defined __DOXYGEN__ 
  342 #define MEMP_NUM_TCP_PCB_LISTEN         8 
  349 #if !defined MEMP_NUM_TCP_SEG || defined __DOXYGEN__ 
  350 #define MEMP_NUM_TCP_SEG                16 
  357 #if !defined MEMP_NUM_REASSDATA || defined __DOXYGEN__ 
  358 #define MEMP_NUM_REASSDATA              5 
  368 #if !defined MEMP_NUM_FRAG_PBUF || defined __DOXYGEN__ 
  369 #define MEMP_NUM_FRAG_PBUF              15 
  378 #if !defined MEMP_NUM_ARP_QUEUE || defined __DOXYGEN__ 
  379 #define MEMP_NUM_ARP_QUEUE              30 
  388 #if !defined MEMP_NUM_IGMP_GROUP || defined __DOXYGEN__ 
  389 #define MEMP_NUM_IGMP_GROUP             8 
  397 #if !defined MEMP_NUM_SYS_TIMEOUT || defined __DOXYGEN__ 
  398 #define MEMP_NUM_SYS_TIMEOUT            (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + (PPP_SUPPORT*6*MEMP_NUM_PPP_PCB) + (LWIP_IPV6 ? (1 + LWIP_IPV6_REASS + LWIP_IPV6_MLD) : 0)) 
  405 #if !defined MEMP_NUM_NETBUF || defined __DOXYGEN__ 
  406 #define MEMP_NUM_NETBUF                 2 
  413 #if !defined MEMP_NUM_NETCONN || defined __DOXYGEN__ 
  414 #define MEMP_NUM_NETCONN                4 
  422 #if !defined MEMP_NUM_TCPIP_MSG_API || defined __DOXYGEN__ 
  423 #define MEMP_NUM_TCPIP_MSG_API          8 
  431 #if !defined MEMP_NUM_TCPIP_MSG_INPKT || defined __DOXYGEN__ 
  432 #define MEMP_NUM_TCPIP_MSG_INPKT        8 
  439 #if !defined MEMP_NUM_NETDB || defined __DOXYGEN__ 
  440 #define MEMP_NUM_NETDB                  1 
  447 #if !defined MEMP_NUM_LOCALHOSTLIST || defined __DOXYGEN__ 
  448 #define MEMP_NUM_LOCALHOSTLIST          1 
  454 #if !defined PBUF_POOL_SIZE || defined __DOXYGEN__ 
  455 #define PBUF_POOL_SIZE                  16 
  461 #if !defined MEMP_NUM_API_MSG || defined __DOXYGEN__ 
  462 #define MEMP_NUM_API_MSG                MEMP_NUM_TCPIP_MSG_API 
  467 #if !defined MEMP_NUM_DNS_API_MSG || defined __DOXYGEN__ 
  468 #define MEMP_NUM_DNS_API_MSG            MEMP_NUM_TCPIP_MSG_API 
  474 #if !defined MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA || defined __DOXYGEN__ 
  475 #define MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA MEMP_NUM_TCPIP_MSG_API 
  481 #if !defined MEMP_NUM_NETIFAPI_MSG || defined __DOXYGEN__ 
  482 #define MEMP_NUM_NETIFAPI_MSG           MEMP_NUM_TCPIP_MSG_API 
  501 #if !defined LWIP_ARP || defined __DOXYGEN__ 
  508 #if !defined ARP_TABLE_SIZE || defined __DOXYGEN__ 
  509 #define ARP_TABLE_SIZE                  10 
  516 #if !defined ARP_MAXAGE || defined __DOXYGEN__ 
  517 #define ARP_MAXAGE                      300 
  527 #if !defined ARP_QUEUEING || defined __DOXYGEN__ 
  528 #define ARP_QUEUEING                    0 
  535 #if !defined ARP_QUEUE_LEN || defined __DOXYGEN__ 
  536 #define ARP_QUEUE_LEN                   3 
  549 #if !defined ETHARP_SUPPORT_VLAN || defined __DOXYGEN__ 
  550 #define ETHARP_SUPPORT_VLAN             0 
  555 #if !defined LWIP_ETHERNET || defined __DOXYGEN__ 
  556 #define LWIP_ETHERNET                   LWIP_ARP 
  564 #if !defined ETH_PAD_SIZE || defined __DOXYGEN__ 
  565 #define ETH_PAD_SIZE                    0 
  571 #if !defined ETHARP_SUPPORT_STATIC_ENTRIES || defined __DOXYGEN__ 
  572 #define ETHARP_SUPPORT_STATIC_ENTRIES   0 
  579 #if !defined ETHARP_TABLE_MATCH_NETIF || defined __DOXYGEN__ 
  580 #define ETHARP_TABLE_MATCH_NETIF        0 
  599 #if !defined LWIP_IPV4 || defined __DOXYGEN__ 
  608 #if !defined IP_FORWARD || defined __DOXYGEN__ 
  617 #if !defined IP_REASSEMBLY || defined __DOXYGEN__ 
  618 #define IP_REASSEMBLY                   1 
  626 #if !defined IP_FRAG || defined __DOXYGEN__ 
  635 #define IP_REASSEMBLY                   0 
  645 #if !defined IP_OPTIONS_ALLOWED || defined __DOXYGEN__ 
  646 #define IP_OPTIONS_ALLOWED              1 
  654 #if !defined IP_REASS_MAXAGE || defined __DOXYGEN__ 
  655 #define IP_REASS_MAXAGE                 3 
  664 #if !defined IP_REASS_MAX_PBUFS || defined __DOXYGEN__ 
  665 #define IP_REASS_MAX_PBUFS              10 
  671 #if !defined IP_DEFAULT_TTL || defined __DOXYGEN__ 
  672 #define IP_DEFAULT_TTL                  255 
  680 #if !defined IP_SOF_BROADCAST || defined __DOXYGEN__ 
  681 #define IP_SOF_BROADCAST                0 
  688 #if !defined IP_SOF_BROADCAST_RECV || defined __DOXYGEN__ 
  689 #define IP_SOF_BROADCAST_RECV           0 
  699 #if !defined IP_FORWARD_ALLOW_TX_ON_RX_NETIF || defined __DOXYGEN__ 
  700 #define IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0 
  708 #if !defined LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS || defined __DOXYGEN__ 
  709 #define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 0 
  729 #if !defined LWIP_ICMP || defined __DOXYGEN__ 
  736 #if !defined ICMP_TTL || defined __DOXYGEN__ 
  737 #define ICMP_TTL                       (IP_DEFAULT_TTL) 
  743 #if !defined LWIP_BROADCAST_PING || defined __DOXYGEN__ 
  744 #define LWIP_BROADCAST_PING             0 
  750 #if !defined LWIP_MULTICAST_PING || defined __DOXYGEN__ 
  751 #define LWIP_MULTICAST_PING             0 
  770 #if !defined LWIP_RAW || defined __DOXYGEN__ 
  777 #if !defined RAW_TTL || defined __DOXYGEN__ 
  778 #define RAW_TTL                        (IP_DEFAULT_TTL) 
  797 #if !defined LWIP_DHCP || defined __DOXYGEN__ 
  809 #if !defined DHCP_DOES_ARP_CHECK || defined __DOXYGEN__ 
  810 #define DHCP_DOES_ARP_CHECK             ((LWIP_DHCP) && (LWIP_ARP)) 
  819 #if !defined LWIP_DHCP_CHECK_LINK_UP 
  820 #define LWIP_DHCP_CHECK_LINK_UP         0 
  826 #if !defined LWIP_DHCP_BOOTP_FILE || defined __DOXYGEN__ 
  827 #define LWIP_DHCP_BOOTP_FILE            0 
  835 #if !defined LWIP_DHCP_GET_NTP_SRV || defined __DOXYGEN__ 
  836 #define LWIP_DHCP_GET_NTP_SRV           0 
  842 #if !defined LWIP_DHCP_MAX_NTP_SERVERS || defined __DOXYGEN__ 
  843 #define LWIP_DHCP_MAX_NTP_SERVERS       1 
  851 #if !defined LWIP_DHCP_MAX_DNS_SERVERS || defined __DOXYGEN__ 
  852 #define LWIP_DHCP_MAX_DNS_SERVERS       DNS_MAX_SERVERS 
  871 #if !defined LWIP_AUTOIP || defined __DOXYGEN__ 
  872 #define LWIP_AUTOIP                     0 
  877 #define LWIP_AUTOIP                     0 
  884 #if !defined LWIP_DHCP_AUTOIP_COOP || defined __DOXYGEN__ 
  885 #define LWIP_DHCP_AUTOIP_COOP           0 
  895 #if !defined LWIP_DHCP_AUTOIP_COOP_TRIES || defined __DOXYGEN__ 
  896 #define LWIP_DHCP_AUTOIP_COOP_TRIES     9 
  917 #if !defined LWIP_MIB2_CALLBACKS || defined __DOXYGEN__ 
  918 #define LWIP_MIB2_CALLBACKS             0 
  937 #if !defined LWIP_IGMP || defined __DOXYGEN__ 
  949 #if !defined LWIP_MULTICAST_TX_OPTIONS || defined __DOXYGEN__ 
  950 #define LWIP_MULTICAST_TX_OPTIONS       (LWIP_IGMP && LWIP_UDP) 
  970 #if !defined LWIP_DNS || defined __DOXYGEN__ 
  975 #if !defined DNS_TABLE_SIZE || defined __DOXYGEN__ 
  976 #define DNS_TABLE_SIZE                  4 
  980 #if !defined DNS_MAX_NAME_LENGTH || defined __DOXYGEN__ 
  981 #define DNS_MAX_NAME_LENGTH             256 
  988 #if !defined DNS_MAX_SERVERS || defined __DOXYGEN__ 
  989 #define DNS_MAX_SERVERS                 2 
  993 #if !defined DNS_DOES_NAME_CHECK || defined __DOXYGEN__ 
  994 #define DNS_DOES_NAME_CHECK             1 
 1001 #if !defined LWIP_DNS_SECURE || defined __DOXYGEN__ 
 1002 #define LWIP_DNS_SECURE (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING | LWIP_DNS_SECURE_RAND_SRC_PORT) 
 1006 #define LWIP_DNS_SECURE_RAND_XID                1 
 1007 #define LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING 2 
 1008 #define LWIP_DNS_SECURE_RAND_SRC_PORT           4 
 1018 #if !defined DNS_LOCAL_HOSTLIST || defined __DOXYGEN__ 
 1019 #define DNS_LOCAL_HOSTLIST              0 
 1024 #if !defined DNS_LOCAL_HOSTLIST_IS_DYNAMIC || defined __DOXYGEN__ 
 1025 #define DNS_LOCAL_HOSTLIST_IS_DYNAMIC   0 
 1030 #if !defined LWIP_DNS_SUPPORT_MDNS_QUERIES || defined __DOXYGEN__ 
 1031 #define LWIP_DNS_SUPPORT_MDNS_QUERIES  0 
 1050 #if !defined LWIP_UDP || defined __DOXYGEN__ 
 1057 #if !defined LWIP_UDPLITE || defined __DOXYGEN__ 
 1058 #define LWIP_UDPLITE                    0 
 1064 #if !defined UDP_TTL || defined __DOXYGEN__ 
 1065 #define UDP_TTL                         (IP_DEFAULT_TTL) 
 1071 #if !defined LWIP_NETBUF_RECVINFO || defined __DOXYGEN__ 
 1072 #define LWIP_NETBUF_RECVINFO            0 
 1091 #if !defined LWIP_TCP || defined __DOXYGEN__ 
 1098 #if !defined TCP_TTL || defined __DOXYGEN__ 
 1099 #define TCP_TTL                         (IP_DEFAULT_TTL) 
 1109 #if !defined TCP_WND || defined __DOXYGEN__ 
 1110 #define TCP_WND                         (4 * TCP_MSS) 
 1116 #if !defined TCP_MAXRTX || defined __DOXYGEN__ 
 1117 #define TCP_MAXRTX                      12 
 1123 #if !defined TCP_SYNMAXRTX || defined __DOXYGEN__ 
 1124 #define TCP_SYNMAXRTX                   6 
 1131 #if !defined TCP_QUEUE_OOSEQ || defined __DOXYGEN__ 
 1132 #define TCP_QUEUE_OOSEQ                 (LWIP_TCP) 
 1142 #if !defined TCP_MSS || defined __DOXYGEN__ 
 1154 #if !defined TCP_CALCULATE_EFF_SEND_MSS || defined __DOXYGEN__ 
 1155 #define TCP_CALCULATE_EFF_SEND_MSS      1 
 1162 #if !defined TCP_SND_BUF || defined __DOXYGEN__ 
 1163 #define TCP_SND_BUF                     (2 * TCP_MSS) 
 1170 #if !defined TCP_SND_QUEUELEN || defined __DOXYGEN__ 
 1171 #define TCP_SND_QUEUELEN                ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS)) 
 1179 #if !defined TCP_SNDLOWAT || defined __DOXYGEN__ 
 1180 #define TCP_SNDLOWAT                    LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1) 
 1188 #if !defined TCP_SNDQUEUELOWAT || defined __DOXYGEN__ 
 1189 #define TCP_SNDQUEUELOWAT               LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5) 
 1196 #if !defined TCP_OOSEQ_MAX_BYTES || defined __DOXYGEN__ 
 1197 #define TCP_OOSEQ_MAX_BYTES             0 
 1204 #if !defined TCP_OOSEQ_MAX_PBUFS || defined __DOXYGEN__ 
 1205 #define TCP_OOSEQ_MAX_PBUFS             0 
 1211 #if !defined TCP_LISTEN_BACKLOG || defined __DOXYGEN__ 
 1212 #define TCP_LISTEN_BACKLOG              0 
 1220 #if !defined TCP_DEFAULT_LISTEN_BACKLOG || defined __DOXYGEN__ 
 1221 #define TCP_DEFAULT_LISTEN_BACKLOG      0xff 
 1238 #if !defined TCP_OVERSIZE || defined __DOXYGEN__ 
 1239 #define TCP_OVERSIZE                    TCP_MSS 
 1248 #if !defined LWIP_TCP_TIMESTAMPS || defined __DOXYGEN__ 
 1249 #define LWIP_TCP_TIMESTAMPS             0 
 1256 #if !defined TCP_WND_UPDATE_THRESHOLD || defined __DOXYGEN__ 
 1257 #define TCP_WND_UPDATE_THRESHOLD   LWIP_MIN((TCP_WND / 4), (TCP_MSS * 4)) 
 1267 #if !defined(LWIP_EVENT_API) && !defined(LWIP_CALLBACK_API) || defined __DOXYGEN__ 
 1268 #define LWIP_EVENT_API                  0 
 1269 #define LWIP_CALLBACK_API               1 
 1271 #ifndef LWIP_EVENT_API 
 1272 #define LWIP_EVENT_API                  0 
 1274 #ifndef LWIP_CALLBACK_API 
 1275 #define LWIP_CALLBACK_API               0 
 1287 #if !defined LWIP_WND_SCALE || defined __DOXYGEN__ 
 1288 #define LWIP_WND_SCALE                  0 
 1289 #define TCP_RCV_SCALE                   0 
 1310 #if !defined PBUF_LINK_HLEN || defined __DOXYGEN__ 
 1311 #if defined LWIP_HOOK_VLAN_SET && !defined __DOXYGEN__ 
 1312 #define PBUF_LINK_HLEN                  (18 + ETH_PAD_SIZE) 
 1314 #define PBUF_LINK_HLEN                  (14 + ETH_PAD_SIZE) 
 1322 #if !defined PBUF_LINK_ENCAPSULATION_HLEN || defined __DOXYGEN__ 
 1323 #define PBUF_LINK_ENCAPSULATION_HLEN    0u 
 1331 #if !defined PBUF_POOL_BUFSIZE || defined __DOXYGEN__ 
 1332 #define PBUF_POOL_BUFSIZE               LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_ENCAPSULATION_HLEN+PBUF_LINK_HLEN) 
 1352 #if !defined LWIP_NETIF_HOSTNAME || defined __DOXYGEN__ 
 1353 #define LWIP_NETIF_HOSTNAME             0 
 1359 #if !defined LWIP_NETIF_API || defined __DOXYGEN__ 
 1360 #define LWIP_NETIF_API                  0 
 1367 #if !defined LWIP_NETIF_STATUS_CALLBACK || defined __DOXYGEN__ 
 1368 #define LWIP_NETIF_STATUS_CALLBACK      0 
 1375 #if !defined LWIP_NETIF_LINK_CALLBACK || defined __DOXYGEN__ 
 1376 #define LWIP_NETIF_LINK_CALLBACK        0 
 1383 #if !defined LWIP_NETIF_REMOVE_CALLBACK || defined __DOXYGEN__ 
 1384 #define LWIP_NETIF_REMOVE_CALLBACK      0 
 1394 #if !defined LWIP_NETIF_HWADDRHINT || defined __DOXYGEN__ 
 1395 #define LWIP_NETIF_HWADDRHINT           0 
 1407 #if !defined LWIP_NETIF_TX_SINGLE_PBUF || defined __DOXYGEN__ 
 1408 #define LWIP_NETIF_TX_SINGLE_PBUF             0 
 1415 #if !defined LWIP_NUM_NETIF_CLIENT_DATA || defined __DOXYGEN__ 
 1416 #define LWIP_NUM_NETIF_CLIENT_DATA            0 
 1437 #if !defined LWIP_HAVE_LOOPIF || defined __DOXYGEN__ 
 1438 #define LWIP_HAVE_LOOPIF                LWIP_NETIF_LOOPBACK 
 1444 #if !defined LWIP_LOOPIF_MULTICAST || defined __DOXYGEN__ 
 1445 #define LWIP_LOOPIF_MULTICAST               0 
 1452 #if !defined LWIP_NETIF_LOOPBACK || defined __DOXYGEN__ 
 1453 #define LWIP_NETIF_LOOPBACK             0 
 1460 #if !defined LWIP_LOOPBACK_MAX_PBUFS || defined __DOXYGEN__ 
 1461 #define LWIP_LOOPBACK_MAX_PBUFS         0 
 1477 #if !defined LWIP_NETIF_LOOPBACK_MULTITHREADING || defined __DOXYGEN__ 
 1478 #define LWIP_NETIF_LOOPBACK_MULTITHREADING    (!NO_SYS) 
 1497 #if !defined TCPIP_THREAD_NAME || defined __DOXYGEN__ 
 1498 #define TCPIP_THREAD_NAME              "tcpip_thread" 
 1506 #if !defined TCPIP_THREAD_STACKSIZE || defined __DOXYGEN__ 
 1507 #define TCPIP_THREAD_STACKSIZE          0 
 1515 #if !defined TCPIP_THREAD_PRIO || defined __DOXYGEN__ 
 1516 #define TCPIP_THREAD_PRIO               1 
 1524 #if !defined TCPIP_MBOX_SIZE || defined __DOXYGEN__ 
 1525 #define TCPIP_MBOX_SIZE                 0 
 1532 #if !defined LWIP_TCPIP_THREAD_ALIVE || defined __DOXYGEN__ 
 1533 #define LWIP_TCPIP_THREAD_ALIVE() 
 1539 #if !defined SLIPIF_THREAD_NAME || defined __DOXYGEN__ 
 1540 #define SLIPIF_THREAD_NAME             "slipif_loop" 
 1548 #if !defined SLIPIF_THREAD_STACKSIZE || defined __DOXYGEN__ 
 1549 #define SLIPIF_THREAD_STACKSIZE         0 
 1557 #if !defined SLIPIF_THREAD_PRIO || defined __DOXYGEN__ 
 1558 #define SLIPIF_THREAD_PRIO              1 
 1564 #if !defined DEFAULT_THREAD_NAME || defined __DOXYGEN__ 
 1565 #define DEFAULT_THREAD_NAME            "lwIP" 
 1573 #if !defined DEFAULT_THREAD_STACKSIZE || defined __DOXYGEN__ 
 1574 #define DEFAULT_THREAD_STACKSIZE        0 
 1582 #if !defined DEFAULT_THREAD_PRIO || defined __DOXYGEN__ 
 1583 #define DEFAULT_THREAD_PRIO             1 
 1591 #if !defined DEFAULT_RAW_RECVMBOX_SIZE || defined __DOXYGEN__ 
 1592 #define DEFAULT_RAW_RECVMBOX_SIZE       0 
 1600 #if !defined DEFAULT_UDP_RECVMBOX_SIZE || defined __DOXYGEN__ 
 1601 #define DEFAULT_UDP_RECVMBOX_SIZE       0 
 1609 #if !defined DEFAULT_TCP_RECVMBOX_SIZE || defined __DOXYGEN__ 
 1610 #define DEFAULT_TCP_RECVMBOX_SIZE       0 
 1618 #if !defined DEFAULT_ACCEPTMBOX_SIZE || defined __DOXYGEN__ 
 1619 #define DEFAULT_ACCEPTMBOX_SIZE         0 
 1638 #if !defined LWIP_NETCONN || defined __DOXYGEN__ 
 1639 #define LWIP_NETCONN                    1 
 1645 #if !defined LWIP_TCPIP_TIMEOUT || defined __DOXYGEN__ 
 1646 #define LWIP_TCPIP_TIMEOUT              0 
 1659 #if !defined LWIP_NETCONN_SEM_PER_THREAD || defined __DOXYGEN__ 
 1660 #define LWIP_NETCONN_SEM_PER_THREAD     0 
 1671 #if !defined LWIP_NETCONN_FULLDUPLEX || defined __DOXYGEN__ 
 1672 #define LWIP_NETCONN_FULLDUPLEX         0 
 1691 #if !defined LWIP_SOCKET || defined __DOXYGEN__ 
 1692 #define LWIP_SOCKET                     1 
 1698 #if !defined LWIP_SOCKET_SET_ERRNO || defined __DOXYGEN__ 
 1699 #define LWIP_SOCKET_SET_ERRNO           1 
 1708 #if !defined LWIP_COMPAT_SOCKETS || defined __DOXYGEN__ 
 1709 #define LWIP_COMPAT_SOCKETS             1 
 1717 #if !defined LWIP_POSIX_SOCKETS_IO_NAMES || defined __DOXYGEN__ 
 1718 #define LWIP_POSIX_SOCKETS_IO_NAMES     1 
 1728 #if !defined LWIP_SOCKET_OFFSET || defined __DOXYGEN__ 
 1729 #define LWIP_SOCKET_OFFSET              0 
 1737 #if !defined LWIP_TCP_KEEPALIVE || defined __DOXYGEN__ 
 1738 #define LWIP_TCP_KEEPALIVE              0 
 1745 #if !defined LWIP_SO_SNDTIMEO || defined __DOXYGEN__ 
 1746 #define LWIP_SO_SNDTIMEO                0 
 1753 #if !defined LWIP_SO_RCVTIMEO || defined __DOXYGEN__ 
 1754 #define LWIP_SO_RCVTIMEO                0 
 1761 #if !defined LWIP_SO_SNDRCVTIMEO_NONSTANDARD || defined __DOXYGEN__ 
 1762 #define LWIP_SO_SNDRCVTIMEO_NONSTANDARD 0 
 1768 #if !defined LWIP_SO_RCVBUF || defined __DOXYGEN__ 
 1769 #define LWIP_SO_RCVBUF                  0 
 1775 #if !defined LWIP_SO_LINGER || defined __DOXYGEN__ 
 1776 #define LWIP_SO_LINGER                  0 
 1782 #if !defined RECV_BUFSIZE_DEFAULT || defined __DOXYGEN__ 
 1783 #define RECV_BUFSIZE_DEFAULT            INT_MAX 
 1789 #if !defined LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT || defined __DOXYGEN__ 
 1790 #define LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT 20000 
 1796 #if !defined SO_REUSE || defined __DOXYGEN__ 
 1805 #if !defined SO_REUSE_RXTOALL || defined __DOXYGEN__ 
 1806 #define SO_REUSE_RXTOALL                0 
 1817 #if !defined LWIP_FIONREAD_LINUXMODE || defined __DOXYGEN__ 
 1818 #define LWIP_FIONREAD_LINUXMODE         0 
 1837 #if !defined LWIP_STATS || defined __DOXYGEN__ 
 1838 #define LWIP_STATS                      1 
 1846 #if !defined LWIP_STATS_DISPLAY || defined __DOXYGEN__ 
 1847 #define LWIP_STATS_DISPLAY              0 
 1853 #if !defined LINK_STATS || defined __DOXYGEN__ 
 1854 #define LINK_STATS                      1 
 1860 #if !defined ETHARP_STATS || defined __DOXYGEN__ 
 1861 #define ETHARP_STATS                    (LWIP_ARP) 
 1867 #if !defined IP_STATS || defined __DOXYGEN__ 
 1875 #if !defined IPFRAG_STATS || defined __DOXYGEN__ 
 1876 #define IPFRAG_STATS                    (IP_REASSEMBLY || IP_FRAG) 
 1882 #if !defined ICMP_STATS || defined __DOXYGEN__ 
 1883 #define ICMP_STATS                      1 
 1889 #if !defined IGMP_STATS || defined __DOXYGEN__ 
 1890 #define IGMP_STATS                      (LWIP_IGMP) 
 1897 #if !defined UDP_STATS || defined __DOXYGEN__ 
 1898 #define UDP_STATS                       (LWIP_UDP) 
 1905 #if !defined TCP_STATS || defined __DOXYGEN__ 
 1906 #define TCP_STATS                       (LWIP_TCP) 
 1912 #if !defined MEM_STATS || defined __DOXYGEN__ 
 1913 #define MEM_STATS                       ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0)) 
 1919 #if !defined MEMP_STATS || defined __DOXYGEN__ 
 1920 #define MEMP_STATS                      (MEMP_MEM_MALLOC == 0) 
 1926 #if !defined SYS_STATS || defined __DOXYGEN__ 
 1927 #define SYS_STATS                       (NO_SYS == 0) 
 1933 #if !defined IP6_STATS || defined __DOXYGEN__ 
 1934 #define IP6_STATS                       (LWIP_IPV6) 
 1940 #if !defined ICMP6_STATS || defined __DOXYGEN__ 
 1941 #define ICMP6_STATS                     (LWIP_IPV6 && LWIP_ICMP6) 
 1947 #if !defined IP6_FRAG_STATS || defined __DOXYGEN__ 
 1948 #define IP6_FRAG_STATS                  (LWIP_IPV6 && (LWIP_IPV6_FRAG || LWIP_IPV6_REASS)) 
 1954 #if !defined MLD6_STATS || defined __DOXYGEN__ 
 1955 #define MLD6_STATS                      (LWIP_IPV6 && LWIP_IPV6_MLD) 
 1961 #if !defined ND6_STATS || defined __DOXYGEN__ 
 1962 #define ND6_STATS                       (LWIP_IPV6) 
 1968 #if !defined MIB2_STATS || defined __DOXYGEN__ 
 1969 #define MIB2_STATS                      0 
 1974 #define LINK_STATS                      0 
 1975 #define ETHARP_STATS                    0 
 1977 #define IPFRAG_STATS                    0 
 1978 #define ICMP_STATS                      0 
 1979 #define IGMP_STATS                      0 
 1983 #define MEMP_STATS                      0 
 1985 #define LWIP_STATS_DISPLAY              0 
 1987 #define ICMP6_STATS                     0 
 1988 #define IP6_FRAG_STATS                  0 
 1989 #define MLD6_STATS                      0 
 1991 #define MIB2_STATS                      0 
 2013 #if !defined LWIP_CHECKSUM_CTRL_PER_NETIF || defined __DOXYGEN__ 
 2014 #define LWIP_CHECKSUM_CTRL_PER_NETIF    0 
 2020 #if !defined CHECKSUM_GEN_IP || defined __DOXYGEN__ 
 2021 #define CHECKSUM_GEN_IP                 1 
 2027 #if !defined CHECKSUM_GEN_UDP || defined __DOXYGEN__ 
 2028 #define CHECKSUM_GEN_UDP                1 
 2034 #if !defined CHECKSUM_GEN_TCP || defined __DOXYGEN__ 
 2035 #define CHECKSUM_GEN_TCP                1 
 2041 #if !defined CHECKSUM_GEN_ICMP || defined __DOXYGEN__ 
 2042 #define CHECKSUM_GEN_ICMP               1 
 2048 #if !defined CHECKSUM_GEN_ICMP6 || defined __DOXYGEN__ 
 2049 #define CHECKSUM_GEN_ICMP6              1 
 2055 #if !defined CHECKSUM_CHECK_IP || defined __DOXYGEN__ 
 2056 #define CHECKSUM_CHECK_IP               1 
 2062 #if !defined CHECKSUM_CHECK_UDP || defined __DOXYGEN__ 
 2063 #define CHECKSUM_CHECK_UDP              1 
 2069 #if !defined CHECKSUM_CHECK_TCP || defined __DOXYGEN__ 
 2070 #define CHECKSUM_CHECK_TCP              1 
 2076 #if !defined CHECKSUM_CHECK_ICMP || defined __DOXYGEN__ 
 2077 #define CHECKSUM_CHECK_ICMP             1 
 2083 #if !defined CHECKSUM_CHECK_ICMP6 || defined __DOXYGEN__ 
 2084 #define CHECKSUM_CHECK_ICMP6            1 
 2091 #if !defined LWIP_CHECKSUM_ON_COPY || defined __DOXYGEN__ 
 2092 #define LWIP_CHECKSUM_ON_COPY           0 
 2111 #if !defined LWIP_IPV6 || defined __DOXYGEN__ 
 2118 #if !defined LWIP_IPV6_NUM_ADDRESSES || defined __DOXYGEN__ 
 2119 #define LWIP_IPV6_NUM_ADDRESSES         3 
 2125 #if !defined LWIP_IPV6_FORWARD || defined __DOXYGEN__ 
 2126 #define LWIP_IPV6_FORWARD               0 
 2132 #if !defined LWIP_IPV6_FRAG || defined __DOXYGEN__ 
 2133 #define LWIP_IPV6_FRAG                  0 
 2139 #if !defined LWIP_IPV6_REASS || defined __DOXYGEN__ 
 2140 #define LWIP_IPV6_REASS                 (LWIP_IPV6) 
 2147 #if !defined LWIP_IPV6_SEND_ROUTER_SOLICIT || defined __DOXYGEN__ 
 2148 #define LWIP_IPV6_SEND_ROUTER_SOLICIT   1 
 2154 #if !defined LWIP_IPV6_AUTOCONFIG || defined __DOXYGEN__ 
 2155 #define LWIP_IPV6_AUTOCONFIG            (LWIP_IPV6) 
 2161 #if !defined LWIP_IPV6_DUP_DETECT_ATTEMPTS || defined __DOXYGEN__ 
 2162 #define LWIP_IPV6_DUP_DETECT_ATTEMPTS   1 
 2176 #if !defined LWIP_ICMP6 || defined __DOXYGEN__ 
 2177 #define LWIP_ICMP6                      (LWIP_IPV6) 
 2184 #if !defined LWIP_ICMP6_DATASIZE || defined __DOXYGEN__ 
 2185 #define LWIP_ICMP6_DATASIZE             8 
 2191 #if !defined LWIP_ICMP6_HL || defined __DOXYGEN__ 
 2192 #define LWIP_ICMP6_HL                   255 
 2208 #if !defined LWIP_IPV6_MLD || defined __DOXYGEN__ 
 2209 #define LWIP_IPV6_MLD                   (LWIP_IPV6) 
 2218 #if !defined MEMP_NUM_MLD6_GROUP || defined __DOXYGEN__ 
 2219 #define MEMP_NUM_MLD6_GROUP             4 
 2234 #if !defined LWIP_ND6_QUEUEING || defined __DOXYGEN__ 
 2235 #define LWIP_ND6_QUEUEING               (LWIP_IPV6) 
 2241 #if !defined MEMP_NUM_ND6_QUEUE || defined __DOXYGEN__ 
 2242 #define MEMP_NUM_ND6_QUEUE              20 
 2248 #if !defined LWIP_ND6_NUM_NEIGHBORS || defined __DOXYGEN__ 
 2249 #define LWIP_ND6_NUM_NEIGHBORS          10 
 2255 #if !defined LWIP_ND6_NUM_DESTINATIONS || defined __DOXYGEN__ 
 2256 #define LWIP_ND6_NUM_DESTINATIONS       10 
 2262 #if !defined LWIP_ND6_NUM_PREFIXES || defined __DOXYGEN__ 
 2263 #define LWIP_ND6_NUM_PREFIXES           5 
 2269 #if !defined LWIP_ND6_NUM_ROUTERS || defined __DOXYGEN__ 
 2270 #define LWIP_ND6_NUM_ROUTERS            3 
 2277 #if !defined LWIP_ND6_MAX_MULTICAST_SOLICIT || defined __DOXYGEN__ 
 2278 #define LWIP_ND6_MAX_MULTICAST_SOLICIT  3 
 2285 #if !defined LWIP_ND6_MAX_UNICAST_SOLICIT || defined __DOXYGEN__ 
 2286 #define LWIP_ND6_MAX_UNICAST_SOLICIT    3 
 2292 #if !defined LWIP_ND6_MAX_ANYCAST_DELAY_TIME || defined __DOXYGEN__ 
 2293 #define LWIP_ND6_MAX_ANYCAST_DELAY_TIME 1000 
 2299 #if !defined LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT || defined __DOXYGEN__ 
 2300 #define LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT  3 
 2307 #if !defined LWIP_ND6_REACHABLE_TIME || defined __DOXYGEN__ 
 2308 #define LWIP_ND6_REACHABLE_TIME         30000 
 2314 #if !defined LWIP_ND6_RETRANS_TIMER || defined __DOXYGEN__ 
 2315 #define LWIP_ND6_RETRANS_TIMER          1000 
 2322 #if !defined LWIP_ND6_DELAY_FIRST_PROBE_TIME || defined __DOXYGEN__ 
 2323 #define LWIP_ND6_DELAY_FIRST_PROBE_TIME 5000 
 2330 #if !defined LWIP_ND6_ALLOW_RA_UPDATES || defined __DOXYGEN__ 
 2331 #define LWIP_ND6_ALLOW_RA_UPDATES       1 
 2339 #if !defined LWIP_ND6_TCP_REACHABILITY_HINTS || defined __DOXYGEN__ 
 2340 #define LWIP_ND6_TCP_REACHABILITY_HINTS 1 
 2348 #if !defined LWIP_ND6_RDNSS_MAX_DNS_SERVERS || defined __DOXYGEN__ 
 2349 #define LWIP_ND6_RDNSS_MAX_DNS_SERVERS  0 
 2358 #if !defined LWIP_IPV6_DHCP6 || defined __DOXYGEN__ 
 2359 #define LWIP_IPV6_DHCP6                 0 
 2381 #define LWIP_HOOK_FILENAME "path/to/my/lwip_hooks.h" 
 2404 #define LWIP_HOOK_TCP_ISN(local_ip, local_port, remote_ip, remote_port) 
 2419 #define LWIP_HOOK_IP4_INPUT(pbuf, input_netif) 
 2430 #define LWIP_HOOK_IP4_ROUTE() 
 2438 #define LWIP_HOOK_IP4_ROUTE_SRC(dest, src) 
 2454 #define LWIP_HOOK_ETHARP_GET_GW(netif, dest) 
 2469 #define LWIP_HOOK_IP6_INPUT(pbuf, input_netif) 
 2481 #define LWIP_HOOK_IP6_ROUTE(src, dest) 
 2497 #define LWIP_HOOK_ND6_GET_GW(netif, dest) 
 2511 #define LWIP_HOOK_VLAN_CHECK(netif, eth_hdr, vlan_hdr) 
 2533 #define LWIP_HOOK_VLAN_SET(netif, p, src, dst, eth_type) 
 2541 #define LWIP_HOOK_MEMP_AVAILABLE(memp_t_type) 
 2551 #define LWIP_HOOK_UNKNOWN_ETH_PROTOCOL(pbuf, netif) 
 2573 #if !defined LWIP_DBG_MIN_LEVEL || defined __DOXYGEN__ 
 2574 #define LWIP_DBG_MIN_LEVEL              LWIP_DBG_LEVEL_ALL 
 2582 #if !defined LWIP_DBG_TYPES_ON || defined __DOXYGEN__ 
 2583 #define LWIP_DBG_TYPES_ON               LWIP_DBG_ON 
 2589 #if !defined ETHARP_DEBUG || defined __DOXYGEN__ 
 2590 #define ETHARP_DEBUG                    LWIP_DBG_OFF 
 2596 #if !defined NETIF_DEBUG || defined __DOXYGEN__ 
 2597 #define NETIF_DEBUG                     LWIP_DBG_OFF 
 2603 #if !defined PBUF_DEBUG || defined __DOXYGEN__ 
 2604 #define PBUF_DEBUG                      LWIP_DBG_OFF 
 2610 #if !defined API_LIB_DEBUG || defined __DOXYGEN__ 
 2611 #define API_LIB_DEBUG                   LWIP_DBG_OFF 
 2617 #if !defined API_MSG_DEBUG || defined __DOXYGEN__ 
 2618 #define API_MSG_DEBUG                   LWIP_DBG_OFF 
 2624 #if !defined SOCKETS_DEBUG || defined __DOXYGEN__ 
 2625 #define SOCKETS_DEBUG                   LWIP_DBG_OFF 
 2631 #if !defined ICMP_DEBUG || defined __DOXYGEN__ 
 2632 #define ICMP_DEBUG                      LWIP_DBG_OFF 
 2638 #if !defined IGMP_DEBUG || defined __DOXYGEN__ 
 2639 #define IGMP_DEBUG                      LWIP_DBG_OFF 
 2645 #if !defined INET_DEBUG || defined __DOXYGEN__ 
 2646 #define INET_DEBUG                      LWIP_DBG_OFF 
 2652 #if !defined IP_DEBUG || defined __DOXYGEN__ 
 2653 #define IP_DEBUG                        LWIP_DBG_OFF 
 2659 #if !defined IP_REASS_DEBUG || defined __DOXYGEN__ 
 2660 #define IP_REASS_DEBUG                  LWIP_DBG_OFF 
 2666 #if !defined RAW_DEBUG || defined __DOXYGEN__ 
 2667 #define RAW_DEBUG                       LWIP_DBG_OFF 
 2673 #if !defined MEM_DEBUG || defined __DOXYGEN__ 
 2674 #define MEM_DEBUG                       LWIP_DBG_OFF 
 2680 #if !defined MEMP_DEBUG || defined __DOXYGEN__ 
 2681 #define MEMP_DEBUG                      LWIP_DBG_OFF 
 2687 #if !defined SYS_DEBUG || defined __DOXYGEN__ 
 2688 #define SYS_DEBUG                       LWIP_DBG_OFF 
 2694 #if !defined TIMERS_DEBUG || defined __DOXYGEN__ 
 2695 #define TIMERS_DEBUG                    LWIP_DBG_OFF 
 2701 #if !defined TCP_DEBUG || defined __DOXYGEN__ 
 2702 #define TCP_DEBUG                       LWIP_DBG_OFF 
 2708 #if !defined TCP_INPUT_DEBUG || defined __DOXYGEN__ 
 2709 #define TCP_INPUT_DEBUG                 LWIP_DBG_OFF 
 2715 #if !defined TCP_FR_DEBUG || defined __DOXYGEN__ 
 2716 #define TCP_FR_DEBUG                    LWIP_DBG_OFF 
 2723 #if !defined TCP_RTO_DEBUG || defined __DOXYGEN__ 
 2724 #define TCP_RTO_DEBUG                   LWIP_DBG_OFF 
 2730 #if !defined TCP_CWND_DEBUG || defined __DOXYGEN__ 
 2731 #define TCP_CWND_DEBUG                  LWIP_DBG_OFF 
 2737 #if !defined TCP_WND_DEBUG || defined __DOXYGEN__ 
 2738 #define TCP_WND_DEBUG                   LWIP_DBG_OFF 
 2744 #if !defined TCP_OUTPUT_DEBUG || defined __DOXYGEN__ 
 2745 #define TCP_OUTPUT_DEBUG                LWIP_DBG_OFF 
 2751 #if !defined TCP_RST_DEBUG || defined __DOXYGEN__ 
 2752 #define TCP_RST_DEBUG                   LWIP_DBG_OFF 
 2758 #if !defined TCP_QLEN_DEBUG || defined __DOXYGEN__ 
 2759 #define TCP_QLEN_DEBUG                  LWIP_DBG_OFF 
 2765 #if !defined UDP_DEBUG || defined __DOXYGEN__ 
 2766 #define UDP_DEBUG                       LWIP_DBG_OFF 
 2772 #if !defined TCPIP_DEBUG || defined __DOXYGEN__ 
 2773 #define TCPIP_DEBUG                     LWIP_DBG_OFF 
 2779 #if !defined SLIP_DEBUG || defined __DOXYGEN__ 
 2780 #define SLIP_DEBUG                      LWIP_DBG_OFF 
 2786 #if !defined DHCP_DEBUG || defined __DOXYGEN__ 
 2787 #define DHCP_DEBUG                      LWIP_DBG_OFF 
 2793 #if !defined AUTOIP_DEBUG || defined __DOXYGEN__ 
 2794 #define AUTOIP_DEBUG                    LWIP_DBG_OFF 
 2800 #if !defined DNS_DEBUG || defined __DOXYGEN__ 
 2801 #define DNS_DEBUG                       LWIP_DBG_OFF 
 2807 #if !defined IP6_DEBUG || defined __DOXYGEN__ 
 2808 #define IP6_DEBUG                       LWIP_DBG_OFF 
 2828 #if !defined LWIP_PERF || defined __DOXYGEN__