00001
00002
00003
00007
00008 #ifndef CONFIG_H
00009 #define CONFIG_H
00010
00015 #define WINDOWS 0
00016 #define UNIX 1
00017
00018
00020
00021
00023 #define TYPE_UINT64 unsigned long long
00024
00026 #define HAVE_UNSIGNED_LONG_LONG 1
00027
00029 #define HAVE_OUTUINT64 1
00030
00033 #define HAVE_VARMACRO 1
00034
00036 #define HAVE_STDDEF_H 1
00037 #if HAVE_STDDEF_H
00038 # include <stddef.h>
00039 #endif
00040
00042 #define HAVE_UNISTD_H 1
00043
00045 #define HAVE_LIMITS_H 1
00046
00048 #define HAVE_STRING_H 1
00049
00051
00052
00054 #define STDC_HEADERS 1
00055
00061 #define ENABLE_NLS 1
00062
00065 #define HAVE_GETOPT_LONG 1
00066
00068 #define HAVE_UNAME 1
00069
00072 #define HAVE_LIBDB 1
00073
00077 #define HAVE_LSTAT 1
00078
00083 #define HAVE_TRUNCATE 1
00084 #define HAVE_FTRUNCATE 1
00085
00089 #define HAVE_MMAP 1
00090
00092 #define HAVE_MEMCPY 1
00093
00096 #define HAVE_FILENO 1
00097
00101 #define HAVE_IOCTL_WINSZ 1
00102
00107 #define DIRENT_HACK 0
00108
00113 #define HAVE_STRINGCMP 1
00114
00119 #define HAVE_STRINGSTRCMP 1
00120
00124 #define HAVE_SETENV 1
00125
00127
00129
00130
00133 #if __GNUC__ == 3 && __GNUC_MINOR__ < 4 && !defined __MINGW32__
00134 # define HAVE_WORKING_FSTREAM 0
00135 #else
00136 # define HAVE_WORKING_FSTREAM 1
00137 #endif
00138
00140 #ifndef DEBUG
00141 #define DEBUG 0
00142 #endif
00143
00145 #define JIGDO_VERSION "0.7.3"
00146
00147 #endif
00148
00149
00150 #ifndef CONFIG_CONSTANTS
00151 #ifdef __cplusplus
00152 #define CONFIG_CONSTANTS
00153
00154
00155 #define PACKAGE "jigdo"
00156
00157
00158 #define CURRENT_YEAR 2005
00159
00160
00161 #ifndef __GNUC__
00162 # define __attribute__(x)
00163 #endif
00164
00165 #if DEBUG
00166 # define NOINLINE
00167 # define GTK_DISABLE_DEPRECATED
00168 # define GNOME_DISABLE_DEPRECATED
00169 # define G_DISABLE_DEPRECATED
00170 #else
00171
00172 # define G_DISABLE_CHECKS
00173 # define G_DISABLE_ASSERT
00174 #endif
00175
00178 #if WINDOWS
00179 # define DIRSEP '\\'
00180 # define DIRSEPS "\\"
00181 # define SPLITSEP "\\.\\"
00182 #else
00183 # define DIRSEP '/'
00184 # define DIRSEPS "/"
00185 # define SPLITSEP "//"
00186 #endif
00188 #define EXTSEP '.'
00189 #define EXTSEPS "."
00190
00191
00192
00193
00194 #if (WINDOWS && !defined(NOMINMAX))
00195 # define NOMINMAX
00196 #endif
00197
00198 #if DIRENT_HACK
00199 # include <dirent.hh>
00200 #endif
00201
00202
00203 #if ENABLE_NLS
00204 # include <libintl.h>
00205
00206 # define _(String) dgettext (PACKAGE, String)
00207 # ifdef gettext_noop
00208 # define N_(String) gettext_noop (String)
00209 # else
00210 # define N_(String) (String)
00211 # endif
00212 #else
00213 # define _(String) (String)
00214 # define N_(String) (String)
00215 #endif
00216
00217 #include <cstddef>
00218
00219 namespace std { }
00220 using namespace std;
00221
00222 namespace {
00223
00226 const bool SUCCESS = false;
00227 const bool FAILURE = true;
00228
00230 const unsigned FILEFORMAT_MAJOR = 1;
00231 const unsigned FILEFORMAT_MINOR = 2;
00233 const char TEMPLATE_HDR[] = "JigsawDownload template ";
00234
00236 const char* const URL = "http://atterer.net/jigdo/";
00237
00241 const size_t ZIPCHUNK_SIZE = 256*1024;
00242
00245 const size_t REPORT_INTERVAL = 256U*1024;
00246 }
00247
00249 typedef TYPE_UINT64 uint64;
00251 typedef unsigned int uint32;
00253 typedef unsigned char byte;
00254
00256 template<class T, class U> inline T implicit_cast(U u) { return u; }
00257
00258 #endif
00259 #endif