X-Git-Url: https://robinkrens.nl/gitweb/?a=blobdiff_plain;f=include%2Flib%2Fpool.h;h=3ce0d1d16d37a4e2ce27ebd01e3ab0babf66e2c6;hb=0fb50a530c9823ef39a820e1078e0d5789c03f32;hp=9204d36f2f20dea2a3dd6a25f1d913f0bc744a31;hpb=918e9bbf26d44cb0087d35637e2e0f90ca37d7c3;p=cortex-from-scratch diff --git a/include/lib/pool.h b/include/lib/pool.h index 9204d36..3ce0d1d 100644 --- a/include/lib/pool.h +++ b/include/lib/pool.h @@ -1,4 +1,18 @@ /* Fixed size memory pool allocation */ -extern void pool_init(size_t size_arg, unsigned int blocks_arg, uint32_t * entry_SRAM); -extern void * alloc(); -extern void free(void* p); +typedef struct mem_pool mem_pool_t; + +struct mem_pool { + + unsigned short blocks; + unsigned short block_size; + unsigned short free_blocks; + unsigned short blocks_init; + unsigned char * SRAM_entry; + unsigned char * m_next; + +}; + +void pool_init(mem_pool_t *, size_t size_arg, unsigned int blocks_arg, unsigned char * entry_SRAM); +void * alloc(void * s); +void free(void * s, void* p); +void heap_info(void * s);