summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2025-09-04 18:21:25 -0400
committerRusty Wagner <rusty.wagner@gmail.com>2025-10-06 11:37:39 -0400
commitdc1094fb4a1f416a5e56bef4941a35bca3506865 (patch)
treeadc016e6b4988e20cbfc42ecfb016bd8e4265977 /binaryninjaapi.h
parent4833f8ba6f567a84217443a75eb835da70932ea4 (diff)
Add type attribute APIs
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index f7896a45..a71d8fc0 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -10066,7 +10066,16 @@ namespace BinaryNinja {
};
/*!
- \ingroup types
+ \ingroup types
+ */
+ struct TypeAttribute
+ {
+ std::string name;
+ std::string value;
+ };
+
+ /*!
+ \ingroup types
*/
class Type : public CoreRefCountObject<BNType, BNNewTypeReference, BNFreeType>
{
@@ -10208,6 +10217,9 @@ namespace BinaryNinja {
std::string GetPointerSuffixString() const;
std::vector<InstructionTextToken> GetPointerSuffixTokens(uint8_t baseConfidence = BN_FULL_CONFIDENCE) const;
+ std::vector<TypeAttribute> GetAttributes() const;
+ std::optional<std::string> GetAttribute(const std::string& name) const;
+
std::string GetString(Platform* platform = nullptr, BNTokenEscapingType escaping = NoTokenEscapingType) const;
std::string GetTypeAndName(const QualifiedName& name, BNTokenEscapingType escaping = NoTokenEscapingType) const;
std::string GetStringBeforeName(Platform* platform = nullptr, BNTokenEscapingType escaping = NoTokenEscapingType) const;
@@ -10623,6 +10635,12 @@ namespace BinaryNinja {
TypeBuilder& AddPointerSuffix(BNPointerSuffix ps);
TypeBuilder& SetPointerSuffix(const std::set<BNPointerSuffix>& suffix);
+ void SetAttribute(const std::string& name, const std::string& value);
+ void SetAttributes(const std::map<std::string, std::string>& attrs);
+ void RemoveAttribute(const std::string& name);
+ std::vector<TypeAttribute> GetAttributes() const;
+ std::optional<std::string> GetAttribute(const std::string& name) const;
+
std::string GetString(Platform* platform = nullptr) const;
std::string GetTypeAndName(const QualifiedName& name) const;
std::string GetStringBeforeName(Platform* platform = nullptr) const;