diff options
author | barthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2014-08-03 20:23:16 +0000 |
---|---|---|
committer | barthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2014-08-03 20:23:16 +0000 |
commit | a5ba02231106d70330e8b01dd60edba922e11f86 (patch) | |
tree | 8d953ab4824a1d825e3df0247be27d04852452c5 /os/various/cpp_wrappers/syscalls_cpp.cpp | |
parent | fb723a1e3deb67e6ab722ee1a912560d2367ba18 (diff) | |
download | ChibiOS-a5ba02231106d70330e8b01dd60edba922e11f86.tar.gz ChibiOS-a5ba02231106d70330e8b01dd60edba922e11f86.tar.bz2 ChibiOS-a5ba02231106d70330e8b01dd60edba922e11f86.zip |
CPP wrappers ported to Chibios v3.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7118 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/various/cpp_wrappers/syscalls_cpp.cpp')
-rw-r--r-- | os/various/cpp_wrappers/syscalls_cpp.cpp | 78 |
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
|