summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2025-11-25 11:28:39 -0500
committerBrian Potchik <brian@vector35.com>2025-11-25 11:28:39 -0500
commit77da98d11f935d3bd5013ec9ae6d2637186e6b2c (patch)
tree7f5e59bd4f9d6b9a267ec1b13bf9a78c1b59f50a /binaryninjaapi.h
parent31d963f7eb2d3615b0d0ab6ced87d06142d83883 (diff)
Add SectionMap with bulk operations and batch section APIs.
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index e29f4084..9cef3ee0 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -7840,6 +7840,15 @@ namespace BinaryNinja {
uint64_t entrySize = 0, const std::string& linkedSection = "", const std::string& infoSection = "",
uint64_t infoData = 0);
+ /*! Adds multiple automatically defined sections in a batch operation
+
+ This method is more efficient than calling AddAutoSection multiple times as it only triggers
+ one SectionMap rebuild for all sections.
+
+ \param sections Vector of BNSectionInfo describing the sections to add
+ */
+ void AddAutoSections(const std::vector<BNSectionInfo>& sections);
+
/*! Remove an automatically defined section by name
\param name Name of the section
@@ -7867,6 +7876,17 @@ namespace BinaryNinja {
uint64_t entrySize = 0, const std::string& linkedSection = "", const std::string& infoSection = "",
uint64_t infoData = 0);
+ /*! Adds multiple user-defined sections in a batch operation
+
+ This method is more efficient than calling AddUserSection multiple times as it only triggers
+ one SectionMap rebuild for all sections.
+
+ Note that all data specified must already be mapped by an existing segment.
+
+ \param sections Vector of BNSectionInfo describing the sections to add
+ */
+ void AddUserSections(const std::vector<BNSectionInfo>& sections);
+
/*! Remove a user defined section by name
\param name Name of the section to remove