File indexing completed on 2024-05-12 17:15:55
0001 /* 0002 SPDX-FileCopyrightText: 2014-2017 Milian Wolff <mail@milianw.de> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include <stddef.h> 0008 #include <stdint.h> 0009 #include <stdio.h> 0010 0011 #ifdef __cplusplus 0012 typedef class LineWriter linewriter_t; 0013 extern "C" { 0014 #else 0015 typedef struct LineWriter linewriter_t; 0016 #endif 0017 0018 typedef void (*heaptrack_callback_t)(); 0019 typedef void (*heaptrack_callback_initialized_t)(linewriter_t&); 0020 0021 void heaptrack_init(const char* outputFileName, heaptrack_callback_t initCallbackBefore, 0022 heaptrack_callback_initialized_t initCallbackAfter, heaptrack_callback_t stopCallback); 0023 0024 void heaptrack_stop(); 0025 0026 void heaptrack_pause(); 0027 0028 void heaptrack_resume(); 0029 0030 void heaptrack_malloc(void* ptr, size_t size); 0031 0032 void heaptrack_free(void* ptr); 0033 0034 void heaptrack_realloc(void* ptr_in, size_t size, void* ptr_out); 0035 void heaptrack_realloc2(uintptr_t ptr_in, size_t size, uintptr_t ptr_out); 0036 0037 void heaptrack_invalidate_module_cache(); 0038 0039 typedef void (*heaptrack_warning_callback_t)(FILE*); 0040 void heaptrack_warning(heaptrack_warning_callback_t callback); 0041 0042 #ifdef __cplusplus 0043 } 0044 #endif