diff options
Diffstat (limited to 'common/almalloc.h')
-rw-r--r-- | common/almalloc.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/common/almalloc.h b/common/almalloc.h new file mode 100644 index 00000000..a4297cf5 --- /dev/null +++ b/common/almalloc.h @@ -0,0 +1,30 @@ +#ifndef AL_MALLOC_H +#define AL_MALLOC_H + +#include <stddef.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Minimum alignment required by posix_memalign. */ +#define DEF_ALIGN sizeof(void*) + +void *al_malloc(size_t alignment, size_t size); +void *al_calloc(size_t alignment, size_t size); +void al_free(void *ptr); + +size_t al_get_page_size(void); + +/** + * Returns non-0 if the allocation function has direct alignment handling. + * Otherwise, the standard malloc is used with an over-allocation and pointer + * offset strategy. + */ +int al_is_sane_alignment_allocator(void); + +#ifdef __cplusplus +} +#endif + +#endif /* AL_MALLOC_H */ |