URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [uIP_Demo_Rowley_ARM7/] [uip/] [memb.h] - Rev 583
Compare with Previous | Blame | View Log
/** * \addtogroup exampleapps * @{ */ /** * \file * Memory block allocation routines. * \author Adam Dunkels <adam@sics.se> * */ #ifndef __MEMB_H__ #define __MEMB_H__ /** * Declare a memory block. * * \param name The name of the memory block (later used with * memb_init(), memb_alloc() and memb_free()). * * \param size The size of each memory chunk, in bytes. * * \param num The total number of memory chunks in the block. * */ #define MEMB(name, size, num) \ static char memb_mem[(size + 1) * num]; \ static struct memb_blocks name = {size, num, memb_mem} struct memb_blocks { unsigned short size; unsigned short num; char *mem; }; void memb_init(struct memb_blocks *m); char *memb_alloc(struct memb_blocks *m); char memb_ref(struct memb_blocks *m, char *ptr); char memb_free(struct memb_blocks *m, char *ptr); #endif /* __MEMB_H__ */