| 136 | } |
| 137 | |
| 138 | FunctionInfo SymbolGuardian::FunctionOverlappingAddress(u32 address) const |
| 139 | { |
| 140 | FunctionInfo info; |
| 141 | Read([&](const ccc::SymbolDatabase& database) { |
| 142 | const ccc::Function* function = database.functions.symbol_overlapping_address(address); |
| 143 | if (!function) |
| 144 | return; |
| 145 | |
| 146 | info.handle = function->handle(); |
| 147 | info.name = function->name(); |
| 148 | info.address = function->address(); |
| 149 | info.size = function->size(); |
| 150 | info.is_no_return = function->is_no_return; |
| 151 | }); |
| 152 | return info; |
| 153 | } |
| 154 | |
| 155 | void SymbolGuardian::GenerateFunctionHashes(ccc::SymbolDatabase& database, MemoryInterface& reader) |
| 156 | { |
no test coverage detected