summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2017-11-10 17:42:28 -0500
committerPeter LaFosse <peter@vector35.com>2017-11-10 17:42:46 -0500
commit382b1353649472bc2088598b3b8b60c096c1e201 (patch)
treeceee64ee4d9f6561d4d314479d34ffae3f51268c /binaryview.cpp
parentc4d8b6f18c094d98df4448bdaf14faa86b33cc86 (diff)
Add 'relocatable' property to BinaryView class
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/binaryview.cpp b/binaryview.cpp
index 213be79a..0a082458 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -288,6 +288,7 @@ BinaryView::BinaryView(const std::string& typeName, FileMetadata* file, BinaryVi
view.getEntryPoint = GetEntryPointCallback;
view.isExecutable = IsExecutableCallback;
view.getDefaultEndianness = GetDefaultEndiannessCallback;
+ view.isRelocatable = IsRelocatableCallback;
view.getAddressSize = GetAddressSizeCallback;
view.save = SaveCallback;
@@ -431,6 +432,13 @@ BNEndianness BinaryView::GetDefaultEndiannessCallback(void* ctxt)
}
+bool BinaryView::IsRelocatableCallback(void* ctxt)
+{
+ BinaryView* view = (BinaryView*)ctxt;
+ return view->PerformIsRelocatable();
+}
+
+
size_t BinaryView::GetAddressSizeCallback(void* ctxt)
{
BinaryView* view = (BinaryView*)ctxt;
@@ -494,6 +502,11 @@ BNEndianness BinaryView::PerformGetDefaultEndianness() const
}
+bool BinaryView::PerformIsRelocatable() const
+{
+ return false;
+}
+
size_t BinaryView::PerformGetAddressSize() const
{
Ref<Architecture> arch = GetDefaultArchitecture();
@@ -836,6 +849,12 @@ BNEndianness BinaryView::GetDefaultEndianness() const
}
+bool BinaryView::IsRelocatable() const
+{
+ return BNIsRelocatable(m_object);
+}
+
+
size_t BinaryView::GetAddressSize() const
{
return BNGetViewAddressSize(m_object);