From 80b76666074aa94f165e3db7b3dda2145ca6efc0 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 21 Mar 2024 22:39:57 +0100 Subject: unstable, kernel+api: important breaking changes. Signed-off-by: Amlal El Mahrouss --- Public/Kits/System.Core/Headers/Thread.hxx | 49 ++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Public/Kits/System.Core/Headers/Thread.hxx (limited to 'Public/Kits/System.Core/Headers/Thread.hxx') diff --git a/Public/Kits/System.Core/Headers/Thread.hxx b/Public/Kits/System.Core/Headers/Thread.hxx new file mode 100644 index 00000000..306419b3 --- /dev/null +++ b/Public/Kits/System.Core/Headers/Thread.hxx @@ -0,0 +1,49 @@ +/* ------------------------------------------- + + Copyright Mahrouss Logic + +------------------------------------------- */ + +// +// Created by Amlal on 3/18/24 +// + +#ifndef __THREAD_API__ +#define __THREAD_API__ + +#include + +/// @brief Thread Information Block, which holds information about the running thread. +typedef PtrVoidType PtrThread; + +/// @brief Creates a new thread. +/// @param StartProc +/// @param OptionalHeap +/// @param OptionalStack +/// @param Detach +/// @param Join +/// @return +PtrThread HcCreateThread(_Input PtrVoidType StartProc, + _Optional _InOut PtrVoidType OptionalHeap, + _Optional _InOut PtrVoidType OptionalStack, + _Optional _Input BooleanType Detach, + _Optional _Input BooleanType Join); + +/// @brief Destroys the thread object. +/// @param ThreadPtr +/// @return +BooleanType HcDestroyThread(_Input PtrThread ThreadPtr); + +/// @brief Stops the thread. +/// @param ThreadPtr +/// @return +BooleanType HcStopThread(_Input PtrThread ThreadPtr); + +/// @brief Resumes it. +/// @param ThreadPtr +/// @return +BooleanType HcResumeThread(_Input PtrThread ThreadPtr); + +QWordType HcProcessIdThread(_Input PtrThread ThreadPtr); + +#endif // __THREAD_API__ -- cgit v1.2.3