1 /*
2  * The je_ prefix on the following public symbol declarations is an artifact
3  * of namespace management, and should be omitted in application code unless
4  * JEMALLOC_NO_DEMANGLE is defined (see jemalloc_mangle.h).
5  */
6 extern JEMALLOC_EXPORT const char	*je_malloc_conf;
7 extern JEMALLOC_EXPORT void		(*je_malloc_message)(void *cbopaque,
8     const char *s);
9 
10 JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN
11     void JEMALLOC_NOTHROW	*je_malloc(size_t size)
12     JEMALLOC_CXX_THROW JEMALLOC_ATTR(malloc) JEMALLOC_ALLOC_SIZE(1);
13 JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN
14     void JEMALLOC_NOTHROW	*je_calloc(size_t num, size_t size)
15     JEMALLOC_CXX_THROW JEMALLOC_ATTR(malloc) JEMALLOC_ALLOC_SIZE2(1, 2);
16 JEMALLOC_EXPORT int JEMALLOC_NOTHROW	je_posix_memalign(void **memptr,
17     size_t alignment, size_t size) JEMALLOC_CXX_THROW JEMALLOC_ATTR(nonnull(1));
18 JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN
19     void JEMALLOC_NOTHROW	*je_aligned_alloc(size_t alignment,
20     size_t size) JEMALLOC_CXX_THROW JEMALLOC_ATTR(malloc)
21     JEMALLOC_ALLOC_SIZE(2);
22 JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN
23     void JEMALLOC_NOTHROW	*je_realloc(void *ptr, size_t size)
24     JEMALLOC_CXX_THROW JEMALLOC_ALLOC_SIZE(2);
25 JEMALLOC_EXPORT void JEMALLOC_NOTHROW	je_free(void *ptr)
26     JEMALLOC_CXX_THROW;
27 
28 JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN
29     void JEMALLOC_NOTHROW	*je_mallocx(size_t size, int flags)
30     JEMALLOC_ATTR(malloc) JEMALLOC_ALLOC_SIZE(1);
31 JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN
32     void JEMALLOC_NOTHROW	*je_rallocx(void *ptr, size_t size,
33     int flags) JEMALLOC_ALLOC_SIZE(2);
34 JEMALLOC_EXPORT size_t JEMALLOC_NOTHROW	je_xallocx(void *ptr, size_t size,
35     size_t extra, int flags);
36 JEMALLOC_EXPORT size_t JEMALLOC_NOTHROW	je_sallocx(const void *ptr,
37     int flags) JEMALLOC_ATTR(pure);
38 JEMALLOC_EXPORT void JEMALLOC_NOTHROW	je_dallocx(void *ptr, int flags);
39 JEMALLOC_EXPORT void JEMALLOC_NOTHROW	je_sdallocx(void *ptr, size_t size,
40     int flags);
41 JEMALLOC_EXPORT size_t JEMALLOC_NOTHROW	je_nallocx(size_t size, int flags)
42     JEMALLOC_ATTR(pure);
43 
44 JEMALLOC_EXPORT int JEMALLOC_NOTHROW	je_mallctl(const char *name,
45     void *oldp, size_t *oldlenp, void *newp, size_t newlen);
46 JEMALLOC_EXPORT int JEMALLOC_NOTHROW	je_mallctlnametomib(const char *name,
47     size_t *mibp, size_t *miblenp);
48 JEMALLOC_EXPORT int JEMALLOC_NOTHROW	je_mallctlbymib(const size_t *mib,
49     size_t miblen, void *oldp, size_t *oldlenp, void *newp, size_t newlen);
50 JEMALLOC_EXPORT void JEMALLOC_NOTHROW	je_malloc_stats_print(
51     void (*write_cb)(void *, const char *), void *je_cbopaque,
52     const char *opts);
53 JEMALLOC_EXPORT size_t JEMALLOC_NOTHROW	je_malloc_usable_size(
54     JEMALLOC_USABLE_SIZE_CONST void *ptr) JEMALLOC_CXX_THROW;
55 
56 #ifdef JEMALLOC_OVERRIDE_MEMALIGN
57 JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN
58     void JEMALLOC_NOTHROW	*je_memalign(size_t alignment, size_t size)
59     JEMALLOC_CXX_THROW JEMALLOC_ATTR(malloc);
60 #endif
61 
62 #ifdef JEMALLOC_OVERRIDE_VALLOC
63 JEMALLOC_EXPORT JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN
64     void JEMALLOC_NOTHROW	*je_valloc(size_t size) JEMALLOC_CXX_THROW
65     JEMALLOC_ATTR(malloc);
66 #endif
67