00001
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef NL_TYPES_H
00037 #define NL_TYPES_H
00038
00039
00040 #ifdef HAVE_NELCONFIG_H
00041 # include "nelconfig.h"
00042 #endif // HAVE_NELCONFIG_H
00043
00044
00045
00046
00047 #ifdef WIN32
00048 # define NL_OS_WINDOWS
00049 # define NL_LITTLE_ENDIAN
00050 # define NL_CPU_INTEL
00051 # ifdef _DEBUG
00052 # define NL_DEBUG
00053 # ifndef _STLP_USE_DEBUG_LIB
00054 # define _STLP_USE_DEBUG_LIB // we have to put this to include the stlport_debug.lib instead of stlport.lib
00055 # endif
00056 # else
00057 # define NL_RELEASE
00058 # endif
00059 #else
00060 # define NL_OS_UNIX
00061 # ifdef WORDS_BIGENDIAN
00062 # define NL_BIG_ENDIAN
00063 # else
00064 # define NL_LITTLE_ENDIAN
00065 # endif
00066 #endif
00067
00068
00069
00070
00071 #ifdef NL_OS_WINDOWS
00072 # pragma warning (disable : 4503) // STL: Decorated name length exceeded, name was truncated
00073 # pragma warning (disable : 4786) // STL: too long indentifier
00074 # pragma warning (disable : 4290) // throw() not implemented warning
00075 # pragma warning (disable : 4250) // inherits via dominance (informational warning).
00076 #endif // NL_OS_UNIX
00077
00078
00079
00080
00081 #include <string>
00082 #include <exception>
00083
00084
00085
00086
00087 #ifdef NL_OS_WINDOWS
00088 #ifndef __SGI_STL_PORT
00089 # error "You need STLPort to compile this project (www.stlport.org)"
00090 #endif // __SGI_STL_PORT
00091 #endif // NL_OS_WINDOWS
00092
00093
00094
00095
00096 #ifndef NL_NO_ASM // If NL_NO_ASM is externely defined, don't override it.
00097 # ifndef NL_CPU_INTEL // If not on an Intel compatible plateforme (BeOS, 0x86 Linux, Windows)
00098 # define NL_NO_ASM // Don't use extern ASM. Full C++ code.
00099 # endif // NL_CPU_INTEL
00100 #endif // NL_NO_ASM
00101
00102
00103
00104
00105
00106 #undef NL_USE_GTK
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00176 #ifdef NL_OS_WINDOWS
00177
00178 typedef signed __int8 sint8;
00179 typedef unsigned __int8 uint8;
00180 typedef signed __int16 sint16;
00181 typedef unsigned __int16 uint16;
00182 typedef signed __int32 sint32;
00183 typedef unsigned __int32 uint32;
00184 typedef signed __int64 sint64;
00185 typedef unsigned __int64 uint64;
00186
00187 typedef signed int sint;
00188 typedef unsigned int uint;
00189
00190 #define NL_I64 \
00191 "I64"
00192
00193 #elif defined (NL_OS_UNIX)
00194
00195 #include <sys/types.h>
00196
00197 typedef int8_t sint8;
00198 typedef u_int8_t uint8;
00199 typedef int16_t sint16;
00200 typedef u_int16_t uint16;
00201 typedef int32_t sint32;
00202 typedef u_int32_t uint32;
00203 typedef int64_t sint64;
00204 typedef u_int64_t uint64;
00205
00206 typedef signed int sint;
00207 typedef unsigned int uint;
00208
00209 #define NL_I64 \
00210 "ll"
00211
00212 #endif // NL_OS_UNIX
00213
00214
00219 typedef uint16 ucchar;
00220
00221
00222
00223 #ifdef NL_OS_WINDOWS
00224 #define INT64_CONSTANT(c) (c)
00225 #else
00226 #define INT64_CONSTANT(c) (c##LL)
00227 #endif
00228
00229
00233 #include "nel/memory/memory_manager.h"
00234
00235 #endif // NL_TYPES_H