aboutsummaryrefslogtreecommitdiffstats
path: root/os/various/cpp_wrappers/syscalls_cpp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'os/various/cpp_wrappers/syscalls_cpp.cpp')
-rw-r--r--os/various/cpp_wrappers/syscalls_cpp.cpp78
1 files changed, 78 insertions, 0 deletions
diff --git a/os/various/cpp_wrappers/syscalls_cpp.cpp b/os/various/cpp_wrappers/syscalls_cpp.cpp
new file mode 100644
index 000000000..84a449a9f
--- /dev/null
+++ b/os/various/cpp_wrappers/syscalls_cpp.cpp
@@ -0,0 +1,78 @@
+#include <stdio.h>
+#include <errno.h>
+
+#include "osal.h"
+
+#include "syscalls_cpp.hpp"
+
+/**
+ *
+ */
+#ifdef __cplusplus
+extern "C" {
+#endif
+void _exit(int status){
+ (void) status;
+ osalSysHalt("Unrealized");
+ while(TRUE){}
+}
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ *
+ */
+#ifdef __cplusplus
+extern "C" {
+#endif
+pid_t _getpid(void){
+ return 1;
+}
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ *
+ */
+#undef errno
+extern int errno;
+#ifdef __cplusplus
+extern "C" {
+#endif
+int _kill(int pid, int sig) {
+ (void)pid;
+ (void)sig;
+ errno = EINVAL;
+ return -1;
+}
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ *
+ */
+#ifdef __cplusplus
+extern "C" {
+#endif
+void _open_r(void){
+ return;
+}
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ *
+ */
+#ifdef __cplusplus
+extern "C" {
+#endif
+ void __cxa_pure_virtual() {
+ osalSysHalt("Pure virtual function call.");
+ }
+#ifdef __cplusplus
+}
+#endif