summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-09-14 00:28:27 -0400
committerRusty Wagner <rusty@vector35.com>2016-09-14 00:28:27 -0400
commitfb0d896cd5cc3197a8dd259a9ca53f2788ef5fdb (patch)
tree3060742ed0484944bc16f4857435d68fbb12167f /binaryninjacore.h
parent11d6f78e43e0f305be43aeb8fc75d9d6733e508a (diff)
Add APIs for instruction and block highlighting
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 51bf3391..de7b77fd 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -1020,6 +1020,35 @@ extern "C"
size_t size;
};
+ enum BNHighlightColorStyle
+ {
+ StandardHighlightColor = 0,
+ MixedHighlightColor = 1,
+ CustomHighlightColor = 2
+ };
+
+ enum BNHighlightStandardColor
+ {
+ NoHighlightColor = 0,
+ BlueHighlightColor = 1,
+ GreenHighlightColor = 2,
+ CyanHighlightColor = 3,
+ RedHighlightColor = 4,
+ MagentaHighlightColor = 5,
+ YellowHighlightColor = 6,
+ OrangeHighlightColor = 7,
+ WhiteHighlightColor = 8,
+ BlackHighlightColor = 9
+ };
+
+ struct BNHighlightColor
+ {
+ BNHighlightColorStyle style;
+ BNHighlightStandardColor color;
+ BNHighlightStandardColor mixColor;
+ uint8_t mix, r, g, b, alpha;
+ };
+
BINARYNINJACOREAPI char* BNAllocString(const char* contents);
BINARYNINJACOREAPI void BNFreeString(char* str);
@@ -1418,6 +1447,7 @@ extern "C"
BINARYNINJACOREAPI void BNFreeBasicBlock(BNBasicBlock* block);
BINARYNINJACOREAPI BNBasicBlock** BNGetFunctionBasicBlockList(BNFunction* func, size_t* count);
BINARYNINJACOREAPI void BNFreeBasicBlockList(BNBasicBlock** blocks, size_t count);
+ BINARYNINJACOREAPI BNBasicBlock* BNGetFunctionBasicBlockAtAddress(BNFunction* func, BNArchitecture* arch, uint64_t addr);
BINARYNINJACOREAPI BNBasicBlock* BNGetRecentBasicBlockForAddress(BNBinaryView* view, uint64_t addr);
BINARYNINJACOREAPI BNBasicBlock** BNGetBasicBlocksForAddress(BNBinaryView* view, uint64_t addr, size_t* count);
BINARYNINJACOREAPI BNBasicBlock** BNGetBasicBlocksStartingAtAddress(BNBinaryView* view, uint64_t addr, size_t* count);
@@ -1575,6 +1605,15 @@ extern "C"
BINARYNINJACOREAPI void BNReanalyzeAllFunctions(BNBinaryView* view);
BINARYNINJACOREAPI void BNReanalyzeFunction(BNFunction* func);
+ BINARYNINJACOREAPI BNHighlightColor BNGetInstructionHighlight(BNFunction* func, BNArchitecture* arch, uint64_t addr);
+ BINARYNINJACOREAPI void BNSetAutoInstructionHighlight(BNFunction* func, BNArchitecture* arch, uint64_t addr,
+ BNHighlightColor color);
+ BINARYNINJACOREAPI void BNSetUserInstructionHighlight(BNFunction* func, BNArchitecture* arch, uint64_t addr,
+ BNHighlightColor color);
+ BINARYNINJACOREAPI BNHighlightColor BNGetBasicBlockHighlight(BNBasicBlock* block);
+ BINARYNINJACOREAPI void BNSetAutoBasicBlockHighlight(BNBasicBlock* block, BNHighlightColor color);
+ BINARYNINJACOREAPI void BNSetUserBasicBlockHighlight(BNBasicBlock* block, BNHighlightColor color);
+
// Disassembly settings
BINARYNINJACOREAPI BNDisassemblySettings* BNCreateDisassemblySettings(void);
BINARYNINJACOREAPI BNDisassemblySettings* BNNewDisassemblySettingsReference(BNDisassemblySettings* settings);
@@ -1622,6 +1661,7 @@ extern "C"
BINARYNINJACOREAPI BNFunctionGraphBlock* BNNewFunctionGraphBlockReference(BNFunctionGraphBlock* block);
BINARYNINJACOREAPI void BNFreeFunctionGraphBlock(BNFunctionGraphBlock* block);
+ BINARYNINJACOREAPI BNBasicBlock* BNGetFunctionGraphBasicBlock(BNFunctionGraphBlock* block);
BINARYNINJACOREAPI BNArchitecture* BNGetFunctionGraphBlockArchitecture(BNFunctionGraphBlock* block);
BINARYNINJACOREAPI uint64_t BNGetFunctionGraphBlockStart(BNFunctionGraphBlock* block);
BINARYNINJACOREAPI uint64_t BNGetFunctionGraphBlockEnd(BNFunctionGraphBlock* block);