#ifndef INCLUDED_C_POOL_H #define INCLUDED_C_POOL_H #ifndef INCLUDED_C_TYPES_H #include #endif /*INCLUDED_C_TYPES_H*/ /* ------------------------------------------------------------------------------------------------------------------ */ /* */ typedef struct c_PoolBlockList_t c_PoolBlockList_t; typedef struct { c_PoolBlockList_t* blockAllocator; int objSize; int chunkSize; c_size_t instanceCount; struct c_PoolLink_t{ struct c_PoolLink_t* next;} * freelist; }c_Pool_t; /* ------------------------------------------------------------------------------------------------------------------ */ /* */ c_err_t c_Pool_Init(c_Pool_t* self, int objSize, int chunkSize); void c_Pool_Destroy(c_Pool_t* self); void* c_Pool_Alloc(c_Pool_t* self); void c_Pool_Free(c_Pool_t* self, void* ptr); void c_Pool_DryUp(c_Pool_t* self); #endif /*INCLUDED_C_POOL_H*/