ConOpSys V2970  P004.07
ANVILEX control operating system
Macros | Enumerations | Functions | Variables
memp.h File Reference
#include "lwip/opt.h"
#include "lwip/priv/memp_std.h"
#include "lwip/priv/memp_priv.h"
#include "lwip/stats.h"
Include dependency graph for memp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define LWIP_MEMPOOL(name, num, size, desc)
 
#define LWIP_MEMPOOL(name, num, size, desc)   MEMP_##name,
 
#define LWIP_MEMPOOL_PROTOTYPE(name)   extern const struct memp_desc memp_ ## name
 
#define LWIP_MEMPOOL_DECLARE(name, num, size, desc)
 
#define LWIP_MEMPOOL_INIT(name)   memp_init_pool(&memp_ ## name)
 
#define LWIP_MEMPOOL_ALLOC(name)   memp_malloc_pool(&memp_ ## name)
 
#define LWIP_MEMPOOL_FREE(name, x)   memp_free_pool(&memp_ ## name, (x))
 

Enumerations

enum  memp_t { MEMP_MAX }
 

Functions

void memp_init (void)
 
void * memp_malloc (memp_t type)
 
void memp_free (memp_t type, void *mem)
 

Variables

const struct memp_desc *const memp_pools [MEMP_MAX]
 

Detailed Description

Memory pool API

Macro Definition Documentation

◆ LWIP_MEMPOOL [1/2]

#define LWIP_MEMPOOL (   name,
  num,
  size,
  desc 
)

◆ LWIP_MEMPOOL [2/2]

#define LWIP_MEMPOOL (   name,
  num,
  size,
  desc 
)    MEMP_##name,

Enumeration Type Documentation

◆ memp_t

enum memp_t

Create the list of all memory pools managed by memp. MEMP_MAX represents a NULL pool at the end

Enumerator
MEMP_MAX 

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

References do_memp_free_pool(), LWIP_ERROR, MEMP_MAX, memp_pools, NULL, and memp_desc::tab.

Referenced by pbuf_free(), tcpip_callbackmsg_delete(), tcpip_inpkt(), tcpip_thread_handle_msg(), and tcpip_try_callback().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ memp_init()

void memp_init ( void  )

initialises lwIP built-in pools. Related functions: memp_malloc, memp_free

Carves out memp_memory into linked lists for each pool-type.

References LWIP_ARRAYSIZE, memp_init_pool(), and memp_pools.

Referenced by lwip_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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

References do_memp_malloc_pool(), LWIP_ERROR, MEMP_MAX, memp_pools, and NULL.

Referenced by pbuf_alloc(), pbuf_alloc_reference(), tcpip_callback(), tcpip_callbackmsg_new(), tcpip_inpkt(), and tcpip_try_callback().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ memp_pools

const struct memp_desc* const memp_pools[MEMP_MAX]
extern

Referenced by memp_free(), memp_init(), and memp_malloc().