malloc/my_recycler/my_recycler.h
Guillem George d0bd16da2f '
2025-11-04 14:38:36 +01:00

24 lines
620 B
C

#ifndef MY_RECYCLER_H
#define MY_RECYCLER_H
#include <stddef.h>
struct recycler
{
size_t block_size; // size of a block
size_t capacity; // number of blocks in the chunk
void *chunk; // memory chunk containing all blocks
void *free; // address of the first free block of the free list
};
struct free_list
{
struct free_list *next; // next free block
};
struct recycler *recycler_create(size_t block_size, size_t total_size);
void recycler_destroy(struct recycler *r);
void *recycler_allocate(struct recycler *r);
void recycler_free(struct recycler *r, void *block);
#endif /* ! MY_RECYCLER_H */