Go to the documentation of this file. 63 #if !defined LWIP_HDR_OPT_H 64 #define LWIP_HDR_OPT_H 107 #if !defined NO_SYS || defined __DOXYGEN__ 124 #if !defined LWIP_TIMERS || defined __DOXYGEN__ 125 #ifdef NO_SYS_NO_TIMERS 126 #define LWIP_TIMERS (!NO_SYS || (NO_SYS && !NO_SYS_NO_TIMERS)) 128 #define LWIP_TIMERS 1 139 #if !defined LWIP_TIMERS_CUSTOM || defined __DOXYGEN__ 140 #define LWIP_TIMERS_CUSTOM 0 155 #if !defined MEMCPY || defined __DOXYGEN__ 156 #define MEMCPY(dst,src,len) memcpy(dst,src,len) 163 #if !defined SMEMCPY || defined __DOXYGEN__ 164 #define SMEMCPY(dst,src,len) memcpy(dst,src,len) 187 #if !defined LWIP_MPU_COMPATIBLE || defined __DOXYGEN__ 188 #define LWIP_MPU_COMPATIBLE 0 199 #if !defined LWIP_TCPIP_CORE_LOCKING || defined __DOXYGEN__ 200 #define LWIP_TCPIP_CORE_LOCKING 1 211 #if !defined LWIP_TCPIP_CORE_LOCKING_INPUT || defined __DOXYGEN__ 212 #define LWIP_TCPIP_CORE_LOCKING_INPUT 0 222 #if !defined SYS_LIGHTWEIGHT_PROT || defined __DOXYGEN__ 223 #define SYS_LIGHTWEIGHT_PROT 1 244 #if !defined MEM_LIBC_MALLOC || defined __DOXYGEN__ 245 #define MEM_LIBC_MALLOC 0 257 #if !defined MEMP_MEM_MALLOC || defined __DOXYGEN__ 258 #define MEMP_MEM_MALLOC 0 266 #if !defined MEM_ALIGNMENT || defined __DOXYGEN__ 267 #define MEM_ALIGNMENT 1 274 #if !defined MEM_SIZE || defined __DOXYGEN__ 275 #define MEM_SIZE 1600 287 #if !defined MEMP_OVERFLOW_CHECK || defined __DOXYGEN__ 288 #define MEMP_OVERFLOW_CHECK 0 295 #if !defined MEMP_SANITY_CHECK || defined __DOXYGEN__ 296 #define MEMP_SANITY_CHECK 0 305 #if !defined MEM_USE_POOLS || defined __DOXYGEN__ 306 #define MEM_USE_POOLS 0 313 #if !defined MEM_USE_POOLS_TRY_BIGGER_POOL || defined __DOXYGEN__ 314 #define MEM_USE_POOLS_TRY_BIGGER_POOL 0 323 #if !defined MEMP_USE_CUSTOM_POOLS || defined __DOXYGEN__ 324 #define MEMP_USE_CUSTOM_POOLS 0 345 #if !defined LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT || defined __DOXYGEN__ 346 #define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0 367 #if !defined MEMP_NUM_PBUF || defined __DOXYGEN__ 368 #define MEMP_NUM_PBUF 16 375 #if !defined MEMP_NUM_RAW_PCB || defined __DOXYGEN__ 376 #define MEMP_NUM_RAW_PCB 4 384 #if !defined MEMP_NUM_UDP_PCB || defined __DOXYGEN__ 385 #define MEMP_NUM_UDP_PCB 4 392 #if !defined MEMP_NUM_TCP_PCB || defined __DOXYGEN__ 393 #define MEMP_NUM_TCP_PCB 5 400 #if !defined MEMP_NUM_TCP_PCB_LISTEN || defined __DOXYGEN__ 401 #define MEMP_NUM_TCP_PCB_LISTEN 8 408 #if !defined MEMP_NUM_TCP_SEG || defined __DOXYGEN__ 409 #define MEMP_NUM_TCP_SEG 16 416 #if !defined MEMP_NUM_REASSDATA || defined __DOXYGEN__ 417 #define MEMP_NUM_REASSDATA 5 427 #if !defined MEMP_NUM_FRAG_PBUF || defined __DOXYGEN__ 428 #define MEMP_NUM_FRAG_PBUF 15 437 #if !defined MEMP_NUM_ARP_QUEUE || defined __DOXYGEN__ 438 #define MEMP_NUM_ARP_QUEUE 30 447 #if !defined MEMP_NUM_IGMP_GROUP || defined __DOXYGEN__ 448 #define MEMP_NUM_IGMP_GROUP 8 456 #if !defined MEMP_NUM_SYS_TIMEOUT || defined __DOXYGEN__ 457 #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)) 464 #if !defined MEMP_NUM_NETBUF || defined __DOXYGEN__ 465 #define MEMP_NUM_NETBUF 2 472 #if !defined MEMP_NUM_NETCONN || defined __DOXYGEN__ 473 #define MEMP_NUM_NETCONN 4 481 #if !defined MEMP_NUM_TCPIP_MSG_API || defined __DOXYGEN__ 482 #define MEMP_NUM_TCPIP_MSG_API 8 490 #if !defined MEMP_NUM_TCPIP_MSG_INPKT || defined __DOXYGEN__ 491 #define MEMP_NUM_TCPIP_MSG_INPKT 8 498 #if !defined MEMP_NUM_NETDB || defined __DOXYGEN__ 499 #define MEMP_NUM_NETDB 1 506 #if !defined MEMP_NUM_LOCALHOSTLIST || defined __DOXYGEN__ 507 #define MEMP_NUM_LOCALHOSTLIST 1 513 #if !defined PBUF_POOL_SIZE || defined __DOXYGEN__ 514 #define PBUF_POOL_SIZE 16 520 #if !defined MEMP_NUM_API_MSG || defined __DOXYGEN__ 521 #define MEMP_NUM_API_MSG MEMP_NUM_TCPIP_MSG_API 526 #if !defined MEMP_NUM_DNS_API_MSG || defined __DOXYGEN__ 527 #define MEMP_NUM_DNS_API_MSG MEMP_NUM_TCPIP_MSG_API 533 #if !defined MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA || defined __DOXYGEN__ 534 #define MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA MEMP_NUM_TCPIP_MSG_API 540 #if !defined MEMP_NUM_NETIFAPI_MSG || defined __DOXYGEN__ 541 #define MEMP_NUM_NETIFAPI_MSG MEMP_NUM_TCPIP_MSG_API 560 #if !defined LWIP_ARP || defined __DOXYGEN__ 567 #if !defined ARP_TABLE_SIZE || defined __DOXYGEN__ 568 #define ARP_TABLE_SIZE 10 575 #if !defined ARP_MAXAGE || defined __DOXYGEN__ 576 #define ARP_MAXAGE 300 586 #if !defined ARP_QUEUEING || defined __DOXYGEN__ 587 #define ARP_QUEUEING 0 594 #if !defined ARP_QUEUE_LEN || defined __DOXYGEN__ 595 #define ARP_QUEUE_LEN 3 608 #if !defined ETHARP_SUPPORT_VLAN || defined __DOXYGEN__ 609 #define ETHARP_SUPPORT_VLAN 0 614 #if !defined LWIP_ETHERNET || defined __DOXYGEN__ 615 #define LWIP_ETHERNET LWIP_ARP 623 #if !defined ETH_PAD_SIZE || defined __DOXYGEN__ 624 #define ETH_PAD_SIZE 0 630 #if !defined ETHARP_SUPPORT_STATIC_ENTRIES || defined __DOXYGEN__ 631 #define ETHARP_SUPPORT_STATIC_ENTRIES 0 638 #if !defined ETHARP_TABLE_MATCH_NETIF || defined __DOXYGEN__ 639 #define ETHARP_TABLE_MATCH_NETIF 0 658 #if !defined LWIP_IPV4 || defined __DOXYGEN__ 667 #if !defined IP_FORWARD || defined __DOXYGEN__ 676 #if !defined IP_REASSEMBLY || defined __DOXYGEN__ 677 #define IP_REASSEMBLY 1 685 #if !defined IP_FRAG || defined __DOXYGEN__ 694 #define IP_REASSEMBLY 0 704 #if !defined IP_OPTIONS_ALLOWED || defined __DOXYGEN__ 705 #define IP_OPTIONS_ALLOWED 1 713 #if !defined IP_REASS_MAXAGE || defined __DOXYGEN__ 714 #define IP_REASS_MAXAGE 3 723 #if !defined IP_REASS_MAX_PBUFS || defined __DOXYGEN__ 724 #define IP_REASS_MAX_PBUFS 10 730 #if !defined IP_DEFAULT_TTL || defined __DOXYGEN__ 731 #define IP_DEFAULT_TTL 255 739 #if !defined IP_SOF_BROADCAST || defined __DOXYGEN__ 740 #define IP_SOF_BROADCAST 0 747 #if !defined IP_SOF_BROADCAST_RECV || defined __DOXYGEN__ 748 #define IP_SOF_BROADCAST_RECV 0 758 #if !defined IP_FORWARD_ALLOW_TX_ON_RX_NETIF || defined __DOXYGEN__ 759 #define IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0 767 #if !defined LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS || defined __DOXYGEN__ 768 #define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 0 788 #if !defined LWIP_ICMP || defined __DOXYGEN__ 795 #if !defined ICMP_TTL || defined __DOXYGEN__ 796 #define ICMP_TTL (IP_DEFAULT_TTL) 802 #if !defined LWIP_BROADCAST_PING || defined __DOXYGEN__ 803 #define LWIP_BROADCAST_PING 0 809 #if !defined LWIP_MULTICAST_PING || defined __DOXYGEN__ 810 #define LWIP_MULTICAST_PING 0 829 #if !defined LWIP_RAW || defined __DOXYGEN__ 836 #if !defined RAW_TTL || defined __DOXYGEN__ 837 #define RAW_TTL (IP_DEFAULT_TTL) 856 #if !defined LWIP_DHCP || defined __DOXYGEN__ 868 #if !defined DHCP_DOES_ARP_CHECK || defined __DOXYGEN__ 869 #define DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP)) 878 #if !defined LWIP_DHCP_CHECK_LINK_UP 879 #define LWIP_DHCP_CHECK_LINK_UP 0 885 #if !defined LWIP_DHCP_BOOTP_FILE || defined __DOXYGEN__ 886 #define LWIP_DHCP_BOOTP_FILE 0 894 #if !defined LWIP_DHCP_GET_NTP_SRV || defined __DOXYGEN__ 895 #define LWIP_DHCP_GET_NTP_SRV 0 901 #if !defined LWIP_DHCP_MAX_NTP_SERVERS || defined __DOXYGEN__ 902 #define LWIP_DHCP_MAX_NTP_SERVERS 1 910 #if !defined LWIP_DHCP_MAX_DNS_SERVERS || defined __DOXYGEN__ 911 #define LWIP_DHCP_MAX_DNS_SERVERS DNS_MAX_SERVERS 930 #if !defined LWIP_AUTOIP || defined __DOXYGEN__ 931 #define LWIP_AUTOIP 0 936 #define LWIP_AUTOIP 0 943 #if !defined LWIP_DHCP_AUTOIP_COOP || defined __DOXYGEN__ 944 #define LWIP_DHCP_AUTOIP_COOP 0 954 #if !defined LWIP_DHCP_AUTOIP_COOP_TRIES || defined __DOXYGEN__ 955 #define LWIP_DHCP_AUTOIP_COOP_TRIES 9 976 #if !defined LWIP_MIB2_CALLBACKS || defined __DOXYGEN__ 977 #define LWIP_MIB2_CALLBACKS 0 996 #if !defined LWIP_IGMP || defined __DOXYGEN__ 1008 #if !defined LWIP_MULTICAST_TX_OPTIONS || defined __DOXYGEN__ 1009 #define LWIP_MULTICAST_TX_OPTIONS (LWIP_IGMP && LWIP_UDP) 1029 #if !defined LWIP_DNS || defined __DOXYGEN__ 1034 #if !defined DNS_TABLE_SIZE || defined __DOXYGEN__ 1035 #define DNS_TABLE_SIZE 4 1039 #if !defined DNS_MAX_NAME_LENGTH || defined __DOXYGEN__ 1040 #define DNS_MAX_NAME_LENGTH 256 1047 #if !defined DNS_MAX_SERVERS || defined __DOXYGEN__ 1048 #define DNS_MAX_SERVERS 2 1052 #if !defined DNS_DOES_NAME_CHECK || defined __DOXYGEN__ 1053 #define DNS_DOES_NAME_CHECK 1 1060 #if !defined LWIP_DNS_SECURE || defined __DOXYGEN__ 1061 #define LWIP_DNS_SECURE (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING | LWIP_DNS_SECURE_RAND_SRC_PORT) 1065 #define LWIP_DNS_SECURE_RAND_XID 1 1066 #define LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING 2 1067 #define LWIP_DNS_SECURE_RAND_SRC_PORT 4 1077 #if !defined DNS_LOCAL_HOSTLIST || defined __DOXYGEN__ 1078 #define DNS_LOCAL_HOSTLIST 0 1083 #if !defined DNS_LOCAL_HOSTLIST_IS_DYNAMIC || defined __DOXYGEN__ 1084 #define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0 1089 #if !defined LWIP_DNS_SUPPORT_MDNS_QUERIES || defined __DOXYGEN__ 1090 #define LWIP_DNS_SUPPORT_MDNS_QUERIES 0 1109 #if !defined LWIP_UDP || defined __DOXYGEN__ 1116 #if !defined LWIP_UDPLITE || defined __DOXYGEN__ 1117 #define LWIP_UDPLITE 0 1123 #if !defined UDP_TTL || defined __DOXYGEN__ 1124 #define UDP_TTL (IP_DEFAULT_TTL) 1130 #if !defined LWIP_NETBUF_RECVINFO || defined __DOXYGEN__ 1131 #define LWIP_NETBUF_RECVINFO 0 1150 #if !defined LWIP_TCP || defined __DOXYGEN__ 1157 #if !defined TCP_TTL || defined __DOXYGEN__ 1158 #define TCP_TTL (IP_DEFAULT_TTL) 1168 #if !defined TCP_WND || defined __DOXYGEN__ 1169 #define TCP_WND (4 * TCP_MSS) 1175 #if !defined TCP_MAXRTX || defined __DOXYGEN__ 1176 #define TCP_MAXRTX 12 1182 #if !defined TCP_SYNMAXRTX || defined __DOXYGEN__ 1183 #define TCP_SYNMAXRTX 6 1190 #if !defined TCP_QUEUE_OOSEQ || defined __DOXYGEN__ 1191 #define TCP_QUEUE_OOSEQ (LWIP_TCP) 1201 #if !defined TCP_MSS || defined __DOXYGEN__ 1213 #if !defined TCP_CALCULATE_EFF_SEND_MSS || defined __DOXYGEN__ 1214 #define TCP_CALCULATE_EFF_SEND_MSS 1 1222 #if !defined TCP_SND_BUF || defined __DOXYGEN__ 1223 #define TCP_SND_BUF (2 * TCP_MSS) 1230 #if !defined TCP_SND_QUEUELEN || defined __DOXYGEN__ 1231 #define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS)) 1239 #if !defined TCP_SNDLOWAT || defined __DOXYGEN__ 1240 #define TCP_SNDLOWAT LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1) 1248 #if !defined TCP_SNDQUEUELOWAT || defined __DOXYGEN__ 1249 #define TCP_SNDQUEUELOWAT LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5) 1256 #if !defined TCP_OOSEQ_MAX_BYTES || defined __DOXYGEN__ 1257 #define TCP_OOSEQ_MAX_BYTES 0 1264 #if !defined TCP_OOSEQ_MAX_PBUFS || defined __DOXYGEN__ 1265 #define TCP_OOSEQ_MAX_PBUFS 0 1271 #if !defined TCP_LISTEN_BACKLOG || defined __DOXYGEN__ 1272 #define TCP_LISTEN_BACKLOG 0 1280 #if !defined TCP_DEFAULT_LISTEN_BACKLOG || defined __DOXYGEN__ 1281 #define TCP_DEFAULT_LISTEN_BACKLOG 0xff 1298 #if !defined TCP_OVERSIZE || defined __DOXYGEN__ 1299 #define TCP_OVERSIZE TCP_MSS 1308 #if !defined LWIP_TCP_TIMESTAMPS || defined __DOXYGEN__ 1309 #define LWIP_TCP_TIMESTAMPS 0 1316 #if !defined TCP_WND_UPDATE_THRESHOLD || defined __DOXYGEN__ 1317 #define TCP_WND_UPDATE_THRESHOLD LWIP_MIN((TCP_WND / 4), (TCP_MSS * 4)) 1327 #if !defined(LWIP_EVENT_API) && !defined(LWIP_CALLBACK_API) || defined __DOXYGEN__ 1328 #define LWIP_EVENT_API 0 1329 #define LWIP_CALLBACK_API 1 1331 #ifndef LWIP_EVENT_API 1332 #define LWIP_EVENT_API 0 1334 #ifndef LWIP_CALLBACK_API 1335 #define LWIP_CALLBACK_API 0 1347 #if !defined LWIP_WND_SCALE || defined __DOXYGEN__ 1348 #define LWIP_WND_SCALE 0 1349 #define TCP_RCV_SCALE 0 1370 #if !defined PBUF_LINK_HLEN || defined __DOXYGEN__ 1371 #if defined LWIP_HOOK_VLAN_SET && !defined __DOXYGEN__ 1372 #define PBUF_LINK_HLEN (18 + ETH_PAD_SIZE) 1374 #define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE) 1382 #if !defined PBUF_LINK_ENCAPSULATION_HLEN || defined __DOXYGEN__ 1383 #define PBUF_LINK_ENCAPSULATION_HLEN 0u 1391 #if !defined PBUF_POOL_BUFSIZE || defined __DOXYGEN__ 1392 #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_ENCAPSULATION_HLEN+PBUF_LINK_HLEN) 1412 #if !defined LWIP_NETIF_HOSTNAME || defined __DOXYGEN__ 1413 #define LWIP_NETIF_HOSTNAME 0 1419 #if !defined LWIP_NETIF_API || defined __DOXYGEN__ 1420 #define LWIP_NETIF_API 0 1427 #if !defined LWIP_NETIF_STATUS_CALLBACK || defined __DOXYGEN__ 1428 #define LWIP_NETIF_STATUS_CALLBACK 0 1435 #if !defined LWIP_NETIF_LINK_CALLBACK || defined __DOXYGEN__ 1436 #define LWIP_NETIF_LINK_CALLBACK 0 1443 #if !defined LWIP_NETIF_REMOVE_CALLBACK || defined __DOXYGEN__ 1444 #define LWIP_NETIF_REMOVE_CALLBACK 0 1454 #if !defined LWIP_NETIF_HWADDRHINT || defined __DOXYGEN__ 1455 #define LWIP_NETIF_HWADDRHINT 0 1467 #if !defined LWIP_NETIF_TX_SINGLE_PBUF || defined __DOXYGEN__ 1468 #define LWIP_NETIF_TX_SINGLE_PBUF 0 1475 #if !defined LWIP_NUM_NETIF_CLIENT_DATA || defined __DOXYGEN__ 1476 #define LWIP_NUM_NETIF_CLIENT_DATA 0 1497 #if !defined LWIP_HAVE_LOOPIF || defined __DOXYGEN__ 1498 #define LWIP_HAVE_LOOPIF LWIP_NETIF_LOOPBACK 1504 #if !defined LWIP_LOOPIF_MULTICAST || defined __DOXYGEN__ 1505 #define LWIP_LOOPIF_MULTICAST 0 1512 #if !defined LWIP_NETIF_LOOPBACK || defined __DOXYGEN__ 1513 #define LWIP_NETIF_LOOPBACK 0 1520 #if !defined LWIP_LOOPBACK_MAX_PBUFS || defined __DOXYGEN__ 1521 #define LWIP_LOOPBACK_MAX_PBUFS 0 1537 #if !defined LWIP_NETIF_LOOPBACK_MULTITHREADING || defined __DOXYGEN__ 1538 #define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS) 1557 #if !defined TCPIP_THREAD_NAME || defined __DOXYGEN__ 1558 #define TCPIP_THREAD_NAME "tcpip_thread" 1566 #if !defined TCPIP_THREAD_STACKSIZE || defined __DOXYGEN__ 1567 #define TCPIP_THREAD_STACKSIZE 0 1575 #if !defined TCPIP_THREAD_PRIO || defined __DOXYGEN__ 1576 #define TCPIP_THREAD_PRIO 1 1584 #if !defined TCPIP_MBOX_SIZE || defined __DOXYGEN__ 1585 #define TCPIP_MBOX_SIZE 0 1592 #if !defined LWIP_TCPIP_THREAD_ALIVE || defined __DOXYGEN__ 1593 #define LWIP_TCPIP_THREAD_ALIVE() 1599 #if !defined SLIPIF_THREAD_NAME || defined __DOXYGEN__ 1600 #define SLIPIF_THREAD_NAME "slipif_loop" 1608 #if !defined SLIPIF_THREAD_STACKSIZE || defined __DOXYGEN__ 1609 #define SLIPIF_THREAD_STACKSIZE 0 1617 #if !defined SLIPIF_THREAD_PRIO || defined __DOXYGEN__ 1618 #define SLIPIF_THREAD_PRIO 1 1624 #if !defined DEFAULT_THREAD_NAME || defined __DOXYGEN__ 1625 #define DEFAULT_THREAD_NAME "lwIP" 1633 #if !defined DEFAULT_THREAD_STACKSIZE || defined __DOXYGEN__ 1634 #define DEFAULT_THREAD_STACKSIZE 0 1642 #if !defined DEFAULT_THREAD_PRIO || defined __DOXYGEN__ 1643 #define DEFAULT_THREAD_PRIO 1 1651 #if !defined DEFAULT_RAW_RECVMBOX_SIZE || defined __DOXYGEN__ 1652 #define DEFAULT_RAW_RECVMBOX_SIZE 0 1660 #if !defined DEFAULT_UDP_RECVMBOX_SIZE || defined __DOXYGEN__ 1661 #define DEFAULT_UDP_RECVMBOX_SIZE 0 1669 #if !defined DEFAULT_TCP_RECVMBOX_SIZE || defined __DOXYGEN__ 1670 #define DEFAULT_TCP_RECVMBOX_SIZE 0 1678 #if !defined DEFAULT_ACCEPTMBOX_SIZE || defined __DOXYGEN__ 1679 #define DEFAULT_ACCEPTMBOX_SIZE 0 1698 #if !defined LWIP_NETCONN || defined __DOXYGEN__ 1699 #define LWIP_NETCONN 1 1705 #if !defined LWIP_TCPIP_TIMEOUT || defined __DOXYGEN__ 1706 #define LWIP_TCPIP_TIMEOUT 0 1719 #if !defined LWIP_NETCONN_SEM_PER_THREAD || defined __DOXYGEN__ 1720 #define LWIP_NETCONN_SEM_PER_THREAD 0 1731 #if !defined LWIP_NETCONN_FULLDUPLEX || defined __DOXYGEN__ 1732 #define LWIP_NETCONN_FULLDUPLEX 0 1751 #if !defined LWIP_SOCKET || defined __DOXYGEN__ 1752 #define LWIP_SOCKET 1 1758 #if !defined LWIP_SOCKET_SET_ERRNO || defined __DOXYGEN__ 1759 #define LWIP_SOCKET_SET_ERRNO 1 1768 #if !defined LWIP_COMPAT_SOCKETS || defined __DOXYGEN__ 1769 #define LWIP_COMPAT_SOCKETS 1 1777 #if !defined LWIP_POSIX_SOCKETS_IO_NAMES || defined __DOXYGEN__ 1778 #define LWIP_POSIX_SOCKETS_IO_NAMES 1 1788 #if !defined LWIP_SOCKET_OFFSET || defined __DOXYGEN__ 1789 #define LWIP_SOCKET_OFFSET 0 1797 #if !defined LWIP_TCP_KEEPALIVE || defined __DOXYGEN__ 1798 #define LWIP_TCP_KEEPALIVE 0 1805 #if !defined LWIP_SO_SNDTIMEO || defined __DOXYGEN__ 1806 #define LWIP_SO_SNDTIMEO 0 1813 #if !defined LWIP_SO_RCVTIMEO || defined __DOXYGEN__ 1814 #define LWIP_SO_RCVTIMEO 0 1821 #if !defined LWIP_SO_SNDRCVTIMEO_NONSTANDARD || defined __DOXYGEN__ 1822 #define LWIP_SO_SNDRCVTIMEO_NONSTANDARD 0 1828 #if !defined LWIP_SO_RCVBUF || defined __DOXYGEN__ 1829 #define LWIP_SO_RCVBUF 0 1835 #if !defined LWIP_SO_LINGER || defined __DOXYGEN__ 1836 #define LWIP_SO_LINGER 0 1842 #if !defined RECV_BUFSIZE_DEFAULT || defined __DOXYGEN__ 1843 #define RECV_BUFSIZE_DEFAULT INT_MAX 1849 #if !defined LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT || defined __DOXYGEN__ 1850 #define LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT 20000 1856 #if !defined SO_REUSE || defined __DOXYGEN__ 1865 #if !defined SO_REUSE_RXTOALL || defined __DOXYGEN__ 1866 #define SO_REUSE_RXTOALL 0 1877 #if !defined LWIP_FIONREAD_LINUXMODE || defined __DOXYGEN__ 1878 #define LWIP_FIONREAD_LINUXMODE 0 1897 #if !defined LWIP_STATS || defined __DOXYGEN__ 1898 #define LWIP_STATS 1 1906 #if !defined LWIP_STATS_DISPLAY || defined __DOXYGEN__ 1907 #define LWIP_STATS_DISPLAY 0 1913 #if !defined LINK_STATS || defined __DOXYGEN__ 1914 #define LINK_STATS 1 1920 #if !defined ETHARP_STATS || defined __DOXYGEN__ 1921 #define ETHARP_STATS (LWIP_ARP) 1927 #if !defined IP_STATS || defined __DOXYGEN__ 1935 #if !defined IPFRAG_STATS || defined __DOXYGEN__ 1936 #define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG) 1942 #if !defined ICMP_STATS || defined __DOXYGEN__ 1943 #define ICMP_STATS 1 1949 #if !defined IGMP_STATS || defined __DOXYGEN__ 1950 #define IGMP_STATS (LWIP_IGMP) 1957 #if !defined UDP_STATS || defined __DOXYGEN__ 1958 #define UDP_STATS (LWIP_UDP) 1965 #if !defined TCP_STATS || defined __DOXYGEN__ 1966 #define TCP_STATS (LWIP_TCP) 1972 #if !defined MEM_STATS || defined __DOXYGEN__ 1973 #define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0)) 1979 #if !defined MEMP_STATS || defined __DOXYGEN__ 1980 #define MEMP_STATS (MEMP_MEM_MALLOC == 0) 1986 #if !defined SYS_STATS || defined __DOXYGEN__ 1987 #define SYS_STATS (NO_SYS == 0) 1993 #if !defined IP6_STATS || defined __DOXYGEN__ 1994 #define IP6_STATS (LWIP_IPV6) 2000 #if !defined ICMP6_STATS || defined __DOXYGEN__ 2001 #define ICMP6_STATS (LWIP_IPV6 && LWIP_ICMP6) 2007 #if !defined IP6_FRAG_STATS || defined __DOXYGEN__ 2008 #define IP6_FRAG_STATS (LWIP_IPV6 && (LWIP_IPV6_FRAG || LWIP_IPV6_REASS)) 2014 #if !defined MLD6_STATS || defined __DOXYGEN__ 2015 #define MLD6_STATS (LWIP_IPV6 && LWIP_IPV6_MLD) 2021 #if !defined ND6_STATS || defined __DOXYGEN__ 2022 #define ND6_STATS (LWIP_IPV6) 2028 #if !defined MIB2_STATS || defined __DOXYGEN__ 2029 #define MIB2_STATS 0 2034 #define LINK_STATS 0 2035 #define ETHARP_STATS 0 2037 #define IPFRAG_STATS 0 2038 #define ICMP_STATS 0 2039 #define IGMP_STATS 0 2043 #define MEMP_STATS 0 2045 #define LWIP_STATS_DISPLAY 0 2047 #define ICMP6_STATS 0 2048 #define IP6_FRAG_STATS 0 2049 #define MLD6_STATS 0 2051 #define MIB2_STATS 0 2073 #if !defined LWIP_CHECKSUM_CTRL_PER_NETIF || defined __DOXYGEN__ 2074 #define LWIP_CHECKSUM_CTRL_PER_NETIF 0 2080 #if !defined CHECKSUM_GEN_IP || defined __DOXYGEN__ 2081 #define CHECKSUM_GEN_IP 1 2087 #if !defined CHECKSUM_GEN_UDP || defined __DOXYGEN__ 2088 #define CHECKSUM_GEN_UDP 1 2094 #if !defined CHECKSUM_GEN_TCP || defined __DOXYGEN__ 2095 #define CHECKSUM_GEN_TCP 1 2101 #if !defined CHECKSUM_GEN_ICMP || defined __DOXYGEN__ 2102 #define CHECKSUM_GEN_ICMP 1 2108 #if !defined CHECKSUM_GEN_ICMP6 || defined __DOXYGEN__ 2109 #define CHECKSUM_GEN_ICMP6 1 2115 #if !defined CHECKSUM_CHECK_IP || defined __DOXYGEN__ 2116 #define CHECKSUM_CHECK_IP 1 2122 #if !defined CHECKSUM_CHECK_UDP || defined __DOXYGEN__ 2123 #define CHECKSUM_CHECK_UDP 1 2129 #if !defined CHECKSUM_CHECK_TCP || defined __DOXYGEN__ 2130 #define CHECKSUM_CHECK_TCP 1 2136 #if !defined CHECKSUM_CHECK_ICMP || defined __DOXYGEN__ 2137 #define CHECKSUM_CHECK_ICMP 1 2143 #if !defined CHECKSUM_CHECK_ICMP6 || defined __DOXYGEN__ 2144 #define CHECKSUM_CHECK_ICMP6 1 2151 #if !defined LWIP_CHECKSUM_ON_COPY || defined __DOXYGEN__ 2152 #define LWIP_CHECKSUM_ON_COPY 0 2171 #if !defined LWIP_IPV6 || defined __DOXYGEN__ 2178 #if !defined LWIP_IPV6_NUM_ADDRESSES || defined __DOXYGEN__ 2179 #define LWIP_IPV6_NUM_ADDRESSES 3 2185 #if !defined LWIP_IPV6_FORWARD || defined __DOXYGEN__ 2186 #define LWIP_IPV6_FORWARD 0 2192 #if !defined LWIP_IPV6_FRAG || defined __DOXYGEN__ 2193 #define LWIP_IPV6_FRAG 0 2199 #if !defined LWIP_IPV6_REASS || defined __DOXYGEN__ 2200 #define LWIP_IPV6_REASS (LWIP_IPV6) 2207 #if !defined LWIP_IPV6_SEND_ROUTER_SOLICIT || defined __DOXYGEN__ 2208 #define LWIP_IPV6_SEND_ROUTER_SOLICIT 1 2214 #if !defined LWIP_IPV6_AUTOCONFIG || defined __DOXYGEN__ 2215 #define LWIP_IPV6_AUTOCONFIG (LWIP_IPV6) 2221 #if !defined LWIP_IPV6_DUP_DETECT_ATTEMPTS || defined __DOXYGEN__ 2222 #define LWIP_IPV6_DUP_DETECT_ATTEMPTS 1 2236 #if !defined LWIP_ICMP6 || defined __DOXYGEN__ 2237 #define LWIP_ICMP6 (LWIP_IPV6) 2244 #if !defined LWIP_ICMP6_DATASIZE || defined __DOXYGEN__ 2245 #define LWIP_ICMP6_DATASIZE 8 2251 #if !defined LWIP_ICMP6_HL || defined __DOXYGEN__ 2252 #define LWIP_ICMP6_HL 255 2268 #if !defined LWIP_IPV6_MLD || defined __DOXYGEN__ 2269 #define LWIP_IPV6_MLD (LWIP_IPV6) 2278 #if !defined MEMP_NUM_MLD6_GROUP || defined __DOXYGEN__ 2279 #define MEMP_NUM_MLD6_GROUP 4 2294 #if !defined LWIP_ND6_QUEUEING || defined __DOXYGEN__ 2295 #define LWIP_ND6_QUEUEING (LWIP_IPV6) 2301 #if !defined MEMP_NUM_ND6_QUEUE || defined __DOXYGEN__ 2302 #define MEMP_NUM_ND6_QUEUE 20 2308 #if !defined LWIP_ND6_NUM_NEIGHBORS || defined __DOXYGEN__ 2309 #define LWIP_ND6_NUM_NEIGHBORS 10 2315 #if !defined LWIP_ND6_NUM_DESTINATIONS || defined __DOXYGEN__ 2316 #define LWIP_ND6_NUM_DESTINATIONS 10 2322 #if !defined LWIP_ND6_NUM_PREFIXES || defined __DOXYGEN__ 2323 #define LWIP_ND6_NUM_PREFIXES 5 2329 #if !defined LWIP_ND6_NUM_ROUTERS || defined __DOXYGEN__ 2330 #define LWIP_ND6_NUM_ROUTERS 3 2337 #if !defined LWIP_ND6_MAX_MULTICAST_SOLICIT || defined __DOXYGEN__ 2338 #define LWIP_ND6_MAX_MULTICAST_SOLICIT 3 2345 #if !defined LWIP_ND6_MAX_UNICAST_SOLICIT || defined __DOXYGEN__ 2346 #define LWIP_ND6_MAX_UNICAST_SOLICIT 3 2352 #if !defined LWIP_ND6_MAX_ANYCAST_DELAY_TIME || defined __DOXYGEN__ 2353 #define LWIP_ND6_MAX_ANYCAST_DELAY_TIME 1000 2359 #if !defined LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT || defined __DOXYGEN__ 2360 #define LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT 3 2367 #if !defined LWIP_ND6_REACHABLE_TIME || defined __DOXYGEN__ 2368 #define LWIP_ND6_REACHABLE_TIME 30000 2374 #if !defined LWIP_ND6_RETRANS_TIMER || defined __DOXYGEN__ 2375 #define LWIP_ND6_RETRANS_TIMER 1000 2382 #if !defined LWIP_ND6_DELAY_FIRST_PROBE_TIME || defined __DOXYGEN__ 2383 #define LWIP_ND6_DELAY_FIRST_PROBE_TIME 5000 2390 #if !defined LWIP_ND6_ALLOW_RA_UPDATES || defined __DOXYGEN__ 2391 #define LWIP_ND6_ALLOW_RA_UPDATES 1 2399 #if !defined LWIP_ND6_TCP_REACHABILITY_HINTS || defined __DOXYGEN__ 2400 #define LWIP_ND6_TCP_REACHABILITY_HINTS 1 2408 #if !defined LWIP_ND6_RDNSS_MAX_DNS_SERVERS || defined __DOXYGEN__ 2409 #define LWIP_ND6_RDNSS_MAX_DNS_SERVERS 0 2418 #if !defined LWIP_IPV6_DHCP6 || defined __DOXYGEN__ 2419 #define LWIP_IPV6_DHCP6 0 2441 #define LWIP_HOOK_FILENAME "path/to/my/lwip_hooks.h" 2464 #define LWIP_HOOK_TCP_ISN(local_ip, local_port, remote_ip, remote_port) 2479 #define LWIP_HOOK_IP4_INPUT(pbuf, input_netif) 2490 #define LWIP_HOOK_IP4_ROUTE() 2498 #define LWIP_HOOK_IP4_ROUTE_SRC(dest, src) 2514 #define LWIP_HOOK_ETHARP_GET_GW(netif, dest) 2529 #define LWIP_HOOK_IP6_INPUT(pbuf, input_netif) 2541 #define LWIP_HOOK_IP6_ROUTE(src, dest) 2557 #define LWIP_HOOK_ND6_GET_GW(netif, dest) 2571 #define LWIP_HOOK_VLAN_CHECK(netif, eth_hdr, vlan_hdr) 2593 #define LWIP_HOOK_VLAN_SET(netif, p, src, dst, eth_type) 2601 #define LWIP_HOOK_MEMP_AVAILABLE(memp_t_type) 2611 #define LWIP_HOOK_UNKNOWN_ETH_PROTOCOL(pbuf, netif) 2633 #if !defined LWIP_DBG_MIN_LEVEL || defined __DOXYGEN__ 2634 #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL 2642 #if !defined LWIP_DBG_TYPES_ON || defined __DOXYGEN__ 2643 #define LWIP_DBG_TYPES_ON LWIP_DBG_ON 2649 #if !defined ETHARP_DEBUG || defined __DOXYGEN__ 2650 #define ETHARP_DEBUG LWIP_DBG_OFF 2656 #if !defined NETIF_DEBUG || defined __DOXYGEN__ 2657 #define NETIF_DEBUG LWIP_DBG_OFF 2663 #if !defined PBUF_DEBUG || defined __DOXYGEN__ 2664 #define PBUF_DEBUG LWIP_DBG_OFF 2670 #if !defined API_LIB_DEBUG || defined __DOXYGEN__ 2671 #define API_LIB_DEBUG LWIP_DBG_OFF 2677 #if !defined API_MSG_DEBUG || defined __DOXYGEN__ 2678 #define API_MSG_DEBUG LWIP_DBG_OFF 2684 #if !defined SOCKETS_DEBUG || defined __DOXYGEN__ 2685 #define SOCKETS_DEBUG LWIP_DBG_OFF 2691 #if !defined ICMP_DEBUG || defined __DOXYGEN__ 2692 #define ICMP_DEBUG LWIP_DBG_OFF 2698 #if !defined IGMP_DEBUG || defined __DOXYGEN__ 2699 #define IGMP_DEBUG LWIP_DBG_OFF 2705 #if !defined INET_DEBUG || defined __DOXYGEN__ 2706 #define INET_DEBUG LWIP_DBG_OFF 2712 #if !defined IP_DEBUG || defined __DOXYGEN__ 2713 #define IP_DEBUG LWIP_DBG_OFF 2719 #if !defined IP_REASS_DEBUG || defined __DOXYGEN__ 2720 #define IP_REASS_DEBUG LWIP_DBG_OFF 2726 #if !defined RAW_DEBUG || defined __DOXYGEN__ 2727 #define RAW_DEBUG LWIP_DBG_OFF 2733 #if !defined MEM_DEBUG || defined __DOXYGEN__ 2734 #define MEM_DEBUG LWIP_DBG_OFF 2740 #if !defined MEMP_DEBUG || defined __DOXYGEN__ 2741 #define MEMP_DEBUG LWIP_DBG_OFF 2747 #if !defined SYS_DEBUG || defined __DOXYGEN__ 2748 #define SYS_DEBUG LWIP_DBG_OFF 2754 #if !defined TIMERS_DEBUG || defined __DOXYGEN__ 2755 #define TIMERS_DEBUG LWIP_DBG_OFF 2761 #if !defined TCP_DEBUG || defined __DOXYGEN__ 2762 #define TCP_DEBUG LWIP_DBG_OFF 2768 #if !defined TCP_INPUT_DEBUG || defined __DOXYGEN__ 2769 #define TCP_INPUT_DEBUG LWIP_DBG_OFF 2775 #if !defined TCP_FR_DEBUG || defined __DOXYGEN__ 2776 #define TCP_FR_DEBUG LWIP_DBG_OFF 2783 #if !defined TCP_RTO_DEBUG || defined __DOXYGEN__ 2784 #define TCP_RTO_DEBUG LWIP_DBG_OFF 2790 #if !defined TCP_CWND_DEBUG || defined __DOXYGEN__ 2791 #define TCP_CWND_DEBUG LWIP_DBG_OFF 2797 #if !defined TCP_WND_DEBUG || defined __DOXYGEN__ 2798 #define TCP_WND_DEBUG LWIP_DBG_OFF 2804 #if !defined TCP_OUTPUT_DEBUG || defined __DOXYGEN__ 2805 #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF 2811 #if !defined TCP_RST_DEBUG || defined __DOXYGEN__ 2812 #define TCP_RST_DEBUG LWIP_DBG_OFF 2818 #if !defined TCP_QLEN_DEBUG || defined __DOXYGEN__ 2819 #define TCP_QLEN_DEBUG LWIP_DBG_OFF 2825 #if !defined UDP_DEBUG || defined __DOXYGEN__ 2826 #define UDP_DEBUG LWIP_DBG_OFF 2832 #if !defined TCPIP_DEBUG || defined __DOXYGEN__ 2833 #define TCPIP_DEBUG LWIP_DBG_OFF 2839 #if !defined SLIP_DEBUG || defined __DOXYGEN__ 2840 #define SLIP_DEBUG LWIP_DBG_OFF 2846 #if !defined DHCP_DEBUG || defined __DOXYGEN__ 2847 #define DHCP_DEBUG LWIP_DBG_OFF 2853 #if !defined AUTOIP_DEBUG || defined __DOXYGEN__ 2854 #define AUTOIP_DEBUG LWIP_DBG_OFF 2860 #if !defined DNS_DEBUG || defined __DOXYGEN__ 2861 #define DNS_DEBUG LWIP_DBG_OFF 2867 #if !defined IP6_DEBUG || defined __DOXYGEN__ 2868 #define IP6_DEBUG LWIP_DBG_OFF 2888 #if !defined LWIP_PERF || defined __DOXYGEN__