Banjo API 0.0.1
Multi-purpose C99 API
Loading...
Searching...
No Matches
memory.h
Go to the documentation of this file.
1
10#pragma once
11
12#include <banjo/api.h>
13
25typedef void* (*bj_malloc_fn)(
26 void* p_user_data,
27 size_t size
28);
29
42typedef void* (*bj_realloc_fn)(
43 void* p_user_data,
44 void* p_original,
45 size_t size
46);
47
57typedef void (*bj_free_fn)(
58 void* p_user_data,
59 void* p_memory
60);
61
77
85BANJO_EXPORT void* bj_malloc(
86 size_t size
87);
88
98BANJO_EXPORT void* bj_calloc(
99 size_t size
100);
101
112BANJO_EXPORT void* bj_realloc(
113 void* p_memory,
114 size_t size
115);
116
124BANJO_EXPORT void bj_free(
125 void* p_memory
126);
127
135BANJO_EXPORT void bj_memory_set_defaults(
136 const bj_memory_callbacks* p_allocator
137);
138
144BANJO_EXPORT void bj_memory_unset_defaults(void);
145
155BANJO_EXPORT void* bj_memcpy(
156 void* p_dest,
157 const void* p_src,
158 size_t mem_size
159);
160
172BANJO_EXPORT void* bj_memmove(
173 void* p_dest,
174 const void* p_src,
175 size_t mem_size
176);
177
187BANJO_EXPORT int bj_memcmp(
188 const void* p_block_a,
189 const void* p_block_b,
190 size_t size
191);
192
200BANJO_EXPORT void bj_memset(
201 void* p_dest,
202 uint8_t value,
203 size_t mem_size
204);
205
214BANJO_EXPORT void bj_memzero(
215 void* p_dest,
216 size_t mem_size
217);
218
General-purpose definitions for Banjo API.
bj_free_fn fn_free
Deallocation function pointer.
Definition memory.h:75
bj_realloc_fn fn_reallocation
Reallocation function pointer.
Definition memory.h:74
void * p_user_data
General purpose context data.
Definition memory.h:72
bj_malloc_fn fn_allocation
Allocation function pointer.
Definition memory.h:73
void * bj_calloc(size_t size)
Allocate size bytes of zero-initialized memory.
int bj_memcmp(const void *p_block_a, const void *p_block_b, size_t size)
Compare two memory blocks.
void * bj_memcpy(void *p_dest, const void *p_src, size_t mem_size)
Copy mem_size bytes from p_src to p_dest.
void * bj_malloc(size_t size)
Allocate size bytes of memory.
void bj_memset(void *p_dest, uint8_t value, size_t mem_size)
Fill mem_size bytes at p_dest with value.
void bj_memory_unset_defaults(void)
Reset the global default allocators to system defaults.
void * bj_realloc(void *p_memory, size_t size)
Reallocate a memory block to a new size.
void(* bj_free_fn)(void *p_user_data, void *p_memory)
Memory free callback.
Definition memory.h:57
void *(* bj_malloc_fn)(void *p_user_data, size_t size)
Memory allocation callback.
Definition memory.h:25
void * bj_memmove(void *p_dest, const void *p_src, size_t mem_size)
Move mem_size bytes from p_src to p_dest.
void bj_memory_set_defaults(const bj_memory_callbacks *p_allocator)
Set the global default memory allocators.
void *(* bj_realloc_fn)(void *p_user_data, void *p_original, size_t size)
Memory reallocation callback.
Definition memory.h:42
void bj_memzero(void *p_dest, size_t mem_size)
Zero out mem_size bytes at p_dest.
void bj_free(void *p_memory)
Free a previously allocated memory block.
Custom allocation callbacks.
Definition memory.h:71