summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/UserProcessTeam.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-02 19:38:46 +0200
committerGitHub <noreply@github.com>2025-05-02 19:38:46 +0200
commit997be16e5ac9a68d54882ab69529815860d62955 (patch)
tree19d6129c2d776bb1edc5d4a7325e39ca176c3403 /dev/kernel/src/UserProcessTeam.cc
parent618104e74c195d7508a18450524f8ed7f9af8cc6 (diff)
parentb3b4b1ebdcd6adeac914869017c86d892b7a8ced (diff)
Merge pull request #28 from nekernel-org/dev
0.0.2
Diffstat (limited to 'dev/kernel/src/UserProcessTeam.cc')
-rw-r--r--dev/kernel/src/UserProcessTeam.cc53
1 files changed, 53 insertions, 0 deletions
diff --git a/dev/kernel/src/UserProcessTeam.cc b/dev/kernel/src/UserProcessTeam.cc
new file mode 100644
index 00000000..7acbcf8d
--- /dev/null
+++ b/dev/kernel/src/UserProcessTeam.cc
@@ -0,0 +1,53 @@
+/* -------------------------------------------
+
+ Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+
+------------------------------------------- */
+
+/***********************************************************************************/
+/// @file UserProcessTeam.cc
+/// @brief Process teams implementation.
+/***********************************************************************************/
+
+#include <KernelKit/UserProcessScheduler.h>
+
+namespace Kernel {
+UserProcessTeam::UserProcessTeam() {
+ for (SizeT i = 0U; i < this->mProcessList.Count(); ++i) {
+ this->mProcessList[i] = USER_PROCESS();
+ this->mProcessList[i].PTime = 0;
+ this->mProcessList[i].Status = ProcessStatusKind::kKilled;
+ }
+
+ this->mProcessCount = 0UL;
+}
+
+/***********************************************************************************/
+/// @brief Process list array getter.
+/// @return The list of process to schedule.
+/***********************************************************************************/
+
+Array<USER_PROCESS, kSchedProcessLimitPerTeam>& UserProcessTeam::AsArray() {
+ return this->mProcessList;
+}
+
+/***********************************************************************************/
+/// @brief Get team ID.
+/// @return The team's ID.
+/***********************************************************************************/
+
+ProcessID& UserProcessTeam::Id() noexcept {
+ return this->mTeamId;
+}
+
+/***********************************************************************************/
+/// @brief Get current process getter as Ref.
+/// @return The current process header.
+/***********************************************************************************/
+
+Ref<USER_PROCESS>& UserProcessTeam::AsRef() {
+ return this->mCurrentProcess;
+}
+} // namespace Kernel
+
+// last rev 05-03-24