diff options
Diffstat (limited to 'include/unix_compat.h')
-rw-r--r-- | include/unix_compat.h | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/include/unix_compat.h b/include/unix_compat.h deleted file mode 100644 index 56ec4b3..0000000 --- a/include/unix_compat.h +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef _INCL_UNIX_COMPAT_H_ -#define _INCL_UNIX_COMPAT_H_ - -#if (defined(__APPLE__) && defined(__MACH__)) -#define PLATFORM_MACOSX 1 -#endif - -#if ( defined(unix) || PLATFORM_MACOSX ) -#define PLATFORM_UNIX 1 -#endif - -// Useful to sprinkle around the codebase without a bunch of #ifdefs... -#ifdef _WINDOWS -#define BYTESWAP(x) -#define STUBBED(x) -#endif - -// don't want rest of this header on Windows, etc. -#if (PLATFORM_UNIX) - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdint.h> -#include <unistd.h> -#include <assert.h> -#include <errno.h> -#include <limits.h> -#include <sys/stat.h> -#include <sys/time.h> -#include <time.h> - -#include "/usr/include/SDL/SDL.h" - -#define _MAX_PATH PATH_MAX -#define MAX_PATH PATH_MAX - -typedef int64_t __int64; -typedef uint32_t DWORD; -typedef uint64_t UINT64; -typedef uint8_t BYTE; -typedef void *HANDLE; -typedef HANDLE HWND; -typedef int32_t BOOL; - -static inline DWORD timeGetTime(void) -{ - return SDL_GetTicks(); -} // timeGetTime - - -// macro so I know what is still on the TODO list... -#if 1 -#define STUBBED(x) -#else -void CalledSTUBBED(void); // you can set a breakpoint on this. -#define STUBBED(x) \ -do { \ - static bool seen_this = false; \ - if (!seen_this) { \ - seen_this = true; \ - fprintf(stderr, "STUBBED: %s at %s (%s:%d)\n", x, __FUNCTION__, __FILE__, __LINE__); \ - fflush(stderr); \ - CalledSTUBBED(); \ - } \ -} while (false) -#endif - -static inline char *itoa(const int i, char *s, const int radix) -{ - assert(radix == 10); - sprintf(s, "%d", i); - return s; -} - -static inline char *_i64toa(const __int64 i, char *s, const int radix) -{ - assert(radix == 10); - assert(sizeof (long long) == sizeof (__int64)); - sprintf(s, "%lld", (long long) i); - return s; -} - -static inline __int64 _atoi64(const char *str) -{ - return (__int64) strtoll(str, NULL, 10); -} - -static inline void Sleep(const int ms) -{ - usleep(ms * 1000); -} - -static inline char *_gcvt(const double value, const int digits, char *buffer) -{ - char fmt[32]; - snprintf(fmt, sizeof (fmt), "%%.%dg", digits); - sprintf(buffer, fmt, value); - return buffer; -} - -#define ZeroMemory(a,b) memset(a, '\0', b) - -#ifdef __cplusplus -#ifdef max -#undef max -#endif -template <class T> inline const T &max(const T &a, const T &b) { return (a > b) ? a : b; } -#ifdef min -#undef min -#endif -template <class T> inline const T &min(const T &a, const T &b) { return (a < b) ? a : b; } -#endif - -// Byteswap magic... - -#if SDL_BYTEORDER == SDL_BIG_ENDIAN -#define PLATFORM_BIGENDIAN 1 -#define PLATFORM_LITTLEENDIAN 0 -#else -#define PLATFORM_BIGENDIAN 0 -#define PLATFORM_LITTLEENDIAN 1 -#endif - -#if PLATFORM_BIGENDIAN - #define SWAPPER64(t) \ - inline void BYTESWAP(t &x) { \ - union { t orig; Uint64 ui; } swapper; \ - swapper.orig = x; \ - swapper.ui = SDL_SwapLE64(swapper.ui); \ - x = swapper.orig; \ - } - #define SWAPPER32(t) \ - inline void BYTESWAP(t &x) { \ - union { t orig; Uint32 ui; } swapper; \ - swapper.orig = x; \ - swapper.ui = SDL_SwapLE32(swapper.ui); \ - x = swapper.orig; \ - } - #define SWAPPER16(t) \ - inline void BYTESWAP(t &x) { \ - union { t orig; Uint16 ui; } swapper; \ - swapper.orig = x; \ - swapper.ui = SDL_SwapLE16(swapper.ui); \ - x = swapper.orig; \ - } - #define SWAPPER8(t) inline void BYTESWAP(t &_x) {} - SWAPPER64(double) - SWAPPER32(size_t) // !!! FIXME: this will fail on gnuc/amd64. - SWAPPER32(int) - SWAPPER32(float) - SWAPPER32(DWORD) - SWAPPER16(WORD) - SWAPPER16(short) - SWAPPER8(BYTE) - #undef SWAPPER32 - #undef SWAPPER16 - #undef SWAPPER8 -#else - #define BYTESWAP(x) -#endif - -#endif // PLATFORM_UNIX - -#endif // include-once blocker. |