diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-13 23:48:47 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-13 23:48:47 +0200 |
| commit | e1ffe04db570e63bd3c855fc4361ed8de6b5f435 (patch) | |
| tree | f0a52f092a0af8a51fe4fe46709757b1702bd27d /dev/LibDebugger/NeKernelContract.h | |
| parent | 2be9a150bb742987330c6de4dac23d4d2efb1ebe (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/NeKernelContract.h')
| -rw-r--r-- | dev/LibDebugger/NeKernelContract.h | 25 |
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; |
