summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2025-06-30 13:46:52 -0400
committerGlenn Smith <glenn@vector35.com>2025-07-01 23:23:25 -0400
commit7871953325024282191116771022201477045749 (patch)
tree2e55b48cd8c2152ebeae85d1f617c9287628c762 /binaryninjacore.h
parent3369388279087234793382558126227582393316 (diff)
Python: Collect and pass mappings when copying MLIL functions
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index fda0eb7d..48b767f8 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -3711,6 +3711,16 @@ extern "C"
AlwaysEnabledRenderLayerDefaultEnableState,
} BNRenderLayerDefaultEnableState;
+ typedef struct BNExprMapInfo
+ {
+ size_t lowerIndex;
+ size_t higherIndex;
+ bool mapLowerToHigher;
+ bool mapHigherToLower;
+ bool lowerToHigherDirect;
+ bool higherToLowerDirect;
+ } BNExprMapInfo;
+
BINARYNINJACOREAPI char* BNAllocString(const char* contents);
BINARYNINJACOREAPI char* BNAllocStringWithLength(const char* contents, size_t len);
BINARYNINJACOREAPI void BNFreeString(char* str);
@@ -5647,7 +5657,9 @@ extern "C"
BINARYNINJACOREAPI void BNSetLowLevelILFunction(
BNAnalysisContext* analysisContext, BNLowLevelILFunction* lowLevelIL);
BINARYNINJACOREAPI void BNSetMediumLevelILFunction(
- BNAnalysisContext* analysisContext, BNMediumLevelILFunction* mediumLevelIL);
+ BNAnalysisContext* analysisContext, BNMediumLevelILFunction* mediumLevelIL,
+ size_t* llilSSAToMLILSSAInstrMap, size_t instrCount,
+ BNExprMapInfo* llilSSAToMLILSSAExprMap, size_t exprCount);
BINARYNINJACOREAPI void BNSetHighLevelILFunction(
BNAnalysisContext* analysisContext, BNHighLevelILFunction* highLevelIL);
BINARYNINJACOREAPI bool BNAnalysisContextInform(BNAnalysisContext* analysisContext, const char* request);