summaryrefslogtreecommitdiffhomepage
path: root/dev/zka/src/UserThreadScheduler.cxx
diff options
context:
space:
mode:
authorAmlal <amlal@el-mahrouss-logic.com>2024-09-22 17:46:11 +0200
committerAmlal <amlal@el-mahrouss-logic.com>2024-09-22 17:46:11 +0200
commit8719b4570a2d10dd49a0d3a47e24f5c55bdda85e (patch)
treeba095740888f3768e08b2ea058b0ea6da2d0403d /dev/zka/src/UserThreadScheduler.cxx
parent45944b3d2dab04b763fcc6d10164fe8069e60b08 (diff)
:boom: A big refactor on the filesystem structure.
Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'dev/zka/src/UserThreadScheduler.cxx')
-rw-r--r--dev/zka/src/UserThreadScheduler.cxx49
1 files changed, 49 insertions, 0 deletions
diff --git a/dev/zka/src/UserThreadScheduler.cxx b/dev/zka/src/UserThreadScheduler.cxx
new file mode 100644
index 00000000..3fc9aee4
--- /dev/null
+++ b/dev/zka/src/UserThreadScheduler.cxx
@@ -0,0 +1,49 @@
+/*
+ * ========================================================
+ *
+ * newoskrnl
+ * Copyright ZKA Technologies., all rights reserved.
+ *
+ * ========================================================
+ */
+
+#include <NewKit/String.hxx>
+#include <CFKit/Property.hxx>
+#include <KernelKit/UserProcessScheduler.hxx>
+
+namespace Kernel
+{
+ /// \brief UserProcess thread information header.
+ struct USER_THREAD_BLOCK final
+ {
+ STATIC constexpr SizeT cMaxLen = 256;
+
+ Char fName[cMaxLen] = {"THREAD #0 (PROCESS 0)"};
+ ProcessStatusKind fThreadStatus;
+ Int64 fThreadID;
+ UserProcessPtr fProcess{nullptr};
+ VoidPtr fCode{nullptr};
+ VoidPtr fStack{nullptr};
+ VoidPtr fData{nullptr};
+
+ Void Exit() noexcept
+ {
+ this->fThreadStatus = ProcessStatusKind::kKilled;
+ }
+
+ VoidPtr GetStack() noexcept
+ {
+ return fStack;
+ }
+
+ VoidPtr GetData() noexcept
+ {
+ return fData;
+ }
+
+ VoidPtr GetPC() noexcept
+ {
+ return fCode;
+ }
+ };
+} // namespace Kernel