sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
memp.c File Reference
#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/altcp.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/priv/sockets_priv.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)
#define LWIP_MEMPOOL(name, num, size, desc)
#define LWIP_MALLOC_MEMPOOL(num, size)
#define LWIP_MALLOC_MEMPOOL_START
#define LWIP_MALLOC_MEMPOOL_END
#define LWIP_PBUF_MEMPOOL(name, num, payload, desc)

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]

Detailed Description

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.

Macro Definition Documentation

◆ LWIP_MALLOC_MEMPOOL

#define LWIP_MALLOC_MEMPOOL ( num,
size )
Value:
LWIP_MEMPOOL(POOL_##size, num, (size + LWIP_MEM_ALIGN_SIZE(sizeof(struct memp_malloc_helper))), "MALLOC_"#size)
#define LWIP_MEM_ALIGN_SIZE(size)
Definition arch.h:279

◆ LWIP_MEMPOOL [1/2]

#define LWIP_MEMPOOL ( name,
num,
size,
desc )
Value:
&memp_ ## name,

Definition at line 78 of file memp.c.

◆ LWIP_MEMPOOL [2/2]

#define LWIP_MEMPOOL ( name,
num,
size,
desc )
Value:
LWIP_MEMPOOL_DECLARE(name,num,size,desc)
#define LWIP_MEMPOOL_DECLARE(name, num, size, desc)
Definition memp.h:95

Definition at line 78 of file memp.c.

◆ LWIP_PBUF_MEMPOOL

#define LWIP_PBUF_MEMPOOL ( name,
num,
payload,
desc )
Value:
LWIP_MEMPOOL(name, num, (LWIP_MEM_ALIGN_SIZE(sizeof(struct pbuf)) + LWIP_MEM_ALIGN_SIZE(payload)), desc)
Definition tcpip.h:234

Function Documentation

◆ memp_free()

void memp_free ( memp_t type,
void * mem )

Put an element back into its pool.

Parameters
typethe pool where to put mem
memthe memp element to free

Definition at line 420 of file memp.c.

◆ memp_free_pool()

void memp_free_pool ( const struct memp_desc * desc,
void * mem )

Put a custom pool element back into its pool.

Parameters
descthe pool where to put mem
memthe memp element to free

Definition at line 403 of file memp.c.

◆ memp_init()

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 224 of file memp.c.

◆ memp_init_pool()

void memp_init_pool ( const struct memp_desc * desc)

Initialize custom memory pool. Related functions: memp_malloc_pool, memp_free_pool

Parameters
descpool to initialize

Definition at line 175 of file memp.c.

◆ memp_malloc()

void * memp_malloc ( memp_t type)

Get an element from a specific pool.

Parameters
typethe pool to get an element from
Returns
a pointer to the allocated memory or a NULL pointer on error

Definition at line 337 of file memp.c.

◆ memp_malloc_pool()

void * memp_malloc_pool ( const struct memp_desc * desc)

Get an element from a custom pool.

Parameters
descthe pool to get an element from
Returns
a pointer to the allocated memory or a NULL pointer on error

Definition at line 311 of file memp.c.

Variable Documentation

◆ memp_pools

const struct memp_desc* const memp_pools[MEMP_MAX]

Definition at line 81 of file memp.c.