25typedef void* (*bj_malloc_fn)(
42typedef void* (*bj_realloc_fn)(
General-purpose definitions for Banjo API.
#define BANJO_EXPORT
Definition api.h:155
void * user_data
General purpose context data.
Definition memory.h:72
bj_free_fn fn_free
Deallocation function pointer.
Definition memory.h:75
bj_realloc_fn fn_reallocation
Reallocation function pointer.
Definition memory.h:74
bj_malloc_fn fn_allocation
Allocation function pointer.
Definition memory.h:73
void * bj_realloc(void *memory, size_t size)
Reallocate a memory block to a new size.
void * bj_calloc(size_t size)
Allocate size bytes of zero-initialized memory.
void * bj_memmove(void *dest, const void *src, size_t mem_size)
Move mem_size bytes from src to dest.
void bj_memset(void *dest, uint8_t value, size_t mem_size)
Fill mem_size bytes at dest with value.
void bj_unset_memory_defaults(void)
Reset the global default allocators to system defaults.
int bj_memcmp(const void *block_a, const void *block_b, size_t size)
Compare two memory blocks.
void * bj_malloc(size_t size)
Allocate size bytes of memory.
void(* bj_free_fn)(void *user_data, void *memory)
Memory free callback.
Definition memory.h:57
void bj_free(void *memory)
Free a previously allocated memory block.
void bj_memzero(void *dest, size_t mem_size)
Zero out mem_size bytes at dest.
void bj_set_memory_defaults(const struct bj_memory_callbacks *allocator)
Set the global default memory allocators.
void * bj_memcpy(void *dest, const void *src, size_t mem_size)
Copy mem_size bytes from src to dest.
void *(* bj_malloc_fn)(void *user_data, size_t size)
Memory allocation callback.
Definition memory.h:25
void *(* bj_realloc_fn)(void *user_data, void *original, size_t size)
Memory reallocation callback.
Definition memory.h:42
Custom allocation callbacks.
Definition memory.h:71