summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2022-02-03 21:45:09 -0500
committerGlenn Smith <glenn@vector35.com>2022-02-10 20:11:05 -0500
commitece59d9114f566a0f364cf8c56d555b70952f70b (patch)
treefa8703614af89adea1cfca26fe9a3cc13c4e1994 /binaryninjacore.h
parentbabc57fefb70199ef388cab6d0feca95cc43307f (diff)
Move TypeView::getLinesForType into core as Type::GetLines
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 1062a244..25500d0b 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -1481,6 +1481,32 @@ extern "C"
size_t count;
};
+ enum BNTypeDefinitionLineType
+ {
+ TypedefLineType,
+ StructDefinitionLineType,
+ StructFieldLineType,
+ StructDefinitionEndLineType,
+ EnumDefinitionLineType,
+ EnumMemberLineType,
+ EnumDefinitionEndLineType,
+ PaddingLineType,
+ UndefinedXrefLineType
+ };
+
+ struct BNTypeDefinitionLine
+ {
+ BNTypeDefinitionLineType lineType;
+ BNInstructionTextToken* tokens;
+ size_t count;
+ BNType* type;
+ BNType* rootType;
+ char* rootTypeName;
+ uint64_t offset;
+ size_t fieldIndex;
+ };
+
+
struct BNFlagConditionForSemanticClass
{
uint32_t semanticClass;
@@ -5003,6 +5029,8 @@ extern "C"
BINARYNINJACOREAPI bool BNAddTypeMemberTokens(BNType* type, BNBinaryView* data, BNInstructionTextToken** tokens,
size_t* tokenCount, int64_t offset, char*** nameList, size_t* nameCount, size_t size, bool indirect);
+ BINARYNINJACOREAPI BNTypeDefinitionLine* BNGetTypeLines(BNType* type, BNBinaryView* data, const char* name, int lineWidth, bool collapsed, size_t* count);
+ BINARYNINJACOREAPI void BNFreeTypeDefinitionLineList(BNTypeDefinitionLine* list, size_t count);
BINARYNINJACOREAPI BNQualifiedName BNTypeBuilderGetTypeName(BNTypeBuilder* nt);
BINARYNINJACOREAPI void BNTypeBuilderSetTypeName(BNTypeBuilder* type, BNQualifiedName* name);