00001
00002 #ifndef GAUDIKERNEL_KERNEL_H
00003 #define GAUDIKERNEL_KERNEL_H
00004
00005
00006 #ifdef _WIN32
00007
00008 #pragma warning ( disable : 4786 )
00009
00010 #pragma warning ( disable : 4291 )
00011
00012 #pragma warning ( disable : 4250 )
00013 #endif
00014
00015
00016
00017 #ifdef _WIN32
00018 typedef __int64 longlong;
00019 #ifndef LONGLONG_MAX
00020 #define LONGLONG_MAX 0x7FFFFFFFFFFFFFFFLL
00021 #endif
00022 #ifndef LONGLONG_MIN
00023 #define LONGLONG_MIN 0x8000000000000000LL
00024 #endif
00025
00026 typedef unsigned __int64 ulonglong;
00027 #ifndef ULONGLONG_MAX
00028 #define ULONGLONG_MAX 0xFFFFFFFFFFFFFFFFLL
00029 #endif
00030 #ifndef ULONGLONG_MIN
00031 #define ULONGLONG_MIN 0x0000000000000000LL
00032 #endif
00033 #elif defined(__linux) || defined(__APPLE__)
00034 typedef long long int longlong;
00035 #ifndef LONGLONG_MAX
00036 #define LONGLONG_MAX 0x7FFFFFFFFFFFFFFFLL
00037 #endif
00038 #ifndef LONGLONG_MIN
00039 #define LONGLONG_MIN 0x8000000000000000LL
00040 #endif
00041 typedef unsigned long long int ulonglong;
00042 #ifndef ULONGLONG_MAX
00043 #define ULONGLONG_MAX 0xfFFFFFFFFFFFFFFFLL
00044 #endif
00045 #ifndef ULONGLONG_MIN
00046 #define ULONGLONG_MIN 0x0000000000000000LL
00047 #endif
00048 #else
00049
00050 struct __longlong { public: long __data[2]; };
00051 typedef __longlong longlong;
00052 typedef __longlong ulonglong;
00053 static const __longlong LONGLONG_MAX = {0x7FFFFFFF, 0xFFFFFFFF};
00054 static const __longlong LONGLONG_MIN = {0x80000000, 0x00000000};
00055 static const __ulonglong ULONGLONG_MAX = {0xFFFFFFFF, 0xFFFFFFFF};
00056 static const __ulonglong ULONGLONG_MIN = {0x00000000, 0x00000000};
00057 #endif // linux
00058
00059 #ifdef _WIN32
00060 #define TEMPLATE_SPECIALIZATION template <>
00061 #elif defined(__linux) || defined(__APPLE__)
00062 #define TEMPLATE_SPECIALIZATION
00063 #endif
00064
00065
00066 #endif // GAUDIKERNEL_KERNEL_H