| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef TOOLS_MEMORY_PARTITION_ALLOCATOR_PALLOC_VIEWER_COMMON_H_ |
| #define TOOLS_MEMORY_PARTITION_ALLOCATOR_PALLOC_VIEWER_COMMON_H_ |
| |
| #include <stddef.h> |
| |
| /* can't forward-declare Dwarf_Die, so use void* instead :/ */ |
| typedef struct Dwfl Dwfl; |
| typedef struct Dwfl_Module Dwfl_Module; |
| Dwfl* addrlookup_init(pid_t pid); |
| Dwfl_Module* addrlookup_find_lib(Dwfl* dwfl, const char* name); |
| void* lookup_cu(Dwfl* dwfl, |
| Dwfl_Module* mod, |
| const char* expected_name, |
| unsigned long* bias_out); |
| unsigned long addrlookup_get_struct_offset(void* scope, |
| const char** namespaces, |
| size_t namespaces_len, |
| const char* struct_name, |
| const char* member_name); |
| unsigned long addrlookup_get_variable_address(void* scope, |
| unsigned long cu_bias, |
| const char** namespaces, |
| size_t namespaces_len, |
| const char* name); |
| void addrlookup_finish(Dwfl* dwfl); |
| |
| #endif // TOOLS_MEMORY_PARTITION_ALLOCATOR_PALLOC_VIEWER_COMMON_H_ |