15d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* lzoconf.h -- configuration of the LZO data compression library
25d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
35d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   This file is part of the LZO real-time data compression library.
45d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
55d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
65d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
75d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
85d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
95d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
105d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
115d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
125d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
135d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
145d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
155d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
165d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
175d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
185d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
195d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
205d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
215d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   All Rights Reserved.
225d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
235d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   The LZO library is free software; you can redistribute it and/or
245d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   modify it under the terms of the GNU General Public License as
255d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   published by the Free Software Foundation; either version 2 of
265d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   the License, or (at your option) any later version.
275d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
285d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   The LZO library is distributed in the hope that it will be useful,
295d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   but WITHOUT ANY WARRANTY; without even the implied warranty of
305d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
315d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   GNU General Public License for more details.
325d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
335d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   You should have received a copy of the GNU General Public License
345d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   along with the LZO library; see the file COPYING.
355d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   If not, write to the Free Software Foundation, Inc.,
365d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
375d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
385d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   Markus F.X.J. Oberhumer
395d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   <markus@oberhumer.com>
405d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj   http://www.oberhumer.com/opensource/lzo/
415d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj */
425d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
435d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
445d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#ifndef __LZOCONF_H_INCLUDED
455d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define __LZOCONF_H_INCLUDED 1
465d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
475d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_VERSION             0x2060
485d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_VERSION_STRING      "2.06"
495d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_VERSION_DATE        "Aug 12 2011"
505d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
515d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* internal Autoconf configuration file - only used when building LZO */
525d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if defined(LZO_HAVE_CONFIG_H)
535d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  include <config.h>
545d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
555d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#include <limits.h>
565d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#include <stddef.h>
575d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
585d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
595d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/***********************************************************************
605d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj// LZO requires a conforming <limits.h>
615d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj************************************************************************/
625d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
635d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(CHAR_BIT) || (CHAR_BIT != 8)
645d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  error "invalid CHAR_BIT"
655d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
665d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(UCHAR_MAX) || !defined(UINT_MAX) || !defined(ULONG_MAX)
675d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  error "check your compiler installation"
685d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
695d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if (USHRT_MAX < 1) || (UINT_MAX < 1) || (ULONG_MAX < 1)
705d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  error "your limits.h macros are broken"
715d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
725d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
735d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* get OS and architecture defines */
745d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#ifndef __LZODEFS_H_INCLUDED
755d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#include "lzodefs.h"
765d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
775d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
785d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
795d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#ifdef __cplusplus
805d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjextern "C" {
815d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
825d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
835d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
845d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/***********************************************************************
855d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj// some core defines
865d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj************************************************************************/
875d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
885d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(LZO_UINT32_C)
895d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  if (UINT_MAX < LZO_0xffffffffL)
905d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_UINT32_C(c)     c ## UL
915d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  else
925d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_UINT32_C(c)     ((c) + 0U)
935d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  endif
945d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
955d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
965d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* memory checkers */
975d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(__LZO_CHECKER)
985d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  if defined(__BOUNDS_CHECKING_ON)
995d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define __LZO_CHECKER       1
1005d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  elif defined(__CHECKER__)
1015d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define __LZO_CHECKER       1
1025d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  elif defined(__INSURE__)
1035d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define __LZO_CHECKER       1
1045d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  elif defined(__PURIFY__)
1055d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define __LZO_CHECKER       1
1065d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  endif
1075d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
1085d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
1095d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
1105d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/***********************************************************************
1115d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj// integral and pointer types
1125d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj************************************************************************/
1135d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
1145d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* lzo_uint should match size_t */
1155d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(LZO_UINT_MAX)
1165d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  if defined(LZO_ABI_LLP64) /* WIN64 */
1175d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    if defined(LZO_OS_WIN64)
1185d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef unsigned __int64   lzo_uint;
1195d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef __int64            lzo_int;
1205d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    else
1215d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef unsigned long long lzo_uint;
1225d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef long long          lzo_int;
1235d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    endif
1245d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_UINT_MAX        0xffffffffffffffffull
1255d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT_MAX         9223372036854775807LL
1265d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT_MIN         (-1LL - LZO_INT_MAX)
1275d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  elif defined(LZO_ABI_IP32L64) /* MIPS R5900 */
1285d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef unsigned int       lzo_uint;
1295d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef int                lzo_int;
1305d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_UINT_MAX        UINT_MAX
1315d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT_MAX         INT_MAX
1325d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT_MIN         INT_MIN
1335d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  elif (ULONG_MAX >= LZO_0xffffffffL)
1345d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef unsigned long      lzo_uint;
1355d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef long               lzo_int;
1365d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_UINT_MAX        ULONG_MAX
1375d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT_MAX         LONG_MAX
1385d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT_MIN         LONG_MIN
1395d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  else
1405d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    error "lzo_uint"
1415d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  endif
1425d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
1435d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
1445d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* Integral types with 32 bits or more. */
1455d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(LZO_UINT32_MAX)
1465d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  if (UINT_MAX >= LZO_0xffffffffL)
1475d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef unsigned int       lzo_uint32;
1485d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef int                lzo_int32;
1495d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_UINT32_MAX      UINT_MAX
1505d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT32_MAX       INT_MAX
1515d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT32_MIN       INT_MIN
1525d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  elif (ULONG_MAX >= LZO_0xffffffffL)
1535d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef unsigned long      lzo_uint32;
1545d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef long               lzo_int32;
1555d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_UINT32_MAX      ULONG_MAX
1565d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT32_MAX       LONG_MAX
1575d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT32_MIN       LONG_MIN
1585d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  else
1595d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    error "lzo_uint32"
1605d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  endif
1615d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
1625d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
1635d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* Integral types with exactly 64 bits. */
1645d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(LZO_UINT64_MAX)
1655d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  if (LZO_UINT_MAX >= LZO_0xffffffffL)
1665d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#   if ((((LZO_UINT_MAX) >> 31) >> 31) == 3)
1675d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define lzo_uint64          lzo_uint
1685d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define lzo_int64           lzo_int
1695d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_UINT64_MAX      LZO_UINT_MAX
1705d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT64_MAX       LZO_INT_MAX
1715d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT64_MIN       LZO_INT_MIN
1725d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#   endif
1735d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  elif (ULONG_MAX >= LZO_0xffffffffL)
1745d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#   if ((((ULONG_MAX) >> 31) >> 31) == 3)
1755d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef unsigned long      lzo_uint64;
1765d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     typedef long               lzo_int64;
1775d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_UINT64_MAX      ULONG_MAX
1785d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT64_MAX       LONG_MAX
1795d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define LZO_INT64_MIN       LONG_MIN
1805d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#   endif
1815d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  endif
1825d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
1835d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
1845d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* The larger type of lzo_uint and lzo_uint32. */
1855d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if (LZO_UINT_MAX >= LZO_UINT32_MAX)
1865d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define lzo_xint              lzo_uint
1875d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#else
1885d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define lzo_xint              lzo_uint32
1895d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
1905d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
1915d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* Memory model that allows to access memory at offsets of lzo_uint. */
1925d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(__LZO_MMODEL)
1935d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  if (LZO_UINT_MAX <= UINT_MAX)
1945d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define __LZO_MMODEL        /*empty*/
1955d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  elif defined(LZO_HAVE_MM_HUGE_PTR)
1965d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define __LZO_MMODEL_HUGE   1
1975d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define __LZO_MMODEL        __huge
1985d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  else
1995d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define __LZO_MMODEL        /*empty*/
2005d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  endif
2015d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
2025d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2035d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* no typedef here because of const-pointer issues */
2045d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_bytep               unsigned char __LZO_MMODEL *
2055d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_charp               char __LZO_MMODEL *
2065d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_voidp               void __LZO_MMODEL *
2075d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_shortp              short __LZO_MMODEL *
2085d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_ushortp             unsigned short __LZO_MMODEL *
2095d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_uint32p             lzo_uint32 __LZO_MMODEL *
2105d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_int32p              lzo_int32 __LZO_MMODEL *
2115d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if defined(LZO_UINT64_MAX)
2125d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_uint64p             lzo_uint64 __LZO_MMODEL *
2135d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_int64p              lzo_int64 __LZO_MMODEL *
2145d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
2155d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_uintp               lzo_uint __LZO_MMODEL *
2165d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_intp                lzo_int __LZO_MMODEL *
2175d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_xintp               lzo_xint __LZO_MMODEL *
2185d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_voidpp              lzo_voidp __LZO_MMODEL *
2195d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_bytepp              lzo_bytep __LZO_MMODEL *
2205d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* deprecated - use 'lzo_bytep' instead of 'lzo_byte *' */
2215d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_byte                unsigned char __LZO_MMODEL
2225d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2235d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef int lzo_bool;
2245d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2255d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2265d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/***********************************************************************
2275d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj// function types
2285d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj************************************************************************/
2295d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2305d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* name mangling */
2315d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(__LZO_EXTERN_C)
2325d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  ifdef __cplusplus
2335d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define __LZO_EXTERN_C      extern "C"
2345d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  else
2355d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#    define __LZO_EXTERN_C      extern
2365d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  endif
2375d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
2385d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2395d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* calling convention */
2405d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(__LZO_CDECL)
2415d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_CDECL           __lzo_cdecl
2425d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
2435d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2445d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* DLL export information */
2455d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(__LZO_EXPORT1)
2465d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_EXPORT1         /*empty*/
2475d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
2485d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(__LZO_EXPORT2)
2495d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_EXPORT2         /*empty*/
2505d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
2515d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2525d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* __cdecl calling convention for public C and assembly functions */
2535d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(LZO_PUBLIC)
2545d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define LZO_PUBLIC(_rettype)  __LZO_EXPORT1 _rettype __LZO_EXPORT2 __LZO_CDECL
2555d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
2565d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(LZO_EXTERN)
2575d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define LZO_EXTERN(_rettype)  __LZO_EXTERN_C LZO_PUBLIC(_rettype)
2585d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
2595d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if !defined(LZO_PRIVATE)
2605d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define LZO_PRIVATE(_rettype) static _rettype __LZO_CDECL
2615d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
2625d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2635d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* function types */
2645d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef int
2655d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj(__LZO_CDECL *lzo_compress_t)   ( const lzo_bytep src, lzo_uint  src_len,
2665d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                        lzo_bytep dst, lzo_uintp dst_len,
2675d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                        lzo_voidp wrkmem );
2685d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2695d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef int
2705d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj(__LZO_CDECL *lzo_decompress_t) ( const lzo_bytep src, lzo_uint  src_len,
2715d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                        lzo_bytep dst, lzo_uintp dst_len,
2725d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                        lzo_voidp wrkmem );
2735d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2745d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef int
2755d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj(__LZO_CDECL *lzo_optimize_t)   (       lzo_bytep src, lzo_uint  src_len,
2765d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                        lzo_bytep dst, lzo_uintp dst_len,
2775d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                        lzo_voidp wrkmem );
2785d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2795d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef int
2805d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj(__LZO_CDECL *lzo_compress_dict_t)(const lzo_bytep src, lzo_uint  src_len,
2815d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                         lzo_bytep dst, lzo_uintp dst_len,
2825d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                         lzo_voidp wrkmem,
2835d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                   const lzo_bytep dict, lzo_uint dict_len );
2845d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2855d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef int
2865d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj(__LZO_CDECL *lzo_decompress_dict_t)(const lzo_bytep src, lzo_uint  src_len,
2875d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                           lzo_bytep dst, lzo_uintp dst_len,
2885d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                           lzo_voidp wrkmem,
2895d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj                                     const lzo_bytep dict, lzo_uint dict_len );
2905d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2915d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2925d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* Callback interface. Currently only the progress indicator ("nprogress")
2935d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj * is used, but this may change in a future release. */
2945d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2955d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjstruct lzo_callback_t;
2965d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef struct lzo_callback_t lzo_callback_t;
2975d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_callback_p lzo_callback_t __LZO_MMODEL *
2985d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
2995d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* malloc & free function types */
3005d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef lzo_voidp (__LZO_CDECL *lzo_alloc_func_t)
3015d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    (lzo_callback_p self, lzo_uint items, lzo_uint size);
3025d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef void      (__LZO_CDECL *lzo_free_func_t)
3035d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    (lzo_callback_p self, lzo_voidp ptr);
3045d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3055d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* a progress indicator callback function */
3065d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef void (__LZO_CDECL *lzo_progress_func_t)
3075d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    (lzo_callback_p, lzo_uint, lzo_uint, int);
3085d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3095d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjstruct lzo_callback_t
3105d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj{
3115d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    /* custom allocators (set to 0 to disable) */
3125d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_alloc_func_t nalloc;                /* [not used right now] */
3135d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_free_func_t nfree;                  /* [not used right now] */
3145d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3155d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    /* a progress indicator callback function (set to 0 to disable) */
3165d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_progress_func_t nprogress;
3175d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3185d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    /* NOTE: the first parameter "self" of the nalloc/nfree/nprogress
3195d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     * callbacks points back to this struct, so you are free to store
3205d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj     * some extra info in the following variables. */
3215d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_voidp user1;
3225d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_xint user2;
3235d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_xint user3;
3245d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj};
3255d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3265d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3275d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/***********************************************************************
3285d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj// error codes and prototypes
3295d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj************************************************************************/
3305d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3315d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* Error codes for the compression/decompression functions. Negative
3325d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj * values are errors, positive values will be used for special but
3335d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj * normal events.
3345d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj */
3355d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_OK                    0
3365d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_ERROR                 (-1)
3375d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_OUT_OF_MEMORY         (-2)    /* [lzo_alloc_func_t failure] */
3385d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_NOT_COMPRESSIBLE      (-3)    /* [not used right now] */
3395d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_INPUT_OVERRUN         (-4)
3405d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_OUTPUT_OVERRUN        (-5)
3415d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_LOOKBEHIND_OVERRUN    (-6)
3425d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_EOF_NOT_FOUND         (-7)
3435d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_INPUT_NOT_CONSUMED    (-8)
3445d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_NOT_YET_IMPLEMENTED   (-9)    /* [not used right now] */
3455d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_E_INVALID_ARGUMENT      (-10)
3465d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3475d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3485d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#ifndef lzo_sizeof_dict_t
3495d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define lzo_sizeof_dict_t     ((unsigned)sizeof(lzo_bytep))
3505d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
3515d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3525d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* lzo_init() should be the first function you call.
3535d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj * Check the return code !
3545d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj *
3555d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj * lzo_init() is a macro to allow checking that the library and the
3565d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj * compiler's view of various types are consistent.
3575d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj */
3585d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_init() __lzo_init_v2(LZO_VERSION,(int)sizeof(short),(int)sizeof(int),\
3595d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    (int)sizeof(long),(int)sizeof(lzo_uint32),(int)sizeof(lzo_uint),\
3605d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    (int)lzo_sizeof_dict_t,(int)sizeof(char *),(int)sizeof(lzo_voidp),\
3615d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    (int)sizeof(lzo_callback_t))
3625d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(int) __lzo_init_v2(unsigned,int,int,int,int,int,int,int,int,int);
3635d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3645d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* version functions (useful for shared libraries) */
3655d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(unsigned) lzo_version(void);
3665d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(const char *) lzo_version_string(void);
3675d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(const char *) lzo_version_date(void);
3685d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(const lzo_charp) _lzo_version_string(void);
3695d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(const lzo_charp) _lzo_version_date(void);
3705d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3715d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* string functions */
3725d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(int)
3735d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_memcmp(const lzo_voidp a, const lzo_voidp b, lzo_uint len);
3745d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(lzo_voidp)
3755d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_memcpy(lzo_voidp dst, const lzo_voidp src, lzo_uint len);
3765d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(lzo_voidp)
3775d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_memmove(lzo_voidp dst, const lzo_voidp src, lzo_uint len);
3785d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(lzo_voidp)
3795d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_memset(lzo_voidp buf, int c, lzo_uint len);
3805d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3815d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* checksum functions */
3825d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(lzo_uint32)
3835d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_adler32(lzo_uint32 c, const lzo_bytep buf, lzo_uint len);
3845d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(lzo_uint32)
3855d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_crc32(lzo_uint32 c, const lzo_bytep buf, lzo_uint len);
3865d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(const lzo_uint32p)
3875d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    lzo_get_crc32_table(void);
3885d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3895d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* misc. */
3905d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(int) _lzo_config_check(void);
3915d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef union { lzo_bytep p; lzo_uint u; } __lzo_pu_u;
3925d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef union { lzo_bytep p; lzo_uint32 u32; } __lzo_pu32_u;
3935d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjtypedef union { void *vp; lzo_bytep bp; lzo_uint u; lzo_uint32 u32; unsigned long l; } lzo_align_t;
3945d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
3955d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* align a char pointer on a boundary that is a multiple of 'size' */
3965d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardjLZO_EXTERN(unsigned) __lzo_align_gap(const lzo_voidp p, lzo_uint size);
3975d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_PTR_ALIGN_UP(p,size) \
3985d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj    ((p) + (lzo_uint) __lzo_align_gap((const lzo_voidp)(p),(lzo_uint)(size)))
3995d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4005d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4015d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/***********************************************************************
4025d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj// deprecated macros - only for backward compatibility with LZO v1.xx
4035d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj************************************************************************/
4045d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4055d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if defined(LZO_CFG_COMPAT)
4065d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4075d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define __LZOCONF_H 1
4085d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4095d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if defined(LZO_ARCH_I086)
4105d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_i386 1
4115d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#elif defined(LZO_ARCH_I386)
4125d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_i386 1
4135d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
4145d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4155d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#if defined(LZO_OS_DOS16)
4165d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_DOS 1
4175d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_DOS16 1
4185d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#elif defined(LZO_OS_DOS32)
4195d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_DOS 1
4205d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#elif defined(LZO_OS_WIN16)
4215d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_WIN 1
4225d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_WIN16 1
4235d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#elif defined(LZO_OS_WIN32)
4245d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#  define __LZO_WIN 1
4255d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
4265d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4275d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define __LZO_CMODEL            /*empty*/
4285d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define __LZO_DMODEL            /*empty*/
4295d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define __LZO_ENTRY             __LZO_CDECL
4305d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_EXTERN_CDECL        LZO_EXTERN
4315d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define LZO_ALIGN               LZO_PTR_ALIGN_UP
4325d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4335d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_compress_asm_t      lzo_compress_t
4345d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#define lzo_decompress_asm_t    lzo_decompress_t
4355d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4365d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif /* LZO_CFG_COMPAT */
4375d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4385d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4395d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#ifdef __cplusplus
4405d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj} /* extern "C" */
4415d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif
4425d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4435d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj#endif /* already included */
4445d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4455d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj
4465d616dfbb8439dfd51a40ddf1dba970938baa1ebsewardj/* vim:set ts=4 et: */
447