summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2025-10-03 00:31:32 -0400
committerBrian Potchik <brian@vector35.com>2025-10-03 00:31:32 -0400
commit6e0806b4d18e456ebfb1d1d45b2ccc55713309c8 (patch)
treef2c77c27a0a387344fdfbf891af506f2f5c7d707 /binaryninjacore.h
parent416332cc9142ee3f7f6f1b845a45a5657f8333a5 (diff)
Add DecodeWithContext method to Transform API layers.
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 6299618d..67b17bc4 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -37,14 +37,14 @@
// Current ABI version for linking to the core. This is incremented any time
// there are changes to the API that affect linking, including new functions,
// new types, or modifications to existing functions or types.
-#define BN_CURRENT_CORE_ABI_VERSION 133
+#define BN_CURRENT_CORE_ABI_VERSION 134
// Minimum ABI version that is supported for loading of plugins. Plugins that
// are linked to an ABI version less than this will not be able to load and
// will require rebuilding. The minimum version is increased when there are
// incompatible changes that break binary compatibility, such as changes to
// existing types or functions.
-#define BN_MINIMUM_CORE_ABI_VERSION 133
+#define BN_MINIMUM_CORE_ABI_VERSION 134
#ifdef __GNUC__
#ifdef BINARYNINJACORE_LIBRARY
@@ -353,7 +353,8 @@ extern "C"
typedef enum BNTransformCapabilities
{
TransformNoCapabilities = 0,
- TransformSupportsDetection = 1
+ TransformSupportsDetection = 1,
+ TransformSupportsContext = 2
} BNTransformCapabilities;
typedef enum BNTransformSessionMode
@@ -1770,6 +1771,7 @@ extern "C"
void (*freeParameters)(BNTransformParameterInfo* params, size_t count);
bool (*decode)(void* ctxt, BNDataBuffer* input, BNDataBuffer* output, BNTransformParameter* params, size_t paramCount);
bool (*encode)(void* ctxt, BNDataBuffer* input, BNDataBuffer* output, BNTransformParameter* params, size_t paramCount);
+ bool (*decodeWithContext)(void* ctxt, BNTransformContext* context, BNTransformParameter* params, size_t paramCount);
bool (*canDecode)(void* ctxt, BNBinaryView* input);
} BNCustomTransform;
@@ -4634,6 +4636,7 @@ extern "C"
BINARYNINJACOREAPI BNTransformType BNGetTransformType(BNTransform* xform);
BINARYNINJACOREAPI uint32_t BNGetTransformCapabilities(BNTransform* xform);
BINARYNINJACOREAPI bool BNTransformSupportsDetection(BNTransform* xform);
+ BINARYNINJACOREAPI bool BNTransformSupportsContext(BNTransform* xform);
BINARYNINJACOREAPI char* BNGetTransformName(BNTransform* xform);
BINARYNINJACOREAPI char* BNGetTransformLongName(BNTransform* xform);
BINARYNINJACOREAPI char* BNGetTransformGroup(BNTransform* xform);
@@ -4643,6 +4646,7 @@ extern "C"
BNTransform* xform, BNDataBuffer* input, BNDataBuffer* output, BNTransformParameter* params, size_t paramCount);
BINARYNINJACOREAPI bool BNEncode(
BNTransform* xform, BNDataBuffer* input, BNDataBuffer* output, BNTransformParameter* params, size_t paramCount);
+ BINARYNINJACOREAPI bool BNDecodeWithContext(BNTransform* xform, BNTransformContext* context, BNTransformParameter* params, size_t paramCount);
BINARYNINJACOREAPI bool BNCanDecode(BNTransform* xform, BNBinaryView* input);
// Transform Context