uIP 1.0 based webserver for LPC1114 + ENC28J60

Dependencies:   mbed TMP102

Embed: (wiki syntax)

« Back to documentation index

Memory block management functions

Memory block management functions

The memory block allocation routines provide a simple yet powerful set of functions for managing a set of memory blocks of fixed size. More...

Files

file  memb.c
 

Memory block allocation routines.


file  memb.h
 

Memory block allocation routines.


Functions

void memb_init (struct memb_blocks *m)
 Initialize a memory block that was declared with MEMB().
void * memb_alloc (struct memb_blocks *m)
 Allocate a memory block from a block of memory declared with MEMB().
char memb_free (struct memb_blocks *m, void *ptr)
 Deallocate a memory block from a memory block previously declared with MEMB().

Detailed Description

The memory block allocation routines provide a simple yet powerful set of functions for managing a set of memory blocks of fixed size.

A set of memory blocks is statically declared with the MEMB() macro. Memory blocks are allocated from the declared memory by the memb_alloc() function, and are deallocated with the memb_free() function.

Note:
Because of namespace clashes only one MEMB() can be declared per C module, and the name scope of a MEMB() memory block is local to each C module.

The following example shows how to declare and use a memory block called "cmem" which has 8 chunks of memory with each memory chunk being 20 bytes large.


Function Documentation

void * memb_alloc ( struct memb_blocks *  m )

Allocate a memory block from a block of memory declared with MEMB().

Parameters:
mA memory block previosly declared with MEMB().

Definition at line 59 of file memb.c.

char memb_free ( struct memb_blocks *  m,
void *  ptr 
)

Deallocate a memory block from a memory block previously declared with MEMB().

Parameters:
mm A memory block previosly declared with MEMB().
ptrA pointer to the memory block that is to be deallocated.
Returns:
The new reference count for the memory block (should be 0 if successfully deallocated) or -1 if the pointer "ptr" did not point to a legal memory block.

Definition at line 79 of file memb.c.

void memb_init ( struct memb_blocks *  m )

Initialize a memory block that was declared with MEMB().

Parameters:
mA memory block previosly declared with MEMB().

Definition at line 52 of file memb.c.