summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2019-09-19 17:31:44 -0400
committerPeter LaFosse <peter@vector35.com>2019-09-27 21:07:22 -0400
commit052b1ea7871c3bfd780a73bcac942db54c95422e (patch)
tree23b72e1461868c096580ae3f6ebe02d4add06d26 /binaryninjacore.h
parentbafb7665495735a758caf1d6334577bc0860c5d8 (diff)
Tag notifications & tag type list optimized
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 1e0ba256..ada6c81e 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -139,6 +139,7 @@ extern "C"
struct BNStructure;
struct BNTagType;
struct BNTag;
+ struct BNTagReference;
struct BNNamedTypeReference;
struct BNEnumeration;
struct BNCallingConvention;
@@ -1080,6 +1081,10 @@ extern "C"
void (*dataVariableRemoved)(void* ctxt, BNBinaryView* view, BNDataVariable* var);
void (*dataVariableUpdated)(void* ctxt, BNBinaryView* view, BNDataVariable* var);
void (*dataMetadataUpdated)(void* ctxt, BNBinaryView* view, uint64_t offset);
+ void (*tagTypeUpdated)(void* ctxt, BNBinaryView* view, BNTagType* tagType);
+ void (*tagAdded)(void* ctxt, BNBinaryView* view, BNTagReference* tagRef);
+ void (*tagUpdated)(void* ctxt, BNBinaryView* view, BNTagReference* tagRef);
+ void (*tagRemoved)(void* ctxt, BNBinaryView* view, BNTagReference* tagRef);
void (*symbolAdded)(void* ctxt, BNBinaryView* view, BNSymbol* sym);
void (*symbolUpdated)(void* ctxt, BNBinaryView* view, BNSymbol* sym);
void (*symbolRemoved)(void* ctxt, BNBinaryView* view, BNSymbol* sym);
@@ -2964,9 +2969,9 @@ extern "C"
BINARYNINJACOREAPI BNTagType* BNGetTagTypeWithType(BNBinaryView* view, const char* name, BNTagTypeType type);
BINARYNINJACOREAPI BNTagType** BNGetTagTypes(BNBinaryView* view, size_t* count);
- BINARYNINJACOREAPI void BNAddTag(BNBinaryView* view, BNTag* tag);
+ BINARYNINJACOREAPI void BNAddTag(BNBinaryView* view, BNTag* tag, bool user);
BINARYNINJACOREAPI BNTag* BNGetTag(BNBinaryView* view, uint64_t tagId);
- BINARYNINJACOREAPI void BNRemoveTag(BNBinaryView* view, BNTag* tag);
+ BINARYNINJACOREAPI void BNRemoveTag(BNBinaryView* view, BNTag* tag, bool user);
BINARYNINJACOREAPI BNTagReference* BNGetAllTagReferences(BNBinaryView* view, size_t* count);
BINARYNINJACOREAPI BNTagReference* BNGetAllAddressTagReferences(BNBinaryView* view, size_t* count);
@@ -2984,6 +2989,9 @@ extern "C"
BINARYNINJACOREAPI void BNRemoveUserDataTag(BNBinaryView* view, uint64_t addr, BNTag* tag);
BINARYNINJACOREAPI void BNRemoveTagReference(BNBinaryView* view, BNTagReference ref);
+ BINARYNINJACOREAPI size_t BNGetTagReferencesOfTypeCount(BNBinaryView* view, BNTagType* tagType);
+ BINARYNINJACOREAPI size_t BNGetAllTagReferencesOfTypeCount(BNBinaryView* view, BNTagType* tagType);
+
BINARYNINJACOREAPI BNTagReference* BNGetFunctionAllTagReferences(BNFunction* func, size_t* count);
BINARYNINJACOREAPI BNTagReference* BNGetFunctionTagReferencesOfType(BNFunction* func, BNTagType* tagType, size_t* count);