summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-07-11 04:44:55 -0400
committerRusty Wagner <rusty@vector35.com>2016-07-11 04:44:55 -0400
commitae7753487db7e3cbd4d4c5b0f464a6868da42817 (patch)
tree340de6b24c6e2941903866e057f8b8eebf074186 /binaryview.cpp
parentca6d082528f1b4c6d8f66bed18fb2e70f4c87a74 (diff)
Add APIs for querying data and code before address, and add settings parameter to linear disassembly position API
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp24
1 files changed, 22 insertions, 2 deletions
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;