(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.40.4.1 //              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.40.4.1 #elif defined (PEGASUS_PLATFORM_LINUX_PPC_GNU)
 58                     # include <Pegasus/Common/Platform_LINUX_PPC_GNU.h>
 59 david.eger 1.40.4.2 #elif defined (PEGASUS_PLATFORM_LINUX_ZSERIES_GNU)
 60                     # include <Pegasus/Common/Platform_LINUX_ZSERIES_GNU.h>
 61 chuck      1.33     #elif defined (__OS400__)
 62                     # if !defined (PEGASUS_PLATFORM_OS400_ISERIES_IBM)
 63                     #   define PEGASUS_PLATFORM_OS400_ISERIES_IBM 
 64                     # endif
 65                     # include <Pegasus/Common/Platform_OS400_ISERIES_IBM.h>
 66 mike       1.18     #else
 67                     # error "<Pegasus/Common/Config.h>: Unsupported Platform"
 68                     #endif
 69                     
 70 mday       1.39     
 71                     
 72                     
 73                     //<<< Sun Apr  6 19:28:00 2003 mdd >>>
 74                     //
 75                     // COMPILER Checks
 76                     //
 77                     // This is to allow a check for GCC > 3.2
 78                     // It needs to be the first thing we check because the next lines load
 79                     // further source files
 80                     
 81                     #if defined(__GNUC__)
 82                     #define GCC_VERSION (__GNUC__ * 10000 \
 83                                                    + __GNUC_MINOR__ * 100 \
 84                                                    + __GNUC_PATCHLEVEL__)
 85                     
 86                     // To test for GCC > 3.2.0:
 87                     //     #if GCC_VERSION > 30200
 88                     
 89                     #endif 
 90                     
 91 mday       1.39     
 92 mike       1.22     #include <cstdlib>
 93                     
 94 kumpf      1.35     // used for Windows only
 95 kumpf      1.32     #ifndef PEGASUS_EXPORT
 96                     #define PEGASUS_EXPORT /* empty */
 97                     #endif
 98 mike       1.22     
 99 mike       1.18     #ifdef PEGASUS_HAVE_NAMESPACES
100                     # define PEGASUS_NAMESPACE_BEGIN namespace Pegasus {
101                     # define PEGASUS_NAMESPACE_END }
102 mike       1.22     
103                     #ifndef PEGASUS_HAVE_NO_STD
104 mike       1.18     # define PEGASUS_STD(X) std::X
105                     # define PEGASUS_USING_STD using namespace std
106 mike       1.22     #else
107                     # define PEGASUS_STD(X) X
108                     # define PEGASUS_USING_STD
109                     #endif
110 mike       1.18     # define PEGASUS_USING_PEGASUS using namespace Pegasus
111                     #else
112                     # define PEGASUS_NAMESPACE_BEGIN /* empty */
113                     # define PEGASUS_NAMESPACE_END /* empty */
114                     # define PEGASUS_STD(X) X
115                     # define PEGASUS_USING_STD
116                     # define PEGASUS_USING_PEGASUS
117                     #endif
118                     
119                     #ifdef PEGASUS_HAVE_EXPLICIT
120                     # define PEGASUS_EXPLICIT explicit
121                     #else
122                     # define PEGASUS_EXPLICIT /* empty */
123                     #endif
124                     
125                     #ifdef PEGASUS_HAVE_MUTABLE
126                     # define PEGASUS_MUTABLE mutable
127                     #else
128                     # define PEGASUS_MUTABLE /* empty */
129                     #endif
130                     
131 mike       1.18     #ifndef PEGASUS_HAVE_FOR_SCOPE
132                     # define for if (0) ; else for
133                     #endif
134                     
135                     #ifdef PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
136                     # define PEGASUS_TEMPLATE_SPECIALIZATION template <>
137                     #else
138                     # define PEGASUS_TEMPLATE_SPECIALIZATION
139 karl       1.24     #endif
140                     
141 kumpf      1.32     #ifdef PEGASUS_HAVE_IOS_BINARY
142                     #define PEGASUS_IOS_BINARY ,std::ios::binary
143                     #define PEGASUS_OR_IOS_BINARY | std::ios::binary
144                     #else
145                     #define PEGASUS_IOS_BINARY /* empty */
146                     #define PEGASUS_OR_IOS_BINARY /* empty */
147                     #endif
148                     
149 kumpf      1.34     #ifndef PEGASUS_SINT64_LITERAL
150 kumpf      1.37     #define PEGASUS_SINT64_LITERAL(X) (Sint64 (X##LL))
151 kumpf      1.34     #endif
152                     #ifndef PEGASUS_UINT64_LITERAL
153 kumpf      1.37     #define PEGASUS_UINT64_LITERAL(X) (Uint64 (X##ULL))
154 kumpf      1.34     #endif
155 mike       1.18     
156 kumpf      1.40     // Used in printf and scanf conversion strings for Uint64 and Sint64 arguments
157                     #ifndef PEGASUS_64BIT_CONVERSION_WIDTH
158                     #define PEGASUS_64BIT_CONVERSION_WIDTH "ll"
159                     #endif
160                     
161 mike       1.18     PEGASUS_NAMESPACE_BEGIN
162                     
163 kumpf      1.35     typedef bool Boolean;  // If platform w/o bool, add flag and include Boolean.h
164 mike       1.18     typedef unsigned char Uint8;
165                     typedef char Sint8;
166                     typedef unsigned short Uint16;
167                     typedef short Sint16;
168                     typedef unsigned int Uint32;
169                     typedef int Sint32;
170                     typedef float Real32;
171                     typedef double Real64;
172                     typedef PEGASUS_UINT64 Uint64;
173                     typedef PEGASUS_SINT64 Sint64;
174                     
175                     #define PEG_NOT_FOUND Uint32(-1)
176                     
177                     PEGASUS_NAMESPACE_END
178                     
179 mike       1.20     #ifdef PEGASUS_SUPPRESS_UNREACHABLE_STATEMENTS
180                     # define PEGASUS_UNREACHABLE(CODE)
181                     #else
182                     # define PEGASUS_UNREACHABLE(CODE) CODE
183                     #endif
184                     
185 kumpf      1.30     #ifdef PEGASUS_HAVE_EBCDIC
186                     # define PEGASUS_MAX_PRINTABLE_CHAR 255
187                     #else
188                     # define PEGASUS_MAX_PRINTABLE_CHAR 127
189                     #endif
190                     
191 sage       1.25     // used for zOS only
192                     #ifndef PEGASUS_STATIC_CDECL
193                     #define PEGASUS_STATIC_CDECL
194                     #endif
195 mday       1.39     
196 sage       1.25     
197 mike       1.18     #endif  /* Pegasus_Config_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2