1/*
2 * Copyright 2010-2012 Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef MALLOC_DEBUG_H
6#define MALLOC_DEBUG_H
7
8
9#include <OS.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15status_t heap_debug_start_wall_checking(int msInterval);
16status_t heap_debug_stop_wall_checking();
17
18void heap_debug_set_memory_reuse(bool enabled);
19void heap_debug_set_paranoid_validation(bool enabled);
20void heap_debug_set_debugger_calls(bool enabled);
21void heap_debug_validate_heaps();
22void heap_debug_validate_walls();
23
24void heap_debug_dump_allocations(bool statsOnly, thread_id thread);
25void heap_debug_dump_heaps(bool dumpAreas, bool dumpBins);
26
27void *heap_debug_malloc_with_guard_page(size_t size);
28
29status_t heap_debug_get_allocation_info(void *address, size_t *size,
30	thread_id *thread);
31
32#ifdef __cplusplus
33}
34#endif
35
36#endif /* MALLOC_DEBUG_H */
37