From ae7753487db7e3cbd4d4c5b0f464a6868da42817 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Mon, 11 Jul 2016 04:44:55 -0400 Subject: Add APIs for querying data and code before address, and add settings parameter to linear disassembly position API --- binaryview.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'binaryview.cpp') diff --git a/binaryview.cpp b/binaryview.cpp index 437c57a6..03beb3db 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -1118,9 +1118,29 @@ uint64_t BinaryView::GetNextDataAfterAddress(uint64_t addr) } -LinearDisassemblyPosition BinaryView::GetLinearDisassemblyPositionForAddress(uint64_t addr) +uint64_t BinaryView::GetPreviousFunctionStartBeforeAddress(uint64_t addr) { - BNLinearDisassemblyPosition pos = BNGetLinearDisassemblyPositionForAddress(m_object, addr); + return BNGetPreviousFunctionStartBeforeAddress(m_object, addr); +} + + +uint64_t BinaryView::GetPreviousStartOfDataBeforeAddress(uint64_t addr) +{ + return BNGetPreviousStartOfDataBeforeAddress(m_object, addr); +} + + +uint64_t BinaryView::GetPreviousDataBeforeAddress(uint64_t addr) +{ + return BNGetPreviousDataBeforeAddress(m_object, addr); +} + + +LinearDisassemblyPosition BinaryView::GetLinearDisassemblyPositionForAddress(uint64_t addr, + DisassemblySettings* settings) +{ + BNLinearDisassemblyPosition pos = BNGetLinearDisassemblyPositionForAddress(m_object, addr, + settings ? settings->GetObject() : nullptr); LinearDisassemblyPosition result; result.function = pos.function ? new Function(pos.function) : nullptr; -- cgit v1.3.1