summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/CRuntimeOverrides.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-19 09:36:24 +0100
committerGitHub <noreply@github.com>2025-11-19 09:36:24 +0100
commit31439688ca75387b4cec4c28d609dafc13c464eb (patch)
tree74cafe9b5590a211dd2c04226332065c706ff58a /dev/kernel/src/CRuntimeOverrides.cc
parent4fdc70b676fbed322ba09bc7fb886f3b87245baa (diff)
parent92a98b1b45192125562c5b90fc7d02317f94016e (diff)
Merge pull request #75 from nekernel-org/dev
feat: kernel: new CRuntimeOverrides file, and documentation
Diffstat (limited to 'dev/kernel/src/CRuntimeOverrides.cc')
-rw-r--r--dev/kernel/src/CRuntimeOverrides.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/dev/kernel/src/CRuntimeOverrides.cc b/dev/kernel/src/CRuntimeOverrides.cc
new file mode 100644
index 00000000..49b1d49d
--- /dev/null
+++ b/dev/kernel/src/CRuntimeOverrides.cc
@@ -0,0 +1,27 @@
+/* -------------------------------------------
+
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
+
+------------------------------------------- */
+
+#include <NeKit/Utils.h>
+
+using namespace Kernel;
+
+/// =========================================================== ///
+/// @brief C Standard Library overrides. ///
+/// =========================================================== ///
+
+EXTERN_C void* memset(void* dst, int c, long long unsigned int len) {
+ return Kernel::rt_set_memory_safe(dst, c, static_cast<Size>(len), static_cast<Size>(len));
+}
+
+EXTERN_C void* memcpy(void* dst, const void* src, long long unsigned int len) {
+ Kernel::rt_copy_memory_safe(const_cast<void*>(src), dst, static_cast<Size>(len),
+ static_cast<Size>(len));
+ return dst;
+}
+
+EXTERN_C Int32 strcmp(const char* a, const char* b) {
+ return Kernel::rt_string_cmp(a, b, rt_string_len(a));
+}