Banjo API 0.0.1
Multi-purpose C99 API
Loading...
Searching...
No Matches
memory.h
Go to the documentation of this file.
1
4
10#pragma once
11
12#include <banjo/api.h>
13
17typedef void* (*bj_malloc_fn)(
18 void* p_user_data, //< General purpose context data.
19 size_t size //< Allocation size in bytes requested by the caller.
20);
21
25typedef void* (*bj_realloc_fn)(
26 void* p_user_data, //< General purpose context data.
27 void* p_original, //< Initial object to reallocate.
28 size_t size //< Allocation size in bytes requested by the caller.
29);
30
35typedef void (*bj_free_fn)(
36 void* p_user_data, //< General purpose context data.
37 void* p_memory //< Object memory to dispose.
38);
39
51
58BANJO_EXPORT void* bj_malloc(
59 size_t size
60);
61
70BANJO_EXPORT void* bj_calloc(
71 size_t size
72);
73
83BANJO_EXPORT void* bj_realloc(
84 void* p_memory,
85 size_t size
86);
87
96BANJO_EXPORT void bj_free(
97 void* p_memory
98);
99
117BANJO_EXPORT void bj_memory_set_defaults(
118 const bj_memory_callbacks* p_allocator
119);
120
126BANJO_EXPORT void bj_memory_unset_defaults(void);
127
139BANJO_EXPORT void* bj_memcpy(
140 void* p_dest,
141 const void* p_src,
142 size_t mem_size
143);
144
145BANJO_EXPORT void* bj_memmove(
146 void* p_dest,
147 const void* p_src,
148 size_t mem_size
149);
150
151
152BANJO_EXPORT int bj_memcmp(
153 const void* p_block_a,
154 const void* p_block_b,
155 size_t size
156);
157
165BANJO_EXPORT void bj_memset(
166 void* p_dest,
167 uint8_t value,
168 size_t mem_size
169);
170
178BANJO_EXPORT void bj_memzero(
179 void* p_dest,
180 size_t mem_size
181);
182
General-purpose definitions for Banjo API.
bj_free_fn fn_free
The deallocation function.
Definition memory.h:49
bj_realloc_fn fn_reallocation
The reallocation function.
Definition memory.h:48
void * p_user_data
General purpose context data.
Definition memory.h:46
bj_malloc_fn fn_allocation
The allocation function.
Definition memory.h:47
void * bj_calloc(size_t size)
Allocate size bytes of memory and returns a pointer to it.
void * bj_memcpy(void *p_dest, const void *p_src, size_t mem_size)
Copies mem_size bytes from the object pointed to by p_src to to object pointed to by p_dest.
void * bj_malloc(size_t size)
Allocate size bytes of memory and returns a pointer to it.
void bj_memset(void *p_dest, uint8_t value, size_t mem_size)
Copies the value value into each ot the first num bytes of the object pointed to by p_dest.
void bj_memory_unset_defaults(void)
Reset the default allocators.
void * bj_realloc(void *p_memory, size_t size)
Reallocate the given area of memory.
void(* bj_free_fn)(void *p_user_data, void *p_memory)
Memory allocation callback.
Definition memory.h:35
void *(* bj_malloc_fn)(void *p_user_data, size_t size)
Memory allocation callback.
Definition memory.h:17
void bj_memory_set_defaults(const bj_memory_callbacks *p_allocator)
Set the default allocators.
void *(* bj_realloc_fn)(void *p_user_data, void *p_original, size_t size)
Memory allocation callback.
Definition memory.h:25
void bj_memzero(void *p_dest, size_t mem_size)
Sets the mem_size bytes starting from p_dest to 0.
void bj_free(void *p_memory)
Deallocate the given area of memory.
Custom allocation callbacks.
Definition memory.h:45