summaryrefslogtreecommitdiffhomepage
path: root/dev/LibDebugger/NeKernelContract.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-29 10:48:12 +0200
committerGitHub <noreply@github.com>2025-05-29 10:48:12 +0200
commit433bb5ef102b2bfa0049468be00d63011da8b973 (patch)
treee0893a30710477045a5bb085cb7a27aada425c14 /dev/LibDebugger/NeKernelContract.h
parent1ddeab9a4426abd781a5066ba79af2ba64de11d9 (diff)
parent756ee7f8dc954e27350fe5bdfbaa83b9f69780c8 (diff)
Merge pull request #6 from nekernel-org/dev
0.0.2e3
Diffstat (limited to 'dev/LibDebugger/NeKernelContract.h')
-rw-r--r--dev/LibDebugger/NeKernelContract.h30
1 files changed, 20 insertions, 10 deletions
diff --git a/dev/LibDebugger/NeKernelContract.h b/dev/LibDebugger/NeKernelContract.h
index 8e54ab2..78140e7 100644
--- a/dev/LibDebugger/NeKernelContract.h
+++ b/dev/LibDebugger/NeKernelContract.h
@@ -6,6 +6,8 @@
#ifndef LD_NEKERNEL_CONTRACT_H
#define LD_NEKERNEL_CONTRACT_H
+#ifdef LD_NEKERNEL_DEBUGGER
+
#include <LibDebugger/DebuggerContract.h>
#include <sys/socket.h>
@@ -29,35 +31,43 @@ 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;
std::string m_port;
+ int64_t m_socket{0};
};
} // namespace LibDebugger::NeKernel
+#endif // ifdef LD_NEKERNEL_DEBUGGER
+
#endif // LD_NEKERNEL_CONTRACT_H \ No newline at end of file