summaryrefslogtreecommitdiff
path: root/gdbremote_parser.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'gdbremote_parser.hpp')
-rw-r--r--gdbremote_parser.hpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdbremote_parser.hpp b/gdbremote_parser.hpp
index 75c9bb7..e060daa 100644
--- a/gdbremote_parser.hpp
+++ b/gdbremote_parser.hpp
@@ -60,6 +60,7 @@ enum class PacketType: int {
kContinueAskSupported,
kReadGeneralRegisters,
kReadMemory,
+ kWriteMemory,
kStep,
kSetBreakpoint,
kDeleteBreakpoint,
@@ -85,6 +86,14 @@ struct PacketDataReadMemory: public PacketData {
virtual ~PacketDataReadMemory() {}
};
+struct PacketDataWriteMemory: public PacketData {
+ PacketDataWriteMemory(uint32_t a_offset, uint32_t a_length, std::vector<uint8_t>&& a_data)
+ : offset(a_offset), length(a_length), data(std::move(a_data)) {}
+ uint32_t offset{}, length{};
+ std::vector<uint8_t> data{};
+ virtual ~PacketDataWriteMemory() {}
+};
+
struct Packet {
const PacketType type{};
const std::unique_ptr<const PacketData> data{nullptr};
@@ -137,6 +146,8 @@ struct Packet {
return "g";
case PacketType::kReadMemory:
return "m";
+ case PacketType::kWriteMemory:
+ return "M";
case PacketType::kStep:
return "s";
case PacketType::kSetBreakpoint: