00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef __BASE_TYPE_DEFS
00030 #define __BASE_TYPE_DEFS
00031
00032 #ifdef _WIN32
00033 #define HAVE_NATIVE_UINT64
00034
00035 typedef _int64 SINT64;
00036 typedef signed long SINT32;
00037 typedef unsigned short UINT16;
00038 typedef signed short SINT16;
00039 typedef unsigned char UINT8;
00040 typedef signed char SINT8;
00041 #else
00042 #ifdef HAVE_CONFIG_H
00043 #if SIZEOF_UNSIGNED_CHAR == 1 && !defined HAVE_UINT8
00044 #define HAVE_UINT8
00045 typedef unsigned char UINT8;
00046 #endif
00047 #if SIZEOF_SIGNED_CHAR == 1 && !defined HAVE_SINT8
00048 #define HAVE_SINT8
00049 typedef signed char SINT8;
00050 #endif
00051 #if SIZEOF_UNSIGNED_SHORT == 2 && !defined HAVE_UINT16
00052 #define HAVE_UINT16
00053 typedef unsigned short UINT16;
00054 #endif
00055 #if SIZEOF_SIGNED_SHORT == 2 && !defined HAVE_SINT16
00056 #define HAVE_SINT16
00057 typedef unsigned short SINT16;
00058 #endif
00059 #if SIZEOF_UNSIGNED_INT == 4 && !defined HAVE_UINT32
00060 #define HAVE_UINT32
00061 typedef unsigned int UINT32;
00062 #endif
00063 #if SIZEOF_SIGNED_INT == 4 && !defined HAVE_SINT32
00064 #define HAVE_SINT32
00065 typedef signed int SINT32;
00066 #endif
00067 #if SIZEOF___UINT64_T == 8 && !defined HAVE_UINT64
00068 #define HAVE_UINT64
00069 typedef unsigned long long UINT64;
00070 typedef signed long long SINT64;
00071 #endif
00072 #if SIZEOF_UNSIGNED_LONG_LONG == 8 && !defined HAVE_UINT64
00073 #define HAVE_UINT64
00074 typedef unsigned long long UINT64;
00075 typedef signed long long SINT64;
00076 #endif
00077 #ifdef HAVE_UINT64
00078 #define HAVE_NATIVE_UINT64
00079 #endif
00080 #else
00081 #if defined(__linux)
00082 #include <linux/types.h>
00083 #define HAVE_NATIVE_UINT64
00084 typedef unsigned long long UINT64;
00085 typedef signed long long SINT64;
00086 typedef __u32 UINT32;
00087 typedef __s32 SINT32;
00088 typedef __u16 UINT16;
00089 typedef __s16 SINT16;
00090 typedef __u8 UINT8;
00091 typedef __s8 SINT8;
00092 #elif defined(__sgi)
00093 #define HAVE_NATIVE_UINT64
00094 typedef __uint64_t UINT64;
00095 typedef __int64_t SINT64;
00096 typedef __uint32_t UINT32;
00097 typedef __int32_t SINT32;
00098 typedef unsigned short UINT16;
00099 typedef signed short SINT16;
00100 typedef unsigned char UINT8;
00101 typedef signed char SINT8;
00102 #elif defined(__sun)
00103 typedef uint32_t UINT32;
00104 typedef int32_t SINT32;
00105 typedef uint16_t UINT16;
00106 typedef int16_t SINT16;
00107 typedef uint8_t UINT8;
00108 typedef int8_t SINT8;
00109 #elif defined __APPLE_CC__
00110 #define HAVE_NATIVE_UINT64
00111 typedef unsigned long long UINT64;
00112 typedef signed long long SINT64;
00113 typedef unsigned int UINT32;
00114 typedef signed int SINT32;
00115 typedef unsigned short UINT16;
00116 typedef signed short SINT16;
00117 typedef unsigned char UINT8;
00118 typedef signed char SINT8;
00119 #else
00120 #warning This seams to be a currently not supported plattform - may be things go wrong!
00121 #warning Please report the plattform, so that it could be added
00122 #ifdef __GNUC__ //TODO check if for all GNUC long long is 64 bit!!
00123 #define HAVE_NATIVE_UINT64
00124 typedef unsigned long long UINT64;
00125 typedef signed long long SINT64;
00126 #endif
00127 typedef unsigned int UINT32;
00128 typedef signed int SINT32;
00129 typedef unsigned short UINT16;
00130 typedef signed short SINT16;
00131 typedef unsigned char UINT8;
00132 typedef signed char SINT8;
00133 #endif
00134 #endif //HAVE_CONFIG_H?
00135 #endif //WIN32?
00136
00137 #if !defined(HAVE_NATIVE_UINT64)
00138 typedef struct __UINT64__t_
00139 {
00140 UINT32 high;
00141 UINT32 low;
00142 } UINT64;
00143
00144 typedef struct __SINT64__t_
00145 {
00146 SINT32 high;
00147 UINT32 low;
00148 } SINT64;
00149 #endif
00150
00151 typedef unsigned int UINT;
00152 typedef signed int SINT;
00153
00154 #endif//__BASE_TYPES_DEFS_H