⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opt.h

📁 lwip-1.4.0
💻 H
📖 第 1 页 / 共 4 页
字号:
#ifndef IP_OPTIONS_ALLOWED#define IP_OPTIONS_ALLOWED              1#endif/** * IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that * this option does not affect outgoing packet sizes, which can be controlled * via IP_FRAG. */#ifndef IP_REASSEMBLY#define IP_REASSEMBLY                   1#endif/** * IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note * that this option does not affect incoming packet sizes, which can be * controlled via IP_REASSEMBLY. */#ifndef IP_FRAG#define IP_FRAG                         1#endif/** * IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally) * a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived * in this time, the whole packet is discarded. */#ifndef IP_REASS_MAXAGE#define IP_REASS_MAXAGE                 3#endif/** * IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled. * Since the received pbufs are enqueued, be sure to configure * PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive * packets even if the maximum amount of fragments is enqueued for reassembly! */#ifndef IP_REASS_MAX_PBUFS#define IP_REASS_MAX_PBUFS              10#endif/** * IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP * fragmentation. Otherwise pbufs are allocated and reference the original * packet data to be fragmented (or with LWIP_NETIF_TX_SINGLE_PBUF==1, * new PBUF_RAM pbufs are used for fragments). * ATTENTION: IP_FRAG_USES_STATIC_BUF==1 may not be used for DMA-enabled MACs! */#ifndef IP_FRAG_USES_STATIC_BUF#define IP_FRAG_USES_STATIC_BUF         0#endif/** * IP_FRAG_MAX_MTU: Assumed max MTU on any interface for IP frag buffer * (requires IP_FRAG_USES_STATIC_BUF==1) */#if IP_FRAG_USES_STATIC_BUF && !defined(IP_FRAG_MAX_MTU)#define IP_FRAG_MAX_MTU                 1500#endif/** * IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers. */#ifndef IP_DEFAULT_TTL#define IP_DEFAULT_TTL                  255#endif/** * IP_SOF_BROADCAST=1: Use the SOF_BROADCAST field to enable broadcast * filter per pcb on udp and raw send operations. To enable broadcast filter * on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1. */#ifndef IP_SOF_BROADCAST#define IP_SOF_BROADCAST                0#endif/** * IP_SOF_BROADCAST_RECV (requires IP_SOF_BROADCAST=1) enable the broadcast * filter on recv operations. */#ifndef IP_SOF_BROADCAST_RECV#define IP_SOF_BROADCAST_RECV           0#endif/*   ----------------------------------   ---------- ICMP options ----------   ----------------------------------*//** * LWIP_ICMP==1: Enable ICMP module inside the IP stack. * Be careful, disable that make your product non-compliant to RFC1122 */#ifndef LWIP_ICMP#define LWIP_ICMP                       1#endif/** * ICMP_TTL: Default value for Time-To-Live used by ICMP packets. */#ifndef ICMP_TTL#define ICMP_TTL                       (IP_DEFAULT_TTL)#endif/** * LWIP_BROADCAST_PING==1: respond to broadcast pings (default is unicast only) */#ifndef LWIP_BROADCAST_PING#define LWIP_BROADCAST_PING             0#endif/** * LWIP_MULTICAST_PING==1: respond to multicast pings (default is unicast only) */#ifndef LWIP_MULTICAST_PING#define LWIP_MULTICAST_PING             0#endif/*   ---------------------------------   ---------- RAW options ----------   ---------------------------------*//** * LWIP_RAW==1: Enable application layer to hook into the IP layer itself. */#ifndef LWIP_RAW#define LWIP_RAW                        1#endif/** * LWIP_RAW==1: Enable application layer to hook into the IP layer itself. */#ifndef RAW_TTL#define RAW_TTL                        (IP_DEFAULT_TTL)#endif/*   ----------------------------------   ---------- DHCP options ----------   ----------------------------------*//** * LWIP_DHCP==1: Enable DHCP module. */#ifndef LWIP_DHCP#define LWIP_DHCP                       0#endif/** * DHCP_DOES_ARP_CHECK==1: Do an ARP check on the offered address. */#ifndef DHCP_DOES_ARP_CHECK#define DHCP_DOES_ARP_CHECK             ((LWIP_DHCP) && (LWIP_ARP))#endif/*   ------------------------------------   ---------- AUTOIP options ----------   ------------------------------------*//** * LWIP_AUTOIP==1: Enable AUTOIP module. */#ifndef LWIP_AUTOIP#define LWIP_AUTOIP                     0#endif/** * LWIP_DHCP_AUTOIP_COOP==1: Allow DHCP and AUTOIP to be both enabled on * the same interface at the same time. */#ifndef LWIP_DHCP_AUTOIP_COOP#define LWIP_DHCP_AUTOIP_COOP           0#endif/** * LWIP_DHCP_AUTOIP_COOP_TRIES: Set to the number of DHCP DISCOVER probes * that should be sent before falling back on AUTOIP. This can be set * as low as 1 to get an AutoIP address very quickly, but you should * be prepared to handle a changing IP address when DHCP overrides * AutoIP. */#ifndef LWIP_DHCP_AUTOIP_COOP_TRIES#define LWIP_DHCP_AUTOIP_COOP_TRIES     9#endif/*   ----------------------------------   ---------- SNMP options ----------   ----------------------------------*//** * LWIP_SNMP==1: Turn on SNMP module. UDP must be available for SNMP * transport. */#ifndef LWIP_SNMP#define LWIP_SNMP                       0#endif/** * SNMP_CONCURRENT_REQUESTS: Number of concurrent requests the module will * allow. At least one request buffer is required. * Does not have to be changed unless external MIBs answer request asynchronously */#ifndef SNMP_CONCURRENT_REQUESTS#define SNMP_CONCURRENT_REQUESTS        1#endif/** * SNMP_TRAP_DESTINATIONS: Number of trap destinations. At least one trap * destination is required */#ifndef SNMP_TRAP_DESTINATIONS#define SNMP_TRAP_DESTINATIONS          1#endif/** * SNMP_PRIVATE_MIB:  * When using a private MIB, you have to create a file 'private_mib.h' that contains * a 'struct mib_array_node mib_private' which contains your MIB. */#ifndef SNMP_PRIVATE_MIB#define SNMP_PRIVATE_MIB                0#endif/** * Only allow SNMP write actions that are 'safe' (e.g. disabeling netifs is not * a safe action and disabled when SNMP_SAFE_REQUESTS = 1). * Unsafe requests are disabled by default! */#ifndef SNMP_SAFE_REQUESTS#define SNMP_SAFE_REQUESTS              1#endif/** * The maximum length of strings used. This affects the size of * MEMP_SNMP_VALUE elements. */#ifndef SNMP_MAX_OCTET_STRING_LEN#define SNMP_MAX_OCTET_STRING_LEN       127#endif/** * The maximum depth of the SNMP tree. * With private MIBs enabled, this depends on your MIB! * This affects the size of MEMP_SNMP_VALUE elements. */#ifndef SNMP_MAX_TREE_DEPTH#define SNMP_MAX_TREE_DEPTH             15#endif/** * The size of the MEMP_SNMP_VALUE elements, normally calculated from * SNMP_MAX_OCTET_STRING_LEN and SNMP_MAX_TREE_DEPTH. */#ifndef SNMP_MAX_VALUE_SIZE#define SNMP_MAX_VALUE_SIZE             LWIP_MAX((SNMP_MAX_OCTET_STRING_LEN)+1, sizeof(s32_t)*(SNMP_MAX_TREE_DEPTH))#endif/*   ----------------------------------   ---------- IGMP options ----------   ----------------------------------*//** * LWIP_IGMP==1: Turn on IGMP module.  */#ifndef LWIP_IGMP#define LWIP_IGMP                       0#endif/*   ----------------------------------   ---------- DNS options -----------   ----------------------------------*//** * LWIP_DNS==1: Turn on DNS module. UDP must be available for DNS * transport. */#ifndef LWIP_DNS#define LWIP_DNS                        0#endif/** DNS maximum number of entries to maintain locally. */#ifndef DNS_TABLE_SIZE#define DNS_TABLE_SIZE                  4#endif/** DNS maximum host name length supported in the name table. */#ifndef DNS_MAX_NAME_LENGTH#define DNS_MAX_NAME_LENGTH             256#endif/** The maximum of DNS servers */#ifndef DNS_MAX_SERVERS#define DNS_MAX_SERVERS                 2#endif/** DNS do a name checking between the query and the response. */#ifndef DNS_DOES_NAME_CHECK#define DNS_DOES_NAME_CHECK             1#endif/** DNS message max. size. Default value is RFC compliant. */#ifndef DNS_MSG_SIZE#define DNS_MSG_SIZE                    512#endif/** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled, *  you have to define *    #define DNS_LOCAL_HOSTLIST_INIT {{"host1", 0x123}, {"host2", 0x234}} *  (an array of structs name/address, where address is an u32_t in network *  byte order). * *  Instead, you can also use an external function: *  #define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name) *  that returns the IP address or INADDR_NONE if not found. */#ifndef DNS_LOCAL_HOSTLIST#define DNS_LOCAL_HOSTLIST              0#endif /* DNS_LOCAL_HOSTLIST *//** If this is turned on, the local host-list can be dynamically changed *  at runtime. */#ifndef DNS_LOCAL_HOSTLIST_IS_DYNAMIC#define DNS_LOCAL_HOSTLIST_IS_DYNAMIC   0#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC *//*   ---------------------------------   ---------- UDP options ----------   ---------------------------------*//** * LWIP_UDP==1: Turn on UDP. */#ifndef LWIP_UDP#define LWIP_UDP                        1#endif/** * LWIP_UDPLITE==1: Turn on UDP-Lite. (Requires LWIP_UDP) */#ifndef LWIP_UDPLITE#define LWIP_UDPLITE                    0#endif/** * UDP_TTL: Default Time-To-Live value. */#ifndef UDP_TTL#define UDP_TTL                         (IP_DEFAULT_TTL)#endif/** * LWIP_NETBUF_RECVINFO==1: append destination addr and port to every netbuf. */#ifndef LWIP_NETBUF_RECVINFO#define LWIP_NETBUF_RECVINFO            0#endif/*   ---------------------------------   ---------- TCP options ----------   ---------------------------------*//** * LWIP_TCP==1: Turn on TCP. */#ifndef LWIP_TCP#define LWIP_TCP                        1#endif/** * TCP_TTL: Default Time-To-Live value. */#ifndef TCP_TTL#define TCP_TTL                         (IP_DEFAULT_TTL)#endif/** * TCP_WND: The size of a TCP window.  This must be at least  * (2 * TCP_MSS) for things to work well */#ifndef TCP_WND#define TCP_WND                         (4 * TCP_MSS)#endif /** * TCP_MAXRTX: Maximum number of retransmissions of data segments. */#ifndef TCP_MAXRTX#define TCP_MAXRTX                      12#endif/** * TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments. */#ifndef TCP_SYNMAXRTX#define TCP_SYNMAXRTX                   6#endif/** * TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order. * Define to 0 if your device is low on memory. */#ifndef TCP_QUEUE_OOSEQ#define TCP_QUEUE_OOSEQ                 (LWIP_TCP)#endif/** * TCP_MSS: TCP Maximum segment size. (default is 536, a conservative default, * you might want to increase this.) * For the receive side, this MSS is advertised to the remote side * when opening a connection. For the transmit size, this MSS sets * an upper limit on the MSS advertised by the remote host. */#ifndef TCP_MSS#define TCP_MSS                         536#endif/** * TCP_CALCULATE_EFF_SEND_MSS: "The maximum size of a segment that TCP really * sends, the 'effective send MSS,' MUST be the smaller of the send MSS (which * reflects the available reassembly buffer size at the remote host) and the * largest size permitted by the IP layer" (RFC 1122) * Setting this to 1 enables code that checks TCP_MSS against the MTU of the * netif used for a connection and limits the MSS if it would be too big otherwise. */#ifndef TCP_CALCULATE_EFF_SEND_MSS#define TCP_CALCULATE_EFF_SEND_MSS      1#endif/** * TCP_SND_BUF: TCP sender buffer space (bytes).  */#ifndef TCP_SND_BUF#define TCP_SND_BUF                     256#endif/** * TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least * as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. */#ifndef TCP_SND_QUEUELEN#define TCP_SND_QUEUELEN                ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS))#endif/** * TCP_SNDLOWAT: TCP writable space (bytes). This must be less than * TCP_SND_BUF. It is the amount of space which must be available in the * TCP snd_buf for select to return writable (combined with TCP_SNDQUEUELOWAT). */#ifndef TCP_SNDLOWAT#define TCP_SNDLOWAT                    ((TCP_SND_BUF)/2)#endif/** * TCP_SNDQUEUELOWAT: TCP writable bufs (pbuf count). This must be grater * than TCP_SND_QUEUELEN. If the number of pbufs queued on a pcb drops below * this number, select returns writable (combined with TCP_SNDLOWAT). */#ifndef TCP_SNDQUEUELOWAT#define TCP_SNDQUEUELOWAT               ((TCP_SND_QUEUELEN)/2)#endif/** * TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb. */#ifndef TCP_LISTEN_BACKLOG#define TCP_LISTEN_BACKLOG              0#endif/** * The maximum allowed backlog for TCP listen netconns. * This backlog is used unless another is explicitly specified. * 0xff is the maximum (u8_t). */#ifndef TCP_DEFAULT_LISTEN_BACKLOG#define TCP_DEFAULT_LISTEN_BACKLOG      0xff#endif/** * TCP_OVERSIZE: The maximum number of bytes that tcp_write may * allocate ahead of time in an attempt to create shorter pbuf chains * for transmission. The meaningful range is 0 to TCP_MSS. Some * suggested values are: * * 0:         Disable oversized allocation. Each tcp_write() allocates a new              pbuf (old behaviour). * 1:         Allocate size-aligned pbufs with minimal excess. Use this if your *            scatter-gather DMA requires aligned fragments. * 128:       Limit the pbuf/memory overhead to 20%. * TCP_MSS:   Try to create unfragmented TCP packets. * TCP_MSS/4: Try to create 4 fragments or less per TCP packet. */#ifndef TCP_OVERSIZE#define TCP_OVERSIZE                    TCP_MSS#endif/** * LWIP_TCP_TIMESTAMPS==1: support the TCP timestamp option. */#ifndef LWIP_TCP_TIMESTAMPS#define LWIP_TCP_TIMESTAMPS             0#endif/**

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -