summaryrefslogtreecommitdiffhomepage
path: root/Private/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Private/Source')
-rw-r--r--Private/Source/ProcessScheduler.cxx11
-rw-r--r--Private/Source/Utils.cxx9
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);
+}