Blame src/lzo_conf.h

Packit Service 5195f2
/* lzo_conf.h -- main internal configuration file for the the LZO library
Packit Service 5195f2
Packit Service 5195f2
   This file is part of the LZO real-time data compression library.
Packit Service 5195f2
Packit Service 5195f2
   Copyright (C) 1996-2014 Markus Franz Xaver Johannes Oberhumer
Packit Service 5195f2
   All Rights Reserved.
Packit Service 5195f2
Packit Service 5195f2
   The LZO library is free software; you can redistribute it and/or
Packit Service 5195f2
   modify it under the terms of the GNU General Public License as
Packit Service 5195f2
   published by the Free Software Foundation; either version 2 of
Packit Service 5195f2
   the License, or (at your option) any later version.
Packit Service 5195f2
Packit Service 5195f2
   The LZO library is distributed in the hope that it will be useful,
Packit Service 5195f2
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 5195f2
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 5195f2
   GNU General Public License for more details.
Packit Service 5195f2
Packit Service 5195f2
   You should have received a copy of the GNU General Public License
Packit Service 5195f2
   along with the LZO library; see the file COPYING.
Packit Service 5195f2
   If not, write to the Free Software Foundation, Inc.,
Packit Service 5195f2
   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Packit Service 5195f2
Packit Service 5195f2
   Markus F.X.J. Oberhumer
Packit Service 5195f2
   <markus@oberhumer.com>
Packit Service 5195f2
   http://www.oberhumer.com/opensource/lzo/
Packit Service 5195f2
 */
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
/* WARNING: this file should *not* be used by applications. It is
Packit Service 5195f2
   part of the implementation of the library and is subject
Packit Service 5195f2
   to change.
Packit Service 5195f2
 */
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
#ifndef __LZO_CONF_H
Packit Service 5195f2
#define __LZO_CONF_H 1
Packit Service 5195f2
Packit Service 5195f2
#if !defined(__LZO_IN_MINILZO)
Packit Service 5195f2
#if defined(LZO_CFG_FREESTANDING) && (LZO_CFG_FREESTANDING)
Packit Service 5195f2
#  define LZO_LIBC_FREESTANDING 1
Packit Service 5195f2
#  define LZO_OS_FREESTANDING 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_CFG_EXTRA_CONFIG_HEADER)
Packit Service 5195f2
#  include LZO_CFG_EXTRA_CONFIG_HEADER
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(__LZOCONF_H) || defined(__LZOCONF_H_INCLUDED)
Packit Service 5195f2
#  error "include this file first"
Packit Service 5195f2
#endif
Packit Service 5195f2
#include "lzo/lzoconf.h"
Packit Service 5195f2
#if defined(LZO_CFG_EXTRA_CONFIG_HEADER2)
Packit Service 5195f2
#  include LZO_CFG_EXTRA_CONFIG_HEADER2
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
#if (LZO_VERSION < 0x2080) || !defined(__LZOCONF_H_INCLUDED)
Packit Service 5195f2
#  error "version mismatch"
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
/***********************************************************************
Packit Service 5195f2
// pragmas
Packit Service 5195f2
************************************************************************/
Packit Service 5195f2
Packit Service 5195f2
#if (LZO_CC_MSC && (_MSC_VER >= 1000 && _MSC_VER < 1100))
Packit Service 5195f2
   /* disable bogus "unreachable code" warnings */
Packit Service 5195f2
#  pragma warning(disable: 4702)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_CC_MSC && (_MSC_VER >= 1000))
Packit Service 5195f2
#  pragma warning(disable: 4127 4701)
Packit Service 5195f2
   /* disable warnings about inlining */
Packit Service 5195f2
#  pragma warning(disable: 4514 4710 4711)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_CC_MSC && (_MSC_VER >= 1300))
Packit Service 5195f2
   /* disable '-Wall' warnings in system header files */
Packit Service 5195f2
#  pragma warning(disable: 4820)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_CC_MSC && (_MSC_VER >= 1800))
Packit Service 5195f2
   /* disable '-Wall' warnings in system header files */
