19ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris/* 29ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris * The jet_ prefix on the following public symbol declarations is an artifact 39ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris * of namespace management, and should be omitted in application code unless 49ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris * JEMALLOC_NO_DEMANGLE is defined (see jemalloc_mangle@install_suffix@.h). 59ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris */ 69ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferrisextern JEMALLOC_EXPORT const char *jet_malloc_conf; 79ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferrisextern JEMALLOC_EXPORT void (*jet_malloc_message)(void *cbopaque, 89ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris const char *s); 99ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris 109ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void *jet_malloc(size_t size) JEMALLOC_ATTR(malloc); 119ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void *jet_calloc(size_t num, size_t size) 129ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris JEMALLOC_ATTR(malloc); 139ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT int jet_posix_memalign(void **memptr, size_t alignment, 149ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris size_t size) JEMALLOC_ATTR(nonnull(1)); 159ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void *jet_aligned_alloc(size_t alignment, size_t size) 169ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris JEMALLOC_ATTR(malloc); 179ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void *jet_realloc(void *ptr, size_t size); 189ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void jet_free(void *ptr); 199ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris 209ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void *jet_mallocx(size_t size, int flags); 219ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void *jet_rallocx(void *ptr, size_t size, int flags); 229ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT size_t jet_xallocx(void *ptr, size_t size, size_t extra, 239ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris int flags); 249ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT size_t jet_sallocx(const void *ptr, int flags); 259ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void jet_dallocx(void *ptr, int flags); 269ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT size_t jet_nallocx(size_t size, int flags); 279ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris 289ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT int jet_mallctl(const char *name, void *oldp, 299ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris size_t *oldlenp, void *newp, size_t newlen); 309ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT int jet_mallctlnametomib(const char *name, size_t *mibp, 319ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris size_t *miblenp); 329ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT int jet_mallctlbymib(const size_t *mib, size_t miblen, 339ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris void *oldp, size_t *oldlenp, void *newp, size_t newlen); 349ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void jet_malloc_stats_print(void (*write_cb)(void *, 359ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris const char *), void *jet_cbopaque, const char *opts); 369ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT size_t jet_malloc_usable_size( 379ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris JEMALLOC_USABLE_SIZE_CONST void *ptr); 389ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris 399ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris#ifdef JEMALLOC_OVERRIDE_MEMALIGN 409ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void * jet_memalign(size_t alignment, size_t size) 419ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris JEMALLOC_ATTR(malloc); 429ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris#endif 439ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris 449ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris#ifdef JEMALLOC_OVERRIDE_VALLOC 459ebe2acb722ad8e29179cfbff35547f607e0f532Christopher FerrisJEMALLOC_EXPORT void * jet_valloc(size_t size) JEMALLOC_ATTR(malloc); 469ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris#endif 479ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferris 489ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferristypedef void *(chunk_alloc_t)(size_t, size_t, bool *, unsigned); 499ebe2acb722ad8e29179cfbff35547f607e0f532Christopher Ferristypedef bool (chunk_dalloc_t)(void *, size_t, unsigned); 50