aboutsummaryrefslogtreecommitdiff
path: root/listpool/src/listpool.c
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2023-01-23 18:32:49 -0800
committer3gg <3gg@shellblade.net>2023-01-23 18:32:49 -0800
commit470a25323ca89ffa3b0b697aeddcf184d12a1382 (patch)
treec5076734e0154d5a3189105f61dc5f9a526a8e07 /listpool/src/listpool.c
parentf5b77325c44649bb92fa379b7df77c275f3925dc (diff)
Update listpool's interface to be on par with mempool's.
Diffstat (limited to 'listpool/src/listpool.c')
-rw-r--r--listpool/src/listpool.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/listpool/src/listpool.c b/listpool/src/listpool.c
index 8e49f32..758062c 100644
--- a/listpool/src/listpool.c
+++ b/listpool/src/listpool.c
@@ -77,3 +77,16 @@ void listpool_free_(listpool* pool, void** block_ptr) {
77 77
78 *block_ptr = 0; 78 *block_ptr = 0;
79} 79}
80
81void* listpool_get_block_(const listpool* pool, size_t block_index) {
82 assert(pool);
83 assert(block_index < pool->num_blocks);
84 return pool->blocks + block_index * pool->block_size_bytes;
85}
86
87size_t listpool_get_block_index_(const listpool* pool, const void* block) {
88 assert(pool);
89 const size_t block_byte_index = (const uint8_t*)block - pool->blocks;
90 assert(block_byte_index % pool->block_size_bytes == 0);
91 return block_byte_index / pool->block_size_bytes;
92}