microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
gdb_packet_types.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Jarosław Pelczar <jarek@jpelczar.com>
2// SPDX-License-Identifier: BSD-2-Clause
3
4#pragma once
5
8#include <cstdint>
9
10namespace microfmt::gdb {
11
12#define INSPECTOR_GDB_PACKET_LIST(X) \
13 X(unknown, "") \
14 X(enable_extended_mode, "!") \
15 X(halt_reason, "?") \
16 X(continue_exec, "c") \
17 X(continue_with_signal, "C") \
18 X(step_exec, "s") \
19 X(step_with_signal, "S") \
20 X(kill, "k") \
21 X(detach, "D") \
22 X(restart, "R") \
23 X(read_general_registers, "g") \
24 X(write_general_registers, "G") \
25 X(read_single_register, "p") \
26 X(write_single_register, "P") \
27 X(read_memory, "m") \
28 X(write_memory_hex, "M") \
29 X(write_memory_binary, "X") \
30 X(search_memory, "qSearch:memory") \
31 X(insert_break_watch, "Z") \
32 X(remove_break_watch, "z") \
33 X(set_thread, "H") \
34 X(thread_is_alive, "T") \
35 X(query_supported, "qSupported") \
36 X(query_first_thread_info, "qfThreadInfo") \
37 X(query_subsequent_thread, "qsThreadInfo") \
38 X(query_current_thread, "qC") \
39 X(query_thread_extra_info, "qThreadExtraInfo") \
40 X(query_attached, "qAttached") \
41 X(query_offsets, "qOffsets") \
42 X(query_crc, "qCRC") \
43 X(query_symbol, "qSymbol") \
44 X(query_trace_status, "qTStatus") \
45 X(set_start_noack_mode, "QStartNoAckMode") \
46 X(set_pass_signals, "QPassSignals") \
47 X(set_program_signals, "QProgramSignals") \
48 X(set_non_stop, "QNonStop") \
49 X(set_thread_events, "QThreadEvents") \
50 X(v_cont, "vCont") \
51 X(v_cont_supported, "vCont?") \
52 X(v_attach, "vAttach") \
53 X(v_run, "vRun") \
54 X(v_kill, "vKill") \
55 X(v_stopped, "vStopped") \
56 X(v_must_reply_empty, "vMustReplyEmpty") \
57 X(file_io_request, "F")
58
64enum class packet_type : uint8_t {
65#undef __INSPECTOR_GDB_PACKET_TYPE_X
66#define __INSPECTOR_GDB_PACKET_TYPE_X(name, str) name,
68#undef __INSPECTOR_GDB_PACKET_TYPE_X
69 _count, // Number of packets
70 _multi_char_marker, // Special internal sentinel for lookup dispatch
71};
72
73} // namespace microfmt::gdb
#define INSPECTOR_GDB_PACKET_LIST(X)
Definition gdb_packet_types.hpp:12
Definition gdb_decoders.hpp:15
packet_type
High-level classification of GDB Remote Serial Protocol commands.
Definition gdb_packet_types.hpp:64
__INSPECTOR_GDB_PACKET_TYPE_X(name, str)