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

  1 karl  1.53 //%2005////////////////////////////////////////////////////////////////////////
  2 mike  1.18 //
  3 karl  1.51 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4            // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5            // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6 karl  1.45 // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.51 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8            // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9 karl  1.53 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 mike  1.18 //
 12            // Permission is hereby granted, free of charge, to any person obtaining a copy
 13 karl  1.26 // of this software and associated documentation files (the "Software"), to
 14            // deal in the Software without restriction, including without limitation the
 15            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 16 mike  1.18 // sell copies of the Software, and to permit persons to whom the Software is
 17            // furnished to do so, subject to the following conditions:
 18 kumpf 1.29 // 
 19 karl  1.26 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 20 mike  1.18 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 21            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 22 karl  1.26 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 23            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 24            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 25 mike  1.18 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 26            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27            //
 28            //==============================================================================
 29            //
 30            //%/////////////////////////////////////////////////////////////////////////////
 31            
 32            #ifndef Pegasus_Config_h
 33            #define Pegasus_Config_h
 34            
 35            #if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC)
 36            # include <Pegasus/Common/Platform_WIN32_IX86_MSVC.h>
 37            #elif defined (PEGASUS_PLATFORM_LINUX_IX86_GNU)
 38            # include <Pegasus/Common/Platform_LINUX_IX86_GNU.h>
 39            #elif defined (PEGASUS_PLATFORM_AIX_RS_IBMCXX)
 40            # include <Pegasus/Common/Platform_AIX_RS_IBMCXX.h>
 41            #elif defined (PEGASUS_PLATFORM_HPUX_PARISC_ACC)
 42            # include <Pegasus/Common/Platform_HPUX_PARISC_ACC.h>
 43 kumpf 1.36 #elif defined (PEGASUS_PLATFORM_HPUX_IA64_ACC)
 44            # include <Pegasus/Common/Platform_HPUX_IA64_ACC.h>
 45 mike  1.19 #elif defined (PEGASUS_PLATFORM_TRU64_ALPHA_DECCXX)
 46            # include <Pegasus/Common/Platform_TRU64_ALPHA_DECCXX.h>
 47 mike  1.21 #elif defined (PEGASUS_PLATFORM_SOLARIS_SPARC_GNU)
 48            # include <Pegasus/Common/Platform_SOLARIS_SPARC_GNU.h>
 49 keith.petley 1.43 #elif defined (PEGASUS_PLATFORM_SOLARIS_SPARC_CC)
 50                   # include <Pegasus/Common/Platform_SOLARIS_SPARC_CC.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 w.otsuka     1.58 #elif defined (PEGASUS_PLATFORM_LINUX_X86_64_GNU)
 58                   # include <Pegasus/Common/Platform_LINUX_X86_64_GNU.h>
 59 david.eger   1.41 #elif defined (PEGASUS_PLATFORM_LINUX_PPC_GNU)
 60                   # include <Pegasus/Common/Platform_LINUX_PPC_GNU.h>
 61 jenny.yu     1.55 #elif defined (PEGASUS_PLATFORM_LINUX_PPC64_GNU)
 62                   # include <Pegasus/Common/Platform_LINUX_PPC64_GNU.h>
 63 david.eger   1.42 #elif defined (PEGASUS_PLATFORM_LINUX_ZSERIES_GNU)
 64                   # include <Pegasus/Common/Platform_LINUX_ZSERIES_GNU.h>
 65 jenny.yu     1.55 #elif defined (PEGASUS_PLATFORM_LINUX_ZSERIES64_GNU)
 66                   # include <Pegasus/Common/Platform_LINUX_ZSERIES64_GNU.h>
 67 chuck        1.33 #elif defined (__OS400__)
 68                   # if !defined (PEGASUS_PLATFORM_OS400_ISERIES_IBM)
 69                   #   define PEGASUS_PLATFORM_OS400_ISERIES_IBM 
 70                   # endif
 71                   # include <Pegasus/Common/Platform_OS400_ISERIES_IBM.h>
 72 dudhe.girish 1.47 #elif defined (PEGASUS_PLATFORM_DARWIN_PPC_GNU)
 73                   # include <Pegasus/Common/Platform_DARWIN_PPC_GNU.h>
 74 gs.keenan    1.54 #elif defined (PEGASUS_PLATFORM_VMS_ALPHA_DECCXX)
 75                   # include <Pegasus/Common/Platform_VMS_ALPHA_DECCXX.h>
 76                   #elif defined (PEGASUS_PLATFORM_VMS_IA64_DECCXX)
 77                   # include <Pegasus/Common/Platform_VMS_IA64_DECCXX.h>
 78 mike         1.18 #else
 79                   # error "<Pegasus/Common/Config.h>: Unsupported Platform"
 80                   #endif
 81                   
 82 mday         1.39 
 83                   
 84                   
 85                   //<<< Sun Apr  6 19:28:00 2003 mdd >>>
 86                   //
 87                   // COMPILER Checks
 88                   //
 89                   // This is to allow a check for GCC > 3.2
 90                   // It needs to be the first thing we check because the next lines load
 91                   // further source files
 92                   
 93                   #if defined(__GNUC__)
 94                   #define GCC_VERSION (__GNUC__ * 10000 \
 95                                                  + __GNUC_MINOR__ * 100 \
 96                                                  + __GNUC_PATCHLEVEL__)
 97                   
 98                   // To test for GCC > 3.2.0:
 99                   //     #if GCC_VERSION > 30200
