1.1 --- a/src/cx/allocator.h Sun Feb 07 17:17:46 2021 +0100 1.2 +++ b/src/cx/allocator.h Sun Feb 07 18:08:21 2021 +0100 1.3 @@ -31,18 +31,13 @@ 1.4 1.5 #include <stdlib.h> 1.6 1.7 -/* LOW LEVEL API */ 1.8 +typedef void *(*cx_malloc_func)(void *data, size_t n); 1.9 1.10 -typedef void* cx_allocator; 1.11 -typedef void*(*cx_malloc_func)(cx_allocator a, size_t n); 1.12 -typedef void*(*cx_realloc_func)(cx_allocator a, void* mem, size_t n); 1.13 -typedef void*(*cx_calloc_func)(cx_allocator a, size_t nelem, size_t n); 1.14 -typedef void(*cx_free_func)(cx_allocator a, void* mem); 1.15 +typedef void *(*cx_realloc_func)(void *data, void *mem, size_t n); 1.16 1.17 -void* cx_malloc_stdlib(cx_allocator a, size_t n); 1.18 -void* cx_realloc_stdlib(cx_allocator a, void* mem, size_t n); 1.19 -void* cx_calloc_stdlib(cx_allocator a, size_t nelem, size_t n); 1.20 -void cx_free_stdlib(cx_allocator a, void* mem); 1.21 +typedef void *(*cx_calloc_func)(void *data, size_t nelem, size_t n); 1.22 + 1.23 +typedef void(*cx_free_func)(void *data, void *mem); 1.24 1.25 typedef struct { 1.26 cx_malloc_func malloc; 1.27 @@ -53,19 +48,20 @@ 1.28 1.29 extern cx_allocator_class cx_default_allocator_class; 1.30 1.31 -/* HIGH LEVEL API */ 1.32 - 1.33 struct cx_allocator_s { 1.34 cx_allocator_class *cl; 1.35 - cx_allocator data; 1.36 + void *data; 1.37 }; 1.38 -typedef struct cx_allocator_s* CxAllocator; 1.39 +typedef struct cx_allocator_s *CxAllocator; 1.40 1.41 extern CxAllocator cxDefaultAllocator; 1.42 1.43 -void* cxMalloc(CxAllocator allocator, size_t n); 1.44 -void* cxRealloc(CxAllocator allocator, void* mem, size_t n); 1.45 -void* cxCalloc(CxAllocator allocator, size_t nelem, size_t n); 1.46 -void cxFree(CxAllocator allocator, void* mem); 1.47 +void *cxMalloc(CxAllocator allocator, size_t n); 1.48 + 1.49 +void *cxRealloc(CxAllocator allocator, void *mem, size_t n); 1.50 + 1.51 +void *cxCalloc(CxAllocator allocator, size_t nelem, size_t n); 1.52 + 1.53 +void cxFree(CxAllocator allocator, void *mem); 1.54 1.55 #endif /* UCX_ALLOCATOR_H */