1 /* lzo1a.h -- public interface of the LZO1A 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 __LZO1A_H_INCLUDED 30 #define __LZO1A_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 LZO1A_MEM_COMPRESS ((lzo_uint32_t) (8192L * lzo_sizeof_dict_t)) 50 #define LZO1A_MEM_DECOMPRESS (0) 51 52 53 LZO_EXTERN(int) 54 lzo1a_compress ( const lzo_bytep src, lzo_uint src_len, 55 lzo_bytep dst, lzo_uintp dst_len, 56 lzo_voidp wrkmem ); 57 58 LZO_EXTERN(int) 59 lzo1a_decompress ( const lzo_bytep src, lzo_uint src_len, 60 lzo_bytep dst, lzo_uintp dst_len, 61 lzo_voidp wrkmem /* NOT USED */ ); 62 63 64 /*********************************************************************** 65 // better compression ratio at the cost of more memory and time 66 ************************************************************************/ 67 68 #define LZO1A_99_MEM_COMPRESS ((lzo_uint32_t) (65536L * lzo_sizeof_dict_t)) 69 70 LZO_EXTERN(int) 71 lzo1a_99_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 #ifdef __cplusplus 78 } /* extern "C" */ 79 #endif 80 81 #endif /* already included */ 82 83 84 /* vim:set ts=4 et: */ 85