summaryrefslogtreecommitdiff
path: root/type.cpp
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2019-04-22 15:37:37 -0400
committerPeter LaFosse <peter@vector35.com>2019-04-22 15:48:12 -0400
commit9969e70ed879fbfa2bf9fdecf2d9012795bed1a3 (patch)
tree65fab1adc95154b9400f1451ed9be268a0a265fb /type.cpp
parent0215e18c0cc57637a9204f0c2ba4dde4c1cdebee (diff)
Add BNGetStructureMemberByName API and add __getitem__ to python Structure API
Diffstat (limited to 'type.cpp')
-rw-r--r--type.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/type.cpp b/type.cpp
index 8d0ec587..a2075103 100644
--- a/type.cpp
+++ b/type.cpp
@@ -1092,6 +1092,21 @@ vector<StructureMember> Structure::GetMembers() const
}
+bool Structure::GetMemberByName(const string& name, StructureMember& result) const
+{
+ BNStructureMember* member = BNGetStructureMemberByName(m_object, name.c_str());
+ if (member)
+ {
+ result.type = new Type(BNNewTypeReference(member->type));
+ result.name = member->name;
+ result.offset = member->offset;
+ BNFreeStructureMember(member);
+ return true;
+ }
+ return false;
+}
+
+
uint64_t Structure::GetWidth() const
{
return BNGetStructureWidth(m_object);