ReactOS 0.4.15-dev-8632-gbc8c7d1
|
#include "lwip/opt.h"
#include "lwip/memp.h"
#include "lwip/pbuf.h"
#include "lwip/udp.h"
#include "lwip/raw.h"
#include "lwip/tcp_impl.h"
#include "lwip/igmp.h"
#include "lwip/api.h"
#include "lwip/api_msg.h"
#include "lwip/tcpip.h"
#include "lwip/sys.h"
#include "lwip/timers.h"
#include "lwip/stats.h"
#include "netif/etharp.h"
#include "lwip/ip_frag.h"
#include "lwip/snmp_structs.h"
#include "lwip/snmp_msg.h"
#include "lwip/dns.h"
#include "netif/ppp_oe.h"
#include <string.h>
#include "lwip/memp_std.h"
Go to the source code of this file.
Classes | |
struct | memp |
Macros | |
#define | MEMP_SIZE 0 |
#define | MEMP_ALIGN_SIZE(x) (LWIP_MEM_ALIGN_SIZE(x)) |
#define | LWIP_MEMPOOL(name, num, size, desc) LWIP_MEM_ALIGN_SIZE(size), |
#define | LWIP_MEMPOOL(name, num, size, desc) (num), |
#define | LWIP_MEMPOOL(name, num, size, desc) + ( (num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size) ) ) |
Functions | |
void | memp_init (void) |
void * | memp_malloc (memp_t type) |
void | memp_free (memp_t type, void *mem) |
Variables | |
static struct memp * | memp_tab [MEMP_MAX] |
static const u16_t | memp_sizes [MEMP_MAX] |
static const u16_t | memp_num [MEMP_MAX] |
static u8_t | memp_memory [MEM_ALIGNMENT - 1 #define LWIP_MEMPOOL(name, num, size, desc)] |
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.
Put an element back into its pool.
type | the pool where to put mem |
mem | the memp element to free |
Definition at line 435 of file memp.c.
Referenced by pbuf_free(), tcpip_callback_with_block(), tcpip_callbackmsg_delete(), tcpip_input(), and tcpip_thread().
Initialize this module.
Carves out memp_memory into linked lists for each pool-type.
Definition at line 338 of file memp.c.
Referenced by lwip_init().
Get an element from a specific pool.
type | the pool to get an element from |
the debug version has two more parameters:
file | file name calling this function |
line | number of line where this function is called |
Definition at line 390 of file memp.c.
Referenced by pbuf_alloc(), tcpip_callback_with_block(), tcpip_callbackmsg_new(), and tcpip_input().
|
static |
This array holds a textual description of each pool. This is the actual memory used by the pools (all pools in one big block).
Definition at line 170 of file memp.c.
Referenced by memp_init().
This array holds the number of elements in each pool.
Definition at line 137 of file memp.c.
Referenced by memp_init().
This array holds the element sizes of each pool.
Definition at line 129 of file memp.c.
Referenced by memp_init().
This array holds the first free element of each pool. Elements form a linked list.
Definition at line 117 of file memp.c.
Referenced by memp_free(), memp_init(), and memp_malloc().