Classes | Defines | Functions

alexb/lib/lwip/contrib/src/core/memp.c File Reference

Dynamic pool memory manager. More...

#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"

Classes

struct  memp

Defines

#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)
 Initialize this module.
void * memp_malloc (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.

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.


Define Documentation

#define LWIP_MEMPOOL (   name,
  num,
  size,
  desc 
)    LWIP_MEM_ALIGN_SIZE(size),
#define LWIP_MEMPOOL (   name,
  num,
  size,
  desc 
)    + ( (num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size) ) )
#define LWIP_MEMPOOL (   name,
  num,
  size,
  desc 
)    (num),
#define MEMP_ALIGN_SIZE (   x  )     (LWIP_MEM_ALIGN_SIZE(x))
#define MEMP_SIZE   0

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
void memp_init ( void   ) 

Initialize this module.

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

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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines