LwIP 2.2.1在STM32F407VET6平台 移植
This commit is contained in:
180
ThirdParty/lwip-2.2.1/contrib/ports/unix/posixlib/lwipopts.h
vendored
Normal file
180
ThirdParty/lwip-2.2.1/contrib/ports/unix/posixlib/lwipopts.h
vendored
Normal file
@ -0,0 +1,180 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Joan Lled<65> <jlledom@member.fsf.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
||||
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
* OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef UNIX_LWIP_LWIPOPTS_H
|
||||
#define UNIX_LWIP_LWIPOPTS_H
|
||||
|
||||
/* An OS is present */
|
||||
#define NO_SYS 0
|
||||
|
||||
/* Sockets API config */
|
||||
#define LWIP_COMPAT_SOCKETS 0
|
||||
#define LWIP_SOCKET_OFFSET 1
|
||||
#define LWIP_POLL 1
|
||||
|
||||
/* User posix socket headers */
|
||||
#define LWIP_SOCKET_EXTERNAL_HEADERS 1
|
||||
#define LWIP_SOCKET_EXTERNAL_HEADER_SOCKETS_H "posix/sockets.h"
|
||||
#define LWIP_SOCKET_EXTERNAL_HEADER_INET_H "posix/inet.h"
|
||||
#define LWIP_DONT_PROVIDE_BYTEORDER_FUNCTIONS 1
|
||||
|
||||
/* Use Glibc malloc()/free() */
|
||||
#define MEM_LIBC_MALLOC 1
|
||||
#define MEMP_MEM_MALLOC 1
|
||||
#define MEM_USE_POOLS 0
|
||||
|
||||
/* Only send complete packets to the device */
|
||||
#define LWIP_NETIF_TX_SINGLE_PBUF 1
|
||||
|
||||
/* Randomize local ports */
|
||||
#define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 1
|
||||
|
||||
/* Glibc sends more than one packet in a row during an ARP resolution */
|
||||
#define ARP_QUEUEING 1
|
||||
#define ARP_QUEUE_LEN 10
|
||||
|
||||
/*
|
||||
* Activate loopback, but don't use lwip's default loopback interface,
|
||||
* we provide our own.
|
||||
*/
|
||||
#define LWIP_NETIF_LOOPBACK 1
|
||||
#define LWIP_HAVE_LOOPIF 0
|
||||
|
||||
/* IPv4 stuff */
|
||||
#define IP_FORWARD 1
|
||||
|
||||
/* SLAAC support and other IPv6 stuff */
|
||||
#define LWIP_IPV6_DUP_DETECT_ATTEMPTS 1
|
||||
#define LWIP_IPV6_SEND_ROUTER_SOLICIT 1
|
||||
#define LWIP_IPV6_AUTOCONFIG 1
|
||||
#define LWIP_IPV6_FORWARD 1
|
||||
#define MEMP_NUM_MLD6_GROUP 16
|
||||
#define LWIP_IPV6_NUM_ADDRESSES 6
|
||||
#define IPV6_FRAG_COPYHEADER 1
|
||||
|
||||
/* TCP tuning */
|
||||
#define TCP_MSS 1460
|
||||
#define TCP_WND 0xFFFF
|
||||
#define LWIP_WND_SCALE 1
|
||||
#define TCP_RCV_SCALE 0x1
|
||||
#define TCP_SND_BUF TCP_WND
|
||||
|
||||
/* Throughput settings */
|
||||
#define LWIP_CHECKSUM_ON_COPY 1
|
||||
|
||||
/* Disable stats */
|
||||
#define LWIP_STATS 0
|
||||
#define LWIP_STATS_DISPLAY 0
|
||||
|
||||
/* Enable all socket operations */
|
||||
#define LWIP_TCP_KEEPALIVE 1
|
||||
#define LWIP_SO_SNDTIMEO 1
|
||||
#define LWIP_SO_RCVTIMEO 1
|
||||
#define LWIP_SO_RCVBUF 1
|
||||
#define LWIP_SO_LINGER 1
|
||||
#define SO_REUSE 1
|
||||
#define LWIP_MULTICAST_TX_OPTIONS 1
|
||||
|
||||
/* Enable modules */
|
||||
#define LWIP_ARP 1
|
||||
#define LWIP_ETHERNET 1
|
||||
#define LWIP_IPV4 1
|
||||
#define LWIP_ICMP 1
|
||||
#define LWIP_IGMP 1
|
||||
#define LWIP_RAW 1
|
||||
#define LWIP_UDP 1
|
||||
#define LWIP_UDPLITE 1
|
||||
#define LWIP_TCP 1
|
||||
#define LWIP_IPV6 1
|
||||
#define LWIP_ICMP6 1
|
||||
#define LWIP_IPV6_MLD 1
|
||||
|
||||
/* Don't abort the whole stack when an error is detected */
|
||||
#define LWIP_NOASSERT_ON_ERROR 1
|
||||
|
||||
/* Threading options */
|
||||
#define LWIP_TCPIP_CORE_LOCKING 1
|
||||
|
||||
/* If the system is 64 bit */
|
||||
#if defined __LP64__
|
||||
#define MEM_ALIGNMENT 8
|
||||
#else
|
||||
#define MEM_ALIGNMENT 4
|
||||
#endif
|
||||
|
||||
#if !NO_SYS
|
||||
void sys_check_core_locking(void);
|
||||
#define LWIP_ASSERT_CORE_LOCKED() sys_check_core_locking()
|
||||
#if 0
|
||||
void sys_mark_tcpip_thread(void);
|
||||
#define LWIP_MARK_TCPIP_THREAD() sys_mark_tcpip_thread()
|
||||
|
||||
#if LWIP_TCPIP_CORE_LOCKING
|
||||
void sys_lock_tcpip_core(void);
|
||||
#define LOCK_TCPIP_CORE() sys_lock_tcpip_core()
|
||||
void sys_unlock_tcpip_core(void);
|
||||
#define UNLOCK_TCPIP_CORE() sys_unlock_tcpip_core()
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Debug mode */
|
||||
#ifdef LWIP_DEBUG
|
||||
#define ETHARP_DEBUG LWIP_DBG_OFF
|
||||
#define NETIF_DEBUG LWIP_DBG_OFF
|
||||
#define PBUF_DEBUG LWIP_DBG_OFF
|
||||
#define API_LIB_DEBUG LWIP_DBG_OFF
|
||||
#define API_MSG_DEBUG LWIP_DBG_OFF
|
||||
#define SOCKETS_DEBUG LWIP_DBG_OFF
|
||||
#define ICMP_DEBUG LWIP_DBG_OFF
|
||||
#define IGMP_DEBUG LWIP_DBG_OFF
|
||||
#define INET_DEBUG LWIP_DBG_OFF
|
||||
#define IP_DEBUG LWIP_DBG_OFF
|
||||
#define IP_REASS_DEBUG LWIP_DBG_OFF
|
||||
#define RAW_DEBUG LWIP_DBG_OFF
|
||||
#define MEM_DEBUG LWIP_DBG_OFF
|
||||
#define MEMP_DEBUG LWIP_DBG_OFF
|
||||
#define SYS_DEBUG LWIP_DBG_OFF
|
||||
#define TIMERS_DEBUG LWIP_DBG_OFF
|
||||
#define TCP_DEBUG LWIP_DBG_OFF
|
||||
#define TCP_INPUT_DEBUG LWIP_DBG_OFF
|
||||
#define TCP_FR_DEBUG LWIP_DBG_OFF
|
||||
#define TCP_RTO_DEBUG LWIP_DBG_OFF
|
||||
#define TCP_CWND_DEBUG LWIP_DBG_OFF
|
||||
#define TCP_WND_DEBUG LWIP_DBG_OFF
|
||||
#define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
|
||||
#define TCP_RST_DEBUG LWIP_DBG_OFF
|
||||
#define TCP_QLEN_DEBUG LWIP_DBG_OFF
|
||||
#define UDP_DEBUG LWIP_DBG_OFF
|
||||
#define TCPIP_DEBUG LWIP_DBG_OFF
|
||||
#define SLIP_DEBUG LWIP_DBG_OFF
|
||||
#define DHCP_DEBUG LWIP_DBG_OFF
|
||||
#define AUTOIP_DEBUG LWIP_DBG_OFF
|
||||
#define DNS_DEBUG LWIP_DBG_OFF
|
||||
#define IP6_DEBUG LWIP_DBG_OFF
|
||||
#endif
|
||||
|
||||
#endif /* UNIX_LWIP_LWIPOPTS_H */
|
||||
Reference in New Issue
Block a user