summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2017-12-26 17:14:16 -0500
committerRusty Wagner <rusty@vector35.com>2017-12-26 17:14:16 -0500
commit9fc4766a507d5299cd4de78170c5798b02bb9698 (patch)
treea4589f36a46e662cc16613db88f1c83c69512181 /binaryninjacore.h
parent06b97009b2a09dc7816f6ace2d6a4bff66cb3f26 (diff)
parent26edabfdd7211012c7c8a03186d3025eea9aa345 (diff)
Merge branch 'dev' into fpu
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 7f107c60..baca94be 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -996,6 +996,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);
};
@@ -1033,6 +1034,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];
@@ -1063,6 +1065,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);
@@ -1254,6 +1257,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
@@ -1268,7 +1272,8 @@ extern "C"
{
UpdateFailed = 0,
UpdateSuccess = 1,
- AlreadyUpToDate = 2
+ AlreadyUpToDate = 2,
+ UpdateAvailable = 3
};
struct BNUpdateChannel
@@ -1596,6 +1601,7 @@ extern "C"
uint64_t start, length;
uint64_t dataOffset, dataLength;
uint32_t flags;
+ bool autoDefined;
};
enum BNSectionSemantics
@@ -1616,6 +1622,7 @@ extern "C"
uint64_t infoData;
uint64_t align, entrySize;
BNSectionSemantics semantics;
+ bool autoDefined;
};
struct BNAddressRange
@@ -1680,7 +1687,10 @@ extern "C"
BINARYNINJACOREAPI char* BNGetVersionString(void);
BINARYNINJACOREAPI uint32_t BNGetBuildId(void);
+ BINARYNINJACOREAPI char* BNGetSerialNumber(void);
+ BINARYNINJACOREAPI uint64_t BNGetLicenseExpirationTime(void);
BINARYNINJACOREAPI bool BNIsLicenseValidated(void);
+ BINARYNINJACOREAPI char* BNGetLicensedUserEmail(void);
BINARYNINJACOREAPI char* BNGetProduct(void);
BINARYNINJACOREAPI char* BNGetProductType(void);
BINARYNINJACOREAPI int BNGetLicenseCount(void);
@@ -1850,6 +1860,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);
@@ -2017,6 +2028,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);
@@ -2860,7 +2872,7 @@ extern "C"
BINARYNINJACOREAPI BNUpdateVersion* BNGetUpdateChannelVersions(const char* channel, size_t* count, char** errors);
BINARYNINJACOREAPI void BNFreeUpdateChannelVersionList(BNUpdateVersion* list, size_t count);
- BINARYNINJACOREAPI bool BNAreUpdatesAvailable(const char* channel, char** errors);
+ BINARYNINJACOREAPI bool BNAreUpdatesAvailable(const char* channel, uint64_t* expireTime, uint64_t* serverTime, char** errors);
BINARYNINJACOREAPI BNUpdateResult BNUpdateToVersion(const char* channel, const char* version, char** errors,
bool (*progress)(void* ctxt, uint64_t progress, uint64_t total),
@@ -3277,6 +3289,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