X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=common%2Fos.hpp;h=741d345bf18b30d1c702a1770db3e245f7276611;hb=refs%2Fheads%2Fglx-copy-sub-buffer;hp=02625c2ad4f21808c4e9f3f96f62218884dbb83a;hpb=559d5349e8039871ff14509a26c54c980c8e2cc7;p=apitrace diff --git a/common/os.hpp b/common/os.hpp index 02625c2..741d345 100644 --- a/common/os.hpp +++ b/common/os.hpp @@ -33,6 +33,7 @@ #include #include #include +#include #ifdef _WIN32 #ifndef snprintf @@ -41,24 +42,13 @@ #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))) @@ -84,15 +74,28 @@ void log(const char *format, ...) #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_ */