summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2018-01-09 16:47:47 -0500
committerPeter LaFosse <peter@vector35.com>2018-01-09 16:47:47 -0500
commit6ef9dd016c957e796f89f94f00c6d71e2f7589e8 (patch)
tree5ab4ab48cf8f47c4e5325f3b3ae4cf9e5e8d5194 /binaryninjacore.h
parent16a4d413d58d2cb29be97781bba0b52546afa390 (diff)
parent26edabfdd7211012c7c8a03186d3025eea9aa345 (diff)
Merge branch 'dev'
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 870c2de3..245e6353 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -935,6 +935,7 @@ extern "C"
uint64_t (*getEntryPoint)(void* ctxt);
bool (*isExecutable)(void* ctxt);
BNEndianness (*getDefaultEndianness)(void* ctxt);
+ bool (*isRelocatable)(void* ctxt);
size_t (*getAddressSize)(void* ctxt);
bool (*save)(void* ctxt, BNFileAccessor* accessor);
};
@@ -972,6 +973,7 @@ extern "C"
{
size_t length;
size_t branchCount;
+ bool archTransitionByTargetAddr;
bool branchDelay;
BNBranchType branchType[BN_MAX_INSTRUCTION_BRANCHES];
uint64_t branchTarget[BN_MAX_INSTRUCTION_BRANCHES];
@@ -1002,6 +1004,7 @@ extern "C"
BNEndianness (*getEndianness)(void* ctxt);
size_t (*getAddressSize)(void* ctxt);
size_t (*getDefaultIntegerSize)(void* ctxt);
+ size_t (*getInstructionAlignment)(void* ctxt);
size_t (*getMaxInstructionLength)(void* ctxt);
size_t (*getOpcodeDisplayLength)(void* ctxt);
BNArchitecture* (*getAssociatedArchitectureByAddress)(void* ctxt, uint64_t* addr);
@@ -1189,6 +1192,7 @@ extern "C"
{
void* context;
bool (*recognizeLowLevelIL)(void* ctxt, BNBinaryView* data, BNFunction* func, BNLowLevelILFunction* il);
+ bool (*recognizeMediumLevelIL)(void* ctxt, BNBinaryView* data, BNFunction* func, BNMediumLevelILFunction* il);
};
struct BNTypeParserResult
@@ -1527,6 +1531,7 @@ extern "C"
uint64_t start, length;
uint64_t dataOffset, dataLength;
uint32_t flags;
+ bool autoDefined;
};
enum BNSectionSemantics
@@ -1547,6 +1552,7 @@ extern "C"
uint64_t infoData;
uint64_t align, entrySize;
BNSectionSemantics semantics;
+ bool autoDefined;
};
struct BNAddressRange
@@ -1777,6 +1783,7 @@ extern "C"
BINARYNINJACOREAPI BNPlatform* BNGetDefaultPlatform(BNBinaryView* view);
BINARYNINJACOREAPI void BNSetDefaultPlatform(BNBinaryView* view, BNPlatform* platform);
BINARYNINJACOREAPI BNEndianness BNGetDefaultEndianness(BNBinaryView* view);
+ BINARYNINJACOREAPI bool BNIsRelocatable(BNBinaryView* view);
BINARYNINJACOREAPI size_t BNGetViewAddressSize(BNBinaryView* view);
BINARYNINJACOREAPI bool BNIsViewModified(BNBinaryView* view);
@@ -1944,6 +1951,7 @@ extern "C"
BINARYNINJACOREAPI BNEndianness BNGetArchitectureEndianness(BNArchitecture* arch);
BINARYNINJACOREAPI size_t BNGetArchitectureAddressSize(BNArchitecture* arch);
BINARYNINJACOREAPI size_t BNGetArchitectureDefaultIntegerSize(BNArchitecture* arch);
+ BINARYNINJACOREAPI size_t BNGetArchitectureInstructionAlignment(BNArchitecture* arch);
BINARYNINJACOREAPI size_t BNGetArchitectureMaxInstructionLength(BNArchitecture* arch);
BINARYNINJACOREAPI size_t BNGetArchitectureOpcodeDisplayLength(BNArchitecture* arch);
BINARYNINJACOREAPI BNArchitecture* BNGetAssociatedArchitectureByAddress(BNArchitecture* arch, uint64_t* addr);
@@ -3181,6 +3189,8 @@ extern "C"
BINARYNINJACOREAPI BNMetadata* BNBinaryViewQueryMetadata(BNBinaryView* view, const char* key);
BINARYNINJACOREAPI void BNBinaryViewRemoveMetadata(BNBinaryView* view, const char* key);
+ BINARYNINJACOREAPI char* BNGetLinuxCADirectory();
+ BINARYNINJACOREAPI char* BNGetLinuxCABundlePath();
#ifdef __cplusplus
}
#endif