diff options
Diffstat (limited to 'gdbremote_parser.hpp')
-rw-r--r-- | gdbremote_parser.hpp | 11 |
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: |