PEP 55 Update license on source files to current license text and date
[tpot/pegasus/.git] / src / Pegasus / Common / Platform_WIN32_IX86_MSVC.h
1 //%2003////////////////////////////////////////////////////////////////////////
2 //
3 // 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 // IBM Corp.; EMC Corporation, The Open Group.
7 //
8 // Permission is hereby granted, free of charge, to any person obtaining a copy
9 // of this software and associated documentation files (the "Software"), to
10 // deal in the Software without restriction, including without limitation the
11 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
12 // sell copies of the Software, and to permit persons to whom the Software is
13 // furnished to do so, subject to the following conditions:
14 // 
15 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
16 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
17 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
18 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
19 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
21 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 //
24 //==============================================================================
25 //
26 // Author: Mike Brasher (mbrasher@bmc.com)
27 //
28 // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
29 //                (carolann_graves@hp.com)
30 //
31 //%/////////////////////////////////////////////////////////////////////////////
32
33 #ifndef Pegasus_Platform_WIN32_IX86_MSVC_h
34 #define Pegasus_Platform_WIN32_IX86_MSVC_h
35
36 #define PEGASUS_OS_TYPE_WINDOWS
37
38 #define PEGASUS_EXPORT __declspec(dllexport)
39
40 #define PEGASUS_IMPORT __declspec(dllimport)
41
42 #define PEGASUS_OS_WIN32
43
44 #define PEGASUS_ARCHITECTURE_IX86
45
46 #define PEGASUS_COMPILER_MSVC
47
48 #define PEGASUS_UINT64 unsigned __int64
49
50 #define PEGASUS_SINT64 __int64
51         
52 #define PEGASUS_SINT64_LITERAL(X) Sint64(X)
53 #define PEGASUS_UINT64_LITERAL(X) Uint64(X)
54
55 #define PEGASUS_64BIT_CONVERSION_WIDTH "I64"
56
57 #define PEGASUS_HAVE_NAMESPACES
58
59 #define PEGASUS_HAVE_EXPLICIT
60
61 #define PEGASUS_HAVE_MUTABLE
62
63 // #define PEGASUS_HAVE_FOR_SCOPE
64
65 #define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
66
67 #define PEGASUS_HAVE_IOS_BINARY
68
69 // Exclude rarely-used stuff from Windows headers
70 // Note: this is also an easy way to avoid the often introduced 
71 // winsock.h/winsock2.h mixing compiler error problems.
72 #define WIN32_LEAN_AND_MEAN
73
74 // Suppress this warning: "identifier was truncated to '255' characters in the
75 // debug information":
76 #pragma warning( disable : 4786 )
77
78 // Suppress this warning: "class <XXX> needs to have dll-interface to be used
79 // by clients of class <YYY>"
80 #pragma warning ( disable : 4251 )
81
82 // Supress this warning : non dll-interface class <XXX> used as base
83 // for dll-interface class <YYY>
84 #pragma warning( disable : 4275 )
85
86 // Supresss this warning : C++ exception specification ignored except
87 // to indicate a function is not __declspec(nothrow)
88 #pragma warning( disable : 4290 )
89
90 // Suppress this warning : "'this' : used in base member initializer list"
91 #pragma warning ( disable : 4355 )
92
93
94 #endif /* Pegasus_Platform_WIN32_IX86_MSVC_h */