Packit Service 5195f2
#  pragma warning(disable: 4746)
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
#if (LZO_CC_SUNPROC)
Packit Service 5195f2
#if !defined(__cplusplus)
Packit Service 5195f2
#  pragma error_messages(off,E_END_OF_LOOP_CODE_NOT_REACHED)
Packit Service 5195f2
#  pragma error_messages(off,E_LOOP_NOT_ENTERED_AT_TOP)
Packit Service 5195f2
#  pragma error_messages(off,E_STATEMENT_NOT_REACHED)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
/***********************************************************************
Packit Service 5195f2
//
Packit Service 5195f2
************************************************************************/
Packit Service 5195f2
Packit Service 5195f2
#if defined(__LZO_IN_MINILZO) || (LZO_CFG_FREESTANDING)
Packit Service 5195f2
#elif 1
Packit Service 5195f2
#  include <string.h>
Packit Service 5195f2
#else
Packit Service 5195f2
#  define LZO_WANT_ACC_INCD_H 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_HAVE_CONFIG_H)
Packit Service 5195f2
#  define LZO_CFG_NO_CONFIG_HEADER 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#include "lzo_supp.h"
Packit Service 5195f2
Packit Service 5195f2
/* Integral types */
Packit Service 5195f2
#if 1 || defined(lzo_int8_t) || defined(lzo_uint8_t)
Packit Service 5195f2
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t)  == 1)
Packit Service 5195f2
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint8_t) == 1)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1 || defined(lzo_int16_t) || defined(lzo_uint16_t)
Packit Service 5195f2
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t)  == 2)
Packit Service 5195f2
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint16_t) == 2)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1 || defined(lzo_int32_t) || defined(lzo_uint32_t)
Packit Service 5195f2
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t)  == 4)
Packit Service 5195f2
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint32_t) == 4)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(lzo_int64_t) || defined(lzo_uint64_t)
Packit Service 5195f2
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t)  == 8)
Packit Service 5195f2
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint64_t) == 8)
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
#if (LZO_CFG_FREESTANDING)
Packit Service 5195f2
#  undef HAVE_MEMCMP
Packit Service 5195f2
#  undef HAVE_MEMCPY
Packit Service 5195f2
#  undef HAVE_MEMMOVE
Packit Service 5195f2
#  undef HAVE_MEMSET
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
#if !(HAVE_MEMCMP)
Packit Service 5195f2
#  undef memcmp
Packit Service 5195f2
#  define memcmp(a,b,c)         lzo_memcmp(a,b,c)
Packit Service 5195f2
#else
Packit Service 5195f2
#  undef lzo_memcmp
Packit Service 5195f2
#  define lzo_memcmp(a,b,c)     memcmp(a,b,c)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !(HAVE_MEMCPY)
Packit Service 5195f2
#  undef memcpy
Packit Service 5195f2
#  define memcpy(a,b,c)         lzo_memcpy(a,b,c)
Packit Service 5195f2
#else
Packit Service 5195f2
#  undef lzo_memcpy
Packit Service 5195f2
#  define lzo_memcpy(a,b,c)     memcpy(a,b,c)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !(HAVE_MEMMOVE)
Packit Service 5195f2
#  undef memmove
Packit Service 5195f2
#  define memmove(a,b,c)        lzo_memmove(a,b,c)
Packit Service 5195f2
#else
Packit Service 5195f2
#  undef lzo_memmove
Packit Service 5195f2
#  define lzo_memmove(a,b,c)    memmove(a,b,c)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !(HAVE_MEMSET)
Packit Service 5195f2
#  undef memset
Packit Service 5195f2
#  define memset(a,b,c)         lzo_memset(a,b,c)
Packit Service 5195f2
#else
Packit Service 5195f2
#  undef lzo_memset
Packit Service 5195f2
#  define lzo_memset(a,b,c)     memset(a,b,c)
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
#undef NDEBUG
Packit Service 5195f2
#if (LZO_CFG_FREESTANDING)
Packit Service 5195f2
#  undef LZO_DEBUG
Packit Service 5195f2
#  define NDEBUG 1
Packit Service 5195f2
#  undef assert
Packit Service 5195f2
#  define assert(e) ((void)0)
Packit Service 5195f2
#else
Packit Service 5195f2
#  if !defined(LZO_DEBUG)
Packit Service 5195f2
#    define NDEBUG 1
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  include <assert.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
#if 0 && defined(__BOUNDS_CHECKING_ON)
Packit Service 5195f2
#  include <unchecked.h>
Packit Service 5195f2
#else
Packit Service 5195f2
#  define BOUNDS_CHECKING_OFF_DURING(stmt)      stmt
Packit Service 5195f2
#  define BOUNDS_CHECKING_OFF_IN_EXPR(expr)     (expr)
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
#if (LZO_CFG_PGO)
Packit Service 5195f2
#  undef __lzo_likely
Packit Service 5195f2
#  undef __lzo_unlikely
Packit Service 5195f2
#  define __lzo_likely(e)       (e)
Packit Service 5195f2
#  define __lzo_unlikely(e)     (e)
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
#undef _
Packit Service 5195f2
#undef __
Packit Service 5195f2
#undef ___
Packit Service 5195f2
#undef ____
Packit Service 5195f2
#undef _p0
Packit Service 5195f2
#undef _p1
Packit Service 5195f2
#undef _p2
Packit Service 5195f2
#undef _p3
Packit Service 5195f2
#undef _p4
Packit Service 5195f2
#undef _s0
Packit Service 5195f2
#undef _s1
Packit Service 5195f2
#undef _s2
Packit Service 5195f2
#undef _s3
Packit Service 5195f2
#undef _s4
Packit Service 5195f2
#undef _ww
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
/***********************************************************************
Packit Service 5195f2
//
Packit Service 5195f2
************************************************************************/
Packit Service 5195f2
Packit Service 5195f2
#if 1
Packit Service 5195f2
#  define LZO_BYTE(x)       ((unsigned char) (x))
Packit Service 5195f2
#else
Packit Service 5195f2
#  define LZO_BYTE(x)       ((unsigned char) ((x) & 0xff))
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
#define LZO_MAX(a,b)        ((a) >= (b) ? (a) : (b))
Packit Service 5195f2
#define LZO_MIN(a,b)        ((a) <= (b) ? (a) : (b))
Packit Service 5195f2
#define LZO_MAX3(a,b,c)     ((a) >= (b) ? LZO_MAX(a,c) : LZO_MAX(b,c))
Packit Service 5195f2
#define LZO_MIN3(a,b,c)     ((a) <= (b) ? LZO_MIN(a,c) : LZO_MIN(b,c))
Packit Service 5195f2
Packit Service 5195f2
#define lzo_sizeof(type)    ((lzo_uint) (sizeof(type)))
Packit Service 5195f2
Packit Service 5195f2
#define LZO_HIGH(array)     ((lzo_uint) (sizeof(array)/sizeof(*(array))))
Packit Service 5195f2
Packit Service 5195f2
/* this always fits into 32 bits */
Packit Service 5195f2
#define LZO_SIZE(bits)      (1u << (bits))
Packit Service 5195f2
#define LZO_MASK(bits)      (LZO_SIZE(bits) - 1)
Packit Service 5195f2
Packit Service 5195f2
#define LZO_USIZE(bits)     ((lzo_uint) 1 << (bits))
Packit Service 5195f2
#define LZO_UMASK(bits)     (LZO_USIZE(bits) - 1)
Packit Service 5195f2
Packit Service 5195f2
#if !defined(DMUL)
Packit Service 5195f2
#if 0
Packit Service 5195f2
   /* 32*32 multiplies may be faster than 64*64 on some 64-bit machines,
Packit Service 5195f2
    * but then we need extra casts from unsigned<->size_t */
