summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2020-04-27 23:14:44 -0400
committerRusty Wagner <rusty@vector35.com>2020-04-27 23:15:19 -0400
commit68a9e96c98dbed4e4154a13ffec7b9c94876661a (patch)
tree63088d43c0ea630e1df3511a2f00131f5598e326 /binaryninjacore.h
parent8947d620ff982ac5a40e925cce5d95637618a688 (diff)
Add names for goto labels
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 0632b62d..b1a615f5 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -254,6 +254,7 @@ extern "C"
StructOffsetToken = 25,
StructOffsetByteValueToken = 26,
StructureHexDumpTextToken = 27,
+ GotoLabelToken = 28,
// The following are output by the analysis system automatically, these should
// not be used directly by the architecture plugins
CodeSymbolToken = 64,
@@ -3106,6 +3107,9 @@ __attribute__ ((format (printf, 1, 2)))
BINARYNINJACOREAPI BNFunctionAnalysisSkipOverride BNGetFunctionAnalysisSkipOverride(BNFunction* func);
BINARYNINJACOREAPI void BNSetFunctionAnalysisSkipOverride(BNFunction* func, BNFunctionAnalysisSkipOverride skip);
+ BINARYNINJACOREAPI char* BNGetGotoLabelName(BNFunction* func, uint64_t labelId);
+ BINARYNINJACOREAPI void BNSetUserGotoLabelName(BNFunction* func, uint64_t labelId, const char* name);
+
BINARYNINJACOREAPI BNAnalysisParameters BNGetParametersForAnalysis(BNBinaryView* view);
BINARYNINJACOREAPI void BNSetParametersForAnalysis(BNBinaryView* view, BNAnalysisParameters params);
BINARYNINJACOREAPI uint64_t BNGetMaxFunctionSizeForAnalysis(BNBinaryView* view);
@@ -3808,6 +3812,9 @@ __attribute__ ((format (printf, 1, 2)))
BINARYNINJACOREAPI size_t BNGetHighLevelILSSAMemoryVersionAtILInstruction(BNHighLevelILFunction* func,
size_t instr);
+ BINARYNINJACOREAPI size_t BNGetHighLevelILExprIndexForLabel(BNHighLevelILFunction* func, uint64_t label);
+ BINARYNINJACOREAPI size_t* BNGetHighLevelILUsesForLabel(BNHighLevelILFunction* func, uint64_t label, size_t* count);
+
// Type Libraries
BINARYNINJACOREAPI BNTypeLibrary* BNNewTypeLibrary(BNArchitecture* arch, const char* name);
BINARYNINJACOREAPI BNTypeLibrary* BNNewTypeLibraryReference(BNTypeLibrary* lib);