Platform.h
Go to the documentation of this file.
00001 //
00002 // Platform.h
00003 //
00004 // $Id: //poco/1.3/Foundation/include/Poco/Platform.h#4 $
00005 //
00006 // Library: Foundation
00007 // Package: Core
00008 // Module:  Platform
00009 //
00010 // Platform and architecture identification macros.
00011 //
00012 // NOTE: This file may be included from both C++ and C code, so it
00013 //       must not contain any C++ specific things.
00014 //
00015 // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
00016 // and Contributors.
00017 //
00018 // Permission is hereby granted, free of charge, to any person or organization
00019 // obtaining a copy of the software and accompanying documentation covered by
00020 // this license (the "Software") to use, reproduce, display, distribute,
00021 // execute, and transmit the Software, and to prepare derivative works of the
00022 // Software, and to permit third-parties to whom the Software is furnished to
00023 // do so, all subject to the following:
00024 // 
00025 // The copyright notices in the Software and this entire statement, including
00026 // the above license grant, this restriction and the following disclaimer,
00027 // must be included in all copies of the Software, in whole or in part, and
00028 // all derivative works of the Software, unless such copies or derivative
00029 // works are solely in the form of machine-executable object code generated by
00030 // a source language processor.
00031 // 
00032 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00033 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00034 // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
00035 // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
00036 // FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
00037 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00038 // DEALINGS IN THE SOFTWARE.
00039 //
00040 
00041 
00042 #ifndef Foundation_Platform_INCLUDED
00043 #define Foundation_Platform_INCLUDED
00044 
00045 
00046 //
00047 // Platform Identification
00048 //
00049 #define POCO_OS_FREE_BSD      0x0001
00050 #define POCO_OS_AIX           0x0002
00051 #define POCO_OS_HPUX          0x0003
00052 #define POCO_OS_TRU64         0x0004
00053 #define POCO_OS_LINUX         0x0005
00054 #define POCO_OS_MAC_OS_X      0x0006
00055 #define POCO_OS_NET_BSD       0x0007
00056 #define POCO_OS_OPEN_BSD      0x0008
00057 #define POCO_OS_IRIX          0x0009
00058 #define POCO_OS_SOLARIS       0x000a
00059 #define POCO_OS_QNX           0x000b
00060 #define POCO_OS_VXWORKS       0x000c
00061 #define POCO_OS_CYGWIN        0x000d
00062 #define POCO_OS_UNKNOWN_UNIX  0x00ff
00063 #define POCO_OS_WINDOWS_NT    0x1001
00064 #define POCO_OS_WINDOWS_CE    0x1011
00065 #define POCO_OS_VMS           0x2001
00066 
00067 
00068 #if defined(__FreeBSD__)
00069         #define POCO_OS_FAMILY_UNIX 1
00070         #define POCO_OS_FAMILY_BSD 1
00071         #define POCO_OS POCO_OS_FREE_BSD
00072 #elif defined(_AIX) || defined(__TOS_AIX__)
00073         #define POCO_OS_FAMILY_UNIX 1
00074         #define POCO_OS POCO_OS_AIX
00075 #elif defined(hpux) || defined(_hpux)
00076         #define POCO_OS_FAMILY_UNIX 1
00077         #define POCO_OS POCO_OS_HPUX
00078 #elif defined(__digital__) || defined(__osf__)
00079         #define POCO_OS_FAMILY_UNIX 1
00080         #define POCO_OS POCO_OS_TRU64
00081 #elif defined(linux) || defined(__linux) || defined(__linux__) || defined(__TOS_LINUX__)
00082         #define POCO_OS_FAMILY_UNIX 1
00083         #define POCO_OS POCO_OS_LINUX
00084 #elif defined(__APPLE__) || defined(__TOS_MACOS__)
00085         #define POCO_OS_FAMILY_UNIX 1
00086         #define POCO_OS_FAMILY_BSD 1
00087         #define POCO_OS POCO_OS_MAC_OS_X
00088 #elif defined(__NetBSD__)
00089         #define POCO_OS_FAMILY_UNIX 1
00090         #define POCO_OS_FAMILY_BSD 1
00091         #define POCO_OS POCO_OS_NET_BSD
00092 #elif defined(__OpenBSD__)
00093         #define POCO_OS_FAMILY_UNIX 1
00094         #define POCO_OS_FAMILY_BSD 1
00095         #define POCO_OS POCO_OS_OPEN_BSD
00096 #elif defined(sgi) || defined(__sgi)
00097         #define POCO_OS_FAMILY_UNIX 1
00098         #define POCO_OS POCO_OS_IRIX
00099 #elif defined(sun) || defined(__sun)
00100         #define POCO_OS_FAMILY_UNIX 1
00101         #define POCO_OS POCO_OS_SOLARIS
00102 #elif defined(__QNX__)
00103         #define POCO_OS_FAMILY_UNIX 1
00104         #define POCO_OS POCO_OS_QNX
00105 #elif defined(unix) || defined(__unix) || defined(__unix__)
00106         #define POCO_OS_FAMILY_UNIX 1
00107         #define POCO_OS POCO_OS_UNKNOWN_UNIX
00108 #elif defined(_WIN32_WCE)
00109         #define POCO_OS_FAMILY_WINDOWS 1
00110         #define POCO_OS POCO_OS_WINDOWS_CE
00111 #elif defined(_WIN32) || defined(_WIN64)
00112         #define POCO_OS_FAMILY_WINDOWS 1
00113         #define POCO_OS POCO_OS_WINDOWS_NT
00114 #elif defined(__CYGWIN__)
00115         #define POCO_OS_FAMILY_UNIX 1
00116         #define POCO_OS POCO_OS_CYGWIN
00117 #elif defined(__VMS)
00118         #define POCO_OS_FAMILY_VMS 1
00119         #define POCO_OS POCO_OS_VMS
00120 #endif
00121 
00122 
00123 //
00124 // Hardware Architecture and Byte Order
00125 //
00126 #define POCO_ARCH_ALPHA   0x01
00127 #define POCO_ARCH_IA32    0x02
00128 #define POCO_ARCH_IA64    0x03
00129 #define POCO_ARCH_MIPS    0x04
00130 #define POCO_ARCH_HPPA    0x05
00131 #define POCO_ARCH_PPC     0x06
00132 #define POCO_ARCH_POWER   0x07
00133 #define POCO_ARCH_SPARC   0x08
00134 #define POCO_ARCH_AMD64   0x09
00135 #define POCO_ARCH_ARM     0x0a
00136 #define POCO_ARCH_M68K    0x0b
00137 #define POCO_ARCH_S390    0x0c
00138 
00139 
00140 #if defined(__ALPHA) || defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA)
00141         #define POCO_ARCH POCO_ARCH_ALPHA
00142         #define POCO_ARCH_LITTLE_ENDIAN 1
00143 #elif defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_IX86)
00144         #define POCO_ARCH POCO_ARCH_IA32
00145         #define POCO_ARCH_LITTLE_ENDIAN 1
00146 #elif defined(_IA64) || defined(__IA64__) || defined(__ia64__) || defined(__ia64) || defined(_M_IA64)
00147         #define POCO_ARCH POCO_ARCH_IA64
00148         #if defined(hpux) || defined(_hpux)
00149                 #define POCO_ARCH_BIG_ENDIAN 1
00150         #else
00151                 #define POCO_ARCH_LITTLE_ENDIAN 1
00152         #endif
00153 #elif defined(__x86_64__) || defined(_M_X64)
00154         #define POCO_ARCH POCO_ARCH_AMD64
00155         #define POCO_ARCH_LITTLE_ENDIAN 1
00156 #elif defined(__mips__) || defined(__mips) || defined(__MIPS__) || defined(_M_MRX000)
00157         #define POCO_ARCH POCO_ARCH_MIPS
00158         #define POCO_ARCH_BIG_ENDIAN 1
00159 #elif defined(__hppa) || defined(__hppa__)
00160         #define POCO_ARCH POCO_ARCH_HPPA
00161         #define POCO_ARCH_BIG_ENDIAN 1
00162 #elif defined(__PPC) || defined(__POWERPC__) || defined(__powerpc) || defined(__PPC__) || \
00163       defined(__powerpc__) || defined(__ppc__) || defined(_ARCH_PPC) || defined(_M_PPC)
00164         #define POCO_ARCH POCO_ARCH_PPC
00165         #define POCO_ARCH_BIG_ENDIAN 1
00166 #elif defined(_POWER) || defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defined(_ARCH_PWR3) || \
00167       defined(_ARCH_PWR4) || defined(__THW_RS6000)
00168         #define POCO_ARCH POCO_ARCH_POWER
00169         #define POCO_ARCH_BIG_ENDIAN 1
00170 #elif defined(__sparc__) || defined(__sparc) || defined(sparc)
00171         #define POCO_ARCH POCO_ARCH_SPARC
00172         #define POCO_ARCH_BIG_ENDIAN 1
00173 #elif defined(__arm__) || defined(__arm) || defined(ARM) || defined(_ARM_) || defined(__ARM__) || defined(_M_ARM)
00174         #define POCO_ARCH POCO_ARCH_ARM
00175         #if defined(__ARMEB__)
00176                 #define POCO_ARCH_BIG_ENDIAN 1
00177         #else
00178                 #define POCO_ARCH_LITTLE_ENDIAN 1
00179         #endif
00180 #elif defined(__m68k__)
00181     #define POCO_ARCH POCO_ARCH_M68K
00182     #define POCO_ARCH_BIG_ENDIAN 1
00183 #elif defined(__s390__)
00184     #define POCO_ARCH POCO_ARCH_S390
00185     #define POCO_ARCH_BIG_ENDIAN 1
00186 #endif
00187 
00188 
00189 #endif // Foundation_Platform_INCLUDED


pluginlib
Author(s): Tully Foote and Eitan Marder-Eppstein
autogenerated on Sat Dec 28 2013 17:20:19