100                   
101                   #endif 
102                   
103 mday         1.39 
104 david.dillard 1.56 #ifdef __cplusplus
105 mike          1.22 #include <cstdlib>
106 david.dillard 1.56 #endif
107 mike          1.22 
108 kumpf         1.35 // used for Windows only
109 kumpf         1.32 #ifndef PEGASUS_EXPORT
110                    #define PEGASUS_EXPORT /* empty */
111                    #endif
112 mike          1.22 
113 mike          1.18 #ifdef PEGASUS_HAVE_NAMESPACES
114                    # define PEGASUS_NAMESPACE_BEGIN namespace Pegasus {
115                    # define PEGASUS_NAMESPACE_END }
116 vijay.eli     1.57 # define PEGASUS_NAMESPACE(X) Pegasus::X
117 mike          1.22 
118                    #ifndef PEGASUS_HAVE_NO_STD
119 mike          1.18 # define PEGASUS_STD(X) std::X
120                    # define PEGASUS_USING_STD using namespace std
121 mike          1.22 #else
122                    # define PEGASUS_STD(X) X
123                    # define PEGASUS_USING_STD
124                    #endif
125 mike          1.18 # define PEGASUS_USING_PEGASUS using namespace Pegasus
126                    #else
127                    # define PEGASUS_NAMESPACE_BEGIN /* empty */
128                    # define PEGASUS_NAMESPACE_END /* empty */
129 vijay.eli     1.57 # define PEGASUS_NAMESPACE(X) X
130 mike          1.18 # define PEGASUS_STD(X) X
131                    # define PEGASUS_USING_STD
132                    # define PEGASUS_USING_PEGASUS
133                    #endif
134                    
135                    #ifdef PEGASUS_HAVE_EXPLICIT
136                    # define PEGASUS_EXPLICIT explicit
137                    #else
138                    # define PEGASUS_EXPLICIT /* empty */
139                    #endif
140                    
141                    #ifdef PEGASUS_HAVE_MUTABLE
142                    # define PEGASUS_MUTABLE mutable
143                    #else
144                    # define PEGASUS_MUTABLE /* empty */
145                    #endif
146                    
147                    #ifndef PEGASUS_HAVE_FOR_SCOPE
148                    # define for if (0) ; else for
149                    #endif
150                    
151 mike          1.18 #ifdef PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
152                    # define PEGASUS_TEMPLATE_SPECIALIZATION template <>
153                    #else
154                    # define PEGASUS_TEMPLATE_SPECIALIZATION
155 karl          1.24 #endif
156                    
157 kumpf         1.32 #ifdef PEGASUS_HAVE_IOS_BINARY
158 david         1.44 #if defined(PEGASUS_PLATFORM_OS400_ISERIES_IBM) 
159                    #define PEGASUS_IOS_BINARY ,std::ios::binary,PEGASUS_STD(_CCSID_T(1208))
160                    #else
161 kumpf         1.32 #define PEGASUS_IOS_BINARY ,std::ios::binary
162 david         1.44 #endif
163 kumpf         1.32 #define PEGASUS_OR_IOS_BINARY | std::ios::binary
164                    #else
165                    #define PEGASUS_IOS_BINARY /* empty */
166                    #define PEGASUS_OR_IOS_BINARY /* empty */
167                    #endif
168                    
169 kumpf         1.34 #ifndef PEGASUS_SINT64_LITERAL
170 kumpf         1.37 #define PEGASUS_SINT64_LITERAL(X) (Sint64 (X##LL))
171 kumpf         1.34 #endif
172                    #ifndef PEGASUS_UINT64_LITERAL
173 kumpf         1.37 #define PEGASUS_UINT64_LITERAL(X) (Uint64 (X##ULL))
174 kumpf         1.34 #endif
175 mike          1.18 
176 kumpf         1.40 // Used in printf and scanf conversion strings for Uint64 and Sint64 arguments
177                    #ifndef PEGASUS_64BIT_CONVERSION_WIDTH
178                    #define PEGASUS_64BIT_CONVERSION_WIDTH "ll"
179                    #endif
180 kumpf         1.46 
181                    #ifndef PEGASUS_MAXHOSTNAMELEN
182                    #define PEGASUS_MAXHOSTNAMELEN MAXHOSTNAMELEN
183                    #endif
184                    
185 kumpf         1.40 
186 david.dillard 1.56 #ifdef __cplusplus
187 mike          1.18 PEGASUS_NAMESPACE_BEGIN
188                    
189 kumpf         1.35 typedef bool Boolean;  // If platform w/o bool, add flag and include Boolean.h
190 mike          1.18 typedef unsigned char Uint8;
191 david.dillard 1.52 typedef signed char Sint8;
192 mike          1.18 typedef unsigned short Uint16;
193 david.dillard 1.52 typedef signed short Sint16;
194 mike          1.18 typedef unsigned int Uint32;
195 david.dillard 1.52 typedef signed int Sint32;
196 mike          1.18 typedef float Real32;
197                    typedef double Real64;
198                    typedef PEGASUS_UINT64 Uint64;
199                    typedef PEGASUS_SINT64 Sint64;
200                    
201                    #define PEG_NOT_FOUND Uint32(-1)
202                    
203                    PEGASUS_NAMESPACE_END
204 david.dillard 1.56 #endif
205 mike          1.18 
206 mike          1.20 #ifdef PEGASUS_SUPPRESS_UNREACHABLE_STATEMENTS
207                    # define PEGASUS_UNREACHABLE(CODE)
208                    #else
209                    # define PEGASUS_UNREACHABLE(CODE) CODE
210                    #endif
211                    
212 kumpf         1.30 #ifdef PEGASUS_HAVE_EBCDIC
213                    # define PEGASUS_MAX_PRINTABLE_CHAR 255
214                    #else
215                    # define PEGASUS_MAX_PRINTABLE_CHAR 127
216                    #endif
217                    
218 sage          1.25 // used for zOS only
219                    #ifndef PEGASUS_STATIC_CDECL
220                    #define PEGASUS_STATIC_CDECL
221                    #endif
222 mday          1.39 
223 sage          1.25 
224 mike          1.18 #endif  /* Pegasus_Config_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2