A version of LWIP, provided for backwards compatibility.
Dependents: AA_DemoBoard DemoBoard HelloServerDemo DemoBoard_RangeIndicator ... more
Dynamic pool memory manager. More...
Go to the source code of this file.
Functions | |
static int | memp_sanity (void) |
Check that memp-lists don't form a circle. | |
static void | memp_overflow_check_element (struct memp *p, u16_t memp_size) |
Check if a memp element was victim of an overflow (e.g. | |
static void | memp_overflow_check_all (void) |
Do an overflow check for all elements in every pool. | |
static void | memp_overflow_init (void) |
Initialize the restricted areas of all memp elements in every pool. | |
void | memp_init (void) |
Initialize this module. | |
void * | memp_malloc (memp_t type) memp_malloc_fn(memp_t type |
Get an element from a specific pool. | |
void | memp_free (memp_t type, void *mem) |
Put an element back into its pool. | |
Variables | |
static struct memp * | memp_tab [MEMP_MAX] |
This array holds the first free element of each pool. | |
static const u16_t | memp_sizes [MEMP_MAX] |
This array holds the element sizes of each pool. | |
static const u16_t | memp_num [MEMP_MAX] |
This array holds the number of elements in each pool. | |
static const char * | memp_desc [MEMP_MAX] |
This array holds a textual description of each pool. | |
static u8_t | memp_memory [MEM_ALIGNMENT-1#define LWIP_MEMPOOL(name, num, size, desc)+((num)*(MEMP_SIZE+MEMP_ALIGN_SIZE(size)))#include"lwip/memp_std.h"] |
This is the actual memory used by the pools. |
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 tag/7/Core/lwIP/core/memp.c.
Function Documentation
void memp_free | ( | memp_t | type, |
void * | mem | ||
) |
Put an element back into its pool.
- Parameters:
-
type the pool where to put mem mem the memp element to free
Definition at line 352 of file tag/7/Core/lwIP/core/memp.c.
void memp_init | ( | void | ) |
Initialize this module.
Carves out memp_memory into linked lists for each pool-type.
Definition at line 260 of file tag/7/Core/lwIP/core/memp.c.
void* memp_malloc | ( | memp_t | type ) |
Get an element from a specific pool.
- Parameters:
-
type the pool to get an element from
the debug version has two more parameters:
- Parameters:
-
file file name calling this function line number of line where this function is called
- Returns:
- a pointer to the allocated memory or a NULL pointer on error
memp_overflow_check_all | ( | void | ) | [static] |
Do an overflow check for all elements in every pool.
- See also:
- memp_overflow_check_element for a description of the check
Definition at line 211 of file tag/7/Core/lwIP/core/memp.c.
static void memp_overflow_check_element | ( | struct memp * | p, |
u16_t | memp_size | ||
) | [static] |
Check if a memp element was victim of an overflow (e.g.
the restricted area after it has been altered)
- Parameters:
-
p the memp element to check memp_size the element size of the pool p comes from
Definition at line 183 of file tag/7/Core/lwIP/core/memp.c.
static void memp_overflow_init | ( | void | ) | [static] |
Initialize the restricted areas of all memp elements in every pool.
Definition at line 230 of file tag/7/Core/lwIP/core/memp.c.
static int memp_sanity | ( | void | ) | [static] |
Check that memp-lists don't form a circle.
Definition at line 156 of file tag/7/Core/lwIP/core/memp.c.
Variable Documentation
const char* memp_desc[MEMP_MAX] [static] |
{ #define LWIP_MEMPOOL(name,num,size,desc) (desc), #include "lwip/memp_std.h" }
This array holds a textual description of each pool.
Definition at line 139 of file tag/7/Core/lwIP/core/memp.c.
u8_t memp_memory[MEM_ALIGNMENT-1#define LWIP_MEMPOOL(name, num, size, desc)+((num)*(MEMP_SIZE+MEMP_ALIGN_SIZE(size)))#include"lwip/memp_std.h"] [static] |
This is the actual memory used by the pools.
Definition at line 149 of file tag/7/Core/lwIP/core/memp.c.
const u16_t memp_num[MEMP_MAX] [static] |
{ #define LWIP_MEMPOOL(name,num,size,desc) (num), #include "lwip/memp_std.h" }
This array holds the number of elements in each pool.
Definition at line 132 of file tag/7/Core/lwIP/core/memp.c.
const u16_t memp_sizes[MEMP_MAX] [static] |
{ #define LWIP_MEMPOOL(name,num,size,desc) LWIP_MEM_ALIGN_SIZE(size), #include "lwip/memp_std.h" }
This array holds the element sizes of each pool.
Definition at line 124 of file tag/7/Core/lwIP/core/memp.c.
struct memp* memp_tab[MEMP_MAX] [static] |
This array holds the first free element of each pool.
Elements form a linked list.
Definition at line 112 of file tag/7/Core/lwIP/core/memp.c.
Generated on Tue Jul 12 2022 16:06:29 by 1.7.2