*
**************************************************************************/
+/*
+ * Simple OS abstraction layer.
+ */
+
#ifndef _OS_HPP_
#define _OS_HPP_
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+
#ifdef WIN32
#ifndef snprintf
#define snprintf _snprintf
#ifndef vsnprintf
#define vsnprintf _vsnprintf
#endif
-#endif /* WIN32 */
+#define PATH_SEP '\\'
+#else /* !WIN32 */
+#define PATH_SEP '/'
+#endif /* !WIN32 */
#ifndef PATH_MAX
#define PATH_MAX 1024
void ReleaseMutex(void);
bool GetProcessName(char *str, size_t size);
+bool GetCurrentDir(char *str, size_t size);
+
+void DebugMessage(const char *format, ...);
+
+/**
+ * Get the current time in microseconds from an unknown base.
+ */
+long long GetTime(void);
+
+void Abort(void);
} /* namespace OS */