Memory Pool
Create a pool of memory blocks
|
#include <stdlib.h>
#include <stdbool.h>
Go to the source code of this file.
Typedefs | |
typedef struct memory_pool | memory_pool_t |
Functions | |
memory_pool_t * | memory_pool_init (size_t count, size_t block_size) |
memory pool initializer More... | |
bool | memory_pool_destroy (memory_pool_t *mp) |
void * | memory_pool_acquire (memory_pool_t *mp) |
memory pool pop function More... | |
bool | memory_pool_release (memory_pool_t *mp, void *data) |
memory pool push function More... | |
size_t | memory_pool_available (memory_pool_t *mp) |
memory pool availability function More... | |
void | memory_pool_dump (memory_pool_t *mp) |
memory pool dump function More... | |
typedef struct memory_pool memory_pool_t |
Definition at line 23 of file memory_pool.h.
void* memory_pool_acquire | ( | memory_pool_t * | mp | ) |
memory pool pop function
mp | a pointer to a memory pool object |
Definition at line 214 of file memory_pool.c.
size_t memory_pool_available | ( | memory_pool_t * | mp | ) |
memory pool availability function
mp | a pointer to a memory pool object |
Definition at line 293 of file memory_pool.c.
bool memory_pool_destroy | ( | memory_pool_t * | mp | ) |
Definition at line 154 of file memory_pool.c.
void memory_pool_dump | ( | memory_pool_t * | mp | ) |
memory pool dump function
mp | a pointer to a memory pool object |
Iterates through all free data blocks in memory pool, printing metadata about each to user.
Definition at line 310 of file memory_pool.c.
memory_pool_t* memory_pool_init | ( | size_t | count, |
size_t | block_size | ||
) |
memory pool initializer
count | number of nodes (headers) in pool |
block_size | size of each data block pointed to by nodes |
Allocates one memory pool struct and count
number of memory pool block and header combinations. Also allocates memory for count
number of pointers in shadow
pointer array.
out of memory
Definition at line 90 of file memory_pool.c.
bool memory_pool_release | ( | memory_pool_t * | mp, |
void * | data | ||
) |
memory pool push function
mp | a pointer to a memory pool object |
data | a pointer to a data block with attached header |
Definition at line 253 of file memory_pool.c.