00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _ZOIDCOM_PREREQ_H
00010 #define _ZOIDCOM_PREREQ_H
00011
00015 #include <cassert>
00016 #include <cstddef>
00017 #include <cstring>
00018
00019 #ifdef WIN32
00020 #define ZCOM_PLATFORM_WIN32
00021 #endif
00022
00023 #ifdef __linux__
00024 #define ZCOM_PLATFORM_LINUX
00025 #endif
00026
00027 #if __APPLE__
00028 #define ZCOM_PLATFORM_MAC
00029 #endif
00030
00031 #ifdef _BIG_ENDIAN
00032 #define ZCOM_BIG_ENDIAN
00033 #else
00034 #define ZCOM_LITTLE_ENDIAN
00035 #endif
00036
00037 #if WIN32 && __MINGW32__ && !ZCOM_BUILD
00038 #define ZCOM_API
00039 #define ZCOM_TAPI
00040 #elif WIN32 && __MINGW32__ && ZCOM_BUILD
00041 #define ZCOM_API __declspec(dllexport)
00042 #define ZCOM_TAPI __declspec(dllexport)
00043 #elif ZCOM_BUILD && WIN32
00044 #define ZCOM_API __declspec(dllexport)
00045 #define ZCOM_TAPI
00046 #elif WIN32
00047 #define ZCOM_API __declspec(dllimport)
00048 #define ZCOM_TAPI
00049 #elif (defined ZCOM_PLATFORM_LINUX || defined ZCOM_PLATFORM_MAC) && ZCOM_BUILD
00050 #define ZCOM_API __attribute__ ((visibility("default")))
00051 #define ZCOM_TAPI __attribute__ ((visibility("default")))
00052 #else
00053 #define ZCOM_API
00054 #define ZCOM_TAPI
00055 #endif
00056
00057 #ifndef NULL
00058 #define NULL 0
00059 #endif
00060
00061
00063 typedef unsigned char zU8;
00064 #define zU8_MAX UCHAR_MAX
00065 #define zU8_MIN 0
00066
00067 typedef signed char zS8;
00068 #define zS8_MAX SCHAR_MAX
00069 #define zS8_MIN SCHAR_MIN
00070
00071 typedef unsigned short zU16;
00072 #define zU16_MAX USHRT_MAX
00073 #define zU16_MIN 0
00074
00075 typedef signed short zS16;
00076 #define zS16_MAX SHRT_MAX
00077 #define zS16_MIN SHRT_MIN
00078
00079 typedef unsigned int zU32;
00080 #define zU32_MAX UINT_MAX
00081 #define zU32_MIN 0
00082
00083 typedef signed int zS32;
00084 #define zS32_MAX INT_MAX
00085 #define zS32_MIN INT_MIN
00086
00087 typedef unsigned long long zU64;
00088 #define zU64_MAX 0xffffffffffffffff
00089 #define zU64_MIN 0
00090
00091 typedef signed long long zS64;
00092 #define zS64_MAX 0x7fffffffffffffff
00093 #define zS64_MIN 0x8000000000000000
00094
00095 typedef float zFloat;
00097 typedef double zDouble;
00098
00099 #endif