2016-03-29 07:44:58 +00:00
|
|
|
#ifndef AL_MALLOC_H
|
|
|
|
#define AL_MALLOC_H
|
|
|
|
|
|
|
|
#include <stddef.h>
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2017-02-28 04:43:16 +00:00
|
|
|
/* Minimum alignment required by posix_memalign. */
|
|
|
|
#define DEF_ALIGN sizeof(void*)
|
|
|
|
|
2016-03-29 07:44:58 +00:00
|
|
|
void *al_malloc(size_t alignment, size_t size);
|
|
|
|
void *al_calloc(size_t alignment, size_t size);
|
|
|
|
void al_free(void *ptr);
|
|
|
|
|
2018-01-17 03:24:14 +00:00
|
|
|
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);
|
|
|
|
|
2016-03-29 07:44:58 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* AL_MALLOC_H */
|