20 #ifndef LWIP_MALLOC_MEMPOOL 23 #define LWIP_MALLOC_MEMPOOL(num, size) LWIP_MEMPOOL(POOL_##size, num, (size + LWIP_MEM_ALIGN_SIZE(sizeof(struct memp_malloc_helper))), "MALLOC_"#size) 24 #define LWIP_MALLOC_MEMPOOL_START 25 #define LWIP_MALLOC_MEMPOOL_END 28 #ifndef LWIP_PBUF_MEMPOOL 31 #define LWIP_PBUF_MEMPOOL(name, num, payload, desc) LWIP_MEMPOOL(name, num, (LWIP_MEM_ALIGN_SIZE(sizeof(struct pbuf)) + LWIP_MEM_ALIGN_SIZE(payload)), desc) 55 #if LWIP_ALTCP && LWIP_TCP 59 #if LWIP_IPV4 && IP_REASSEMBLY 62 #if (IP_FRAG && !LWIP_NETIF_TX_SINGLE_PBUF) || (LWIP_IPV6 && LWIP_IPV6_FRAG) 63 LWIP_MEMPOOL(FRAG_PBUF,
MEMP_NUM_FRAG_PBUF,
sizeof(
struct pbuf_custom_ref),
"FRAG_PBUF")
66 #if LWIP_NETCONN || LWIP_SOCKET 73 #if LWIP_MPU_COMPATIBLE 78 #if LWIP_SOCKET && !LWIP_TCPIP_CORE_LOCKING 81 #if LWIP_SOCKET && (LWIP_SOCKET_SELECT || LWIP_SOCKET_POLL) 82 LWIP_MEMPOOL(SELECT_CB,
MEMP_NUM_SELECT_CB,
sizeof(
struct lwip_select_cb),
"SELECT_CB")
88 #if !LWIP_TCPIP_CORE_LOCKING_INPUT 93 #if LWIP_IPV4 && LWIP_ARP && ARP_QUEUEING 94 LWIP_MEMPOOL(ARP_QUEUE,
MEMP_NUM_ARP_QUEUE,
sizeof(
struct etharp_q_entry),
"ARP_QUEUE")
101 #if LWIP_TIMERS && !LWIP_TIMERS_CUSTOM 105 #if LWIP_DNS && LWIP_SOCKET 108 #if LWIP_DNS && DNS_LOCAL_HOSTLIST && DNS_LOCAL_HOSTLIST_IS_DYNAMIC 112 #if LWIP_IPV6 && LWIP_ND6_QUEUEING 116 #if LWIP_IPV6 && LWIP_IPV6_REASS 117 LWIP_MEMPOOL(IP6_REASSDATA,
MEMP_NUM_REASSDATA,
sizeof(
struct ip6_reassdata),
"IP6_REASSDATA")
120 #if LWIP_IPV6 && LWIP_IPV6_MLD 141 #if MEMP_USE_CUSTOM_POOLS 142 #include "lwippools.h" 150 #undef LWIP_MALLOC_MEMPOOL 151 #undef LWIP_MALLOC_MEMPOOL_START 152 #undef LWIP_MALLOC_MEMPOOL_END 153 #undef LWIP_PBUF_MEMPOOL #define MEMP_NUM_TCPIP_MSG_API
MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used for callback/timeout API commu...
#define MEMP_NUM_TCP_SEG
MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments.
#define MEMP_NUM_SELECT_CB
MEMP_NUM_SELECT_CB: the number of struct lwip_select_cb.
#define MEMP_NUM_ALTCP_PCB
MEMP_NUM_ALTCP_PCB: the number of simultaneously active altcp layer pcbs.
#define MEMP_NUM_ARP_QUEUE
MEMP_NUM_ARP_QUEUE: the number of simultaneously queued outgoing packets (pbufs) that are waiting for...
#define MEMP_NUM_REASSDATA
MEMP_NUM_REASSDATA: the number of IP packets simultaneously queued for reassembly (whole packets...
#define MEMP_NUM_DNS_API_MSG
MEMP_NUM_DNS_API_MSG: the number of concurrently active calls to netconn_gethostbyname.
#define MEMP_NUM_UDP_PCB
MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks.
#define MEMP_NUM_PBUF
MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF).
#define MEMP_NUM_FRAG_PBUF
MEMP_NUM_FRAG_PBUF: the number of IP fragments simultaneously sent (fragments, not whole packets!)...
#define MEMP_NUM_API_MSG
MEMP_NUM_API_MSG: the number of concurrently active calls to various socket, netconn, and tcpip functions.
#define PBUF_POOL_SIZE
PBUF_POOL_SIZE: the number of buffers in the pbuf pool.
#define MEMP_NUM_LOCALHOSTLIST
MEMP_NUM_LOCALHOSTLIST: the number of host entries in the local host list if DNS_LOCAL_HOSTLIST_IS_DY...
Main packet buffer struct.
pbuf payload refers to RAM.
#define MEMP_NUM_NETDB
MEMP_NUM_NETDB: the number of concurrently running lwip_addrinfo() calls (before freeing the correspo...
#define MEMP_NUM_NETBUF
MEMP_NUM_NETBUF: the number of struct netbufs.
#define MEMP_NUM_TCPIP_MSG_INPKT
MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used for incoming packets...
#define MEMP_NUM_NETCONN
MEMP_NUM_NETCONN: the number of struct netconns.
#define MEMP_NUM_RAW_PCB
MEMP_NUM_RAW_PCB: Number of raw connection PCBs (requires the LWIP_RAW option)
#define PBUF_POOL_BUFSIZE
PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool.
#define MEMP_NUM_NETIFAPI_MSG
MEMP_NUM_NETIFAPI_MSG: the number of concurrently active calls to the netifapi functions.
#define MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA
MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA: the number of concurrently active calls to getsockopt/setsockopt...
#define MEMP_NUM_IGMP_GROUP
MEMP_NUM_IGMP_GROUP: The number of multicast groups whose network interfaces can be members at the sa...
#define MEMP_NUM_ND6_QUEUE
MEMP_NUM_ND6_QUEUE: Max number of IPv6 packets to queue during MAC resolution.
#define MEMP_NUM_SYS_TIMEOUT
MEMP_NUM_SYS_TIMEOUT: the number of simultaneously active timeouts.
#define MEMP_NUM_MLD6_GROUP
MEMP_NUM_MLD6_GROUP: Max number of IPv6 multicast groups that can be joined.
#define MEMP_NUM_TCP_PCB
MEMP_NUM_TCP_PCB: the number of simultaneously active TCP connections.
#define MEMP_NUM_TCP_PCB_LISTEN
MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections.