summaryrefslogtreecommitdiffhomepage
path: root/dev/LibDebugger
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-13 23:48:47 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-13 23:48:47 +0200
commite1ffe04db570e63bd3c855fc4361ed8de6b5f435 (patch)
treef0a52f092a0af8a51fe4fe46709757b1702bd27d /dev/LibDebugger
parent2be9a150bb742987330c6de4dac23d4d2efb1ebe (diff)
feat(LibDebugger): expand KDBG's protocol, by reworking the packet
structure. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/LibDebugger')
-rw-r--r--dev/LibDebugger/NeKernelContract.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/dev/LibDebugger/NeKernelContract.h b/dev/LibDebugger/NeKernelContract.h
index 8e54ab2..e645db8 100644
--- a/dev/LibDebugger/NeKernelContract.h
+++ b/dev/LibDebugger/NeKernelContract.h
@@ -29,30 +29,35 @@ namespace LibDebugger::NeKernel {
class NeKernelContract;
namespace Detail {
- class NeKernelPortHeader;
+ class NeKernelDebugHeader;
inline constexpr size_t kDebugTypeLen = 256U;
typedef char rt_debug_type[kDebugTypeLen];
- class NeKernelPortHeader final {
+ class NeKernelDebugHeader final {
public:
- int16_t fPort;
- int16_t fPortBsy;
+ int16_t fPort;
+ int16_t fPortKind;
+ rt_debug_type fPortBlob;
};
} // namespace Detail
class NeKernelContract : public DebuggerContract {
public:
NeKernelContract();
- virtual ~NeKernelContract();
+ ~NeKernelContract() override;
+
+ public:
+ NeKernelContract& operator=(const NeKernelContract&) = default;
+ NeKernelContract(const NeKernelContract&) = default;
// Override additional methods from DebuggerContract
- virtual bool Attach(std::string path, std::string argv, ProcessID& pid) noexcept override;
- virtual bool Breakpoint(std::string symbol) noexcept override;
- virtual bool Break() noexcept override;
- virtual bool Continue() noexcept override;
- virtual bool Detach() noexcept override;
+ bool Attach(std::string path, std::string argv, ProcessID& pid) noexcept override;
+ bool Breakpoint(std::string symbol) noexcept override;
+ bool Break() noexcept override;
+ bool Continue() noexcept override;
+ bool Detach() noexcept override;
private:
std::string m_ip_address;