# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

memory_common.h

Go to the documentation of this file.
00001 
00007 /* Copyright, 2000-2002 Nevrax Ltd.
00008  *
00009  * This file is part of NEVRAX NEL.
00010  * NEVRAX NEL is free software; you can redistribute it and/or modify
00011  * it under the terms of the GNU General Public License as published by
00012  * the Free Software Foundation; either version 2, or (at your option)
00013  * any later version.
00014 
00015  * NEVRAX NEL is distributed in the hope that it will be useful, but
00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018  * General Public License for more details.
00019 
00020  * You should have received a copy of the GNU General Public License
00021  * along with NEVRAX NEL; see the file COPYING. If not, write to the
00022  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
00023  * MA 02111-1307, USA.
00024  */
00025 
00026 #ifndef NL_MEMORY_COMMON_H
00027 #define NL_MEMORY_COMMON_H
00028 
00029 #include "memory_config.h"
00030 
00031 #ifndef MEMORY_API
00032 #ifdef MEMORY_EXPORTS
00033 #define MEMORY_API __declspec(dllexport)
00034 #else
00035 #define MEMORY_API __declspec(dllimport)
00036 #endif
00037 #endif
00038 
00039 // Do not force MSVC library name
00040 #define _STLP_DONT_FORCE_MSVC_LIB_NAME
00041 
00042 #include <assert.h>
00043 
00044 // Operating systems definition
00045 
00046 #ifdef WIN32
00047 #  define NL_OS_WINDOWS
00048 #  define NL_LITTLE_ENDIAN
00049 #  define NL_CPU_INTEL
00050 #  ifdef _DEBUG
00051 #    define NL_DEBUG
00052 #    define _STLP_USE_DEBUG_LIB         // we have to put this to include the stlport_debug.lib instead of stlport.lib
00053 #  else
00054 #    define NL_RELEASE
00055 #  endif
00056 #else
00057 #  define NL_OS_UNIX
00058 #  ifdef WORDS_BIGENDIAN
00059 #    define NL_BIG_ENDIAN
00060 #  else
00061 #    define NL_LITTLE_ENDIAN
00062 #  endif
00063 #endif
00064 
00065 // Remove stupid Visual C++ warning
00066 
00067 #ifdef NL_OS_WINDOWS
00068 #  pragma warning (disable : 4503)                      // STL: Decorated name length exceeded, name was truncated
00069 #  pragma warning (disable : 4786)                      // STL: too long indentifier
00070 #  pragma warning (disable : 4290)                      // throw() not implemented warning
00071 #  pragma warning (disable : 4250)                      // inherits via dominance (informational warning).
00072 #endif // NL_OS_UNIX
00073 
00074 #ifdef NL_OS_WINDOWS
00075 
00076 typedef signed          __int8          sint8;
00077 typedef unsigned        __int8          uint8;
00078 typedef signed          __int16         sint16;
00079 typedef unsigned        __int16         uint16;
00080 typedef signed          __int32         sint32;
00081 typedef unsigned        __int32         uint32;
00082 typedef signed          __int64         sint64;
00083 typedef unsigned        __int64         uint64;
00084 
00085 typedef signed          int                     sint;                   // at least 32bits (depend of processor)
00086 typedef unsigned        int                     uint;                   // at least 32bits (depend of processor)
00087 
00088 #define NL_I64  \
00089                 "I64"
00090 
00091 #elif defined (NL_OS_UNIX)
00092 
00093 #include <sys/types.h>
00094 
00095 typedef int8_t          sint8;
00096 typedef u_int8_t        uint8;
00097 typedef int16_t         sint16;
00098 typedef u_int16_t       uint16;
00099 typedef int32_t         sint32;
00100 typedef u_int32_t       uint32;
00101 typedef int64_t         sint64;
00102 typedef u_int64_t       uint64;
00103 
00104 typedef signed          int                     sint;                   // at least 32bits (depend of processor)
00105 typedef unsigned        int                     uint;                   // at least 32bits (depend of processor)
00106 
00107 #define NL_I64  \
00108                 "ll"
00109 
00110 #endif // NL_OS_UNIX
00111 
00112 #define memory_assert assert
00113 
00114 #endif // NL_MEMORY_COMMON_H
00115 
00116 /* End of memory_mutex.h */