The Pedigree Project
0.1
|
#include "lwip/opt.h"
#include "lwip/memp.h"
#include "lwip/sys.h"
#include "lwip/stats.h"
#include <string.h>
#include "lwip/pbuf.h"
#include "lwip/raw.h"
#include "lwip/udp.h"
#include "lwip/tcp.h"
#include "lwip/priv/tcp_priv.h"
#include "lwip/ip4_frag.h"
#include "lwip/netbuf.h"
#include "lwip/api.h"
#include "lwip/priv/tcpip_priv.h"
#include "lwip/priv/api_msg.h"
#include "lwip/sockets.h"
#include "lwip/netifapi.h"
#include "lwip/etharp.h"
#include "lwip/igmp.h"
#include "lwip/timeouts.h"
#include "netif/ppp/ppp_opts.h"
#include "lwip/netdb.h"
#include "lwip/dns.h"
#include "lwip/priv/nd6_priv.h"
#include "lwip/ip6_frag.h"
#include "lwip/mld6.h"
#include "lwip/priv/memp_std.h"
Go to the source code of this file.
Macros | |
#define | LWIP_MEMPOOL(name, num, size, desc) LWIP_MEMPOOL_DECLARE(name,num,size,desc) |
#define | LWIP_MEMPOOL(name, num, size, desc) &memp_ ## name, |
Functions | |
void | memp_init_pool (const struct memp_desc *desc) |
void | memp_init (void) |
void * | memp_malloc_pool (const struct memp_desc *desc) |
void * | memp_malloc (memp_t type) |
void | memp_free_pool (const struct memp_desc *desc, void *mem) |
void | memp_free (memp_t type, void *mem) |
Variables | |
const struct memp_desc *const | memp_pools [MEMP_MAX] |
Dynamic pool memory manager
lwIP has dedicated pools for many structures (netconn, protocol control blocks, packet buffers, ...). All these pools are managed here.
Definition in file memp.c.
void memp_free | ( | memp_t | type, |
void * | mem | ||
) |
Put an element back into its pool.
type | the pool where to put mem |
mem | the memp element to free |
Definition at line 488 of file memp.c.
References memp_desc::tab.
Referenced by pbuf_free(), tcpip_callback_with_block(), tcpip_callbackmsg_delete(), and tcpip_inpkt().
void memp_free_pool | ( | const struct memp_desc * | desc, |
void * | mem | ||
) |
void memp_init | ( | void | ) |
Initializes lwIP built-in pools. Related functions: memp_malloc, memp_free
Carves out memp_memory into linked lists for each pool-type.
Definition at line 290 of file memp.c.
References LWIP_DBG_LEVEL_SERIOUS, LWIP_DEBUGF, mem_malloc(), MEMP_DEBUG, memp_init_pool(), memp_desc::size, SYS_ARCH_DECL_PROTECT, and memp_desc::tab.
Referenced by lwip_init().
void memp_init_pool | ( | const struct memp_desc * | desc | ) |
Initialize custom memory pool. Related functions: memp_malloc_pool, memp_free_pool
desc | pool to initialize |
Definition at line 249 of file memp.c.
References memp_desc::base, LWIP_MEM_ALIGN, LWIP_UNUSED_ARG, MEMP_OVERFLOW_CHECK, memp_desc::num, memp_desc::size, and memp_desc::tab.
Referenced by memp_init().
void* memp_malloc | ( | memp_t | type | ) |
Get an element from a specific pool.
type | the pool to get an element from |
Definition at line 404 of file memp.c.
References LWIP_UNUSED_ARG, mem_free(), SYS_ARCH_DECL_PROTECT, and memp_desc::tab.
Referenced by pbuf_alloc(), tcpip_callback_with_block(), tcpip_callbackmsg_new(), and tcpip_inpkt().
void* memp_malloc_pool | ( | const struct memp_desc * | desc | ) |