From 1584c0f2ae591eafe6b69a9d663dbff4d32beaff Mon Sep 17 00:00:00 2001 From: plafosse Date: Thu, 25 Aug 2016 00:22:43 +0100 Subject: adding gnu3 demangler apis --- binaryninjaapi.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index b115263c..ed714be6 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -1449,6 +1449,7 @@ namespace BinaryNinja }; class Structure; + class UnknownType; class Enumeration; struct NameAndType @@ -1476,6 +1477,8 @@ namespace BinaryNinja bool CanReturn() const; Ref GetStructure() const; Ref GetEnumeration() const; + Ref GetUnknownType() const; + uint64_t GetElementCount() const; void SetFunctionCanReturn(bool canReturn); @@ -1492,6 +1495,7 @@ namespace BinaryNinja static Ref IntegerType(size_t width, bool sign, const std::string& altName = ""); static Ref FloatType(size_t width, const std::string& typeName = ""); static Ref StructureType(Structure* strct); + static Ref UnknownNamedType(UnknownType* unknwn); static Ref EnumerationType(Architecture* arch, Enumeration* enm, size_t width = 0, bool issigned = false); static Ref PointerType(Architecture* arch, Type* type, bool cnst = false, bool vltl = false, BNReferenceType refType = PointerReferenceType); @@ -1502,6 +1506,14 @@ namespace BinaryNinja static std::string GetQualifiedName(const std::vector& names); }; + class UnknownType: public CoreRefCountObject + { + public: + UnknownType(BNUnknownType* s, std::vector name = {}); + std::vector GetName() const; + void SetName(const std::vector& name); + }; + struct StructureMember { Ref type; -- cgit v1.3.1