Blame lzotest/wrapmisc.h

Packit 679830
/* wrapmisc.h -- misc wrapper functions for the test driver
Packit 679830
Packit 679830
   This file is part of the LZO real-time data compression library.
Packit 679830
Packit 679830
   Copyright (C) 1996-2014 Markus Franz Xaver Johannes Oberhumer
Packit 679830
   All Rights Reserved.
Packit 679830
Packit 679830
   The LZO library is free software; you can redistribute it and/or
Packit 679830
   modify it under the terms of the GNU General Public License as
Packit 679830
   published by the Free Software Foundation; either version 2 of
Packit 679830
   the License, or (at your option) any later version.
Packit 679830
Packit 679830
   The LZO library is distributed in the hope that it will be useful,
Packit 679830
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 679830
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 679830
   GNU General Public License for more details.
Packit 679830
Packit 679830
   You should have received a copy of the GNU General Public License
Packit 679830
   along with the LZO library; see the file COPYING.
Packit 679830
   If not, write to the Free Software Foundation, Inc.,
Packit 679830
   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Packit 679830
Packit 679830
   Markus F.X.J. Oberhumer
Packit 679830
   <markus@oberhumer.com>
Packit 679830
   http://www.oberhumer.com/opensource/lzo/
Packit 679830
 */
Packit 679830
Packit 679830
Packit 679830
/*************************************************************************
Packit 679830
// compression levels of zlib
Packit 679830
**************************************************************************/
Packit 679830
Packit 679830
#if defined(ALG_ZLIB)
Packit 679830
Packit 679830
#define ZLIB_MEM_COMPRESS       0
Packit 679830
#define ZLIB_MEM_DECOMPRESS     0
Packit 679830
Packit 679830
static
Packit 679830
int zlib_compress       ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem,
Packit 679830
                                int method, int compression_level )
Packit 679830
{
Packit 679830
    int err;
Packit 679830
    uLong destLen;
Packit 679830
Packit 679830
    assert(method == Z_DEFLATED);
Packit 679830
    destLen = (uLong) *dst_len;
Packit 679830
    err = compress2(dst, &destLen, src, (uLong) src_len, compression_level);
Packit 679830
    *dst_len = destLen;
Packit 679830
    LZO_UNUSED(method);
Packit 679830
    LZO_UNUSED(wrkmem);
Packit 679830
    return err;
Packit 679830
}
Packit 679830
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_decompress         ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{
Packit 679830
    int err;
Packit 679830
    uLong destLen;
Packit 679830
Packit 679830
    destLen = (uLong) *dst_len;
Packit 679830
    err = uncompress(dst, &destLen, src, (uLong) src_len);
Packit 679830
    *dst_len = destLen;
Packit 679830
    LZO_UNUSED(wrkmem);
Packit 679830
    return err;
Packit 679830
}
Packit 679830
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_8_1_compress       ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return zlib_compress(src,src_len,dst,dst_len,wrkmem,Z_DEFLATED,1); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_8_2_compress       ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return zlib_compress(src,src_len,dst,dst_len,wrkmem,Z_DEFLATED,2); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_8_3_compress       ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return zlib_compress(src,src_len,dst,dst_len,wrkmem,Z_DEFLATED,3); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_8_4_compress       ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return zlib_compress(src,src_len,dst,dst_len,wrkmem,Z_DEFLATED,4); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_8_5_compress       ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return zlib_compress(src,src_len,dst,dst_len,wrkmem,Z_DEFLATED,5); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_8_6_compress       ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return zlib_compress(src,src_len,dst,dst_len,wrkmem,Z_DEFLATED,6); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_8_7_compress       ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return zlib_compress(src,src_len,dst,dst_len,wrkmem,Z_DEFLATED,7); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_8_8_compress       ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return zlib_compress(src,src_len,dst,dst_len,wrkmem,Z_DEFLATED,8); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_8_9_compress       ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return zlib_compress(src,src_len,dst,dst_len,wrkmem,Z_DEFLATED,9); }
Packit 679830
Packit 679830
Packit 679830
#endif /* ALG_ZLIB */
Packit 679830
Packit 679830
Packit 679830
/*************************************************************************
Packit 679830
// compression levels of bzip2
Packit 679830
**************************************************************************/
Packit 679830
Packit 679830
#if defined(ALG_BZIP2)
Packit 679830
Packit 679830
#define BZIP2_MEM_COMPRESS      0
Packit 679830
#define BZIP2_MEM_DECOMPRESS    0
Packit 679830
Packit 679830
static
Packit 679830
int bzip2_compress      ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem,
Packit 679830
                                int compression_level )
