]> git.cworth.org Git - apitrace/blobdiff - os.hpp
Update glext headers.
[apitrace] / os.hpp
diff --git a/os.hpp b/os.hpp
index 8e1c2957a66b7e87b88805bf4382467b901e7fae..4376c97b50eea2d55a548022907f429476a70196 100644 (file)
--- a/os.hpp
+++ b/os.hpp
  *
  **************************************************************************/
 
+/*
+ * Simple OS abstraction layer.
+ */
+
 #ifndef _OS_HPP_
 #define _OS_HPP_
 
-#ifdef WIN32
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+#ifdef _WIN32
 #ifndef snprintf
 #define snprintf _snprintf
 #endif
 #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
@@ -46,6 +57,38 @@ void AcquireMutex(void);
 void ReleaseMutex(void);
 
 bool GetProcessName(char *str, size_t size);
+bool GetCurrentDir(char *str, size_t size);
+
+void DebugMessage(const char *format, ...)
+#ifdef __GNUC__
+    __attribute__ ((format (printf, 1, 2)))
+#endif
+;
+
+#if defined _WIN32 || defined __CYGWIN__
+  /* We always use .def files on windows for now */
+  #if 0
+  #define PUBLIC __declspec(dllexport)
+  #else
+  #define PUBLIC
+  #endif
+  #define PRIVATE
+#else
+  #if __GNUC__ >= 4
+    #define PUBLIC __attribute__ ((visibility("default")))
+    #define PRIVATE __attribute__ ((visibility("hidden")))
+  #else
+    #define PUBLIC
+    #define PRIVATE
+  #endif
+#endif
+
+/**
+ * Get the current time in microseconds from an unknown base.
+ */
+long long GetTime(void);
+
+void Abort(void);
 
 } /* namespace OS */