summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index ee1c9c0e..7c297f73 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -21,6 +21,7 @@
#pragma once
#ifdef WIN32
+#define NOMINMAX
#include <windows.h>
#endif
#include <stddef.h>
@@ -1489,6 +1490,7 @@ namespace BinaryNinja
};
class Structure;
+ class UnknownType;
class Enumeration;
struct NameAndType
@@ -1516,6 +1518,8 @@ namespace BinaryNinja
bool CanReturn() const;
Ref<Structure> GetStructure() const;
Ref<Enumeration> GetEnumeration() const;
+ Ref<UnknownType> GetUnknownType() const;
+
uint64_t GetElementCount() const;
void SetFunctionCanReturn(bool canReturn);
@@ -1532,6 +1536,7 @@ namespace BinaryNinja
static Ref<Type> IntegerType(size_t width, bool sign, const std::string& altName = "");
static Ref<Type> FloatType(size_t width, const std::string& typeName = "");
static Ref<Type> StructureType(Structure* strct);
+ static Ref<Type> UnknownNamedType(UnknownType* unknwn);
static Ref<Type> EnumerationType(Architecture* arch, Enumeration* enm, size_t width = 0, bool issigned = false);
static Ref<Type> PointerType(Architecture* arch, Type* type, bool cnst = false, bool vltl = false,
BNReferenceType refType = PointerReferenceType);
@@ -1542,6 +1547,14 @@ namespace BinaryNinja
static std::string GetQualifiedName(const std::vector<std::string>& names);
};
+ class UnknownType: public CoreRefCountObject<BNUnknownType, BNNewUnknownTypeReference, BNFreeUnknownType>
+ {
+ public:
+ UnknownType(BNUnknownType* s, std::vector<std::string> name = {});
+ std::vector<std::string> GetName() const;
+ void SetName(const std::vector<std::string>& name);
+ };
+
struct StructureMember
{
Ref<Type> type;