1 /* lzo1z.h -- public interface of the LZO1Z compression algorithm 2 3 This file is part of the LZO real-time data compression library. 4 5 Copyright (C) 1996-2014 Markus Franz Xaver Johannes Oberhumer 6 All Rights Reserved. 7 8 The LZO library is free software; you can redistribute it and/or 9 modify it under the terms of the GNU General Public License as 10 published by the Free Software Foundation; either version 2 of 11 the License, or (at your option) any later version. 12 13 The LZO library is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with the LZO library; see the file COPYING. 20 If not, write to the Free Software Foundation, Inc., 21 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 23 Markus F.X.J. Oberhumer 24 <markus (at) oberhumer.com> 25 http://www.oberhumer.com/opensource/lzo/ 26 */ 27 28 29 #ifndef __LZO1Z_H_INCLUDED 30 #define __LZO1Z_H_INCLUDED 1 31 32 #ifndef __LZOCONF_H_INCLUDED 33 #include "lzoconf.h" 34 #endif 35 36 #ifdef __cplusplus 37 extern "C" { 38 #endif 39 40 41 /*********************************************************************** 42 // 43 ************************************************************************/ 44 45 /* Memory required for the wrkmem parameter. 46 * When the required size is 0, you can also pass a NULL pointer. 47 */ 48 49 #define LZO1Z_MEM_DECOMPRESS (0) 50 51 52 /* decompression */ 53 LZO_EXTERN(int) 54 lzo1z_decompress ( const lzo_bytep src, lzo_uint src_len, 55 lzo_bytep dst, lzo_uintp dst_len, 56 lzo_voidp wrkmem /* NOT USED */ ); 57 58 /* safe decompression with overrun testing */ 59 LZO_EXTERN(int) 60 lzo1z_decompress_safe ( const lzo_bytep src, lzo_uint src_len, 61 lzo_bytep dst, lzo_uintp dst_len, 62 lzo_voidp wrkmem /* NOT USED */ ); 63 64 65 /*********************************************************************** 66 // better compression ratio at the cost of more memory and time 67 ************************************************************************/ 68 69 #define LZO1Z_999_MEM_COMPRESS ((lzo_uint32_t) (14 * 16384L * sizeof(short))) 70 71 LZO_EXTERN(int) 72 lzo1z_999_compress ( const lzo_bytep src, lzo_uint src_len, 73 lzo_bytep dst, lzo_uintp dst_len, 74 lzo_voidp wrkmem ); 75 76 77 /*********************************************************************** 78 // 79 ************************************************************************/ 80 81 LZO_EXTERN(int) 82 lzo1z_999_compress_dict ( const lzo_bytep src, lzo_uint src_len, 83 lzo_bytep dst, lzo_uintp dst_len, 84 lzo_voidp wrkmem, 85 const lzo_bytep dict, lzo_uint dict_len ); 86 87 LZO_EXTERN(int) 88 lzo1z_999_compress_level ( const lzo_bytep src, lzo_uint src_len, 89 lzo_bytep dst, lzo_uintp dst_len, 90 lzo_voidp wrkmem, 91 const lzo_bytep dict, lzo_uint dict_len, 92 lzo_callback_p cb, 93 int compression_level ); 94 95 LZO_EXTERN(int) 96 lzo1z_decompress_dict_safe ( const lzo_bytep src, lzo_uint src_len, 97 lzo_bytep dst, lzo_uintp dst_len, 98 lzo_voidp wrkmem /* NOT USED */, 99 const lzo_bytep dict, lzo_uint dict_len ); 100 101 102 #ifdef __cplusplus 103 } /* extern "C" */ 104 #endif 105 106 #endif /* already included */ 107 108 109 /* vim:set ts=4 et: */ 110