Banjo API 1.0.0-rc.2
Low-level C99 game development API
Loading...
Searching...
No Matches
memory.h
Go to the documentation of this file.
1
64#ifndef BJ_MEMORY_H
65#define BJ_MEMORY_H
66
67#include <banjo/api.h>
68
80typedef void* (*bj_malloc_fn)(
81 void* user_data,
82 size_t size
83);
84
97typedef void* (*bj_realloc_fn)(
98 void* user_data,
99 void* original,
100 size_t size
101);
102
112typedef void (*bj_free_fn)(
113 void* user_data,
114 void* memory
115);
116
132
141 size_t size
142);
143
154 size_t size
155);
156
168 void* memory,
169 size_t size
170);
171
180 void* memory
181);
182
191 const struct bj_memory_callbacks* allocator
192);
193
200
211 void* dest,
212 const void* src,
213 size_t mem_size
214);
215
228 void* dest,
229 const void* src,
230 size_t mem_size
231);
232
243 const void* block_a,
244 const void* block_b,
245 size_t size
246);
247
256 void* dest,
257 uint8_t value,
258 size_t mem_size
259);
260
270 void* dest,
271 size_t mem_size
272);
273
274#endif
General-purpose definitions for Banjo API.
#define BANJO_EXPORT
Definition api.h:163
void * user_data
General purpose context data.
Definition memory.h:127
bj_free_fn fn_free
Deallocation function pointer.
Definition memory.h:130
bj_realloc_fn fn_reallocation
Reallocation function pointer.
Definition memory.h:129
bj_malloc_fn fn_allocation
Allocation function pointer.
Definition memory.h:128
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-initialised 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:112
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:80
void *(* bj_realloc_fn)(void *user_data, void *original, size_t size)
Memory reallocation callback.
Definition memory.h:97
Custom allocation callbacks.
Definition memory.h:126