Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:04:56

0001 /* lzo1b.h -- public interface of the LZO1B compression algorithm
0002 
0003    This file is part of the LZO real-time data compression library.
0004 
0005    Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
0006    All Rights Reserved.
0007 
0008    The LZO library is free software; you can redistribute it and/or
0009    modify it under the terms of the GNU General Public License as
0010    published by the Free Software Foundation; either version 2 of
0011    the License, or (at your option) any later version.
0012 
0013    The LZO library is distributed in the hope that it will be useful,
0014    but WITHOUT ANY WARRANTY; without even the implied warranty of
0015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0016    GNU General Public License for more details.
0017 
0018    You should have received a copy of the GNU General Public License
0019    along with the LZO library; see the file COPYING.
0020    If not, write to the Free Software Foundation, Inc.,
0021    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0022 
0023    Markus F.X.J. Oberhumer
0024    <markus@oberhumer.com>
0025    http://www.oberhumer.com/opensource/lzo/
0026  */
0027 
0028 
0029 #ifndef __LZO1B_H_INCLUDED
0030 #define __LZO1B_H_INCLUDED 1
0031 
0032 #ifndef __LZOCONF_H_INCLUDED
0033 #include <lzo/lzoconf.h>
0034 #endif
0035 
0036 #ifdef __cplusplus
0037 extern "C" {
0038 #endif
0039 
0040 
0041 /***********************************************************************
0042 //
0043 ************************************************************************/
0044 
0045 /* Memory required for the wrkmem parameter.
0046  * When the required size is 0, you can also pass a NULL pointer.
0047  */
0048 
0049 #define LZO1B_MEM_COMPRESS      ((lzo_uint32_t) (16384L * lzo_sizeof_dict_t))
0050 #define LZO1B_MEM_DECOMPRESS    (0)
0051 
0052 
0053 /* compression levels */
0054 #define LZO1B_BEST_SPEED             1
0055 #define LZO1B_BEST_COMPRESSION       9
0056 #define LZO1B_DEFAULT_COMPRESSION  (-1)     /* fastest by default */
0057 
0058 
0059 LZO_EXTERN(int)
0060 lzo1b_compress          ( const lzo_bytep src, lzo_uint  src_len,
0061                                 lzo_bytep dst, lzo_uintp dst_len,
0062                                 lzo_voidp wrkmem,
0063                                 int compression_level );
0064 
0065 /* decompression */
0066 LZO_EXTERN(int)
0067 lzo1b_decompress        ( const lzo_bytep src, lzo_uint  src_len,
0068                                 lzo_bytep dst, lzo_uintp dst_len,
0069                                 lzo_voidp wrkmem /* NOT USED */ );
0070 
0071 /* safe decompression with overrun testing */
0072 LZO_EXTERN(int)
0073 lzo1b_decompress_safe   ( const lzo_bytep src, lzo_uint  src_len,
0074                                 lzo_bytep dst, lzo_uintp dst_len,
0075                                 lzo_voidp wrkmem /* NOT USED */ );
0076 
0077 
0078 /***********************************************************************
0079 //
0080 ************************************************************************/
0081 
0082 LZO_EXTERN(int)
0083 lzo1b_1_compress        ( const lzo_bytep src, lzo_uint  src_len,
0084                                 lzo_bytep dst, lzo_uintp dst_len,
0085                                 lzo_voidp wrkmem );
0086 LZO_EXTERN(int)
0087 lzo1b_2_compress        ( const lzo_bytep src, lzo_uint  src_len,
0088                                 lzo_bytep dst, lzo_uintp dst_len,
0089                                 lzo_voidp wrkmem );
0090 LZO_EXTERN(int)
0091 lzo1b_3_compress        ( const lzo_bytep src, lzo_uint  src_len,
0092                                 lzo_bytep dst, lzo_uintp dst_len,
0093                                 lzo_voidp wrkmem );
0094 LZO_EXTERN(int)
0095 lzo1b_4_compress        ( const lzo_bytep src, lzo_uint  src_len,
0096                                 lzo_bytep dst, lzo_uintp dst_len,
0097                                 lzo_voidp wrkmem );
0098 LZO_EXTERN(int)
0099 lzo1b_5_compress        ( const lzo_bytep src, lzo_uint  src_len,
0100                                 lzo_bytep dst, lzo_uintp dst_len,
0101                                 lzo_voidp wrkmem );
0102 LZO_EXTERN(int)
0103 lzo1b_6_compress        ( const lzo_bytep src, lzo_uint  src_len,
0104                                 lzo_bytep dst, lzo_uintp dst_len,
0105                                 lzo_voidp wrkmem );
0106 LZO_EXTERN(int)
0107 lzo1b_7_compress        ( const lzo_bytep src, lzo_uint  src_len,
0108                                 lzo_bytep dst, lzo_uintp dst_len,
0109                                 lzo_voidp wrkmem );
0110 LZO_EXTERN(int)
0111 lzo1b_8_compress        ( const lzo_bytep src, lzo_uint  src_len,
0112                                 lzo_bytep dst, lzo_uintp dst_len,
0113                                 lzo_voidp wrkmem );
0114 LZO_EXTERN(int)
0115 lzo1b_9_compress        ( const lzo_bytep src, lzo_uint  src_len,
0116                                 lzo_bytep dst, lzo_uintp dst_len,
0117                                 lzo_voidp wrkmem );
0118 
0119 
0120 /***********************************************************************
0121 // better compression ratio at the cost of more memory and time
0122 ************************************************************************/
0123 
0124 #define LZO1B_99_MEM_COMPRESS   ((lzo_uint32_t) (65536L * lzo_sizeof_dict_t))
0125 
0126 LZO_EXTERN(int)
0127 lzo1b_99_compress       ( const lzo_bytep src, lzo_uint  src_len,
0128                                 lzo_bytep dst, lzo_uintp dst_len,
0129                                 lzo_voidp wrkmem );
0130 
0131 
0132 #define LZO1B_999_MEM_COMPRESS  ((lzo_uint32_t) (3 * 65536L * sizeof(lzo_xint)))
0133 
0134 LZO_EXTERN(int)
0135 lzo1b_999_compress      ( const lzo_bytep src, lzo_uint  src_len,
0136                                 lzo_bytep dst, lzo_uintp dst_len,
0137                                 lzo_voidp wrkmem );
0138 
0139 
0140 
0141 #ifdef __cplusplus
0142 } /* extern "C" */
0143 #endif
0144 
0145 #endif /* already included */
0146 
0147 
0148 /* vim:set ts=4 sw=4 et: */