Odamex
Setting the Standard in Multiplayer Doom
common/lzodefs.h
Go to the documentation of this file.
00001 // Emacs style mode select   -*- C++ -*- 
00002 //-----------------------------------------------------------------------------
00003 //
00004 // $Id: lzodefs.h 1084 2008-08-14 02:48:40Z russellrice $
00005 //
00006 // lzodefs.h -- architecture, OS and compiler specific defines
00007 //
00008 //   This file is part of the LZO real-time data compression library.
00009 //
00010 //   Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
00011 //   Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
00012 //   Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
00013 //   Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
00014 //   Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
00015 //   Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
00016 //   Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
00017 //   Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
00018 //   Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
00019 //   Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
00020 //   All Rights Reserved.
00021 //
00022 //   The LZO library is free software; you can redistribute it and/or
00023 //   modify it under the terms of the GNU General Public License,
00024 //   version 2, as published by the Free Software Foundation.
00025 //
00026 //   The LZO library is distributed in the hope that it will be useful,
00027 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
00028 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00029 //   GNU General Public License for more details.
00030 //
00031 //   You should have received a copy of the GNU General Public License
00032 //   along with the LZO library; see the file COPYING.
00033 //   If not, write to the Free Software Foundation, Inc.,
00034 //   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00035 //
00036 //   Markus F.X.J. Oberhumer
00037 //   <markus@oberhumer.com>
00038 //   http://www.oberhumer.com/opensource/lzo/
00039 //
00040 //-----------------------------------------------------------------------------
00041 
00042 
00043 #ifndef __LZODEFS_H_INCLUDED
00044 #define __LZODEFS_H_INCLUDED 1
00045 
00046 #if defined(__CYGWIN32__) && !defined(__CYGWIN__)
00047 #  define __CYGWIN__ __CYGWIN32__
00048 #endif
00049 #if defined(__IBMCPP__) && !defined(__IBMC__)
00050 #  define __IBMC__ __IBMCPP__
00051 #endif
00052 #if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER)
00053 #  define __INTEL_COMPILER __ICL
00054 #endif
00055 #if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
00056 #  define _ALL_SOURCE 1
00057 #endif
00058 #if defined(__mips__) && defined(__R5900__)
00059 #  if !defined(__LONG_MAX__)
00060 #    define __LONG_MAX__ 9223372036854775807L
00061 #  endif
00062 #endif
00063 #if defined(__INTEL_COMPILER) && defined(__linux__)
00064 #  pragma warning(disable: 193)
00065 #endif
00066 #if defined(__KEIL__) && defined(__C166__)
00067 #  pragma warning disable = 322
00068 #elif 0 && defined(__C251__)
00069 #  pragma warning disable = 322
00070 #endif
00071 #if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
00072 #  if (_MSC_VER >= 1300)
00073 #    pragma warning(disable: 4668)
00074 #  endif
00075 #endif
00076 #if 0 && defined(__WATCOMC__)
00077 #  if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
00078 #    pragma warning 203 9
00079 #  endif
00080 #endif
00081 #if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
00082 #  pragma option -h
00083 #endif
00084 #if 0
00085 #define LZO_0xffffL             0xfffful
00086 #define LZO_0xffffffffL         0xfffffffful
00087 #else
00088 #define LZO_0xffffL             65535ul
00089 #define LZO_0xffffffffL         4294967295ul
00090 #endif
00091 #if (LZO_0xffffL == LZO_0xffffffffL)
00092 #  error "your preprocessor is broken 1"
00093 #endif
00094 #if (16ul * 16384ul != 262144ul)
00095 #  error "your preprocessor is broken 2"
00096 #endif
00097 #if 0
00098 #if (32767 >= 4294967295ul)
00099 #  error "your preprocessor is broken 3"
00100 #endif
00101 #if (65535u >= 4294967295ul)
00102 #  error "your preprocessor is broken 4"
00103 #endif
00104 #endif
00105 #if (UINT_MAX == LZO_0xffffL)
00106 #if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
00107 #  if !defined(MSDOS)
00108 #    define MSDOS 1
00109 #  endif
00110 #  if !defined(_MSDOS)
00111 #    define _MSDOS 1
00112 #  endif
00113 #elif 0 && defined(__VERSION) && defined(MB_LEN_MAX)
00114 #  if (__VERSION == 520) && (MB_LEN_MAX == 1)
00115 #    if !defined(__AZTEC_C__)
00116 #      define __AZTEC_C__ __VERSION
00117 #    endif
00118 #    if !defined(__DOS__)
00119 #      define __DOS__ 1
00120 #    endif
00121 #  endif
00122 #endif
00123 #endif
00124 #if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL)
00125 #  define ptrdiff_t long
00126 #  define _PTRDIFF_T_DEFINED
00127 #endif
00128 #if (UINT_MAX == LZO_0xffffL)
00129 #  undef __LZO_RENAME_A
00130 #  undef __LZO_RENAME_B
00131 #  if defined(__AZTEC_C__) && defined(__DOS__)
00132 #    define __LZO_RENAME_A 1
00133 #  elif defined(_MSC_VER) && defined(MSDOS)
00134 #    if (_MSC_VER < 600)
00135 #      define __LZO_RENAME_A 1
00136 #    elif (_MSC_VER < 700)
00137 #      define __LZO_RENAME_B 1
00138 #    endif
00139 #  elif defined(__TSC__) && defined(__OS2__)
00140 #    define __LZO_RENAME_A 1
00141 #  elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410)
00142 #    define __LZO_RENAME_A 1
00143 #  elif defined(__PACIFIC__) && defined(DOS)
00144 #    if !defined(__far)
00145 #      define __far far
00146 #    endif
00147 #    if !defined(__near)
00148 #      define __near near
00149 #    endif
00150 #  endif
00151 #  if defined(__LZO_RENAME_A)
00152 #    if !defined(__cdecl)
00153 #      define __cdecl cdecl
00154 #    endif
00155 #    if !defined(__far)
00156 #      define __far far
00157 #    endif
00158 #    if !defined(__huge)
00159 #      define __huge huge
00160 #    endif
00161 #    if !defined(__near)
00162 #      define __near near
00163 #    endif
00164 #    if !defined(__pascal)
00165 #      define __pascal pascal
00166 #    endif
00167 #    if !defined(__huge)
00168 #      define __huge huge
00169 #    endif
00170 #  elif defined(__LZO_RENAME_B)
00171 #    if !defined(__cdecl)
00172 #      define __cdecl _cdecl
00173 #    endif
00174 #    if !defined(__far)
00175 #      define __far _far
00176 #    endif
00177 #    if !defined(__huge)
00178 #      define __huge _huge
00179 #    endif
00180 #    if !defined(__near)
00181 #      define __near _near
00182 #    endif
00183 #    if !defined(__pascal)
00184 #      define __pascal _pascal
00185 #    endif
00186 #  elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
00187 #    if !defined(__cdecl)
00188 #      define __cdecl cdecl
00189 #    endif
00190 #    if !defined(__pascal)
00191 #      define __pascal pascal
00192 #    endif
00193 #  endif
00194 #  undef __LZO_RENAME_A
00195 #  undef __LZO_RENAME_B
00196 #endif
00197 #if (UINT_MAX == LZO_0xffffL)
00198 #if defined(__AZTEC_C__) && defined(__DOS__)
00199 #  define LZO_BROKEN_CDECL_ALT_SYNTAX 1
00200 #elif defined(_MSC_VER) && defined(MSDOS)
00201 #  if (_MSC_VER < 600)
00202 #    define LZO_BROKEN_INTEGRAL_CONSTANTS 1
00203 #  endif
00204 #  if (_MSC_VER < 700)
00205 #    define LZO_BROKEN_INTEGRAL_PROMOTION 1
00206 #    define LZO_BROKEN_SIZEOF 1
00207 #  endif
00208 #elif defined(__PACIFIC__) && defined(DOS)
00209 #  define LZO_BROKEN_INTEGRAL_CONSTANTS 1
00210 #elif defined(__TURBOC__) && defined(__MSDOS__)
00211 #  if (__TURBOC__ < 0x0150)
00212 #    define LZO_BROKEN_CDECL_ALT_SYNTAX 1
00213 #    define LZO_BROKEN_INTEGRAL_CONSTANTS 1
00214 #    define LZO_BROKEN_INTEGRAL_PROMOTION 1
00215 #  endif
00216 #  if (__TURBOC__ < 0x0200)
00217 #    define LZO_BROKEN_SIZEOF 1
00218 #  endif
00219 #  if (__TURBOC__ < 0x0400) && defined(__cplusplus)
00220 #    define LZO_BROKEN_CDECL_ALT_SYNTAX 1
00221 #  endif
00222 #elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
00223 #  define LZO_BROKEN_CDECL_ALT_SYNTAX 1
00224 #  define LZO_BROKEN_SIZEOF 1
00225 #endif
00226 #endif
00227 #if defined(__WATCOMC__) && (__WATCOMC__ < 900)
00228 #  define LZO_BROKEN_INTEGRAL_CONSTANTS 1
00229 #endif
00230 #define LZO_CPP_STRINGIZE(x)            #x
00231 #define LZO_CPP_MACRO_EXPAND(x)         LZO_CPP_STRINGIZE(x)
00232 #define LZO_CPP_CONCAT2(a,b)            a ## b
00233 #define LZO_CPP_CONCAT3(a,b,c)          a ## b ## c
00234 #define LZO_CPP_CONCAT4(a,b,c,d)        a ## b ## c ## d
00235 #define LZO_CPP_CONCAT5(a,b,c,d,e)      a ## b ## c ## d ## e
00236 #define LZO_CPP_ECONCAT2(a,b)           LZO_CPP_CONCAT2(a,b)
00237 #define LZO_CPP_ECONCAT3(a,b,c)         LZO_CPP_CONCAT3(a,b,c)
00238 #define LZO_CPP_ECONCAT4(a,b,c,d)       LZO_CPP_CONCAT4(a,b,c,d)
00239 #define LZO_CPP_ECONCAT5(a,b,c,d,e)     LZO_CPP_CONCAT5(a,b,c,d,e)
00240 #define __LZO_MASK_GEN(o,b)     (((((o) << ((b)-1)) - (o)) << 1) + (o))
00241 #if 1 && defined(__cplusplus)
00242 #  if !defined(__STDC_CONSTANT_MACROS)
00243 #    define __STDC_CONSTANT_MACROS 1
00244 #  endif
00245 #  if !defined(__STDC_LIMIT_MACROS)
00246 #    define __STDC_LIMIT_MACROS 1
00247 #  endif
00248 #endif
00249 #if defined(__cplusplus)
00250 #  define LZO_EXTERN_C extern "C"
00251 #else
00252 #  define LZO_EXTERN_C extern
00253 #endif
00254 #if !defined(__LZO_OS_OVERRIDE)
00255 #if defined(LZO_OS_FREESTANDING)
00256 #  define LZO_INFO_OS           "freestanding"
00257 #elif defined(LZO_OS_EMBEDDED)
00258 #  define LZO_INFO_OS           "embedded"
00259 #elif defined(__CYGWIN__) && defined(__GNUC__)
00260 #  define LZO_OS_CYGWIN         1
00261 #  define LZO_INFO_OS           "cygwin"
00262 #elif defined(__EMX__) && defined(__GNUC__)
00263 #  define LZO_OS_EMX            1
00264 #  define LZO_INFO_OS           "emx"
00265 #elif defined(__BEOS__)
00266 #  define LZO_OS_BEOS           1
00267 #  define LZO_INFO_OS           "beos"
00268 #elif defined(__Lynx__)
00269 #  define LZO_OS_LYNXOS         1
00270 #  define LZO_INFO_OS           "lynxos"
00271 #elif defined(__OS400__)
00272 #  define LZO_OS_OS400          1
00273 #  define LZO_INFO_OS           "os400"
00274 #elif defined(__QNX__)
00275 #  define LZO_OS_QNX            1
00276 #  define LZO_INFO_OS           "qnx"
00277 #elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460)
00278 #  define LZO_OS_DOS32          1
00279 #  define LZO_INFO_OS           "dos32"
00280 #elif defined(__BORLANDC__) && defined(__DPMI16__)
00281 #  define LZO_OS_DOS16          1
00282 #  define LZO_INFO_OS           "dos16"
00283 #elif defined(__ZTC__) && defined(DOS386)
00284 #  define LZO_OS_DOS32          1
00285 #  define LZO_INFO_OS           "dos32"
00286 #elif defined(__OS2__) || defined(__OS2V2__)
00287 #  if (UINT_MAX == LZO_0xffffL)
00288 #    define LZO_OS_OS216        1
00289 #    define LZO_INFO_OS         "os216"
00290 #  elif (UINT_MAX == LZO_0xffffffffL)
00291 #    define LZO_OS_OS2          1
00292 #    define LZO_INFO_OS         "os2"
00293 #  else
00294 #    error "check your limits.h header"
00295 #  endif
00296 #elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64)
00297 #  define LZO_OS_WIN64          1
00298 #  define LZO_INFO_OS           "win64"
00299 #elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__)
00300 #  define LZO_OS_WIN32          1
00301 #  define LZO_INFO_OS           "win32"
00302 #elif defined(__MWERKS__) && defined(__INTEL__)
00303 #  define LZO_OS_WIN32          1
00304 #  define LZO_INFO_OS           "win32"
00305 #elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows)
00306 #  if (UINT_MAX == LZO_0xffffL)
00307 #    define LZO_OS_WIN16        1
00308 #    define LZO_INFO_OS         "win16"
00309 #  elif (UINT_MAX == LZO_0xffffffffL)
00310 #    define LZO_OS_WIN32        1
00311 #    define LZO_INFO_OS         "win32"
00312 #  else
00313 #    error "check your limits.h header"
00314 #  endif
00315 #elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS))
00316 #  if (UINT_MAX == LZO_0xffffL)
00317 #    define LZO_OS_DOS16        1
00318 #    define LZO_INFO_OS         "dos16"
00319 #  elif (UINT_MAX == LZO_0xffffffffL)
00320 #    define LZO_OS_DOS32        1
00321 #    define LZO_INFO_OS         "dos32"
00322 #  else
00323 #    error "check your limits.h header"
00324 #  endif
00325 #elif defined(__WATCOMC__)
00326 #  if defined(__NT__) && (UINT_MAX == LZO_0xffffL)
00327 #    define LZO_OS_DOS16        1
00328 #    define LZO_INFO_OS         "dos16"
00329 #  elif defined(__NT__) && (__WATCOMC__ < 1100)
00330 #    define LZO_OS_WIN32        1
00331 #    define LZO_INFO_OS         "win32"
00332 #  else
00333 #    error "please specify a target using the -bt compiler option"
00334 #  endif
00335 #elif defined(__palmos__)
00336 #  define LZO_OS_PALMOS         1
00337 #  define LZO_INFO_OS           "palmos"
00338 #elif defined(__TOS__) || defined(__atarist__)
00339 #  define LZO_OS_TOS            1
00340 #  define LZO_INFO_OS           "tos"
00341 #elif defined(macintosh) && !defined(__ppc__)
00342 #  define LZO_OS_MACCLASSIC     1
00343 #  define LZO_INFO_OS           "macclassic"
00344 #elif defined(__VMS)
00345 #  define LZO_OS_VMS            1
00346 #  define LZO_INFO_OS           "vms"
00347 #elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
00348 #  define LZO_OS_CONSOLE        1
00349 #  define LZO_OS_CONSOLE_PS2    1
00350 #  define LZO_INFO_OS           "console"
00351 #  define LZO_INFO_OS_CONSOLE   "ps2"
00352 #elif (defined(__mips__) && defined(__psp__))
00353 #  define LZO_OS_CONSOLE        1
00354 #  define LZO_OS_CONSOLE_PSP    1
00355 #  define LZO_INFO_OS           "console"
00356 #  define LZO_INFO_OS_CONSOLE   "psp"
00357 #else
00358 #  define LZO_OS_POSIX          1
00359 #  define LZO_INFO_OS           "posix"
00360 #endif
00361 #if (LZO_OS_POSIX)
00362 #  if defined(_AIX) || defined(__AIX__) || defined(__aix__)
00363 #    define LZO_OS_POSIX_AIX        1
00364 #    define LZO_INFO_OS_POSIX       "aix"
00365 #  elif defined(__FreeBSD__)
00366 #    define LZO_OS_POSIX_FREEBSD    1
00367 #    define LZO_INFO_OS_POSIX       "freebsd"
00368 #  elif defined(__hpux__) || defined(__hpux)
00369 #    define LZO_OS_POSIX_HPUX       1
00370 #    define LZO_INFO_OS_POSIX       "hpux"
00371 #  elif defined(__INTERIX)
00372 #    define LZO_OS_POSIX_INTERIX    1
00373 #    define LZO_INFO_OS_POSIX       "interix"
00374 #  elif defined(__IRIX__) || defined(__irix__)
00375 #    define LZO_OS_POSIX_IRIX       1
00376 #    define LZO_INFO_OS_POSIX       "irix"
00377 #  elif defined(__linux__) || defined(__linux)
00378 #    define LZO_OS_POSIX_LINUX      1
00379 #    define LZO_INFO_OS_POSIX       "linux"
00380 #  elif defined(__APPLE__) || defined(__MACOS__)
00381 #    define LZO_OS_POSIX_MACOSX     1
00382 #    define LZO_INFO_OS_POSIX       "macosx"
00383 #  elif defined(__NetBSD__)
00384 #    define LZO_OS_POSIX_NETBSD     1
00385 #    define LZO_INFO_OS_POSIX       "netbsd"
00386 #  elif defined(__OpenBSD__)
00387 #    define LZO_OS_POSIX_OPENBSD    1
00388 #    define LZO_INFO_OS_POSIX       "openbsd"
00389 #  elif defined(__osf__)
00390 #    define LZO_OS_POSIX_OSF        1
00391 #    define LZO_INFO_OS_POSIX       "osf"
00392 #  elif defined(__solaris__) || defined(__sun)
00393 #    if defined(__SVR4) || defined(__svr4__)
00394 #      define LZO_OS_POSIX_SOLARIS  1
00395 #      define LZO_INFO_OS_POSIX     "solaris"
00396 #    else
00397 #      define LZO_OS_POSIX_SUNOS    1
00398 #      define LZO_INFO_OS_POSIX     "sunos"
00399 #    endif
00400 #  elif defined(__ultrix__) || defined(__ultrix)
00401 #    define LZO_OS_POSIX_ULTRIX     1
00402 #    define LZO_INFO_OS_POSIX       "ultrix"
00403 #  else
00404 #    define LZO_OS_POSIX_UNKNOWN    1
00405 #    define LZO_INFO_OS_POSIX       "unknown"
00406 #  endif
00407 #endif
00408 #endif
00409 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
00410 #  if (UINT_MAX != LZO_0xffffL)
00411 #    error "this should not happen"
00412 #  endif
00413 #  if (ULONG_MAX != LZO_0xffffffffL)
00414 #    error "this should not happen"
00415 #  endif
00416 #endif
00417 #if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64)
00418 #  if (UINT_MAX != LZO_0xffffffffL)
00419 #    error "this should not happen"
00420 #  endif
00421 #  if (ULONG_MAX != LZO_0xffffffffL)
00422 #    error "this should not happen"
00423 #  endif
00424 #endif
00425 #if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
00426 #  define LZO_CC_CILLY          1
00427 #  define LZO_INFO_CC           "Cilly"
00428 #  if defined(__CILLY__)
00429 #    define LZO_INFO_CCVER      LZO_CPP_MACRO_EXPAND(__CILLY__)
00430 #  else
00431 #    define LZO_INFO_CCVER      "unknown"
00432 #  endif
00433 #elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
00434 #  define LZO_CC_SDCC           1
00435 #  define LZO_INFO_CC           "sdcc"
00436 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(SDCC)
00437 #elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
00438 #  define LZO_CC_PATHSCALE      (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
00439 #  define LZO_INFO_CC           "Pathscale C"
00440 #  define LZO_INFO_CCVER        __PATHSCALE__
00441 #elif defined(__INTEL_COMPILER)
00442 #  define LZO_CC_INTELC         1
00443 #  define LZO_INFO_CC           "Intel C"
00444 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__INTEL_COMPILER)
00445 #elif defined(__POCC__) && defined(_WIN32)
00446 #  define LZO_CC_PELLESC        1
00447 #  define LZO_INFO_CC           "Pelles C"
00448 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__POCC__)
00449 #elif defined(__llvm__) && defined(__GNUC__) && defined(__VERSION__)
00450 #  define LZO_CC_LLVM           1
00451 #  define LZO_INFO_CC           "llvm-gcc"
00452 #  define LZO_INFO_CCVER        __VERSION__
00453 #elif defined(__GNUC__) && defined(__VERSION__)
00454 #  if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
00455 #    define LZO_CC_GNUC         (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
00456 #  elif defined(__GNUC_MINOR__)
00457 #    define LZO_CC_GNUC         (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
00458 #  else
00459 #    define LZO_CC_GNUC         (__GNUC__ * 0x10000L)
00460 #  endif
00461 #  define LZO_INFO_CC           "gcc"
00462 #  define LZO_INFO_CCVER        __VERSION__
00463 #elif defined(__AZTEC_C__)
00464 #  define LZO_CC_AZTECC         1
00465 #  define LZO_INFO_CC           "Aztec C"
00466 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__AZTEC_C__)
00467 #elif defined(__BORLANDC__)
00468 #  define LZO_CC_BORLANDC       1
00469 #  define LZO_INFO_CC           "Borland C"
00470 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__BORLANDC__)
00471 #elif defined(__DMC__) && defined(__SC__)
00472 #  define LZO_CC_DMC            1
00473 #  define LZO_INFO_CC           "Digital Mars C"
00474 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__DMC__)
00475 #elif defined(__DECC)
00476 #  define LZO_CC_DECC           1
00477 #  define LZO_INFO_CC           "DEC C"
00478 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__DECC)
00479 #elif defined(__HIGHC__)
00480 #  define LZO_CC_HIGHC          1
00481 #  define LZO_INFO_CC           "MetaWare High C"
00482 #  define LZO_INFO_CCVER        "unknown"
00483 #elif defined(__IBMC__)
00484 #  define LZO_CC_IBMC           1
00485 #  define LZO_INFO_CC           "IBM C"
00486 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__IBMC__)
00487 #elif defined(__KEIL__) && defined(__C166__)
00488 #  define LZO_CC_KEILC          1
00489 #  define LZO_INFO_CC           "Keil C"
00490 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__C166__)
00491 #elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
00492 #  define LZO_CC_LCCWIN32       1
00493 #  define LZO_INFO_CC           "lcc-win32"
00494 #  define LZO_INFO_CCVER        "unknown"
00495 #elif defined(__LCC__)
00496 #  define LZO_CC_LCC            1
00497 #  define LZO_INFO_CC           "lcc"
00498 #  if defined(__LCC_VERSION__)
00499 #    define LZO_INFO_CCVER      LZO_CPP_MACRO_EXPAND(__LCC_VERSION__)
00500 #  else
00501 #    define LZO_INFO_CCVER      "unknown"
00502 #  endif
00503 #elif defined(_MSC_VER)
00504 #  define LZO_CC_MSC            1
00505 #  define LZO_INFO_CC           "Microsoft C"
00506 #  if defined(_MSC_FULL_VER)
00507 #    define LZO_INFO_CCVER      LZO_CPP_MACRO_EXPAND(_MSC_VER) "." LZO_CPP_MACRO_EXPAND(_MSC_FULL_VER)
00508 #  else
00509 #    define LZO_INFO_CCVER      LZO_CPP_MACRO_EXPAND(_MSC_VER)
00510 #  endif
00511 #elif defined(__MWERKS__)
00512 #  define LZO_CC_MWERKS         1
00513 #  define LZO_INFO_CC           "Metrowerks C"
00514 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__MWERKS__)
00515 #elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
00516 #  define LZO_CC_NDPC           1
00517 #  define LZO_INFO_CC           "Microway NDP C"
00518 #  define LZO_INFO_CCVER        "unknown"
00519 #elif defined(__PACIFIC__)
00520 #  define LZO_CC_PACIFICC       1
00521 #  define LZO_INFO_CC           "Pacific C"
00522 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__PACIFIC__)
00523 #elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
00524 #  define LZO_CC_PGI            1
00525 #  define LZO_INFO_CC           "Portland Group PGI C"
00526 #  define LZO_INFO_CCVER        "unknown"
00527 #elif defined(__PUREC__) && defined(__TOS__)
00528 #  define LZO_CC_PUREC          1
00529 #  define LZO_INFO_CC           "Pure C"
00530 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__PUREC__)
00531 #elif defined(__SC__) && defined(__ZTC__)
00532 #  define LZO_CC_SYMANTECC      1
00533 #  define LZO_INFO_CC           "Symantec C"
00534 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__SC__)
00535 #elif defined(__SUNPRO_C)
00536 #  define LZO_CC_SUNPROC        1
00537 #  define LZO_INFO_CC           "Sun C"
00538 #  define LZO_INFO_CCVER        "unknown"
00539 #elif defined(__TINYC__)
00540 #  define LZO_CC_TINYC          1
00541 #  define LZO_INFO_CC           "Tiny C"
00542 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__TINYC__)
00543 #elif defined(__TSC__)
00544 #  define LZO_CC_TOPSPEEDC      1
00545 #  define LZO_INFO_CC           "TopSpeed C"
00546 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__TSC__)
00547 #elif defined(__WATCOMC__)
00548 #  define LZO_CC_WATCOMC        1
00549 #  define LZO_INFO_CC           "Watcom C"
00550 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__WATCOMC__)
00551 #elif defined(__TURBOC__)
00552 #  define LZO_CC_TURBOC         1
00553 #  define LZO_INFO_CC           "Turbo C"
00554 #  define LZO_INFO_CCVER        LZO_CPP_MACRO_EXPAND(__TURBOC__)
00555 #elif defined(__ZTC__)
00556 #  define LZO_CC_ZORTECHC       1
00557 #  define LZO_INFO_CC           "Zortech C"
00558 #  if (__ZTC__ == 0x310)
00559 #    define LZO_INFO_CCVER      "0x310"
00560 #  else
00561 #    define LZO_INFO_CCVER      LZO_CPP_MACRO_EXPAND(__ZTC__)
00562 #  endif
00563 #else
00564 #  define LZO_CC_UNKNOWN        1
00565 #  define LZO_INFO_CC           "unknown"
00566 #  define LZO_INFO_CCVER        "unknown"
00567 #endif
00568 #if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
00569 #  error "LZO_CC_MSC: _MSC_FULL_VER is not defined"
00570 #endif
00571 #if !defined(__LZO_ARCH_OVERRIDE)
00572 #if defined(LZO_ARCH_GENERIC)
00573 #  define LZO_INFO_ARCH             "generic"
00574 #elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
00575 #  define LZO_ARCH_I086             1
00576 #  define LZO_ARCH_IA16             1
00577 #  define LZO_INFO_ARCH             "i086"
00578 #elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
00579 #  define LZO_ARCH_ALPHA            1
00580 #  define LZO_INFO_ARCH             "alpha"
00581 #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
00582 #  define LZO_ARCH_AMD64            1
00583 #  define LZO_INFO_ARCH             "amd64"
00584 #elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB))
00585 #  define LZO_ARCH_ARM              1
00586 #  define LZO_ARCH_ARM_THUMB        1
00587 #  define LZO_INFO_ARCH             "arm_thumb"
00588 #elif defined(__arm__) || defined(_M_ARM)
00589 #  define LZO_ARCH_ARM              1
00590 #  define LZO_INFO_ARCH             "arm"
00591 #elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__)
00592 #  define LZO_ARCH_AVR              1
00593 #  define LZO_INFO_ARCH             "avr"
00594 #elif defined(__bfin__)
00595 #  define LZO_ARCH_BLACKFIN         1
00596 #  define LZO_INFO_ARCH             "blackfin"
00597 #elif (UINT_MAX == LZO_0xffffL) && defined(__C166__)
00598 #  define LZO_ARCH_C166             1
00599 #  define LZO_INFO_ARCH             "c166"
00600 #elif defined(__cris__)
00601 #  define LZO_ARCH_CRIS             1
00602 #  define LZO_INFO_ARCH             "cris"
00603 #elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
00604 #  define LZO_ARCH_H8300            1
00605 #  define LZO_INFO_ARCH             "h8300"
00606 #elif defined(__hppa__) || defined(__hppa)
00607 #  define LZO_ARCH_HPPA             1
00608 #  define LZO_INFO_ARCH             "hppa"
00609 #elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386)
00610 #  define LZO_ARCH_I386             1
00611 #  define LZO_ARCH_IA32             1
00612 #  define LZO_INFO_ARCH             "i386"
00613 #elif (LZO_CC_ZORTECHC && defined(__I86__))
00614 #  define LZO_ARCH_I386             1
00615 #  define LZO_ARCH_IA32             1
00616 #  define LZO_INFO_ARCH             "i386"
00617 #elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386)
00618 #  define LZO_ARCH_I386             1
00619 #  define LZO_ARCH_IA32             1
00620 #  define LZO_INFO_ARCH             "i386"
00621 #elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64)
00622 #  define LZO_ARCH_IA64             1
00623 #  define LZO_INFO_ARCH             "ia64"
00624 #elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__)
00625 #  define LZO_ARCH_M16C             1
00626 #  define LZO_INFO_ARCH             "m16c"
00627 #elif defined(__m32r__)
00628 #  define LZO_ARCH_M32R             1
00629 #  define LZO_INFO_ARCH             "m32r"
00630 #elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(_M_M68K)
00631 #  define LZO_ARCH_M68K             1
00632 #  define LZO_INFO_ARCH             "m68k"
00633 #elif (UINT_MAX == LZO_0xffffL) && defined(__C251__)
00634 #  define LZO_ARCH_MCS251           1
00635 #  define LZO_INFO_ARCH             "mcs251"
00636 #elif (UINT_MAX == LZO_0xffffL) && defined(__C51__)
00637 #  define LZO_ARCH_MCS51            1
00638 #  define LZO_INFO_ARCH             "mcs51"
00639 #elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000)
00640 #  define LZO_ARCH_MIPS             1
00641 #  define LZO_INFO_ARCH             "mips"
00642 #elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__)
00643 #  define LZO_ARCH_MSP430           1
00644 #  define LZO_INFO_ARCH             "msp430"
00645 #elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC)
00646 #  define LZO_ARCH_POWERPC          1
00647 #  define LZO_INFO_ARCH             "powerpc"
00648 #elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
00649 #  define LZO_ARCH_S390             1
00650 #  define LZO_INFO_ARCH             "s390"
00651 #elif defined(__sh__) || defined(_M_SH)
00652 #  define LZO_ARCH_SH               1
00653 #  define LZO_INFO_ARCH             "sh"
00654 #elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
00655 #  define LZO_ARCH_SPARC            1
00656 #  define LZO_INFO_ARCH             "sparc"
00657 #elif (UINT_MAX == LZO_0xffffL) && defined(__z80)
00658 #  define LZO_ARCH_Z80              1
00659 #  define LZO_INFO_ARCH             "z80"
00660 #else
00661 #  define LZO_ARCH_UNKNOWN          1
00662 #  define LZO_INFO_ARCH             "unknown"
00663 #endif
00664 #endif
00665 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2)
00666 #  error "FIXME - missing define for CPU architecture"
00667 #endif
00668 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32)
00669 #  error "FIXME - missing WIN32 define for CPU architecture"
00670 #endif
00671 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64)
00672 #  error "FIXME - missing WIN64 define for CPU architecture"
00673 #endif
00674 #if (LZO_OS_OS216 || LZO_OS_WIN16)
00675 #  define LZO_ARCH_I086PM           1
00676 #  define LZO_ARCH_IA16PM           1
00677 #elif 1 && (LZO_OS_DOS16 && defined(BLX286))
00678 #  define LZO_ARCH_I086PM           1
00679 #  define LZO_ARCH_IA16PM           1
00680 #elif 1 && (LZO_OS_DOS16 && defined(DOSX286))
00681 #  define LZO_ARCH_I086PM           1
00682 #  define LZO_ARCH_IA16PM           1
00683 #elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__))
00684 #  define LZO_ARCH_I086PM           1
00685 #  define LZO_ARCH_IA16PM           1
00686 #endif
00687 #if defined(LZO_ARCH_ARM_THUMB) && !defined(LZO_ARCH_ARM)
00688 #  error "this should not happen"
00689 #endif
00690 #if defined(LZO_ARCH_I086PM) && !defined(LZO_ARCH_I086)
00691 #  error "this should not happen"
00692 #endif
00693 #if (LZO_ARCH_I086)
00694 #  if (UINT_MAX != LZO_0xffffL)
00695 #    error "this should not happen"
00696 #  endif
00697 #  if (ULONG_MAX != LZO_0xffffffffL)
00698 #    error "this should not happen"
00699 #  endif
00700 #endif
00701 #if (LZO_ARCH_I386)
00702 #  if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__)
00703 #    error "this should not happen"
00704 #  endif
00705 #  if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__)
00706 #    error "this should not happen"
00707 #  endif
00708 #  if (ULONG_MAX != LZO_0xffffffffL)
00709 #    error "this should not happen"
00710 #  endif
00711 #endif
00712 #if !defined(__LZO_MM_OVERRIDE)
00713 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
00714 #if (UINT_MAX != LZO_0xffffL)
00715 #  error "this should not happen"
00716 #endif
00717 #if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
00718 #  define LZO_MM_TINY           1
00719 #elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM)
00720 #  define LZO_MM_HUGE           1
00721 #elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL)
00722 #  define LZO_MM_SMALL          1
00723 #elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM)
00724 #  define LZO_MM_MEDIUM         1
00725 #elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM)
00726 #  define LZO_MM_COMPACT        1
00727 #elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL)
00728 #  define LZO_MM_LARGE          1
00729 #elif (LZO_CC_AZTECC)
00730 #  if defined(_LARGE_CODE) && defined(_LARGE_DATA)
00731 #    define LZO_MM_LARGE        1
00732 #  elif defined(_LARGE_CODE)
00733 #    define LZO_MM_MEDIUM       1
00734 #  elif defined(_LARGE_DATA)
00735 #    define LZO_MM_COMPACT      1
00736 #  else
00737 #    define LZO_MM_SMALL        1
00738 #  endif
00739 #elif (LZO_CC_ZORTECHC && defined(__VCM__))
00740 #  define LZO_MM_LARGE          1
00741 #else
00742 #  error "unknown memory model"
00743 #endif
00744 #define LZO_HAVE_MM_HUGE_PTR        1
00745 #define LZO_HAVE_MM_HUGE_ARRAY      1
00746 #if (LZO_MM_TINY)
00747 #  undef LZO_HAVE_MM_HUGE_ARRAY
00748 #endif
00749 #if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC)
00750 #  undef LZO_HAVE_MM_HUGE_PTR
00751 #  undef LZO_HAVE_MM_HUGE_ARRAY
00752 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
00753 #  undef LZO_HAVE_MM_HUGE_ARRAY
00754 #elif (LZO_CC_MSC && defined(_QC))
00755 #  undef LZO_HAVE_MM_HUGE_ARRAY
00756 #  if (_MSC_VER < 600)
00757 #    undef LZO_HAVE_MM_HUGE_PTR
00758 #  endif
00759 #elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295))
00760 #  undef LZO_HAVE_MM_HUGE_ARRAY
00761 #endif
00762 #if (LZO_ARCH_I086PM) && !defined(LZO_HAVE_MM_HUGE_PTR)
00763 #  if (LZO_OS_DOS16)
00764 #    error "this should not happen"
00765 #  elif (LZO_CC_ZORTECHC)
00766 #  else
00767 #    error "this should not happen"
00768 #  endif
00769 #endif
00770 #ifdef __cplusplus
00771 extern "C" {
00772 #endif
00773 #if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
00774    extern void __near __cdecl _AHSHIFT(void);
00775 #  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
00776 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
00777    extern void __near __cdecl _AHSHIFT(void);
00778 #  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
00779 #elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC)
00780    extern void __near __cdecl _AHSHIFT(void);
00781 #  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
00782 #elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295))
00783    extern void __near __cdecl _AHSHIFT(void);
00784 #  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
00785 #elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16)
00786 #  define LZO_MM_AHSHIFT      12
00787 #elif (LZO_CC_WATCOMC)
00788    extern unsigned char _HShift;
00789 #  define LZO_MM_AHSHIFT      ((unsigned) _HShift)
00790 #else
00791 #  error "FIXME - implement LZO_MM_AHSHIFT"
00792 #endif
00793 #ifdef __cplusplus
00794 }
00795 #endif
00796 #elif (LZO_ARCH_C166)
00797 #if !defined(__MODEL__)
00798 #  error "FIXME - C166 __MODEL__"
00799 #elif ((__MODEL__) == 0)
00800 #  define LZO_MM_SMALL          1
00801 #elif ((__MODEL__) == 1)
00802 #  define LZO_MM_SMALL          1
00803 #elif ((__MODEL__) == 2)
00804 #  define LZO_MM_LARGE          1
00805 #elif ((__MODEL__) == 3)
00806 #  define LZO_MM_TINY           1
00807 #elif ((__MODEL__) == 4)
00808 #  define LZO_MM_XTINY          1
00809 #elif ((__MODEL__) == 5)
00810 #  define LZO_MM_XSMALL         1
00811 #else
00812 #  error "FIXME - C166 __MODEL__"
00813 #endif
00814 #elif (LZO_ARCH_MCS251)
00815 #if !defined(__MODEL__)
00816 #  error "FIXME - MCS251 __MODEL__"
00817 #elif ((__MODEL__) == 0)
00818 #  define LZO_MM_SMALL          1
00819 #elif ((__MODEL__) == 2)
00820 #  define LZO_MM_LARGE          1
00821 #elif ((__MODEL__) == 3)
00822 #  define LZO_MM_TINY           1
00823 #elif ((__MODEL__) == 4)
00824 #  define LZO_MM_XTINY          1
00825 #elif ((__MODEL__) == 5)
00826 #  define LZO_MM_XSMALL         1
00827 #else
00828 #  error "FIXME - MCS251 __MODEL__"
00829 #endif
00830 #elif (LZO_ARCH_MCS51)
00831 #if !defined(__MODEL__)
00832 #  error "FIXME - MCS51 __MODEL__"
00833 #elif ((__MODEL__) == 1)
00834 #  define LZO_MM_SMALL          1
00835 #elif ((__MODEL__) == 2)
00836 #  define LZO_MM_LARGE          1
00837 #elif ((__MODEL__) == 3)
00838 #  define LZO_MM_TINY           1
00839 #elif ((__MODEL__) == 4)
00840 #  define LZO_MM_XTINY          1
00841 #elif ((__MODEL__) == 5)
00842 #  define LZO_MM_XSMALL         1
00843 #else
00844 #  error "FIXME - MCS51 __MODEL__"
00845 #endif
00846 #else
00847 #  define LZO_MM_FLAT           1
00848 #endif
00849 #if (LZO_MM_FLAT)
00850 #  define LZO_INFO_MM           "flat"
00851 #elif (LZO_MM_TINY)
00852 #  define LZO_INFO_MM           "tiny"
00853 #elif (LZO_MM_SMALL)
00854 #  define LZO_INFO_MM           "small"
00855 #elif (LZO_MM_MEDIUM)
00856 #  define LZO_INFO_MM           "medium"
00857 #elif (LZO_MM_COMPACT)
00858 #  define LZO_INFO_MM           "compact"
00859 #elif (LZO_MM_LARGE)
00860 #  define LZO_INFO_MM           "large"
00861 #elif (LZO_MM_HUGE)
00862 #  define LZO_INFO_MM           "huge"
00863 #else
00864 #  error "unknown memory model"
00865 #endif
00866 #endif
00867 #if defined(SIZEOF_SHORT)
00868 #  define LZO_SIZEOF_SHORT          (SIZEOF_SHORT)
00869 #endif
00870 #if defined(SIZEOF_INT)
00871 #  define LZO_SIZEOF_INT            (SIZEOF_INT)
00872 #endif
00873 #if defined(SIZEOF_LONG)
00874 #  define LZO_SIZEOF_LONG           (SIZEOF_LONG)
00875 #endif
00876 #if defined(SIZEOF_LONG_LONG)
00877 #  define LZO_SIZEOF_LONG_LONG      (SIZEOF_LONG_LONG)
00878 #endif
00879 #if defined(SIZEOF___INT16)
00880 #  define LZO_SIZEOF___INT16        (SIZEOF___INT16)
00881 #endif
00882 #if defined(SIZEOF___INT32)
00883 #  define LZO_SIZEOF___INT32        (SIZEOF___INT32)
00884 #endif
00885 #if defined(SIZEOF___INT64)
00886 #  define LZO_SIZEOF___INT64        (SIZEOF___INT64)
00887 #endif
00888 #if defined(SIZEOF_VOID_P)
00889 #  define LZO_SIZEOF_VOID_P         (SIZEOF_VOID_P)
00890 #endif
00891 #if defined(SIZEOF_SIZE_T)
00892 #  define LZO_SIZEOF_SIZE_T         (SIZEOF_SIZE_T)
00893 #endif
00894 #if defined(SIZEOF_PTRDIFF_T)
00895 #  define LZO_SIZEOF_PTRDIFF_T      (SIZEOF_PTRDIFF_T)
00896 #endif
00897 #define __LZO_LSR(x,b)    (((x)+0ul) >> (b))
00898 #if !defined(LZO_SIZEOF_SHORT)
00899 #  if (USHRT_MAX == LZO_0xffffL)
00900 #    define LZO_SIZEOF_SHORT        2
00901 #  elif (__LZO_LSR(USHRT_MAX,7) == 1)
00902 #    define LZO_SIZEOF_SHORT        1
00903 #  elif (__LZO_LSR(USHRT_MAX,15) == 1)
00904 #    define LZO_SIZEOF_SHORT        2
00905 #  elif (__LZO_LSR(USHRT_MAX,31) == 1)
00906 #    define LZO_SIZEOF_SHORT        4
00907 #  elif (__LZO_LSR(USHRT_MAX,63) == 1)
00908 #    define LZO_SIZEOF_SHORT        8
00909 #  elif (__LZO_LSR(USHRT_MAX,127) == 1)
00910 #    define LZO_SIZEOF_SHORT        16
00911 #  else
00912 #    error "LZO_SIZEOF_SHORT"
00913 #  endif
00914 #endif
00915 #if !defined(LZO_SIZEOF_INT)
00916 #  if (UINT_MAX == LZO_0xffffL)
00917 #    define LZO_SIZEOF_INT          2
00918 #  elif (UINT_MAX == LZO_0xffffffffL)
00919 #    define LZO_SIZEOF_INT          4
00920 #  elif (__LZO_LSR(UINT_MAX,7) == 1)
00921 #    define LZO_SIZEOF_INT          1
00922 #  elif (__LZO_LSR(UINT_MAX,15) == 1)
00923 #    define LZO_SIZEOF_INT          2
00924 #  elif (__LZO_LSR(UINT_MAX,31) == 1)
00925 #    define LZO_SIZEOF_INT          4
00926 #  elif (__LZO_LSR(UINT_MAX,63) == 1)
00927 #    define LZO_SIZEOF_INT          8
00928 #  elif (__LZO_LSR(UINT_MAX,127) == 1)
00929 #    define LZO_SIZEOF_INT          16
00930 #  else
00931 #    error "LZO_SIZEOF_INT"
00932 #  endif
00933 #endif
00934 #if !defined(LZO_SIZEOF_LONG)
00935 #  if (ULONG_MAX == LZO_0xffffffffL)
00936 #    define LZO_SIZEOF_LONG         4
00937 #  elif (__LZO_LSR(ULONG_MAX,7) == 1)
00938 #    define LZO_SIZEOF_LONG         1
00939 #  elif (__LZO_LSR(ULONG_MAX,15) == 1)
00940 #    define LZO_SIZEOF_LONG         2
00941 #  elif (__LZO_LSR(ULONG_MAX,31) == 1)
00942 #    define LZO_SIZEOF_LONG         4
00943 #  elif (__LZO_LSR(ULONG_MAX,63) == 1)
00944 #    define LZO_SIZEOF_LONG         8
00945 #  elif (__LZO_LSR(ULONG_MAX,127) == 1)
00946 #    define LZO_SIZEOF_LONG         16
00947 #  else
00948 #    error "LZO_SIZEOF_LONG"
00949 #  endif
00950 #endif
00951 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
00952 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
00953 #  if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
00954 #    if (LZO_CC_GNUC >= 0x030300ul)
00955 #      if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0)
00956 #        define LZO_SIZEOF_LONG_LONG      LZO_SIZEOF_LONG
00957 #      endif
00958 #    endif
00959 #  endif
00960 #endif
00961 #endif
00962 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
00963 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
00964 #if (LZO_ARCH_I086 && LZO_CC_DMC)
00965 #elif (LZO_CC_CILLY) && defined(__GNUC__)
00966 #  define LZO_SIZEOF_LONG_LONG      8
00967 #elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
00968 #  define LZO_SIZEOF_LONG_LONG      8
00969 #elif ((LZO_OS_WIN32 || LZO_OS_WIN64) && LZO_CC_MSC && (_MSC_VER >= 1400))
00970 #  define LZO_SIZEOF_LONG_LONG      8
00971 #elif (LZO_OS_WIN64)
00972 #  define LZO_SIZEOF___INT64        8
00973 #elif (LZO_ARCH_I386 && (LZO_CC_DMC))
00974 #  define LZO_SIZEOF_LONG_LONG      8
00975 #elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700)))
00976 #  define LZO_SIZEOF_LONG_LONG      8
00977 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
00978 #  define LZO_SIZEOF_LONG_LONG      8
00979 #elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI))
00980 #  define LZO_SIZEOF_LONG_LONG      8
00981 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
00982 #  define LZO_SIZEOF___INT64        8
00983 #elif (LZO_OS_WIN32 && (LZO_CC_MSC))
00984 #  define LZO_SIZEOF___INT64        8
00985 #elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
00986 #  define LZO_SIZEOF___INT64        8
00987 #elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100)))
00988 #  define LZO_SIZEOF___INT64        8
00989 #elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
00990 #  define LZO_SIZEOF___INT64        8
00991 #elif (LZO_OS_OS400) && defined(__LLP64_IFC__)
00992 #  define LZO_SIZEOF_LONG_LONG      8
00993 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
00994 #  define LZO_SIZEOF_LONG_LONG      8
00995 #elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2)
00996 #elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
00997 #  define LZO_SIZEOF_LONG_LONG      8
00998 #endif
00999 #endif
01000 #endif
01001 #if defined(__cplusplus) && defined(LZO_CC_GNUC)
01002 #  if (LZO_CC_GNUC < 0x020800ul)
01003 #    undef LZO_SIZEOF_LONG_LONG
01004 #  endif
01005 #endif
01006 #if defined(LZO_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG)
01007 #  undef LZO_SIZEOF_LONG_LONG
01008 #endif
01009 #if !defined(LZO_SIZEOF_VOID_P)
01010 #if (LZO_ARCH_I086)
01011 #  define __LZO_WORDSIZE            2
01012 #  if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
01013 #    define LZO_SIZEOF_VOID_P       2
01014 #  elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
01015 #    define LZO_SIZEOF_VOID_P       4
01016 #  else
01017 #    error "LZO_MM"
01018 #  endif
01019 #elif (LZO_ARCH_AVR || LZO_ARCH_Z80)
01020 #  define __LZO_WORDSIZE            1
01021 #  define LZO_SIZEOF_VOID_P         2
01022 #elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
01023 #  define LZO_SIZEOF_VOID_P         2
01024 #elif (LZO_ARCH_H8300)
01025 #  if defined(__NORMAL_MODE__)
01026 #    define __LZO_WORDSIZE          4
01027 #    define LZO_SIZEOF_VOID_P       2
01028 #  elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
01029 #    define __LZO_WORDSIZE          4
01030 #    define LZO_SIZEOF_VOID_P       4
01031 #  else
01032 #    define __LZO_WORDSIZE          2
01033 #    define LZO_SIZEOF_VOID_P       2
01034 #  endif
01035 #  if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
01036 #    define LZO_SIZEOF_SIZE_T       LZO_SIZEOF_INT
01037 #    define LZO_SIZEOF_PTRDIFF_T    LZO_SIZEOF_INT
01038 #  endif
01039 #elif (LZO_ARCH_M16C)
01040 #  define __LZO_WORDSIZE            2
01041 #  if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
01042 #    define LZO_SIZEOF_VOID_P       4
01043 #  else
01044 #    define LZO_SIZEOF_VOID_P       2
01045 #  endif
01046 #elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
01047 #  define __LZO_WORDSIZE            8
01048 #  define LZO_SIZEOF_VOID_P         4
01049 #elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
01050 #  define __LZO_WORDSIZE            8
01051 #  define LZO_SIZEOF_VOID_P         8
01052 #elif (LZO_OS_OS400) && defined(__LLP64_IFC__)
01053 #  define LZO_SIZEOF_VOID_P         LZO_SIZEOF_LONG
01054 #  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_LONG
01055 #  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_LONG
01056 #elif (LZO_OS_OS400)
01057 #  define __LZO_WORDSIZE            LZO_SIZEOF_LONG
01058 #  define LZO_SIZEOF_VOID_P         16
01059 #  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_LONG
01060 #  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_LONG
01061 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
01062 #  define LZO_SIZEOF_VOID_P         8
01063 #  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_LONG
01064 #  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_LONG
01065 #else
01066 #  define LZO_SIZEOF_VOID_P         LZO_SIZEOF_LONG
01067 #endif
01068 #endif
01069 #if !defined(LZO_WORDSIZE)
01070 #  if defined(__LZO_WORDSIZE)
01071 #    define LZO_WORDSIZE            __LZO_WORDSIZE
01072 #  else
01073 #    define LZO_WORDSIZE            LZO_SIZEOF_VOID_P
01074 #  endif
01075 #endif
01076 #if !defined(LZO_SIZEOF_SIZE_T)
01077 #if (LZO_ARCH_I086 || LZO_ARCH_M16C)
01078 #  define LZO_SIZEOF_SIZE_T         2
01079 #else
01080 #  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_VOID_P
01081 #endif
01082 #endif
01083 #if !defined(LZO_SIZEOF_PTRDIFF_T)
01084 #if (LZO_ARCH_I086)
01085 #  if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE)
01086 #    define LZO_SIZEOF_PTRDIFF_T    LZO_SIZEOF_VOID_P
01087 #  elif (LZO_MM_COMPACT || LZO_MM_LARGE)
01088 #    if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
01089 #      define LZO_SIZEOF_PTRDIFF_T  4
01090 #    else
01091 #      define LZO_SIZEOF_PTRDIFF_T  2
01092 #    endif
01093 #  else
01094 #    error "LZO_MM"
01095 #  endif
01096 #else
01097 #  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_SIZE_T
01098 #endif
01099 #endif
01100 #if !defined(LZO_ABI_BIG_ENDIAN) && !defined(LZO_ABI_LITTLE_ENDIAN) && !defined(LZO_ABI_NEUTRAL_ENDIAN)
01101 #if (LZO_ARCH_AMD64 || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
01102 #  define LZO_ABI_LITTLE_ENDIAN     1
01103 #elif (LZO_ARCH_M68K || LZO_ARCH_S390)
01104 #  define LZO_ABI_BIG_ENDIAN        1
01105 #elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
01106 #  define LZO_ABI_BIG_ENDIAN        1
01107 #elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
01108 #  define LZO_ABI_LITTLE_ENDIAN     1
01109 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
01110 #  define LZO_ABI_BIG_ENDIAN        1
01111 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
01112 #  define LZO_ABI_LITTLE_ENDIAN     1
01113 #endif
01114 #endif
01115 #if defined(LZO_ABI_BIG_ENDIAN) && defined(LZO_ABI_LITTLE_ENDIAN)
01116 #  error "this should not happen"
01117 #endif
01118 #if defined(LZO_ABI_BIG_ENDIAN)
01119 #  define LZO_INFO_ABI_ENDIAN       "be"
01120 #elif defined(LZO_ABI_LITTLE_ENDIAN)
01121 #  define LZO_INFO_ABI_ENDIAN       "le"
01122 #elif defined(LZO_ABI_NEUTRAL_ENDIAN)
01123 #  define LZO_INFO_ABI_ENDIAN       "neutral"
01124 #endif
01125 #if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
01126 #  define LZO_ABI_I8LP16         1
01127 #  define LZO_INFO_ABI_PM       "i8lp16"
01128 #elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
01129 #  define LZO_ABI_ILP16         1
01130 #  define LZO_INFO_ABI_PM       "ilp16"
01131 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
01132 #  define LZO_ABI_ILP32         1
01133 #  define LZO_INFO_ABI_PM       "ilp32"
01134 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8)
01135 #  define LZO_ABI_LLP64         1
01136 #  define LZO_INFO_ABI_PM       "llp64"
01137 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
01138 #  define LZO_ABI_LP64          1
01139 #  define LZO_INFO_ABI_PM       "lp64"
01140 #elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
01141 #  define LZO_ABI_ILP64         1
01142 #  define LZO_INFO_ABI_PM       "ilp64"
01143 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4)
01144 #  define LZO_ABI_IP32L64       1
01145 #  define LZO_INFO_ABI_PM       "ip32l64"
01146 #endif
01147 #if !defined(__LZO_LIBC_OVERRIDE)
01148 #if defined(LZO_LIBC_NAKED)
01149 #  define LZO_INFO_LIBC         "naked"
01150 #elif defined(LZO_LIBC_FREESTANDING)
01151 #  define LZO_INFO_LIBC         "freestanding"
01152 #elif defined(LZO_LIBC_MOSTLY_FREESTANDING)
01153 #  define LZO_INFO_LIBC         "mfreestanding"
01154 #elif defined(LZO_LIBC_ISOC90)
01155 #  define LZO_INFO_LIBC         "isoc90"
01156 #elif defined(LZO_LIBC_ISOC99)
01157 #  define LZO_INFO_LIBC         "isoc99"
01158 #elif defined(__dietlibc__)
01159 #  define LZO_LIBC_DIETLIBC     1
01160 #  define LZO_INFO_LIBC         "dietlibc"
01161 #elif defined(_NEWLIB_VERSION)
01162 #  define LZO_LIBC_NEWLIB       1
01163 #  define LZO_INFO_LIBC         "newlib"
01164 #elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
01165 #  if defined(__UCLIBC_SUBLEVEL__)
01166 #    define LZO_LIBC_UCLIBC     (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__)
01167 #  else
01168 #    define LZO_LIBC_UCLIBC     0x00090bL
01169 #  endif
01170 #  define LZO_INFO_LIBC         "uclibc"
01171 #elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
01172 #  define LZO_LIBC_GLIBC        (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100)
01173 #  define LZO_INFO_LIBC         "glibc"
01174 #elif (LZO_CC_MWERKS) && defined(__MSL__)
01175 #  define LZO_LIBC_MSL          __MSL__
01176 #  define LZO_INFO_LIBC         "msl"
01177 #else
01178 #  define LZO_LIBC_DEFAULT      1
01179 #  define LZO_INFO_LIBC         "default"
01180 #endif
01181 #endif
01182 #if (LZO_CC_GNUC >= 0x020800ul)
01183 #  define __lzo_gnuc_extension__ __extension__
01184 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01185 #  define __lzo_gnuc_extension__ __extension__
01186 #else
01187 #  define __lzo_gnuc_extension__
01188 #endif
01189 #if (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
01190 #  define lzo_alignof(e)        __alignof__(e)
01191 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
01192 #  define lzo_alignof(e)        __alignof__(e)
01193 #elif (LZO_CC_MSC && (_MSC_VER >= 1300))
01194 #  define lzo_alignof(e)        __alignof(e)
01195 #endif
01196 #if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
01197 #elif defined(__cplusplus)
01198 #  define __lzo_inline          inline
01199 #elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
01200 #  define __lzo_inline          __inline
01201 #elif (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
01202 #  define __lzo_inline          __inline__
01203 #elif (LZO_CC_DMC)
01204 #  define __lzo_inline          __inline
01205 #elif (LZO_CC_INTELC)
01206 #  define __lzo_inline          __inline
01207 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405))
01208 #  define __lzo_inline          __inline
01209 #elif (LZO_CC_MSC && (_MSC_VER >= 900))
01210 #  define __lzo_inline          __inline
01211 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
01212 #  define __lzo_inline          inline
01213 #endif
01214 #if (LZO_CC_GNUC >= 0x030200ul)
01215 #  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
01216 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && (LZO_OS_WIN32 || LZO_OS_WIN64))
01217 #  define __lzo_forceinline     __forceinline
01218 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
01219 #  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
01220 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01221 #  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
01222 #elif (LZO_CC_MSC && (_MSC_VER >= 1200))
01223 #  define __lzo_forceinline     __forceinline
01224 #endif
01225 #if (LZO_CC_GNUC >= 0x030200ul)
01226 #  define __lzo_noinline        __attribute__((__noinline__))
01227 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && (LZO_OS_WIN32 || LZO_OS_WIN64))
01228 #  define __lzo_noinline        __declspec(noinline)
01229 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
01230 #  define __lzo_noinline        __attribute__((__noinline__))
01231 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01232 #  define __lzo_noinline        __attribute__((__noinline__))
01233 #elif (LZO_CC_MSC && (_MSC_VER >= 1300))
01234 #  define __lzo_noinline        __declspec(noinline)
01235 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64))
01236 #  if defined(__cplusplus)
01237 #  else
01238 #    define __lzo_noinline      __declspec(noinline)
01239 #  endif
01240 #endif
01241 #if (defined(__lzo_forceinline) || defined(__lzo_noinline)) && !defined(__lzo_inline)
01242 #  error "this should not happen"
01243 #endif
01244 #if (LZO_CC_GNUC >= 0x020700ul)
01245 #  define __lzo_noreturn        __attribute__((__noreturn__))
01246 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && (LZO_OS_WIN32 || LZO_OS_WIN64))
01247 #  define __lzo_noreturn        __declspec(noreturn)
01248 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && (LZO_OS_POSIX))
01249 #  define __lzo_noreturn        __attribute__((__noreturn__))
01250 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01251 #  define __lzo_noreturn        __attribute__((__noreturn__))
01252 #elif (LZO_CC_MSC && (_MSC_VER >= 1200))
01253 #  define __lzo_noreturn        __declspec(noreturn)
01254 #endif
01255 #if (LZO_CC_GNUC >= 0x030400ul)
01256 #  define __lzo_constructor     __attribute__((__constructor__,__used__))
01257 #elif (LZO_CC_GNUC >= 0x020700ul)
01258 #  define __lzo_constructor     __attribute__((__constructor__))
01259 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01260 #  define __lzo_constructor     __attribute__((__constructor__))
01261 #endif
01262 #if (LZO_CC_GNUC >= 0x030400ul)
01263 #  define __lzo_destructor      __attribute__((__destructor__,__used__))
01264 #elif (LZO_CC_GNUC >= 0x020700ul)
01265 #  define __lzo_destructor      __attribute__((__destructor__))
01266 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01267 #  define __lzo_destructor      __attribute__((__destructor__))
01268 #endif
01269 #if defined(__lzo_destructor) && !defined(__lzo_constructor)
01270 #  error "this should not happen"
01271 #endif
01272 #if (LZO_CC_GNUC >= 0x030200ul)
01273 #  define __lzo_likely(e)       (__builtin_expect(!!(e),1))
01274 #  define __lzo_unlikely(e)     (__builtin_expect(!!(e),0))
01275 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
01276 #  define __lzo_likely(e)       (__builtin_expect(!!(e),1))
01277 #  define __lzo_unlikely(e)     (__builtin_expect(!!(e),0))
01278 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
01279 #  define __lzo_likely(e)       (__builtin_expect(!!(e),1))
01280 #  define __lzo_unlikely(e)     (__builtin_expect(!!(e),0))
01281 #else
01282 #  define __lzo_likely(e)       (e)
01283 #  define __lzo_unlikely(e)     (e)
01284 #endif
01285 #if !defined(LZO_UNUSED)
01286 #  if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
01287 #    define LZO_UNUSED(var)         ((void) &var)
01288 #  elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC)
01289 #    define LZO_UNUSED(var)         if (&var) ; else
01290 #  elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
01291 #    define LZO_UNUSED(var)         ((void) var)
01292 #  elif (LZO_CC_MSC && (_MSC_VER < 900))
01293 #    define LZO_UNUSED(var)         if (&var) ; else
01294 #  elif (LZO_CC_KEILC)
01295 #    define LZO_UNUSED(var)         {extern int __lzo_unused[1-2*!(sizeof(var)>0)];}
01296 #  elif (LZO_CC_PACIFICC)
01297 #    define LZO_UNUSED(var)         ((void) sizeof(var))
01298 #  elif (LZO_CC_WATCOMC) && defined(__cplusplus)
01299 #    define LZO_UNUSED(var)         ((void) var)
01300 #  else
01301 #    define LZO_UNUSED(var)         ((void) &var)
01302 #  endif
01303 #endif
01304 #if !defined(LZO_UNUSED_FUNC)
01305 #  if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
01306 #    define LZO_UNUSED_FUNC(func)   ((void) func)
01307 #  elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
01308 #    define LZO_UNUSED_FUNC(func)   if (func) ; else
01309 #  elif (LZO_CC_LLVM)
01310 #    define LZO_UNUSED_FUNC(func)   ((void) &func)
01311 #  elif (LZO_CC_MSC && (_MSC_VER < 900))
01312 #    define LZO_UNUSED_FUNC(func)   if (func) ; else
01313 #  elif (LZO_CC_MSC)
01314 #    define LZO_UNUSED_FUNC(func)   ((void) &func)
01315 #  elif (LZO_CC_KEILC || LZO_CC_PELLESC)
01316 #    define LZO_UNUSED_FUNC(func)   {extern int __lzo_unused[1-2*!(sizeof((int)func)>0)];}
01317 #  else
01318 #    define LZO_UNUSED_FUNC(func)   ((void) func)
01319 #  endif
01320 #endif
01321 #if !defined(LZO_UNUSED_LABEL)
01322 #  if (LZO_CC_WATCOMC) && defined(__cplusplus)
01323 #    define LZO_UNUSED_LABEL(l)     switch(0) case 1:goto l
01324 #  elif (LZO_CC_INTELC || LZO_CC_WATCOMC)
01325 #    define LZO_UNUSED_LABEL(l)     if (0) goto l
01326 #  else
01327 #    define LZO_UNUSED_LABEL(l)     switch(0) case 1:goto l
01328 #  endif
01329 #endif
01330 #if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
01331 #  if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
01332 #    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1-!(e)];
01333 #  elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
01334 #    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1u-2*!(e)];
01335 #  elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
01336 #    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1-!(e)];
01337 #  else
01338 #    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1-2*!(e)];
01339 #  endif
01340 #endif
01341 #if !defined(LZO_COMPILE_TIME_ASSERT)
01342 #  if (LZO_CC_AZTECC)
01343 #    define LZO_COMPILE_TIME_ASSERT(e)  {typedef int __lzo_cta_t[1-!(e)];}
01344 #  elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
01345 #    define LZO_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
01346 #  elif (LZO_CC_MSC && (_MSC_VER < 900))
01347 #    define LZO_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
01348 #  elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
01349 #    define LZO_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
01350 #  else
01351 #    define LZO_COMPILE_TIME_ASSERT(e)  {typedef int __lzo_cta_t[1-2*!(e)];}
01352 #  endif
01353 #endif
01354 #if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
01355 #  if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
01356 #  elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
01357 #    define __lzo_cdecl                 __cdecl
01358 #    define __lzo_cdecl_atexit
01359 #    define __lzo_cdecl_main            __cdecl
01360 #    if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
01361 #      define __lzo_cdecl_qsort         __pascal
01362 #    elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
01363 #      define __lzo_cdecl_qsort         _stdcall
01364 #    else
01365 #      define __lzo_cdecl_qsort         __cdecl
01366 #    endif
01367 #  elif (LZO_CC_WATCOMC)
01368 #    define __lzo_cdecl                 __cdecl
01369 #  else
01370 #    define __lzo_cdecl                 __cdecl
01371 #    define __lzo_cdecl_atexit          __cdecl
01372 #    define __lzo_cdecl_main            __cdecl
01373 #    define __lzo_cdecl_qsort           __cdecl
01374 #  endif
01375 #  if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC)
01376 #  elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
01377 #    define __lzo_cdecl_sighandler      __pascal
01378 #  elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
01379 #    define __lzo_cdecl_sighandler      _stdcall
01380 #  elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
01381 #    define __lzo_cdecl_sighandler      __clrcall
01382 #  elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
01383 #    if defined(_DLL)
01384 #      define __lzo_cdecl_sighandler    _far _cdecl _loadds
01385 #    elif defined(_MT)
01386 #      define __lzo_cdecl_sighandler    _far _cdecl
01387 #    else
01388 #      define __lzo_cdecl_sighandler    _cdecl
01389 #    endif
01390 #  else
01391 #    define __lzo_cdecl_sighandler      __cdecl
01392 #  endif
01393 #elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
01394 #  define __lzo_cdecl                   cdecl
01395 #endif
01396 #if !defined(__lzo_cdecl)
01397 #  define __lzo_cdecl
01398 #endif
01399 #if !defined(__lzo_cdecl_atexit)
01400 #  define __lzo_cdecl_atexit
01401 #endif
01402 #if !defined(__lzo_cdecl_main)
01403 #  define __lzo_cdecl_main
01404 #endif
01405 #if !defined(__lzo_cdecl_qsort)
01406 #  define __lzo_cdecl_qsort
01407 #endif
01408 #if !defined(__lzo_cdecl_sighandler)
01409 #  define __lzo_cdecl_sighandler
01410 #endif
01411 #if !defined(__lzo_cdecl_va)
01412 #  define __lzo_cdecl_va                __lzo_cdecl
01413 #endif
01414 #if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
01415 #  if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
01416 #  elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
01417 #  elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul)))
01418 #  else
01419 #    define LZO_HAVE_WINDOWS_H 1
01420 #  endif
01421 #endif
01422 #if (LZO_ARCH_ALPHA)
01423 #  define LZO_OPT_AVOID_UINT_INDEX  1
01424 #  define LZO_OPT_AVOID_SHORT       1
01425 #  define LZO_OPT_AVOID_USHORT      1
01426 #elif (LZO_ARCH_AMD64)
01427 #  define LZO_OPT_AVOID_INT_INDEX   1
01428 #  define LZO_OPT_AVOID_UINT_INDEX  1
01429 #  define LZO_OPT_UNALIGNED16       1
01430 #  define LZO_OPT_UNALIGNED32       1
01431 #  define LZO_OPT_UNALIGNED64       1
01432 #elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB)
01433 #elif (LZO_ARCH_ARM)
01434 #  define LZO_OPT_AVOID_SHORT       1
01435 #  define LZO_OPT_AVOID_USHORT      1
01436 #elif (LZO_ARCH_CRIS)
01437 #  define LZO_OPT_UNALIGNED16       1
01438 #  define LZO_OPT_UNALIGNED32       1
01439 #elif (LZO_ARCH_I386)
01440 #  define LZO_OPT_UNALIGNED16       1
01441 #  define LZO_OPT_UNALIGNED32       1
01442 #elif (LZO_ARCH_IA64)
01443 #  define LZO_OPT_AVOID_INT_INDEX   1
01444 #  define LZO_OPT_AVOID_UINT_INDEX  1
01445 #  define LZO_OPT_PREFER_POSTINC    1
01446 #elif (LZO_ARCH_M68K)
01447 #  define LZO_OPT_PREFER_POSTINC    1
01448 #  define LZO_OPT_PREFER_PREDEC     1
01449 #  if defined(__mc68020__) && !defined(__mcoldfire__)
01450 #    define LZO_OPT_UNALIGNED16     1
01451 #    define LZO_OPT_UNALIGNED32     1
01452 #  endif
01453 #elif (LZO_ARCH_MIPS)
01454 #  define LZO_OPT_AVOID_UINT_INDEX  1
01455 #elif (LZO_ARCH_POWERPC)
01456 #  define LZO_OPT_PREFER_PREINC     1
01457 #  define LZO_OPT_PREFER_PREDEC     1
01458 #  if defined(LZO_ABI_BIG_ENDIAN)
01459 #    define LZO_OPT_UNALIGNED16     1
01460 #    define LZO_OPT_UNALIGNED32     1
01461 #  endif
01462 #elif (LZO_ARCH_S390)
01463 #  define LZO_OPT_UNALIGNED16       1
01464 #  define LZO_OPT_UNALIGNED32       1
01465 #  if (LZO_SIZEOF_SIZE_T == 8)
01466 #    define LZO_OPT_UNALIGNED64     1
01467 #  endif
01468 #elif (LZO_ARCH_SH)
01469 #  define LZO_OPT_PREFER_POSTINC    1
01470 #  define LZO_OPT_PREFER_PREDEC     1
01471 #endif
01472 #if !defined(LZO_CFG_NO_INLINE_ASM)
01473 #if defined(LZO_CC_LLVM)
01474 #  define LZO_CFG_NO_INLINE_ASM 1
01475 #endif
01476 #endif
01477 #if !defined(LZO_CFG_NO_UNALIGNED)
01478 #if defined(LZO_ABI_NEUTRAL_ENDIAN) || defined(LZO_ARCH_GENERIC)
01479 #  define LZO_CFG_NO_UNALIGNED 1
01480 #endif
01481 #endif
01482 #if defined(LZO_CFG_NO_UNALIGNED)
01483 #  undef LZO_OPT_UNALIGNED16
01484 #  undef LZO_OPT_UNALIGNED32
01485 #  undef LZO_OPT_UNALIGNED64
01486 #endif
01487 #if defined(LZO_CFG_NO_INLINE_ASM)
01488 #elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
01489 #  define LZO_ASM_SYNTAX_MSC 1
01490 #elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
01491 #elif (LZO_ARCH_I386 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
01492 #  define LZO_ASM_SYNTAX_GNUC 1
01493 #elif (LZO_ARCH_AMD64 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
01494 #  define LZO_ASM_SYNTAX_GNUC 1
01495 #endif
01496 #if (LZO_ASM_SYNTAX_GNUC)
01497 #if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
01498 #  define __LZO_ASM_CLOBBER         "ax"
01499 #elif (LZO_CC_INTELC)
01500 #  define __LZO_ASM_CLOBBER         "memory"
01501 #else
01502 #  define __LZO_ASM_CLOBBER         "cc", "memory"
01503 #endif
01504 #endif
01505 #if defined(__LZO_INFOSTR_MM)
01506 #elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM))
01507 #  define __LZO_INFOSTR_MM          ""
01508 #elif defined(LZO_INFO_MM)
01509 #  define __LZO_INFOSTR_MM          "." LZO_INFO_MM
01510 #else
01511 #  define __LZO_INFOSTR_MM          ""
01512 #endif
01513 #if defined(__LZO_INFOSTR_PM)
01514 #elif defined(LZO_INFO_ABI_PM)
01515 #  define __LZO_INFOSTR_PM          "." LZO_INFO_ABI_PM
01516 #else
01517 #  define __LZO_INFOSTR_PM          ""
01518 #endif
01519 #if defined(__LZO_INFOSTR_ENDIAN)
01520 #elif defined(LZO_INFO_ABI_ENDIAN)
01521 #  define __LZO_INFOSTR_ENDIAN      "." LZO_INFO_ABI_ENDIAN
01522 #else
01523 #  define __LZO_INFOSTR_ENDIAN      ""
01524 #endif
01525 #if defined(__LZO_INFOSTR_OSNAME)
01526 #elif defined(LZO_INFO_OS_CONSOLE)
01527 #  define __LZO_INFOSTR_OSNAME      LZO_INFO_OS "." LZO_INFO_OS_CONSOLE
01528 #elif defined(LZO_INFO_OS_POSIX)
01529 #  define __LZO_INFOSTR_OSNAME      LZO_INFO_OS "." LZO_INFO_OS_POSIX
01530 #else
01531 #  define __LZO_INFOSTR_OSNAME      LZO_INFO_OS
01532 #endif
01533 #if defined(__LZO_INFOSTR_LIBC)
01534 #elif defined(LZO_INFO_LIBC)
01535 #  define __LZO_INFOSTR_LIBC        "." LZO_INFO_LIBC
01536 #else
01537 #  define __LZO_INFOSTR_LIBC        ""
01538 #endif
01539 #if defined(__LZO_INFOSTR_CCVER)
01540 #elif defined(LZO_INFO_CCVER)
01541 #  define __LZO_INFOSTR_CCVER       " " LZO_INFO_CCVER
01542 #else
01543 #  define __LZO_INFOSTR_CCVER       ""
01544 #endif
01545 #define LZO_INFO_STRING \
01546     LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \
01547     " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER
01548 
01549 #endif /* already included */
01550 
01551 /* vim:set ts=4 et: */
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends