(file) Return to Config.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

  1 mike  1.18 //%/////////////////////////////////////////////////////////////////////////////
  2            //
  3 kumpf 1.29 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
  4            // The Open Group, Tivoli Systems
  5 mike  1.18 //
  6            // Permission is hereby granted, free of charge, to any person obtaining a copy
  7 karl  1.26 // of this software and associated documentation files (the "Software"), to
  8            // deal in the Software without restriction, including without limitation the
  9            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 10 mike  1.18 // sell copies of the Software, and to permit persons to whom the Software is
 11            // furnished to do so, subject to the following conditions:
 12 kumpf 1.29 // 
 13 karl  1.26 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 14 mike  1.18 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 15            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 16 karl  1.26 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 17            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 18            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 19 mike  1.18 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 20            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 21            //
 22            //==============================================================================
 23            //
 24            // Author: Mike Brasher (mbrasher@bmc.com)
 25            //
 26 mike  1.22 // Modified By: Rudy Schuet (rudy.schuet@compaq.com) 11/25/01
 27 kumpf 1.35 //              K. Schopmeyer
 28 kumpf 1.32 //              Carol Ann Krug Graves, Hewlett-Packard Company
 29            //                (carolann_graves@hp.com)
 30 david.eger 1.41 //              David Eger (dteger@us.ibm.com)
 31 mike       1.18 //
 32                 //%/////////////////////////////////////////////////////////////////////////////
 33                 
 34                 #ifndef Pegasus_Config_h
 35                 #define Pegasus_Config_h
 36                 
 37                 #if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC)
 38                 # include <Pegasus/Common/Platform_WIN32_IX86_MSVC.h>
 39                 #elif defined (PEGASUS_PLATFORM_LINUX_IX86_GNU)
 40                 # include <Pegasus/Common/Platform_LINUX_IX86_GNU.h>
 41                 #elif defined (PEGASUS_PLATFORM_AIX_RS_IBMCXX)
 42                 # include <Pegasus/Common/Platform_AIX_RS_IBMCXX.h>
 43                 #elif defined (PEGASUS_PLATFORM_HPUX_PARISC_ACC)
 44                 # include <Pegasus/Common/Platform_HPUX_PARISC_ACC.h>
 45 kumpf      1.36 #elif defined (PEGASUS_PLATFORM_HPUX_IA64_ACC)
 46                 # include <Pegasus/Common/Platform_HPUX_IA64_ACC.h>
 47 mike       1.19 #elif defined (PEGASUS_PLATFORM_TRU64_ALPHA_DECCXX)
 48                 # include <Pegasus/Common/Platform_TRU64_ALPHA_DECCXX.h>
 49 mike       1.21 #elif defined (PEGASUS_PLATFORM_SOLARIS_SPARC_GNU)
 50                 # include <Pegasus/Common/Platform_SOLARIS_SPARC_GNU.h>
 51 mike       1.22 #elif defined (PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
 52                 # include <Pegasus/Common/Platform_ZOS_ZSERIES_IBM.h>
 53                 #elif defined (PEGASUS_PLATFORM_NSK_NONSTOP_NMCPLUS)
 54                 # include <Pegasus/Common/Platform_NSK_NONSTOP_NMCPLUS.h>
 55 kumpf      1.27 #elif defined (PEGASUS_PLATFORM_LINUX_IA64_GNU)
 56                 # include <Pegasus/Common/Platform_LINUX_IA64_GNU.h>
 57 david.eger 1.41 #elif defined (PEGASUS_PLATFORM_LINUX_PPC_GNU)
 58                 # include <Pegasus/Common/Platform_LINUX_PPC_GNU.h>
 59 chuck      1.33 #elif defined (__OS400__)
 60                 # if !defined (PEGASUS_PLATFORM_OS400_ISERIES_IBM)
 61                 #   define PEGASUS_PLATFORM_OS400_ISERIES_IBM 
 62                 # endif
 63                 # include <Pegasus/Common/Platform_OS400_ISERIES_IBM.h>
 64 mike       1.18 #else
 65                 # error "<Pegasus/Common/Config.h>: Unsupported Platform"
 66                 #endif
 67                 
 68 mday       1.39 
 69                 
 70                 
 71                 //<<< Sun Apr  6 19:28:00 2003 mdd >>>
 72                 //
 73                 // COMPILER Checks
 74                 //
 75                 // This is to allow a check for GCC > 3.2
 76                 // It needs to be the first thing we check because the next lines load
 77                 // further source files
 78                 
 79                 #if defined(__GNUC__)
 80                 #define GCC_VERSION (__GNUC__ * 10000 \
 81                                                + __GNUC_MINOR__ * 100 \
 82                                                + __GNUC_PATCHLEVEL__)
 83                 
 84                 // To test for GCC > 3.2.0:
 85                 //     #if GCC_VERSION > 30200
 86                 
 87                 #endif 
 88                 
 89 mday       1.39 
 90 mike       1.22 #include <cstdlib>
 91                 
 92 kumpf      1.35 // used for Windows only
 93 kumpf      1.32 #ifndef PEGASUS_EXPORT
 94                 #define PEGASUS_EXPORT /* empty */
 95                 #endif
 96 mike       1.22 
 97 mike       1.18 #ifdef PEGASUS_HAVE_NAMESPACES
 98                 # define PEGASUS_NAMESPACE_BEGIN namespace Pegasus {
 99                 # define PEGASUS_NAMESPACE_END }
100 mike       1.22 
101                 #ifndef PEGASUS_HAVE_NO_STD
102 mike       1.18 # define PEGASUS_STD(X) std::X
103                 # define PEGASUS_USING_STD using namespace std
104 mike       1.22 #else
105                 # define PEGASUS_STD(X) X
106                 # define PEGASUS_USING_STD
107                 #endif
108 mike       1.18 # define PEGASUS_USING_PEGASUS using namespace Pegasus
109                 #else
110                 # define PEGASUS_NAMESPACE_BEGIN /* empty */
111                 # define PEGASUS_NAMESPACE_END /* empty */
112                 # define PEGASUS_STD(X) X
113                 # define PEGASUS_USING_STD
114                 # define PEGASUS_USING_PEGASUS
115                 #endif
116                 
117                 #ifdef PEGASUS_HAVE_EXPLICIT
118                 # define PEGASUS_EXPLICIT explicit
119                 #else
120                 # define PEGASUS_EXPLICIT /* empty */
121                 #endif
122                 
123                 #ifdef PEGASUS_HAVE_MUTABLE
124                 # define PEGASUS_MUTABLE mutable
125                 #else
126                 # define PEGASUS_MUTABLE /* empty */
127                 #endif
128                 
129 mike       1.18 #ifndef PEGASUS_HAVE_FOR_SCOPE
130                 # define for if (0) ; else for
131                 #endif
132                 
133                 #ifdef PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
134                 # define PEGASUS_TEMPLATE_SPECIALIZATION template <>
135                 #else
136                 # define PEGASUS_TEMPLATE_SPECIALIZATION
137 karl       1.24 #endif
138                 
139 kumpf      1.32 #ifdef PEGASUS_HAVE_IOS_BINARY
140                 #define PEGASUS_IOS_BINARY ,std::ios::binary
141                 #define PEGASUS_OR_IOS_BINARY | std::ios::binary
142                 #else
143                 #define PEGASUS_IOS_BINARY /* empty */
144                 #define PEGASUS_OR_IOS_BINARY /* empty */
145                 #endif
146                 
147 kumpf      1.34 #ifndef PEGASUS_SINT64_LITERAL
148 kumpf      1.37 #define PEGASUS_SINT64_LITERAL(X) (Sint64 (X##LL))
149 kumpf      1.34 #endif
150                 #ifndef PEGASUS_UINT64_LITERAL
151 kumpf      1.37 #define PEGASUS_UINT64_LITERAL(X) (Uint64 (X##ULL))
152 kumpf      1.34 #endif
153 mike       1.18 
154 kumpf      1.40 // Used in printf and scanf conversion strings for Uint64 and Sint64 arguments
155                 #ifndef PEGASUS_64BIT_CONVERSION_WIDTH
156                 #define PEGASUS_64BIT_CONVERSION_WIDTH "ll"
157                 #endif
158                 
159 mike       1.18 PEGASUS_NAMESPACE_BEGIN
160                 
161 kumpf      1.35 typedef bool Boolean;  // If platform w/o bool, add flag and include Boolean.h
162 mike       1.18 typedef unsigned char Uint8;
163                 typedef char Sint8;
164                 typedef unsigned short Uint16;
165                 typedef short Sint16;
166                 typedef unsigned int Uint32;
167                 typedef int Sint32;
168                 typedef float Real32;
169                 typedef double Real64;
170                 typedef PEGASUS_UINT64 Uint64;
171                 typedef PEGASUS_SINT64 Sint64;
172                 
173                 #define PEG_NOT_FOUND Uint32(-1)
174                 
175                 PEGASUS_NAMESPACE_END
176                 
177 mike       1.20 #ifdef PEGASUS_SUPPRESS_UNREACHABLE_STATEMENTS
178                 # define PEGASUS_UNREACHABLE(CODE)
179                 #else
180                 # define PEGASUS_UNREACHABLE(CODE) CODE
181                 #endif
182                 
183 kumpf      1.30 #ifdef PEGASUS_HAVE_EBCDIC
184                 # define PEGASUS_MAX_PRINTABLE_CHAR 255
185                 #else
186                 # define PEGASUS_MAX_PRINTABLE_CHAR 127
187                 #endif
188                 
189 sage       1.25 // used for zOS only
190                 #ifndef PEGASUS_STATIC_CDECL
191                 #define PEGASUS_STATIC_CDECL
192                 #endif
193 mday       1.39 
194 sage       1.25 
195 mike       1.18 #endif  /* Pegasus_Config_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2