1 /* lzo1f.h -- public interface of the LZO1F 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 __LZO1F_H_INCLUDED 30 #define __LZO1F_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 LZO1F_MEM_COMPRESS ((lzo_uint32_t) (16384L * lzo_sizeof_dict_t)) 50 #define LZO1F_MEM_DECOMPRESS (0) 51 52 53 /* decompression */ 54 LZO_EXTERN(int) 55 lzo1f_decompress ( const lzo_bytep src, lzo_uint src_len, 56 lzo_bytep dst, lzo_uintp dst_len, 57 lzo_voidp wrkmem /* NOT USED */ ); 58 59 /* safe decompression with overrun testing */ 60 LZO_EXTERN(int) 61 lzo1f_decompress_safe ( const lzo_bytep src, lzo_uint src_len, 62 lzo_bytep dst, lzo_uintp dst_len, 63 lzo_voidp wrkmem /* NOT USED */ ); 64 65 66 /*********************************************************************** 67 // 68 ************************************************************************/ 69 70 LZO_EXTERN(int) 71 lzo1f_1_compress ( const lzo_bytep src, lzo_uint src_len, 72 lzo_bytep dst, lzo_uintp dst_len, 73 lzo_voidp wrkmem ); 74 75 76 /*********************************************************************** 77 // better compression ratio at the cost of more memory and time 78 ************************************************************************/ 79 80 #define LZO1F_999_MEM_COMPRESS ((lzo_uint32_t) (5 * 16384L * sizeof(short))) 81 82 LZO_EXTERN(int) 83 lzo1f_999_compress ( const lzo_bytep src, lzo_uint src_len, 84 lzo_bytep dst, lzo_uintp dst_len, 85 lzo_voidp wrkmem ); 86 87 88 89 #ifdef __cplusplus 90 } /* extern "C" */ 91 #endif 92 93 #endif /* already included */ 94 95 96 /* vim:set ts=4 et: */ 97