Merge remote branch 'refs/remotes/svn/trunk' into svn
[bitcoinplatinum.git] / headers.h
blob6a08cb7fe8aaa4df3136e3660e9ddaeab11f2def
1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Distributed under the MIT/X11 software license, see the accompanying
3 // file license.txt or http://www.opensource.org/licenses/mit-license.php.
5 #ifdef _MSC_VER
6 #pragma warning(disable:4786)
7 #pragma warning(disable:4804)
8 #pragma warning(disable:4805)
9 #pragma warning(disable:4717)
10 #endif
11 #ifdef _WIN32_WINNT
12 #undef _WIN32_WINNT
13 #endif
14 #define _WIN32_WINNT 0x0500
15 #ifdef _WIN32_IE
16 #undef _WIN32_IE
17 #endif
18 #define _WIN32_IE 0x0400
19 #define WIN32_LEAN_AND_MEAN 1
20 #define __STDC_LIMIT_MACROS // to enable UINT64_MAX from stdint.h
21 #if (defined(__unix__) || defined(unix)) && !defined(USG)
22 #include <sys/param.h> // to get BSD define
23 #endif
24 #ifdef __WXMAC_OSX__
25 #ifndef BSD
26 #define BSD 1
27 #endif
28 #endif
29 #ifdef GUI
30 #include <wx/wx.h>
31 #include <wx/stdpaths.h>
32 #include <wx/snglinst.h>
33 #include <wx/utils.h>
34 #include <wx/clipbrd.h>
35 #include <wx/taskbar.h>
36 #endif
37 #include <openssl/buffer.h>
38 #include <openssl/ecdsa.h>
39 #include <openssl/evp.h>
40 #include <openssl/rand.h>
41 #include <openssl/sha.h>
42 #include <openssl/ripemd.h>
43 #include <db_cxx.h>
44 #include <stdio.h>
45 #include <stdlib.h>
46 #include <time.h>
47 #include <math.h>
48 #include <limits.h>
49 #include <float.h>
50 #include <assert.h>
51 #include <memory>
52 #include <iostream>
53 #include <sstream>
54 #include <string>
55 #include <vector>
56 #include <list>
57 #include <deque>
58 #include <map>
59 #include <set>
60 #include <algorithm>
61 #include <numeric>
62 #include <boost/foreach.hpp>
63 #include <boost/lexical_cast.hpp>
64 #include <boost/tuple/tuple.hpp>
65 #include <boost/tuple/tuple_comparison.hpp>
66 #include <boost/tuple/tuple_io.hpp>
67 #include <boost/array.hpp>
68 #include <boost/bind.hpp>
69 #include <boost/function.hpp>
70 #include <boost/filesystem.hpp>
71 #include <boost/filesystem/fstream.hpp>
72 #include <boost/algorithm/string.hpp>
73 #include <boost/thread.hpp>
74 #include <boost/interprocess/sync/file_lock.hpp>
75 #include <boost/interprocess/sync/interprocess_mutex.hpp>
76 #include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>
77 #include <boost/date_time/gregorian/gregorian_types.hpp>
78 #include <boost/date_time/posix_time/posix_time_types.hpp>
79 #include <boost/config.hpp>
80 #include <boost/program_options/detail/config_file.hpp>
81 #include <boost/program_options/parsers.hpp>
83 #ifdef __WXMSW__
84 #include <windows.h>
85 #include <winsock2.h>
86 #include <mswsock.h>
87 #include <shlobj.h>
88 #include <shlwapi.h>
89 #include <io.h>
90 #include <process.h>
91 #include <malloc.h>
92 #else
93 #include <sys/time.h>
94 #include <sys/resource.h>
95 #include <sys/socket.h>
96 #include <sys/stat.h>
97 #include <arpa/inet.h>
98 #include <netdb.h>
99 #include <unistd.h>
100 #include <errno.h>
101 #include <net/if.h>
102 #include <ifaddrs.h>
103 #include <fcntl.h>
104 #include <signal.h>
105 #endif
106 #ifdef BSD
107 #include <netinet/in.h>
108 #endif
111 #pragma hdrstop
112 using namespace std;
113 using namespace boost;
115 #include "strlcpy.h"
116 #include "serialize.h"
117 #include "uint256.h"
118 #include "util.h"
119 #include "key.h"
120 #include "bignum.h"
121 #include "base58.h"
122 #include "script.h"
123 #include "db.h"
124 #include "net.h"
125 #include "irc.h"
126 #include "main.h"
127 #include "rpc.h"
128 #ifdef GUI
129 #include "uibase.h"
130 #include "ui.h"
131 #else
132 #include "noui.h"
133 #endif
134 #include "init.h"
136 #include "xpm/addressbook16.xpm"
137 #include "xpm/addressbook20.xpm"
138 #include "xpm/bitcoin16.xpm"
139 #include "xpm/bitcoin20.xpm"
140 #include "xpm/bitcoin32.xpm"
141 #include "xpm/bitcoin48.xpm"
142 #include "xpm/bitcoin80.xpm"
143 #include "xpm/check.xpm"
144 #include "xpm/send16.xpm"
145 #include "xpm/send16noshadow.xpm"
146 #include "xpm/send20.xpm"
147 #include "xpm/about.xpm"