diff options
| author | Amlal <amlalelmahrouss@icloud.com> | 2024-04-26 12:29:13 +0000 |
|---|---|---|
| committer | Amlal <amlalelmahrouss@icloud.com> | 2024-04-26 12:29:13 +0000 |
| commit | 97eb8462433a831f8a02a08acfc7ca32e794d37d (patch) | |
| tree | e7cddb857e50a2cca41a5364b4240cd8c6c0ec13 /Private/Source | |
| parent | f7a7080d18ac2be758b242c22f020c018b1c4824 (diff) | |
| parent | 313c303fab092b1c45e615f960826375e7eef093 (diff) | |
Merged in MHR-16 (pull request #6)
MHR-16 - A lot of features and USA design.
Diffstat (limited to 'Private/Source')
| -rw-r--r-- | Private/Source/ProcessScheduler.cxx | 11 | ||||
| -rw-r--r-- | Private/Source/Utils.cxx | 9 |
2 files changed, 15 insertions, 5 deletions
diff --git a/Private/Source/ProcessScheduler.cxx b/Private/Source/ProcessScheduler.cxx index 6d766d27..69236c18 100644 --- a/Private/Source/ProcessScheduler.cxx +++ b/Private/Source/ProcessScheduler.cxx @@ -25,8 +25,10 @@ namespace NewOS { /// Exit Code stuff /***********************************************************************************/ -static Int32 kExitCode = 0; +STATIC Int32 kExitCode = 0U; +/// @brief Gets the latest exit code. +/// @note Not thread-safe. const Int32 &rt_get_exit_code() noexcept { return kExitCode; } /***********************************************************************************/ @@ -65,8 +67,8 @@ VoidPtr ProcessHeader::New(const SizeT &sz) { /* @brief checks if runtime pointer is in region. */ bool rt_in_pool_region(VoidPtr pool_ptr, VoidPtr pool, const SizeT &sz) { - Char *_pool_ptr = (Char *)pool_ptr; - Char *_pool = (Char *)pool; + UIntPtr *_pool_ptr = (UIntPtr *)pool_ptr; + UIntPtr *_pool = (UIntPtr *)pool; for (SizeT index = sz; _pool[sz] != kUserHeapMag; --index) { if (&_pool[index] > &_pool_ptr[sz]) continue; @@ -97,10 +99,13 @@ Boolean ProcessHeader::Delete(VoidPtr ptr, const SizeT &sz) { return false; } +/// @brief process name getter. const Char *ProcessHeader::GetName() { return this->Name; } +/// @brief process selector getter. const ProcessSelector &ProcessHeader::GetSelector() { return this->Selector; } +/// @brief process status getter. const ProcessStatus &ProcessHeader::GetStatus() { return this->Status; } /***********************************************************************************/ diff --git a/Private/Source/Utils.cxx b/Private/Source/Utils.cxx index e12041c8..fcdddc4a 100644 --- a/Private/Source/Utils.cxx +++ b/Private/Source/Utils.cxx @@ -169,10 +169,15 @@ char *rt_string_frofchar(char *str, const char chr) { } } // namespace NewOS -extern "C" void memset(void *dst, char src, size_t len) { +EXTERN_C void memset(void *dst, char src, size_t len) { NewOS::rt_set_memory(dst, src, len); } -extern "C" void memcpy(void *dst, void *src, size_t len) { +EXTERN_C void memcpy(void *dst, void *src, size_t len) { NewOS::rt_copy_memory(src, dst, len); } + +/// @brief strlen definition in C++. +EXTERN_C size_t strlen(const char *whatToCheck) { + return NewOS::rt_string_len(whatToCheck); +} |
