diff options
| author | Peter LaFosse <peter@vector35.com> | 2018-01-09 16:47:47 -0500 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2018-01-09 16:47:47 -0500 |
| commit | 6ef9dd016c957e796f89f94f00c6d71e2f7589e8 (patch) | |
| tree | 5ab4ab48cf8f47c4e5325f3b3ae4cf9e5e8d5194 /binaryview.cpp | |
| parent | 16a4d413d58d2cb29be97781bba0b52546afa390 (diff) | |
| parent | 26edabfdd7211012c7c8a03186d3025eea9aa345 (diff) | |
Merge branch 'dev'
Diffstat (limited to 'binaryview.cpp')
| -rw-r--r-- | binaryview.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/binaryview.cpp b/binaryview.cpp index 213be79a..50011a0f 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); @@ -1705,6 +1724,7 @@ vector<Segment> BinaryView::GetSegments() segment.dataOffset = segments[i].dataOffset; segment.dataLength = segments[i].dataLength; segment.flags = segments[i].flags; + segment.autoDefined = segments[i].autoDefined; result.push_back(segment); } @@ -1712,7 +1732,6 @@ vector<Segment> BinaryView::GetSegments() return result; } - bool BinaryView::GetSegmentAt(uint64_t addr, Segment& result) { BNSegment segment; |