Packit 679830
{
Packit 679830
    int err;
Packit 679830
    unsigned destLen;
Packit 679830
    union { const m_bytep csrc; char *src; } u;
Packit 679830
Packit 679830
    u.csrc = src; /* UNCONST */
Packit 679830
    destLen = *dst_len;
Packit 679830
    err = BZ2_bzBuffToBuffCompress((char*)dst, &destLen, u.src, src_len, compression_level, 0, 0);
Packit 679830
    *dst_len = destLen;
Packit 679830
    LZO_UNUSED(wrkmem);
Packit 679830
    return err;
Packit 679830
}
Packit 679830
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
bzip2_decompress        ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{
Packit 679830
    int err;
Packit 679830
    unsigned destLen;
Packit 679830
    union { const m_bytep csrc; char *src; } u;
Packit 679830
Packit 679830
    u.csrc = src; /* UNCONST */
Packit 679830
    destLen = *dst_len;
Packit 679830
    err = BZ2_bzBuffToBuffDecompress((char*)dst, &destLen, u.src, src_len, 0, 0);
Packit 679830
    *dst_len = destLen;
Packit 679830
    LZO_UNUSED(wrkmem);
Packit 679830
    return err;
Packit 679830
}
Packit 679830
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
bzip2_1_compress        ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return bzip2_compress(src,src_len,dst,dst_len,wrkmem,1); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
bzip2_2_compress        ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return bzip2_compress(src,src_len,dst,dst_len,wrkmem,2); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
bzip2_3_compress        ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return bzip2_compress(src,src_len,dst,dst_len,wrkmem,3); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
bzip2_4_compress        ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return bzip2_compress(src,src_len,dst,dst_len,wrkmem,4); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
bzip2_5_compress        ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return bzip2_compress(src,src_len,dst,dst_len,wrkmem,5); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
bzip2_6_compress        ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return bzip2_compress(src,src_len,dst,dst_len,wrkmem,6); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
bzip2_7_compress        ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return bzip2_compress(src,src_len,dst,dst_len,wrkmem,7); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
bzip2_8_compress        ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return bzip2_compress(src,src_len,dst,dst_len,wrkmem,8); }
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
bzip2_9_compress        ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{ return bzip2_compress(src,src_len,dst,dst_len,wrkmem,9); }
Packit 679830
Packit 679830
Packit 679830
#endif /* ALG_BZIP2 */
Packit 679830
Packit 679830
Packit 679830
/*************************************************************************
Packit 679830
// other wrappers (for benchmarking the checksum algorithms)
Packit 679830
**************************************************************************/
Packit 679830
Packit 679830
#if defined(ALG_ZLIB)
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_adler32_x_compress ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{
Packit 679830
    uLong adler;
Packit 679830
    adler = adler32(1L, src, (uInt) src_len);
Packit 679830
    *dst_len = src_len;
Packit 679830
    LZO_UNUSED(adler);
Packit 679830
    LZO_UNUSED(dst);
Packit 679830
    LZO_UNUSED(wrkmem);
Packit 679830
    return 0;
Packit 679830
}
Packit 679830
Packit 679830
Packit 679830
M_PRIVATE(int)
Packit 679830
zlib_crc32_x_compress   ( const m_bytep src, m_uint  src_len,
Packit 679830
                                m_bytep dst, m_uintp dst_len,
Packit 679830
                                m_voidp wrkmem )
Packit 679830
{
Packit 679830
    uLong crc;
Packit 679830
    crc = crc32(0L, src, (uInt) src_len);
Packit 679830
    *dst_len = src_len;
Packit 679830
    LZO_UNUSED(crc);
Packit 679830
    LZO_UNUSED(dst);
Packit 679830
    LZO_UNUSED(wrkmem);
Packit 679830
    return 0;
Packit 679830
}
Packit 679830
Packit 679830
#endif /* ALG_ZLIB */
Packit 679830
Packit 679830
Packit 679830
/* vim:set ts=4 sw=4 et: */