| Contiki-Inga 3.x
    | 
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. | |
| Macros | |
| #define | MEMB(name, structure, num) | 
| Declare a memory block.  More... | |
| Functions | |
| void | memb_init (struct memb *m) | 
| Initialize a memory block that was declared with MEMB().  More... | |
| void * | memb_alloc (struct memb *m) | 
| Allocate a memory block from a block of memory declared with MEMB().  More... | |
| char | memb_free (struct memb *m, void *ptr) | 
| Deallocate a memory block from a memory block previously declared with MEMB().  More... | |
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.
| #define MEMB | ( | name, | |
| structure, | |||
| num | |||
| ) | 
Declare a memory block.
This macro is used to statically declare a block of memory that can be used by the block allocation functions. The macro statically declares a C array with a size that matches the specified number of blocks and their individual sizes.
Example:
| name | The name of the memory block (later used with memb_init(), memb_alloc() and memb_free()). | 
| structure | The name of the struct that the memory block holds | 
| num | The total number of memory chunks in the block. | 
| void * memb_alloc | ( | struct memb * | m | ) | 
Allocate a memory block from a block of memory declared with MEMB().
| m | A memory block previously declared with MEMB(). | 
Definition at line 59 of file memb.c.
References NULL.
Referenced by packetqueue_enqueue_packetbuf(), uip_ds6_defrt_add(), and uip_ds6_route_add().
| char memb_free | ( | struct memb * | m, | 
| void * | ptr | ||
| ) | 
Deallocate a memory block from a memory block previously declared with MEMB().
| m | m A memory block previously declared with MEMB(). | 
| ptr | A pointer to the memory block that is to be deallocated. | 
Definition at line 79 of file memb.c.
Referenced by packetqueue_dequeue(), packetqueue_enqueue_packetbuf(), uip_ds6_defrt_rm(), uip_ds6_route_add(), and uip_ds6_route_rm().
| void memb_init | ( | struct memb * | m | ) | 
Initialize a memory block that was declared with MEMB().
| m | A memory block previously declared with MEMB(). | 
Definition at line 52 of file memb.c.
Referenced by packetqueue_init(), uip_ds6_route_init(), and uip_mcast6_route_init().
 1.8.3.1
 1.8.3.1