1#ifndef JEMALLOC_INTERNAL_PROF_SYS_H
2#define JEMALLOC_INTERNAL_PROF_SYS_H
3
4extern malloc_mutex_t prof_dump_filename_mtx;
5extern base_t *prof_base;
6
7void bt_init(prof_bt_t *bt, void **vec);
8void prof_backtrace(tsd_t *tsd, prof_bt_t *bt);
9void prof_hooks_init();
10void prof_unwind_init();
11void prof_sys_thread_name_fetch(tsd_t *tsd);
12int prof_getpid(void);
13void prof_get_default_filename(tsdn_t *tsdn, char *filename, uint64_t ind);
14bool prof_prefix_set(tsdn_t *tsdn, const char *prefix);
15void prof_fdump_impl(tsd_t *tsd);
16void prof_idump_impl(tsd_t *tsd);
17bool prof_mdump_impl(tsd_t *tsd, const char *filename);
18void prof_gdump_impl(tsd_t *tsd);
19
20/* Used in unit tests. */
21typedef int (prof_sys_thread_name_read_t)(char *buf, size_t limit);
22extern prof_sys_thread_name_read_t *JET_MUTABLE prof_sys_thread_name_read;
23typedef int (prof_dump_open_file_t)(const char *, int);
24extern prof_dump_open_file_t *JET_MUTABLE prof_dump_open_file;
25typedef ssize_t (prof_dump_write_file_t)(int, const void *, size_t);
26extern prof_dump_write_file_t *JET_MUTABLE prof_dump_write_file;
27typedef int (prof_dump_open_maps_t)();
28extern prof_dump_open_maps_t *JET_MUTABLE prof_dump_open_maps;
29
30#endif /* JEMALLOC_INTERNAL_PROF_SYS_H */
31