diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-31 09:47:51 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-31 09:47:51 +0200 |
| commit | 11034c004ee7b232e53d69e9f1ae9000f008285f (patch) | |
| tree | 40a011167c9dbfbfa998e71754ab8cb5a6bcfac2 /dev/kernel/SignalKit | |
| parent | d9c1f9ec143f02e66c0178557b76124b3e45a32d (diff) | |
feat: kernel: Revamped `SignalKit` framework. DDK revamp.
ci: testing improvements.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/SignalKit')
| -rw-r--r-- | dev/kernel/SignalKit/SignalGen.h | 43 | ||||
| -rw-r--r-- | dev/kernel/SignalKit/Signals.h | 24 |
2 files changed, 43 insertions, 24 deletions
diff --git a/dev/kernel/SignalKit/SignalGen.h b/dev/kernel/SignalKit/SignalGen.h new file mode 100644 index 00000000..e1684acb --- /dev/null +++ b/dev/kernel/SignalKit/SignalGen.h @@ -0,0 +1,43 @@ +/* ------------------------------------------- + + Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. + +------------------------------------------- */ + +#pragma once + +#include <NeKit/Defines.h> + +#define SIGKILL 1 +#define SIGPAUS 2 +#define SIGEXEC 3 +#define SIGTRAP 4 +#define SIGABRT 5 +#define SIGCONT 6 +#define SIGSEG 7 + +#define SIGBREK 660 +#define SIGATCH 661 +#define SIGDTCH 662 + +/// @author Amlal El Mahrouss +/// @brief Signal Generation API. + +namespace Kernel { +typedef UInt32 rt_signal_kind; + +/// @brief Standard signal seed for general purpose usage. +inline static constexpr auto kBasicSignalSeed = 0x0895034f; + +/// @brief Generate signal from **Sig** +template <rt_signal_kind Sig, SizeT Seed = kBasicSignalSeed> +inline rt_signal_kind sig_generate_unique() { + static_assert(Sig > 0, "Signal is zero (invalid)"); + return Sig ^ Seed; +} + +/// @brief Validate signal from **sig** +constexpr BOOL sig_validate_unique(rt_signal_kind sig) { + return sig > 0; +} +} // namespace Kernel diff --git a/dev/kernel/SignalKit/Signals.h b/dev/kernel/SignalKit/Signals.h deleted file mode 100644 index 142ed3ab..00000000 --- a/dev/kernel/SignalKit/Signals.h +++ /dev/null @@ -1,24 +0,0 @@ -/* ------------------------------------------- - - Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. - -------------------------------------------- */ - -#pragma once - -#include <NeKit/Defines.h> - -#define SIGKILL 0 -#define SIGPAUS 1 -#define SIGEXEC 2 -#define SIGTRAP 3 -#define SIGABRT 4 -#define SIGCONT 5 - -#define SIGBREK 666 -#define SIGATCH 661 -#define SIGDTCH 662 - -namespace Kernel { -typedef UInt32 SignalKind; -}
\ No newline at end of file |
