summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorrose <47357290+rompse@users.noreply.github.com>2021-11-09 20:09:44 -0500
committerPeter LaFosse <peter@vector35.com>2022-01-17 12:11:20 -0500
commit9c7ed0cc4ebe08871a7b83e0f56a542c0f31f835 (patch)
treeef970623cda06a37fa2efc5e1b12105ef5766475 /binaryninjacore.h
parente621ce147bac7fefd1823986eb2acbccd29897d6 (diff)
Decompile to C
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 5a9edfc2..fca627c3 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -177,6 +177,7 @@ extern "C"
struct BNLowLevelILFunction;
struct BNMediumLevelILFunction;
struct BNHighLevelILFunction;
+ struct BNLanguageRepresentationFunction;
struct BNType;
struct BNTypeBuilder;
struct BNTypeLibrary;
@@ -587,7 +588,8 @@ extern "C"
MappedMediumLevelILFunctionGraph = 6,
MappedMediumLevelILSSAFormFunctionGraph = 7,
HighLevelILFunctionGraph = 8,
- HighLevelILSSAFormFunctionGraph = 9
+ HighLevelILSSAFormFunctionGraph = 9,
+ HighLevelLanguageRepresentationFunctionGraph = 10,
};
enum BNDisassemblyOption
@@ -3469,6 +3471,7 @@ __attribute__ ((format (printf, 1, 2)))
BINARYNINJACOREAPI BNMediumLevelILFunction* BNGetFunctionMediumLevelILIfAvailable(BNFunction* func);
BINARYNINJACOREAPI BNHighLevelILFunction* BNGetFunctionHighLevelIL(BNFunction* func);
BINARYNINJACOREAPI BNHighLevelILFunction* BNGetFunctionHighLevelILIfAvailable(BNFunction* func);
+ BINARYNINJACOREAPI BNLanguageRepresentationFunction* BNGetFunctionLanguageRepresentation(BNFunction* func);
BINARYNINJACOREAPI BNRegisterValue BNGetRegisterValueAtInstruction(BNFunction* func, BNArchitecture* arch,
uint64_t addr, uint32_t reg);
BINARYNINJACOREAPI BNRegisterValue BNGetRegisterValueAfterInstruction(BNFunction* func, BNArchitecture* arch,
@@ -3832,6 +3835,8 @@ __attribute__ ((format (printf, 1, 2)))
BNDisassemblySettings* settings);
BINARYNINJACOREAPI BNLinearViewObject* BNCreateLinearViewHighLevelILSSAForm(BNBinaryView* view,
BNDisassemblySettings* settings);
+ BINARYNINJACOREAPI BNLinearViewObject* BNCreateLinearViewLanguageRepresentation(BNBinaryView* view,
+ BNDisassemblySettings* settings);
BINARYNINJACOREAPI BNLinearViewObject* BNNewLinearViewObjectReference(BNLinearViewObject* obj);
BINARYNINJACOREAPI void BNFreeLinearViewObject(BNLinearViewObject* obj);
BINARYNINJACOREAPI BNLinearViewObject* BNGetFirstLinearViewObjectChild(BNLinearViewObject* obj);
@@ -4713,6 +4718,12 @@ __attribute__ ((format (printf, 1, 2)))
BINARYNINJACOREAPI void BNBinaryViewExportTypeToTypeLibrary(BNBinaryView* view, BNTypeLibrary* lib, BNQualifiedName* name, BNType* type);
BINARYNINJACOREAPI void BNBinaryViewExportObjectToTypeLibrary(BNBinaryView* view, BNTypeLibrary* lib, BNQualifiedName* name, BNType* type);
+ // Language Representation
+ BINARYNINJACOREAPI BNLanguageRepresentationFunction* BNCreateLanguageRepresentationFunction(BNArchitecture* arch, BNFunction* func);
+ BINARYNINJACOREAPI BNLanguageRepresentationFunction* BNNewLanguageRepresentationFunctionReference(BNLanguageRepresentationFunction* func);
+ BINARYNINJACOREAPI void BNFreeLanguageRepresentationFunction(BNLanguageRepresentationFunction* func);
+ BINARYNINJACOREAPI BNFunction* BNGetLanguageRepresentationOwnerFunction(BNLanguageRepresentationFunction* func);
+
// Types
BINARYNINJACOREAPI bool BNTypesEqual(BNType* a, BNType* b);
BINARYNINJACOREAPI bool BNTypesNotEqual(BNType* a, BNType* b);