Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/sys.cc')
-rw-r--r--src/sys/sys.cc42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/sys/sys.cc b/src/sys/sys.cc
new file mode 100644
index 0000000..97da23e
--- /dev/null
+++ b/src/sys/sys.cc
@@ -0,0 +1,42 @@
+/*
+ sys/sys.cc
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+// project headers
+#include "sys/sys.h"
+
+// system headers
+#include <signal.h>
+
+#include <sys/stat.h>
+#include <sys/types.h>
+
+
+namespace sys {
+
+bool mkdir(const char *path)
+{
+#ifdef _WIN32
+ ::mkdir(path);
+ // FIXME check return value
+ return true;
+#else
+ return (::mkdir(path, 0777) == 0);
+#endif
+}
+
+void signal(int signum, signalfunc handler)
+{
+#ifndef _WIN32
+ struct sigaction sa;
+
+ sa.sa_handler = handler;
+ sa.sa_flags = 0;
+
+ sigaction(signum, &sa, 0);
+#endif
+}
+
+}