summaryrefslogtreecommitdiff
path: root/binaryninjaapi.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 /binaryninjaapi.h
parent06b97009b2a09dc7816f6ace2d6a4bff66cb3f26 (diff)
parent26edabfdd7211012c7c8a03186d3025eea9aa345 (diff)
Merge branch 'dev' into fpu
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index d4624ca5..b90f72a2 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -575,8 +575,10 @@ namespace BinaryNinja
std::string& output, std::string& errors, bool stdoutIsText=false, bool stderrIsText=true);
std::string GetVersionString();
+ std::string GetLicensedUserEmail();
std::string GetProduct();
std::string GetProductType();
+ std::string GetSerialNumber();
int GetLicenseCount();
bool IsUIEnabled();
uint32_t GetBuildId();
@@ -1025,6 +1027,7 @@ namespace BinaryNinja
uint64_t start, length;
uint64_t dataOffset, dataLength;
uint32_t flags;
+ bool autoDefined;
};
struct Section
@@ -1035,6 +1038,7 @@ namespace BinaryNinja
uint64_t infoData;
uint64_t align, entrySize;
BNSectionSemantics semantics;
+ bool autoDefined;
};
struct QualifiedNameAndType;
@@ -1086,6 +1090,7 @@ namespace BinaryNinja
virtual uint64_t PerformGetEntryPoint() const { return 0; }
virtual bool PerformIsExecutable() const { return false; }
virtual BNEndianness PerformGetDefaultEndianness() const;
+ virtual bool PerformIsRelocatable() const;
virtual size_t PerformGetAddressSize() const;
virtual bool PerformSave(FileAccessor* file);
@@ -1113,6 +1118,7 @@ namespace BinaryNinja
static uint64_t GetEntryPointCallback(void* ctxt);
static bool IsExecutableCallback(void* ctxt);
static BNEndianness GetDefaultEndiannessCallback(void* ctxt);
+ static bool IsRelocatableCallback(void* ctxt);
static size_t GetAddressSizeCallback(void* ctxt);
static bool SaveCallback(void* ctxt, BNFileAccessor* file);
@@ -1179,6 +1185,7 @@ namespace BinaryNinja
void SetDefaultPlatform(Platform* platform);
BNEndianness GetDefaultEndianness() const;
+ bool IsRelocatable() const;
size_t GetAddressSize() const;
bool IsExecutable() const;
@@ -1580,6 +1587,7 @@ namespace BinaryNinja
static BNEndianness GetEndiannessCallback(void* ctxt);
static size_t GetAddressSizeCallback(void* ctxt);
static size_t GetDefaultIntegerSizeCallback(void* ctxt);
+ static size_t GetInstructionAlignmentCallback(void* ctxt);
static size_t GetMaxInstructionLengthCallback(void* ctxt);
static size_t GetOpcodeDisplayLengthCallback(void* ctxt);
static BNArchitecture* GetAssociatedArchitectureByAddressCallback(void* ctxt, uint64_t* addr);
@@ -1639,6 +1647,7 @@ namespace BinaryNinja
virtual size_t GetAddressSize() const = 0;
virtual size_t GetDefaultIntegerSize() const;
+ virtual size_t GetInstructionAlignment() const;
virtual size_t GetMaxInstructionLength() const;
virtual size_t GetOpcodeDisplayLength() const;
@@ -1784,6 +1793,7 @@ namespace BinaryNinja
virtual BNEndianness GetEndianness() const override;
virtual size_t GetAddressSize() const override;
virtual size_t GetDefaultIntegerSize() const override;
+ virtual size_t GetInstructionAlignment() const override;
virtual size_t GetMaxInstructionLength() const override;
virtual size_t GetOpcodeDisplayLength() const override;
virtual Ref<Architecture> GetAssociatedArchitectureByAddress(uint64_t& addr) override;
@@ -3033,6 +3043,7 @@ namespace BinaryNinja
class FunctionRecognizer
{
static bool RecognizeLowLevelILCallback(void* ctxt, BNBinaryView* data, BNFunction* func, BNLowLevelILFunction* il);
+ static bool RecognizeMediumLevelILCallback(void* ctxt, BNBinaryView* data, BNFunction* func, BNMediumLevelILFunction* il);
public:
FunctionRecognizer();
@@ -3041,6 +3052,7 @@ namespace BinaryNinja
static void RegisterArchitectureFunctionRecognizer(Architecture* arch, FunctionRecognizer* recog);
virtual bool RecognizeLowLevelIL(BinaryView* data, Function* func, LowLevelILFunction* il);
+ virtual bool RecognizeMediumLevelIL(BinaryView* data, Function* func, MediumLevelILFunction* il);
};
class UpdateException: public std::exception
@@ -3059,7 +3071,7 @@ namespace BinaryNinja
static std::vector<UpdateChannel> GetList();
- bool AreUpdatesAvailable();
+ bool AreUpdatesAvailable(uint64_t* expireTime, uint64_t* serverTime);
BNUpdateResult UpdateToVersion(const std::string& version);
BNUpdateResult UpdateToVersion(const std::string& version,
@@ -3674,4 +3686,7 @@ namespace BinaryNinja
bool IsArray() const;
bool IsKeyValueStore() const;
};
+
+ std::string GetLinuxCADirectory();
+ std::string GetLinuxCABundlePath();
}