summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-08-25 20:42:33 -0400
committerRusty Wagner <rusty@vector35.com>2016-08-25 20:42:33 -0400
commite878199be4a74c880acd5d38c33965b47d7630d0 (patch)
treee75461ca2e6404dc62d1584eef5a870efc682114 /binaryninjacore.h
parentc3693b77c1fa9c1b5c45483045eeab929cf7bd16 (diff)
Adding APIs for database save/load progress and constant references
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 2ba6f7e6..4d8c31d9 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -1013,6 +1013,12 @@ extern "C"
void (*addAction)(void* ctxt, BNMainThreadAction* action);
};
+ struct BNConstantReference
+ {
+ int64_t value;
+ size_t size;
+ };
+
BINARYNINJACOREAPI char* BNAllocString(const char* contents);
BINARYNINJACOREAPI void BNFreeString(char* str);
@@ -1105,8 +1111,14 @@ extern "C"
BINARYNINJACOREAPI bool BNIsBackedByDatabase(BNFileMetadata* file);
BINARYNINJACOREAPI bool BNCreateDatabase(BNBinaryView* data, const char* path);
+ BINARYNINJACOREAPI bool BNCreateDatabaseWithProgress(BNBinaryView* data, const char* path,
+ void* ctxt, void (*progress)(void* ctxt, size_t progress, size_t total));
BINARYNINJACOREAPI BNBinaryView* BNOpenExistingDatabase(BNFileMetadata* file, const char* path);
+ BINARYNINJACOREAPI BNBinaryView* BNOpenExistingDatabaseWithProgress(BNFileMetadata* file, const char* path,
+ void* ctxt, void (*progress)(void* ctxt, size_t progress, size_t total));
BINARYNINJACOREAPI bool BNSaveAutoSnapshot(BNBinaryView* data);
+ BINARYNINJACOREAPI bool BNSaveAutoSnapshotWithProgress(BNBinaryView* data, void* ctxt,
+ void (*progress)(void* ctxt, size_t progress, size_t total));
BINARYNINJACOREAPI char* BNGetFilename(BNFileMetadata* file);
BINARYNINJACOREAPI void BNSetFilename(BNFileMetadata* file, const char* name);
@@ -1433,6 +1445,9 @@ extern "C"
BINARYNINJACOREAPI BNStackVariableReference* BNGetStackVariablesReferencedByInstruction(BNFunction* func, BNArchitecture* arch,
uint64_t addr, size_t* count);
BINARYNINJACOREAPI void BNFreeStackVariableReferenceList(BNStackVariableReference* refs, size_t count);
+ BINARYNINJACOREAPI BNConstantReference* BNGetConstantsReferencedByInstruction(BNFunction* func,
+ BNArchitecture* arch, uint64_t addr, size_t* count);
+ BINARYNINJACOREAPI void BNFreeConstantReferenceList(BNConstantReference* refs);
BINARYNINJACOREAPI BNLowLevelILFunction* BNGetFunctionLiftedIL(BNFunction* func);
BINARYNINJACOREAPI size_t BNGetLiftedILForInstruction(BNFunction* func, BNArchitecture* arch, uint64_t addr);