Packit Service 5195f2
#  define DMUL(a,b) ((lzo_xint) ((lzo_uint32_t)(a) * (lzo_uint32_t)(b)))
Packit Service 5195f2
#else
Packit Service 5195f2
#  define DMUL(a,b) ((lzo_xint) ((a) * (b)))
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
/***********************************************************************
Packit Service 5195f2
// compiler and architecture specific stuff
Packit Service 5195f2
************************************************************************/
Packit Service 5195f2
Packit Service 5195f2
/* Some defines that indicate if memory can be accessed at unaligned
Packit Service 5195f2
 * memory addresses. You should also test that this is actually faster
Packit Service 5195f2
 * even if it is allowed by your system.
Packit Service 5195f2
 */
Packit Service 5195f2
Packit Service 5195f2
#include "lzo_func.h"
Packit Service 5195f2
Packit Service 5195f2
#ifndef UA_SET1
Packit Service 5195f2
#define UA_SET1             LZO_MEMOPS_SET1
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_SET2
Packit Service 5195f2
#define UA_SET2             LZO_MEMOPS_SET2
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_SET3
Packit Service 5195f2
#define UA_SET3             LZO_MEMOPS_SET3
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_SET4
Packit Service 5195f2
#define UA_SET4             LZO_MEMOPS_SET4
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_MOVE1
Packit Service 5195f2
#define UA_MOVE1            LZO_MEMOPS_MOVE1
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_MOVE2
Packit Service 5195f2
#define UA_MOVE2            LZO_MEMOPS_MOVE2
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_MOVE3
Packit Service 5195f2
#define UA_MOVE3            LZO_MEMOPS_MOVE3
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_MOVE4
Packit Service 5195f2
#define UA_MOVE4            LZO_MEMOPS_MOVE4
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_MOVE8
Packit Service 5195f2
#define UA_MOVE8            LZO_MEMOPS_MOVE8
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_COPY1
Packit Service 5195f2
#define UA_COPY1            LZO_MEMOPS_COPY1
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_COPY2
Packit Service 5195f2
#define UA_COPY2            LZO_MEMOPS_COPY2
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_COPY3
Packit Service 5195f2
#define UA_COPY3            LZO_MEMOPS_COPY3
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_COPY4
Packit Service 5195f2
#define UA_COPY4            LZO_MEMOPS_COPY4
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_COPY8
Packit Service 5195f2
#define UA_COPY8            LZO_MEMOPS_COPY8
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_COPYN
Packit Service 5195f2
#define UA_COPYN            LZO_MEMOPS_COPYN
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_COPYN_X
Packit Service 5195f2
#define UA_COPYN_X          LZO_MEMOPS_COPYN
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_GET_LE16
Packit Service 5195f2
#define UA_GET_LE16         LZO_MEMOPS_GET_LE16
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_GET_LE32
Packit Service 5195f2
#define UA_GET_LE32         LZO_MEMOPS_GET_LE32
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifdef LZO_MEMOPS_GET_LE64
Packit Service 5195f2
#ifndef UA_GET_LE64
Packit Service 5195f2
#define UA_GET_LE64         LZO_MEMOPS_GET_LE64
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_GET_NE16
Packit Service 5195f2
#define UA_GET_NE16         LZO_MEMOPS_GET_NE16
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_GET_NE32
Packit Service 5195f2
#define UA_GET_NE32         LZO_MEMOPS_GET_NE32
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifdef LZO_MEMOPS_GET_NE64
Packit Service 5195f2
#ifndef UA_GET_NE64
Packit Service 5195f2
#define UA_GET_NE64         LZO_MEMOPS_GET_NE64
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_PUT_LE16
Packit Service 5195f2
#define UA_PUT_LE16         LZO_MEMOPS_PUT_LE16
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_PUT_LE32
Packit Service 5195f2
#define UA_PUT_LE32         LZO_MEMOPS_PUT_LE32
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_PUT_NE16
Packit Service 5195f2
#define UA_PUT_NE16         LZO_MEMOPS_PUT_NE16
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef UA_PUT_NE32
Packit Service 5195f2
#define UA_PUT_NE32         LZO_MEMOPS_PUT_NE32
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
/* Fast memcpy that copies multiples of 8 byte chunks.
Packit Service 5195f2
 * len is the number of bytes.
Packit Service 5195f2
 * note: all parameters must be lvalues, len >= 8
Packit Service 5195f2
 *       dest and src advance, len is undefined afterwards
Packit Service 5195f2
 */
