2N/A/* minilzo.h -- mini subset of the LZO real-time data compression library
2N/A
2N/A This file is part of the LZO real-time data compression library.
2N/A
2N/A Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
2N/A Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
2N/A All Rights Reserved.
2N/A
2N/A The LZO library is free software; you can redistribute it and/or
2N/A modify it under the terms of the GNU General Public License as
2N/A published by the Free Software Foundation; either version 2 of
2N/A the License, or (at your option) any later version.
2N/A
2N/A The LZO library is distributed in the hope that it will be useful,
2N/A but WITHOUT ANY WARRANTY; without even the implied warranty of
2N/A MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2N/A GNU General Public License for more details.
2N/A
2N/A You should have received a copy of the GNU General Public License
2N/A along with the LZO library; see the file COPYING.
2N/A If not, write to the Free Software Foundation, Inc.,
2N/A 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
2N/A
2N/A Markus F.X.J. Oberhumer
2N/A <markus@oberhumer.com>
2N/A http://www.oberhumer.com/opensource/lzo/
2N/A */
2N/A
2N/A/*
2N/A * NOTE:
2N/A * the full LZO package can be found at
2N/A * http://www.oberhumer.com/opensource/lzo/
2N/A */
2N/A
2N/A
2N/A#ifndef __MINILZO_H
2N/A#define __MINILZO_H 1
2N/A
2N/A#define MINILZO_VERSION 0x2050
2N/A
2N/A#ifdef __LZOCONF_H
2N/A# error "you cannot use both LZO and miniLZO"
2N/A#endif
2N/A
2N/A#undef LZO_HAVE_CONFIG_H
2N/A#include "lzoconf.h"
2N/A
2N/A#if !defined(LZO_VERSION) || (LZO_VERSION != MINILZO_VERSION)
2N/A# error "version mismatch in header files"
2N/A#endif
2N/A
2N/A
2N/A#ifdef __cplusplus
2N/Aextern "C" {
2N/A#endif
2N/A
2N/A
2N/A/***********************************************************************
2N/A//
2N/A************************************************************************/
2N/A
2N/A/* Memory required for the wrkmem parameter.
2N/A * When the required size is 0, you can also pass a NULL pointer.
2N/A */
2N/A
2N/A#define LZO1X_MEM_COMPRESS LZO1X_1_MEM_COMPRESS
2N/A#define LZO1X_1_MEM_COMPRESS ((lzo_uint32) (16384L * lzo_sizeof_dict_t))
2N/A#define LZO1X_MEM_DECOMPRESS (0)
2N/A
2N/A
2N/A/* compression */
2N/ALZO_EXTERN(int)
2N/Alzo1x_1_compress ( const lzo_bytep src, lzo_uint src_len,
2N/A lzo_bytep dst, lzo_uintp dst_len,
2N/A lzo_voidp wrkmem );
2N/A
2N/A/* decompression */
2N/ALZO_EXTERN(int)
2N/Alzo1x_decompress ( const lzo_bytep src, lzo_uint src_len,
2N/A lzo_bytep dst, lzo_uintp dst_len,
2N/A lzo_voidp wrkmem /* NOT USED */ );
2N/A
2N/A/* safe decompression with overrun testing */
2N/ALZO_EXTERN(int)
2N/Alzo1x_decompress_safe ( const lzo_bytep src, lzo_uint src_len,
2N/A lzo_bytep dst, lzo_uintp dst_len,
2N/A lzo_voidp wrkmem /* NOT USED */ );
2N/A
2N/A
2N/A#ifdef __cplusplus
2N/A} /* extern "C" */
2N/A#endif
2N/A
2N/A#endif /* already included */
2N/A