00001
00004 #ifndef _Kaydara_h
00005 #define _Kaydara_h
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 typedef signed char kByte;
00044 typedef unsigned char kUByte;
00045
00046 #ifndef FALSE
00047 #define FALSE 0
00048 #endif
00049 #ifndef TRUE
00050 #define TRUE 1
00051 #endif
00052
00053 #include <float.h>
00054
00055 typedef bool kBool;
00056 typedef unsigned char kBoolean;
00057
00058 typedef char kChar;
00059 #define K_CHAR(x) kChar(x)
00060 typedef signed char kSChar;
00061 #define K_SCHAR(x) kSChar(x)
00062 typedef unsigned char kUChar;
00063 #define K_UCHAR(x) kUChar(x##L)
00064 #define K_CHAR_MIN K_CHAR(0)
00065 #define K_CHAR_MAX K_CHAR(127)
00066 #define K_SCHAR_MIN K_SCHAR(-128)
00067 #define K_SCHAR_MAX K_SCHAR(127)
00068 #define K_UCHAR_MIN K_UCHAR(0)
00069 #define K_UCHAR_MAX K_UCHAR(255)
00070 #define K_SIZEOF_CHAR sizeof(kChar)
00071 typedef kChar * kCharPtr;
00072 typedef kChar kTChar;
00073 typedef kChar * kTCharPtr;
00074
00075 #ifndef _T
00076 #define _T(a) a
00077 #endif
00078
00079 typedef signed short kShort;
00080 #define K_SHORT(x) kShort(x)
00081 typedef unsigned short kUShort;
00082 #define K_USHORT(x) kUShort(x##U)
00083 #define K_SHORT_MIN K_SHORT(-32768)
00084 #define K_SHORT_MAX K_SHORT(32767)
00085 #define K_USHORT_MIN K_USHORT(0)
00086 #define K_USHORT_MAX K_USHORT(65535)
00087 #define K_SIZEOF_SHORT sizeof(kShort)
00088
00089 typedef signed int kInt;
00090 #define K_INT(x) (x)
00091 typedef unsigned int kUInt;
00092 #define K_UINT(x) (x##U)
00093 #define K_INT_MIN K_INT(0x80000000)
00094 #define K_INT_MAX K_INT(0x7fffffff)
00095 #define K_UINT_MIN K_UINT(0)
00096 #define K_UINT_MAX K_UINT(0xffffffff)
00097 #define K_SIZEOF_INT sizeof(kInt)
00098
00099
00100 #if defined(_WIN32) || defined(__ia64__) || defined(_M_IA64)
00101 typedef signed int kLong;
00102 #define K_LONG(x) (x)
00103 typedef unsigned int kULong;
00104 #define K_ULONG(x) (x##U)
00105 #else
00106 typedef signed long kLong;
00107 #define K_LONG(x) (x##L)
00108 typedef unsigned long kULong;
00109 #define K_ULONG(x) (x##UL)
00110 #endif
00111 #define K_SIZEOF_LONG sizeof(kLong)
00112
00113 #if defined(__sgi)
00114 #if (_MIPS_SIM == _ABI64)
00115 #define KLONG_ABI64 1
00116 #endif
00117 #endif
00118
00119 #if defined(KLONG_ABI64)
00120 #define K_LONG_MIN K_LONG(-0x8000000000000000)
00121 #define K_LONG_MAX K_LONG(0x7fffffffffffffff)
00122 #define K_ULONG_MIN K_ULONG(0)
00123 #define K_ULONG_MAX K_ULONG(0xffffffffffffffff)
00124 #else
00125 #define K_LONG_MIN K_LONG(0x80000000)
00126 #define K_LONG_MAX K_LONG(0x7fffffff)
00127 #define K_ULONG_MIN K_ULONG(0)
00128 #define K_ULONG_MAX K_ULONG(0xffffffff)
00129 #endif
00130
00131 #ifdef _MSC_VER
00132 typedef signed __int64 kLongLong;
00133 #define K_LONGLONG(x) (x##i64)
00134 typedef unsigned __int64 kULongLong;
00135 #define K_ULONGLONG(x) (x##Ui64)
00136 #else
00137 typedef signed long long kLongLong;
00138 #define K_LONGLONG(x) (x##LL)
00139 typedef unsigned long long kULongLong;
00140 #define K_ULONGLONG(x) (x##ULL)
00141 #endif
00142
00143 #define K_LONGLONG_MIN K_LONGLONG(0x8000000000000000)
00144 #define K_LONGLONG_MAX K_LONGLONG(0x7fffffffffffffff)
00145 #define K_ULONGLONG_MIN K_ULONGLONG(0)
00146 #define K_ULONGLONG_MAX K_ULONGLONG(0xffffffffffffffff)
00147 #define K_SIZEOF_LONGLONG sizeof(kLongLong)
00148
00149 typedef float kFloat;
00150 #define K_FLOAT(x) (x##F)
00151 #define K_FLOAT_MIN FLT_MIN
00152 #define K_FLOAT_MAX FLT_MAX
00153 #define K_SIZEOF_FLOAT sizeof(kFloat)
00154
00155 typedef double kDouble;
00156 #define K_DOUBLE(x) (x)
00157 #define K_DOUBLE_MIN DBL_MIN
00158 #define K_DOUBLE_MAX DBL_MAX
00159 #define K_SIZEOF_DOUBLE sizeof(kDouble)
00160
00161 typedef kSChar kInt8;
00162 typedef kUChar kUInt8;
00163 #define K_INT8_MIN K_SCHAR_MIN
00164 #define K_INT8_MAX K_SCHAR_MAX
00165 #define K_UINT8_MIN K_UCHAR_MIN
00166 #define K_UINT8_MAX K_UCHAR_MAX
00167 #define K_SIZEOF_INT8 sizeof(kInt8)
00168
00169 typedef kShort kInt16;
00170 typedef kUShort kUInt16;
00171 #define K_INT16_MIN K_SHORT_MIN
00172 #define K_INT16_MAX K_SHORT_MAX
00173 #define K_UINT16_MIN K_USHORT_MIN
00174 #define K_UINT16_MAX K_USHORT_MAX
00175 #define K_SIZEOF_INT16 sizeof(kInt16)
00176
00177 typedef kInt kInt32;
00178 typedef kUInt kUInt32;
00179 #define K_INT32_MIN K_INT_MIN
00180 #define K_INT32_MAX K_INT_MAX
00181 #define K_UINT32_MIN K_UINT_MIN
00182 #define K_UINT32_MAX K_UINT_MAX
00183 #define K_SIZEOF_INT32 sizeof(kInt32)
00184
00185 typedef kLongLong kInt64;
00186 typedef kULongLong kUInt64;
00187 #define K_INT64_MIN K_LONGLONG_MIN
00188 #define K_INT64_MAX K_LONGLONG_MAX
00189 #define K_UINT64_MIN K_ULONGLONG_MIN
00190 #define K_UINT64_MAX K_ULONGLONG_MAX
00191 #define K_SIZEOF_INT64 sizeof(kInt64)
00192
00193 typedef kInt32 kInteger;
00194 typedef kUInt32 kUInteger;
00195 #define K_INTEGER_MIN K_INT32_MIN
00196 #define K_INTEGER_MAX K_INT32_MAX
00197 #define K_UINTEGER_MIN K_UINT32_MIN
00198 #define K_UINTEGER_MAX K_UINT32_MAX
00199 #define K_SIZEOF_INTEGER sizeof(kInteger)
00200
00201 typedef kInt kEnum;
00202 typedef void * kPointer;
00203
00204 #define K_SIZEOF_POINTER sizeof(kPointer)
00205 #define K_SHIFT_POINTER (K_SIZEOF_POINTER >> 1)
00206
00207 #define K_NULL 0
00208
00209
00210 #if defined(__x86_64) || defined(_M_AMD64) || defined(__ia64__) || defined(_M_IA64)
00211 typedef kULongLong kOffset;
00212 #elif defined(__sgi)
00213 typedef kULong kOffset;
00214 #else
00215 typedef kUInt32 kOffset;
00216 #endif
00217
00218 #define K_SIZEOF_OFFSET sizeof(kOffset)
00219 #define K_SHIFT_OFFSET (K_SIZEOF_OFFSET >> 1)
00220
00221
00222 typedef kOffset kReference;
00223
00224 typedef enum { K_SUCCESS = 0 , K_ERROR , K_NOTIMPL } kResult;
00225
00226 #if defined(linux) || defined(__sgi)
00227
00228 #ifndef strcmpi
00229 #define strcmpi strcasecmp
00230 #endif
00231 #ifndef stricmp
00232 #define stricmp strcasecmp
00233 #endif
00234 #ifndef strncmpi
00235 #define strncmpi strncasecmp
00236 #endif
00237 #ifndef strnicmp
00238 #define strnicmp strncasecmp
00239 #endif
00240 #endif
00241
00242
00243
00244 #if defined(__GNUG__) // GNU compiler
00245 #define K_DEPRECATED __attribute__((deprecated))
00246 #elif defined(__INTEL_COMPILER) // Intel compiler
00247 #if (__INTEL_COMPILER >= 810) // Maybe we could use an earlier version, we should check this some day
00248 #define K_DEPRECATED __declspec(deprecated)
00249 #else
00250 #define K_DEPRECATED
00251 #endif
00252 #elif defined(_MSC_VER) // Microsoft compiler
00253 #if (_MSC_VER >= 1300) // 7.1
00254 #define K_DEPRECATED __declspec(deprecated)
00255 #else
00256 #define K_DEPRECATED
00257 #endif
00258 #elif defined(__sgi) // SGI compiler
00259 #define K_DEPRECATED
00260 #elif defined(__MWERKS__) // Metrowerks compiler
00261 #define K_DEPRECATED
00262 #else // Unknown compiler
00263 #define K_DEPRECATED
00264 #endif
00265
00266
00267
00268 #ifdef _MSC_VER
00269 #pragma warning(disable: 4514) //unreferenced inline function has been removed (Level 4) optimizer
00270 #pragma warning(disable: 4100) // warning C4100: '?' : unreferenced formal parameter
00271 #pragma warning(disable: 4710) // function not inlined
00272
00273
00274
00275
00276
00277
00278 #pragma warning( disable : 4251 )
00279 #endif
00280
00281 #define K_FORWARD( ClassName ) class ClassName; typedef ClassName *H##ClassName;
00282
00283 #endif // #ifndef _Kaydara_h
00284
00285
00286
00287