Packit Service 5195f2
Packit Service 5195f2
#define MEMCPY8_DS(dest,src,len) \
Packit Service 5195f2
    lzo_memcpy(dest,src,len); dest += len; src += len
Packit Service 5195f2
Packit Service 5195f2
#define BZERO8_PTR(s,l,n) \
Packit Service 5195f2
    lzo_memset((lzo_voidp)(s),0,(lzo_uint)(l)*(n))
Packit Service 5195f2
Packit Service 5195f2
#define MEMCPY_DS(dest,src,len) \
Packit Service 5195f2
    do *dest++ = *src++; while (--len > 0)
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
/***********************************************************************
Packit Service 5195f2
//
Packit Service 5195f2
************************************************************************/
Packit Service 5195f2
Packit Service 5195f2
LZO_EXTERN(const lzo_bytep) lzo_copyright(void);
Packit Service 5195f2
Packit Service 5195f2
#include "lzo_ptr.h"
Packit Service 5195f2
Packit Service 5195f2
/* Generate compressed data in a deterministic way.
Packit Service 5195f2
 * This is fully portable, and compression can be faster as well.
Packit Service 5195f2
 * A reason NOT to be deterministic is when the block size is
Packit Service 5195f2
 * very small (e.g. 8kB) or the dictionary is big, because
Packit Service 5195f2
 * then the initialization of the dictionary becomes a relevant
Packit Service 5195f2
 * magnitude for compression speed.
Packit Service 5195f2
 */
Packit Service 5195f2
#ifndef LZO_DETERMINISTIC
Packit Service 5195f2
#define LZO_DETERMINISTIC 1
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
#ifndef LZO_DICT_USE_PTR
Packit Service 5195f2
#define LZO_DICT_USE_PTR 1
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
#if (LZO_DICT_USE_PTR)
Packit Service 5195f2
#  define lzo_dict_t    const lzo_bytep
Packit Service 5195f2
#  define lzo_dict_p    lzo_dict_t *
Packit Service 5195f2
#else
Packit Service 5195f2
#  define lzo_dict_t    lzo_uint
Packit Service 5195f2
#  define lzo_dict_p    lzo_dict_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
#endif /* already included */
Packit Service 5195f2
Packit Service 5195f2
/*
Packit Service 5195f2
vi:ts=4:et
Packit Service 5195f2
*/
Packit Service 5195f2