Data Fields | |
unsigned long | magic |
mp_chunk_t * | next |
mp_chunk_t * | prev |
mp_pool_t * | pool |
mp_allocated_t * | first_free |
int | n_allocated |
int | capacity |
size_t | mem_size |
char * | next_mem |
char | mem [1] |
unsigned long mp_chunk_t::magic |
Must be MP_CHUNK_MAGIC if this chunk is valid.
Referenced by mp_pool_clean(), and mp_pool_release().
The next free, used, or full chunk in sequence.
Referenced by mp_pool_clean(), mp_pool_get(), mp_pool_log_status(), and mp_pool_release().
The previous free, used, or full chunk in sequence.
Referenced by mp_pool_get(), and mp_pool_release().
The pool that this chunk is part of.
Referenced by mp_pool_release().
First free item in the freelist for this chunk. Note that this may be NULL even if this chunk is not at capacity: if so, the free memory at next_mem has not yet been carved into items.
Referenced by mp_pool_get(), and mp_pool_release().
Number of currently allocated items in this chunk.
Referenced by mp_pool_get(), mp_pool_log_status(), and mp_pool_release().
Number of items that can be fit into this chunk.
Referenced by mp_pool_get(), and mp_pool_release().
size_t mp_chunk_t::mem_size |
Number of usable bytes in mem.
Referenced by mp_pool_get(), and mp_pool_log_status().
char* mp_chunk_t::next_mem |
Pointer into part of mem not yet carved up.
Referenced by mp_pool_get(), and mp_pool_release().
char mp_chunk_t::mem[1] |
Storage for this chunk. (Not actual size.)
Referenced by mp_pool_get(), and mp_pool_release().