1*8e33eff8Schristos /* 2*8e33eff8Schristos * The jet_ prefix on the following public symbol declarations is an artifact 3*8e33eff8Schristos * of namespace management, and should be omitted in application code unless 4*8e33eff8Schristos * JEMALLOC_NO_DEMANGLE is defined (see jemalloc_mangle@install_suffix@.h). 5*8e33eff8Schristos */ 6*8e33eff8Schristos extern JEMALLOC_EXPORT const char *jet_malloc_conf; 7*8e33eff8Schristos extern JEMALLOC_EXPORT void (*jet_malloc_message)(void *cbopaque, 8*8e33eff8Schristos const char *s); 9*8e33eff8Schristos 10*8e33eff8Schristos JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN 11*8e33eff8Schristos void JEMALLOC_NOTHROW *jet_malloc(size_t size) 12*8e33eff8Schristos JEMALLOC_CXX_THROW JEMALLOC_ATTR(malloc) JEMALLOC_ALLOC_SIZE(1); 13*8e33eff8Schristos JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN 14*8e33eff8Schristos void JEMALLOC_NOTHROW *jet_calloc(size_t num, size_t size) 15*8e33eff8Schristos JEMALLOC_CXX_THROW JEMALLOC_ATTR(malloc) JEMALLOC_ALLOC_SIZE2(1, 2); 16*8e33eff8Schristos JEMALLOC_EXPORT int JEMALLOC_NOTHROW jet_posix_memalign(void **memptr, 17*8e33eff8Schristos size_t alignment, size_t size) JEMALLOC_CXX_THROW JEMALLOC_ATTR(nonnull(1)); 18*8e33eff8Schristos JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN 19*8e33eff8Schristos void JEMALLOC_NOTHROW *jet_aligned_alloc(size_t alignment, 20*8e33eff8Schristos size_t size) JEMALLOC_CXX_THROW JEMALLOC_ATTR(malloc) 21*8e33eff8Schristos JEMALLOC_ALLOC_SIZE(2); 22*8e33eff8Schristos JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN 23*8e33eff8Schristos void JEMALLOC_NOTHROW *jet_realloc(void *ptr, size_t size) 24*8e33eff8Schristos JEMALLOC_CXX_THROW JEMALLOC_ALLOC_SIZE(2); 25*8e33eff8Schristos JEMALLOC_EXPORT void JEMALLOC_NOTHROW jet_free(void *ptr) 26*8e33eff8Schristos JEMALLOC_CXX_THROW; 27*8e33eff8Schristos 28*8e33eff8Schristos JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN 29*8e33eff8Schristos void JEMALLOC_NOTHROW *jet_mallocx(size_t size, int flags) 30*8e33eff8Schristos JEMALLOC_ATTR(malloc) JEMALLOC_ALLOC_SIZE(1); 31*8e33eff8Schristos JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN 32*8e33eff8Schristos void JEMALLOC_NOTHROW *jet_rallocx(void *ptr, size_t size, 33*8e33eff8Schristos int flags) JEMALLOC_ALLOC_SIZE(2); 34*8e33eff8Schristos JEMALLOC_EXPORT size_t JEMALLOC_NOTHROW jet_xallocx(void *ptr, size_t size, 35*8e33eff8Schristos size_t extra, int flags); 36*8e33eff8Schristos JEMALLOC_EXPORT size_t JEMALLOC_NOTHROW jet_sallocx(const void *ptr, 37*8e33eff8Schristos int flags) JEMALLOC_ATTR(pure); 38*8e33eff8Schristos JEMALLOC_EXPORT void JEMALLOC_NOTHROW jet_dallocx(void *ptr, int flags); 39*8e33eff8Schristos JEMALLOC_EXPORT void JEMALLOC_NOTHROW jet_sdallocx(void *ptr, size_t size, 40*8e33eff8Schristos int flags); 41*8e33eff8Schristos JEMALLOC_EXPORT size_t JEMALLOC_NOTHROW jet_nallocx(size_t size, int flags) 42*8e33eff8Schristos JEMALLOC_ATTR(pure); 43*8e33eff8Schristos 44*8e33eff8Schristos JEMALLOC_EXPORT int JEMALLOC_NOTHROW jet_mallctl(const char *name, 45*8e33eff8Schristos void *oldp, size_t *oldlenp, void *newp, size_t newlen); 46*8e33eff8Schristos JEMALLOC_EXPORT int JEMALLOC_NOTHROW jet_mallctlnametomib(const char *name, 47*8e33eff8Schristos size_t *mibp, size_t *miblenp); 48*8e33eff8Schristos JEMALLOC_EXPORT int JEMALLOC_NOTHROW jet_mallctlbymib(const size_t *mib, 49*8e33eff8Schristos size_t miblen, void *oldp, size_t *oldlenp, void *newp, size_t newlen); 50*8e33eff8Schristos JEMALLOC_EXPORT void JEMALLOC_NOTHROW jet_malloc_stats_print( 51*8e33eff8Schristos void (*write_cb)(void *, const char *), void *jet_cbopaque, 52*8e33eff8Schristos const char *opts); 53*8e33eff8Schristos JEMALLOC_EXPORT size_t JEMALLOC_NOTHROW jet_malloc_usable_size( 54*8e33eff8Schristos JEMALLOC_USABLE_SIZE_CONST void *ptr) JEMALLOC_CXX_THROW; 55*8e33eff8Schristos 56*8e33eff8Schristos #ifdef JEMALLOC_OVERRIDE_MEMALIGN 57*8e33eff8Schristos JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN 58*8e33eff8Schristos void JEMALLOC_NOTHROW *jet_memalign(size_t alignment, size_t size) 59*8e33eff8Schristos JEMALLOC_CXX_THROW JEMALLOC_ATTR(malloc); 60*8e33eff8Schristos #endif 61*8e33eff8Schristos 62*8e33eff8Schristos #ifdef JEMALLOC_OVERRIDE_VALLOC 63*8e33eff8Schristos JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN 64*8e33eff8Schristos void JEMALLOC_NOTHROW *jet_valloc(size_t size) JEMALLOC_CXX_THROW 65*8e33eff8Schristos JEMALLOC_ATTR(malloc); 66*8e33eff8Schristos #endif 67