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

  1 martin 1.42 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.43 //
  3 martin 1.42 // Licensed to The Open Group (TOG) under one or more contributor license
  4             // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             // this work for additional information regarding copyright ownership.
  6             // Each contributor licenses this file to you under the OpenPegasus Open
  7             // Source License; you may not use this file except in compliance with the
  8             // License.
  9 martin 1.43 //
 10 martin 1.42 // Permission is hereby granted, free of charge, to any person obtaining a
 11             // copy of this software and associated documentation files (the "Software"),
 12             // to deal in the Software without restriction, including without limitation
 13             // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             // and/or sell copies of the Software, and to permit persons to whom the
 15             // Software is furnished to do so, subject to the following conditions:
 16 martin 1.43 //
 17 martin 1.42 // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19 martin 1.43 //
 20 martin 1.42 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.43 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.42 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.43 //
 28 martin 1.42 //////////////////////////////////////////////////////////////////////////
 29 mike   1.9  //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31             
 32             #ifndef Pegasus_Platform_WIN32_IX86_MSVC_h
 33             #define Pegasus_Platform_WIN32_IX86_MSVC_h
 34             
 35 kumpf  1.13 #define PEGASUS_OS_TYPE_WINDOWS
 36             
 37             #define PEGASUS_EXPORT __declspec(dllexport)
 38             
 39             #define PEGASUS_IMPORT __declspec(dllimport)
 40 mike   1.9  
 41             #define PEGASUS_OS_WIN32
 42             
 43             #define PEGASUS_ARCHITECTURE_IX86
 44             
 45             #define PEGASUS_COMPILER_MSVC
 46             
 47             #define PEGASUS_UINT64 unsigned __int64
 48             
 49             #define PEGASUS_SINT64 __int64
 50 kumpf  1.38 
 51 kumpf  1.14 #define PEGASUS_SINT64_LITERAL(X) Sint64(X)
 52             #define PEGASUS_UINT64_LITERAL(X) Uint64(X)
 53 mday   1.10 
 54 kumpf  1.15 #define PEGASUS_64BIT_CONVERSION_WIDTH "I64"
 55             
 56 mike   1.9  #define PEGASUS_HAVE_NAMESPACES
 57             
 58             // #define PEGASUS_HAVE_FOR_SCOPE
 59             
 60             #define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
 61             
 62 kumpf  1.13 #define PEGASUS_HAVE_IOS_BINARY
 63 s.hills 1.17 
 64 kumpf   1.19 #define PEGASUS_MAXHOSTNAMELEN  64
 65              
 66 mike    1.27 #define PEGASUS_DISABLE_INTERNAL_INLINES
 67              
 68 s.hills 1.17 // Exclude rarely-used stuff from Windows headers
 69 kumpf   1.38 // Note: this is also an easy way to avoid the often introduced
 70 s.hills 1.17 // winsock.h/winsock2.h mixing compiler error problems.
 71 david.dillard 1.20 #ifndef WIN32_LEAN_AND_MEAN
 72 s.hills       1.17 #define WIN32_LEAN_AND_MEAN
 73 david.dillard 1.20 #endif
 74 kumpf         1.13 
 75                    // Suppress this warning: "identifier was truncated to '255' characters in the
 76                    // debug information":
 77                    #pragma warning( disable : 4786 )
 78                    
 79                    // Suppress this warning: "class <XXX> needs to have dll-interface to be used
 80                    // by clients of class <YYY>"
 81                    #pragma warning ( disable : 4251 )
 82                    
 83 tony          1.16 // Supress this warning : non dll-interface class <XXX> used as base
 84                    // for dll-interface class <YYY>
 85                    #pragma warning( disable : 4275 )
 86                    
 87                    // Supresss this warning : C++ exception specification ignored except
 88                    // to indicate a function is not __declspec(nothrow)
 89                    #pragma warning( disable : 4290 )
 90                    
 91 kumpf         1.13 // Suppress this warning : "'this' : used in base member initializer list"
 92                    #pragma warning ( disable : 4355 )
 93 tony          1.16 
 94 kumpf         1.38 // Suppress this warning: 'type' : forcing value to bool 'true' or 'false'
 95                    // (performance warning)
 96 a.dunfey      1.33 #ifdef PEGASUS_INTERNALONLY
 97 kumpf         1.38 #pragma warning( disable : 4800 )
 98 mark.hamzy    1.32 #endif
 99                    
100 david.dillard 1.35 // VC 8 specific pragmas
101                    #if _MSC_VER >= 1400
102                    // Suppress this warning: '<function>' was declared deprecated
103                    // This warning is supported beginning with VC 8.
104                    #pragma warning ( disable : 4996 )
105                    
106 kumpf         1.38 // Suppress this warning: behavior change: an object of POD type constructed
107                    // with an initializer of the form () will be default-initialized
108 david.dillard 1.35 #pragma warning ( disable : 4345 )
109                    #endif
110                    
111 mike          1.28 //
112                    // Prior to Microsoft Visual Studio 7.0, there were no stream inserters for
113                    // __int64 and unsigned __int64. We declare them if the _MSC_VER is less than
114 kumpf         1.38 // 1300 (subtract 600 to get the version of Visual Studio). Look in
115 mike          1.28 // SystemWindows.cpp for the definitions.
116                    //
117 mike          1.30 #if (_MSC_VER < 1300) && defined(PEGASUS_INTERNALONLY) && defined(__cplusplus)
118 mike          1.28 # include <iostream>
119                    namespace std
120                    {
121 mike          1.29     inline ostream& operator<<(ostream& os, const unsigned __int64& x)
122 mike          1.28     {
123 david.dillard 1.35         char buffer[64];
124                            sprintf(buffer, "%" PEGASUS_64BIT_CONVERSION_WIDTH "u", x);
125                            return os << buffer;
126 mike          1.28     }
127                    
128 mike          1.29     inline ostream& operator<<(ostream& os, const __int64& x)
129 mike          1.28     {
130 david.dillard 1.35         char buffer[64];
131                            sprintf(buffer, "%" PEGASUS_64BIT_CONVERSION_WIDTH "d", x);
132                            return os << buffer;
133 mike          1.28     }
134                    }
135                    #endif /* _MSC_VER < 1300 */
136 mike          1.9  
137 venkat.puvvada 1.44 #if _MSC_VER > 1400
138                     #define PEGASUS_HAVE_WINDOWS_IPV6ONLY
139                     #endif
140                     
141 mike           1.37 #define PEGASUS_HAVE_WINDOWS_THREADS
142                     
143 marek          1.40 /* use OpenPegasus semaphore based read/write locking mechanism */
144                     #define PEGASUS_USE_SEMAPHORE_RWLOCK
145                     
146 kavita.gupta   1.41 #define PEGASUS_INTEGERS_BOUNDARY_ALIGNED
147                     
148 mike           1.9  #endif /* Pegasus_Platform_WIN32_IX86_MSVC_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2