#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
+#include <string.h>
#ifdef _WIN32
#ifndef snprintf
#ifndef vsnprintf
#define vsnprintf _vsnprintf
#endif
-#define PATH_SEP '\\'
-#else /* !_WIN32 */
-#define PATH_SEP '/'
-#endif /* !_WIN32 */
-
-#ifndef PATH_MAX
-#define PATH_MAX 1024
+#ifndef strcasecmp
+#define strcasecmp stricmp
#endif
+#endif /* !_WIN32 */
namespace os {
-void acquireMutex(void);
-
-void releaseMutex(void);
-
-bool getProcessName(char *str, size_t size);
-bool getCurrentDir(char *str, size_t size);
-
void log(const char *format, ...)
#ifdef __GNUC__
__attribute__ ((format (printf, 1, 2)))
#endif
/**
- * Get the current time in microseconds from an unknown base.
+ * Exit immediately.
+ *
+ * This should be called only from the wrappers, when there is no safe way of
+ * failing gracefully.
*/
-long long getTime(void);
-
void abort(void);
void setExceptionCallback(void (*callback)(void));
void resetExceptionCallback(void);
+/**
+ * Returns a pseudo-random integer in the range 0 to RAND_MAX.
+ */
+static inline int
+random(void) {
+#ifdef _WIN32
+ return ::rand();
+#else
+ return ::random();
+#endif
+}
+
} /* namespace os */
#endif /* _OS_HPP_ */