#include "mimalloc.h"
#include "mimalloc/internal.h"
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#ifdef _MSC_VER
#pragma warning(disable:4996)
#endif
#ifndef EINVAL
#define EINVAL …
#endif
#ifndef ENOMEM
#define ENOMEM …
#endif
mi_decl_nodiscard size_t mi_malloc_size(const void* p) mi_attr_noexcept { … }
mi_decl_nodiscard size_t mi_malloc_usable_size(const void *p) mi_attr_noexcept { … }
mi_decl_nodiscard size_t mi_malloc_good_size(size_t size) mi_attr_noexcept { … }
void mi_cfree(void* p) mi_attr_noexcept { … }
int mi_posix_memalign(void** p, size_t alignment, size_t size) mi_attr_noexcept { … }
mi_decl_nodiscard mi_decl_restrict void* mi_memalign(size_t alignment, size_t size) mi_attr_noexcept { … }
mi_decl_nodiscard mi_decl_restrict void* mi_valloc(size_t size) mi_attr_noexcept { … }
mi_decl_nodiscard mi_decl_restrict void* mi_pvalloc(size_t size) mi_attr_noexcept { … }
mi_decl_nodiscard mi_decl_restrict void* mi_aligned_alloc(size_t alignment, size_t size) mi_attr_noexcept { … }
mi_decl_nodiscard void* mi_reallocarray( void* p, size_t count, size_t size ) mi_attr_noexcept { … }
mi_decl_nodiscard int mi_reallocarr( void* p, size_t count, size_t size ) mi_attr_noexcept { … }
void* mi__expand(void* p, size_t newsize) mi_attr_noexcept { … }
mi_decl_nodiscard mi_decl_restrict unsigned short* mi_wcsdup(const unsigned short* s) mi_attr_noexcept { … }
mi_decl_nodiscard mi_decl_restrict unsigned char* mi_mbsdup(const unsigned char* s) mi_attr_noexcept { … }
int mi_dupenv_s(char** buf, size_t* size, const char* name) mi_attr_noexcept { … }
int mi_wdupenv_s(unsigned short** buf, size_t* size, const unsigned short* name) mi_attr_noexcept { … }
mi_decl_nodiscard void* mi_aligned_offset_recalloc(void* p, size_t newcount, size_t size, size_t alignment, size_t offset) mi_attr_noexcept { … }
mi_decl_nodiscard void* mi_aligned_recalloc(void* p, size_t newcount, size_t size, size_t alignment) mi_attr_noexcept { … }