summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h32
1 files changed, 19 insertions, 13 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 5a50f5e4..215532f6 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -287,6 +287,7 @@ namespace BinaryNinja
static void DataRemovedCallback(void* ctxt, BNBinaryView* data, uint64_t offset, uint64_t len);
static void FunctionAddedCallback(void* ctxt, BNBinaryView* data, BNFunction* func);
static void FunctionRemovedCallback(void* ctxt, BNBinaryView* data, BNFunction* func);
+ static void FunctionUpdatedCallback(void* ctxt, BNBinaryView* data, BNFunction* func);
public:
BinaryDataNotification();
@@ -299,6 +300,7 @@ namespace BinaryNinja
virtual void OnBinaryDataRemoved(BinaryView* view, uint64_t offset, uint64_t len) { (void)view; (void)offset; (void)len; }
virtual void OnAnalysisFunctionAdded(BinaryView* view, Function* func) { (void)view; (void)func; }
virtual void OnAnalysisFunctionRemoved(BinaryView* view, Function* func) { (void)view; (void)func; }
+ virtual void OnAnalysisFunctionUpdated(BinaryView* view, Function* func) { (void)view; (void)func; }
};
class FileAccessor
@@ -374,19 +376,6 @@ namespace BinaryNinja
BinaryView(FileMetadata* file);
- private:
- static size_t ReadCallback(void* ctxt, void* dest, uint64_t offset, size_t len);
- static size_t WriteCallback(void* ctxt, uint64_t offset, const void* src, size_t len);
- static size_t InsertCallback(void* ctxt, uint64_t offset, const void* src, size_t len);
- static size_t RemoveCallback(void* ctxt, uint64_t offset, uint64_t len);
- static BNModificationStatus GetModificationCallback(void* ctxt, uint64_t offset);
- static bool IsValidOffsetCallback(void* ctxt, uint64_t offset);
- static uint64_t GetStartCallback(void* ctxt);
- static uint64_t GetLengthCallback(void* ctxt);
- static uint64_t GetEntryPointCallback(void* ctxt);
- static bool IsExecutableCallback(void* ctxt);
- static bool SaveCallback(void* ctxt, BNFileAccessor* file);
-
virtual size_t PerformRead(void* dest, uint64_t offset, size_t len) { (void)dest; (void)offset; (void)len; return 0; }
virtual size_t PerformWrite(uint64_t offset, const void* data, size_t len) { (void)offset; (void)data; (void)len; return 0; }
virtual size_t PerformInsert(uint64_t offset, const void* data, size_t len) { (void)offset; (void)data; (void)len; return 0; }
@@ -401,6 +390,23 @@ namespace BinaryNinja
virtual bool PerformSave(FileAccessor* file) { (void)file; return false; }
+ void NotifyDataWritten(uint64_t offset, size_t len);
+ void NotifyDataInserted(uint64_t offset, size_t len);
+ void NotifyDataRemoved(uint64_t offset, uint64_t len);
+
+ private:
+ static size_t ReadCallback(void* ctxt, void* dest, uint64_t offset, size_t len);
+ static size_t WriteCallback(void* ctxt, uint64_t offset, const void* src, size_t len);
+ static size_t InsertCallback(void* ctxt, uint64_t offset, const void* src, size_t len);
+ static size_t RemoveCallback(void* ctxt, uint64_t offset, uint64_t len);
+ static BNModificationStatus GetModificationCallback(void* ctxt, uint64_t offset);
+ static bool IsValidOffsetCallback(void* ctxt, uint64_t offset);
+ static uint64_t GetStartCallback(void* ctxt);
+ static uint64_t GetLengthCallback(void* ctxt);
+ static uint64_t GetEntryPointCallback(void* ctxt);
+ static bool IsExecutableCallback(void* ctxt);
+ static bool SaveCallback(void* ctxt, BNFileAccessor* file);
+
public:
BinaryView(BNBinaryView* view);
virtual ~BinaryView();