(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 mike  1.18 //
 31            //%/////////////////////////////////////////////////////////////////////////////
 32            
 33            #ifndef Pegasus_Config_h
 34            #define Pegasus_Config_h
 35            
 36            #if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC)
 37            # include <Pegasus/Common/Platform_WIN32_IX86_MSVC.h>
 38            #elif defined (PEGASUS_PLATFORM_LINUX_IX86_GNU)
 39            # include <Pegasus/Common/Platform_LINUX_IX86_GNU.h>
 40            #elif defined (PEGASUS_PLATFORM_AIX_RS_IBMCXX)
 41            # include <Pegasus/Common/Platform_AIX_RS_IBMCXX.h>
 42            #elif defined (PEGASUS_PLATFORM_HPUX_PARISC_ACC)
 43            # include <Pegasus/Common/Platform_HPUX_PARISC_ACC.h>
 44 kumpf 1.36 #elif defined (PEGASUS_PLATFORM_HPUX_IA64_ACC)
 45            # include <Pegasus/Common/Platform_HPUX_IA64_ACC.h>
 46 mike  1.19 #elif defined (PEGASUS_PLATFORM_TRU64_ALPHA_DECCXX)
 47            # include <Pegasus/Common/Platform_TRU64_ALPHA_DECCXX.h>
 48 mike  1.21 #elif defined (PEGASUS_PLATFORM_SOLARIS_SPARC_GNU)
 49            # include <Pegasus/Common/Platform_SOLARIS_SPARC_GNU.h>
 50 mike  1.22 #elif defined (PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
 51            # include <Pegasus/Common/Platform_ZOS_ZSERIES_IBM.h>
 52            #elif defined (PEGASUS_PLATFORM_NSK_NONSTOP_NMCPLUS)
 53            # include <Pegasus/Common/Platform_NSK_NONSTOP_NMCPLUS.h>
 54 kumpf 1.27 #elif defined (PEGASUS_PLATFORM_LINUX_IA64_GNU)
 55            # include <Pegasus/Common/Platform_LINUX_IA64_GNU.h>
 56 chuck 1.33 #elif defined (__OS400__)
 57            # if !defined (PEGASUS_PLATFORM_OS400_ISERIES_IBM)
 58            #   define PEGASUS_PLATFORM_OS400_ISERIES_IBM 
 59            # endif
 60            # include <Pegasus/Common/Platform_OS400_ISERIES_IBM.h>
 61 mike  1.18 #else
 62            # error "<Pegasus/Common/Config.h>: Unsupported Platform"
 63            #endif
 64            
 65 mike  1.22 #include <cstdlib>
 66            
 67 kumpf 1.35 // used for Windows only
 68 kumpf 1.32 #ifndef PEGASUS_EXPORT
 69            #define PEGASUS_EXPORT /* empty */
 70            #endif
 71 mike  1.22 
 72 mike  1.18 #ifdef PEGASUS_HAVE_NAMESPACES
 73            # define PEGASUS_NAMESPACE_BEGIN namespace Pegasus {
 74            # define PEGASUS_NAMESPACE_END }
 75 mike  1.22 
 76            #ifndef PEGASUS_HAVE_NO_STD
 77 mike  1.18 # define PEGASUS_STD(X) std::X
 78            # define PEGASUS_USING_STD using namespace std
 79 mike  1.22 #else
 80            # define PEGASUS_STD(X) X
 81            # define PEGASUS_USING_STD
 82            #endif
 83 mike  1.18 # define PEGASUS_USING_PEGASUS using namespace Pegasus
 84            #else
 85            # define PEGASUS_NAMESPACE_BEGIN /* empty */
 86            # define PEGASUS_NAMESPACE_END /* empty */
 87            # define PEGASUS_STD(X) X
 88            # define PEGASUS_USING_STD
 89            # define PEGASUS_USING_PEGASUS
 90            #endif
 91            
 92            #ifdef PEGASUS_HAVE_EXPLICIT
 93            # define PEGASUS_EXPLICIT explicit
 94            #else
 95            # define PEGASUS_EXPLICIT /* empty */
 96            #endif
 97            
 98            #ifdef PEGASUS_HAVE_MUTABLE
 99            # define PEGASUS_MUTABLE mutable
100            #else
101            # define PEGASUS_MUTABLE /* empty */
102            #endif
103            
104 mike  1.18 #ifndef PEGASUS_HAVE_FOR_SCOPE
105            # define for if (0) ; else for
106            #endif
107            
108            #ifdef PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
109            # define PEGASUS_TEMPLATE_SPECIALIZATION template <>
110            #else
111            # define PEGASUS_TEMPLATE_SPECIALIZATION
112 karl  1.24 #endif
113            
114 kumpf 1.32 #ifdef PEGASUS_HAVE_IOS_BINARY
115            #define PEGASUS_IOS_BINARY ,std::ios::binary
116            #define PEGASUS_OR_IOS_BINARY | std::ios::binary
117            #else
118            #define PEGASUS_IOS_BINARY /* empty */
119            #define PEGASUS_OR_IOS_BINARY /* empty */
120            #endif
121            
122 kumpf 1.34 #ifndef PEGASUS_SINT64_LITERAL
123 kumpf 1.37 #define PEGASUS_SINT64_LITERAL(X) (Sint64 (X##LL))
124 kumpf 1.34 #endif
125            #ifndef PEGASUS_UINT64_LITERAL
126 kumpf 1.37 #define PEGASUS_UINT64_LITERAL(X) (Uint64 (X##ULL))
127 kumpf 1.34 #endif
128 mike  1.18 
129            PEGASUS_NAMESPACE_BEGIN
130            
131 kumpf 1.35 typedef bool Boolean;  // If platform w/o bool, add flag and include Boolean.h
132 mike  1.18 typedef unsigned char Uint8;
133            typedef char Sint8;
134            typedef unsigned short Uint16;
135            typedef short Sint16;
136            typedef unsigned int Uint32;
137            typedef int Sint32;
138            typedef float Real32;
139            typedef double Real64;
140            typedef PEGASUS_UINT64 Uint64;
141            typedef PEGASUS_SINT64 Sint64;
142            
143            #define PEG_NOT_FOUND Uint32(-1)
144            
145            PEGASUS_NAMESPACE_END
146            
147 mike  1.20 #ifdef PEGASUS_SUPPRESS_UNREACHABLE_STATEMENTS
148            # define PEGASUS_UNREACHABLE(CODE)
149            #else
150            # define PEGASUS_UNREACHABLE(CODE) CODE
151            #endif
152            
153 kumpf 1.30 #ifdef PEGASUS_HAVE_EBCDIC
154            # define PEGASUS_MAX_PRINTABLE_CHAR 255
155            #else
156            # define PEGASUS_MAX_PRINTABLE_CHAR 127
157            #endif
158            
159 sage  1.25 // used for zOS only
160            #ifndef PEGASUS_STATIC_CDECL
161            #define PEGASUS_STATIC_CDECL
162            #endif
163            
164 mike  1.18 #endif  /* Pegasus_Config_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2