summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2015-07-31 02:54:02 -0400
committerRusty Wagner <rusty@vector35.com>2015-07-31 02:54:02 -0400
commitddca2fbb272ae8bbce6e421f07845d3439d08f5b (patch)
treea671494d5a59473bd5d22f04c72d0e1528b885e1 /binaryninjaapi.h
parent40192fa7adbf7b53e9d45343b0ae1b47cc5fef86 (diff)
Find functions that don't return based on control flow, and use that in parent functions
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index df2484df..e094aaa7 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -1043,6 +1043,7 @@ namespace BinaryNinja
uint64_t GetLength() const;
std::vector<BasicBlockEdge> GetOutgoingEdges() const;
+ bool HasUndeterminedOutgoingEdges() const;
void MarkRecentUse();
};
@@ -1062,6 +1063,8 @@ namespace BinaryNinja
Ref<Architecture> GetArchitecture() const;
uint64_t GetStart() const;
Ref<Symbol> GetSymbol() const;
+ bool WasAutomaticallyDiscovered() const;
+ bool CanReturn() const;
std::vector<Ref<BasicBlock>> GetBasicBlocks() const;
void MarkRecentUse();
@@ -1225,6 +1228,7 @@ namespace BinaryNinja
size_t Jump(uint64_t dest);
size_t Call(uint64_t dest);
size_t Return(size_t dest);
+ size_t NoReturn();
size_t FlagCondition(BNLowLevelILFlagCondition cond);
size_t CompareEqual(size_t size, uint64_t a, uint64_t b);
size_t CompareNotEqual(size_t size, uint64_t a, uint64_t b);
@@ -1238,6 +1242,7 @@ namespace BinaryNinja
size_t CompareUnsignedGreaterThan(size_t size, uint64_t a, uint64_t b);
size_t SystemCall();
size_t Breakpoint();
+ size_t Trap(uint32_t num);
size_t Undefined();
size_t Unimplemented();
size_t UnimplementedMemoryRef(size_t size, uint64_t addr);