summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h26
1 files changed, 23 insertions, 3 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 281850a2..ac615922 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -94,6 +94,7 @@ extern "C"
struct BNLowLevelILFunction;
struct BNType;
struct BNStructure;
+ struct BNUnknownType;
struct BNEnumeration;
struct BNCallingConvention;
struct BNPlatform;
@@ -362,7 +363,8 @@ extern "C"
ArrayTypeClass = 7,
FunctionTypeClass = 8,
VarArgsTypeClass = 9,
- ValueTypeClass = 10
+ ValueTypeClass = 10,
+ UnknownTypeClass = 11
};
enum BNStructureType
@@ -391,7 +393,8 @@ extern "C"
{
PointerReferenceType = 0,
ReferenceReferenceType = 1,
- RValueReferenceType = 2
+ RValueReferenceType = 2,
+ NoReference = 3
};
enum BNPointerSuffix
@@ -478,7 +481,11 @@ extern "C"
RttiBaseClassDescriptor,
RttiBaseClassArray,
RttiClassHeirarchyDescriptor,
- RttiCompleteObjectLocator
+ RttiCompleteObjectLocator,
+ OperatorUnaryMinusNameType,
+ OperatorUnaryPlusNameType,
+ OperatorUnaryBitAndNameType,
+ OperatorUnaryStarNameType
};
enum BNCallingConventionName
@@ -1953,6 +1960,13 @@ extern "C"
BINARYNINJACOREAPI char* BNGetTypeStringBeforeName(BNType* type);
BINARYNINJACOREAPI char* BNGetTypeStringAfterName(BNType* type);
+ BINARYNINJACOREAPI BNType* BNCreateUnknownNamedType(BNUnknownType* ut);
+ BINARYNINJACOREAPI BNUnknownType* BNCreateUnknownType(void);
+ BINARYNINJACOREAPI void BNSetUnknownTypeName(BNUnknownType* ut, const char** name, size_t size);
+ BINARYNINJACOREAPI char** BNGetUnknownTypeName(BNUnknownType* ut, size_t* size);
+ BINARYNINJACOREAPI void BNFreeUnknownType(BNUnknownType* ut);
+ BINARYNINJACOREAPI BNUnknownType* BNNewUnknownTypeReference(BNUnknownType* ut);
+
BINARYNINJACOREAPI BNStructure* BNCreateStructure(void);
BINARYNINJACOREAPI BNStructure* BNNewStructureReference(BNStructure* s);
BINARYNINJACOREAPI void BNFreeStructure(BNStructure* s);
@@ -2218,6 +2232,12 @@ extern "C"
BINARYNINJACOREAPI BNMessageBoxButtonResult BNShowMessageBox(const char* title, const char* text,
BNMessageBoxButtonSet buttons, BNMessageBoxIcon icon);
+ BINARYNINJACOREAPI bool BNDemangleGNU3(BNArchitecture* arch,
+ const char* mangledName,
+ BNType** outType,
+ char*** outVarName,
+ size_t* outVarNameElements);
+ BINARYNINJACOREAPI void BNFreeDemangledName(char*** name, size_t nameElements);
#ifdef __cplusplus
}
#endif