summaryrefslogtreecommitdiffhomepage
path: root/include/DebuggerKit/Detail/Config.h
blob: f5c1be847a3dd35b2bb9298b94ce8c3e6f1617d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org)
// Licensed under the Apache License, Version 2.0 (See accompanying
// file LICENSE or copy at http://www.apache.org/licenses/LICENSE-2.0)
// Official repository: https://github.com/nekernel-org/nectar

#ifndef NECTAR_DEBUGGERKIT_DETAIL_CONFIG_H
#define NECTAR_DEBUGGERKIT_DETAIL_CONFIG_H

/// =========================================================== ///
/// @author Amlal El Mahrouss
/// =========================================================== ///

#include <CompilerKit/Detail/Config.h>

#include <arpa/inet.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/un.h>

#include <sys/ptrace.h>
#include <sys/types.h>
#include <sys/user.h>
#include <sys/wait.h>
#include <unistd.h>

#include <dlfcn.h>

#ifdef __APPLE__
#include <mach-o/dyld.h>
#include <mach/mach.h>
#include <mach/mach_error.h>
#endif

#ifndef kDistRelease

#define kDistVersion "v0.1.3-debuggerkit"
#define kDistVersionBCD 0x0103

#define ToString(X) Stringify(X)
#define Stringify(X) #X

#define kDistRelease ToString(kDistReleaseBranch)

#endif  // !kDistRelease

namespace DebuggerKit {
/// =========================================================== ///
/// \brief Process ID
/// =========================================================== ///
typedef uint64_t ProcessID;

/// =========================================================== ///
/// \brief Address type, a la BSD.
/// =========================================================== ///
typedef char* CAddress;

namespace Detail {
  constexpr auto     kDebugCmdLen  = 256U;
  constexpr auto     kDebugPort    = 51820;
  constexpr auto     kDebugMagic   = "NE1.0.0;";
  constexpr uint16_t kDebugVersion = 0x0100;
  constexpr auto     kDebugDelim   = ';';
  constexpr auto     kDebugEnd     = '\r';
  using dk_socket_type             = int64_t;
}  // namespace Detail
}  // namespace DebuggerKit

#endif  // NECTAR_DEBUGGERKIT_DETAIL_CONFIG_H