From 919f64403486eecc9b3baccc8e0b0ae81cf7f179 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sat, 22 Mar 2025 13:07:43 +0100 Subject: [PATCH] Serialize sections --- .../module/module_manager.cpp | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/windows-emulator/module/module_manager.cpp b/src/windows-emulator/module/module_manager.cpp index a90a5678..3c1b10d4 100644 --- a/src/windows-emulator/module/module_manager.cpp +++ b/src/windows-emulator/module/module_manager.cpp @@ -23,6 +23,32 @@ namespace utils buffer.read(sym.address); } + static void serialize(buffer_serializer& buffer, const basic_memory_region& region) + { + buffer.write(region.start); + buffer.write(region.length); + buffer.write(region.permissions); + } + + static void deserialize(buffer_deserializer& buffer, basic_memory_region& region) + { + buffer.read(region.start); + region.length = static_cast(buffer.read()); + buffer.read(region.permissions); + } + + static void serialize(buffer_serializer& buffer, const mapped_section& mod) + { + buffer.write(mod.name); + buffer.write(mod.region); + } + + static void deserialize(buffer_deserializer& buffer, mapped_section& mod) + { + buffer.read(mod.name); + buffer.read(mod.region); + } + static void serialize(buffer_serializer& buffer, const mapped_module& mod) { buffer.write(mod.name); @@ -35,6 +61,8 @@ namespace utils buffer.write_vector(mod.exports); buffer.write_map(mod.address_names); + buffer.write_vector(mod.sections); + buffer.write(mod.is_static); } @@ -50,6 +78,8 @@ namespace utils buffer.read_vector(mod.exports); buffer.read_map(mod.address_names); + buffer.read_vector(mod.sections); + buffer.read(mod.is_static); } }