From febc0828f271aa06681081217ee3ab2649dbf13a Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 12 Nov 2020 20:18:47 +0100 Subject: Use aligned allocation via C11 or Windows API where possible --- src/system.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/system.h') diff --git a/src/system.h b/src/system.h index 0f6a0e0b..60095a5b 100644 --- a/src/system.h +++ b/src/system.h @@ -21,10 +21,19 @@ #include -FILE* -serd_fopen(const char* path, const char* mode); +/// Open a file configured for fast sequential reading +FILE* serd_fopen(const char* path, const char* mode); -SERD_MALLOC_FUNC void* -serd_bufalloc(size_t size); +/// Allocate a buffer aligned to `alignment` bytes +SERD_MALLOC_FUNC void* serd_malloc_aligned(size_t alignment, size_t size); + +/// Allocate a zeroed buffer aligned to `alignment` bytes +SERD_MALLOC_FUNC void* serd_calloc_aligned(size_t alignment, size_t size); + +/// Allocate an aligned buffer for I/O +SERD_MALLOC_FUNC void* serd_allocate_buffer(size_t size); + +/// Free a buffer allocated with an aligned allocation function +void serd_free_aligned(void* ptr); #endif // SERD_SYSTEM_H -- cgit v1.2.1