diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-06 07:55:10 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-06 07:56:54 +0200 |
| commit | e723038ba97bb84726f16ce5a6258d78262d90d7 (patch) | |
| tree | ce9d0d7d0ef1d886bdc025fef5a50a38eded8132 /Private/Source | |
| parent | f95d8bf159d10b5a9521dcaa0bc37aa0e9dfc02b (diff) | |
MHR-23: See below.
This commit adds 1 function a macro and 2 functions.
- __throw_domain_error, which just throws an interrupt.
- allocate, which allocates a class.
- release, which releases a class.
- __STD_CXX__ to tell if we use standard C++.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/Source')
| -rw-r--r-- | Private/Source/Utils.cxx | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Private/Source/Utils.cxx b/Private/Source/Utils.cxx index 868705bc..b0b3be8d 100644 --- a/Private/Source/Utils.cxx +++ b/Private/Source/Utils.cxx @@ -211,18 +211,43 @@ namespace NewOS } } // namespace NewOS +//////////////////////////////////////////////////////////////////////////////////////// +/// Exported C functions +//////////////////////////////////////////////////////////////////////////////////////// + +/// @brief memset in C++ EXTERN_C void memset(void* dst, char src, size_t len) { NewOS::rt_set_memory(dst, src, len); } +/// @brief memcpy in C++ EXTERN_C void memcpy(void* dst, void* src, size_t len) { NewOS::rt_copy_memory(src, dst, len); } +/// @brief memmove in C++ +EXTERN_C void* memmove(void* dst, void* src, size_t len) +{ + NewOS::rt_copy_memory(src, dst, len); + return dst; +} + /// @brief strlen definition in C++. EXTERN_C size_t strlen(const char* whatToCheck) { return NewOS::rt_string_len(whatToCheck); } + +/// @brief memcmp in C++ +EXTERN_C NewOS::SizeT memcmp(void* dst, void* src, size_t len) +{ + return NewOS::rt_string_cmp((char*)src, (char*)dst, len); +} + +/// @brief strcmp in C++ +EXTERN_C NewOS::SizeT strcmp(char* dst, char* src, size_t len) +{ + return NewOS::rt_string_cmp(src, dst, len); +} |
