libsigrok  unreleased development snapshot
sigrok hardware access and backend library
minilzo.h
Go to the documentation of this file.
1 /* minilzo.h -- mini subset of the LZO real-time data compression library
2 
3  This file is part of the LZO real-time data compression library.
4 
5  Copyright (C) 1996-2017 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@oberhumer.com>
25  http://www.oberhumer.com/opensource/lzo/
26  */
27 
28 /*
29  * NOTE:
30  * the full LZO package can be found at
31  * http://www.oberhumer.com/opensource/lzo/
32  */
33 
34 
35 #ifndef __MINILZO_H_INCLUDED
36 #define __MINILZO_H_INCLUDED 1
37 
38 #define MINILZO_VERSION 0x20a0 /* 2.10 */
39 
40 #if defined(__LZOCONF_H_INCLUDED)
41 # error "you cannot use both LZO and miniLZO"
42 #endif
43 
44 /* internal Autoconf configuration file - only used when building miniLZO */
45 #ifdef MINILZO_HAVE_CONFIG_H
46 # include <config.h>
47 #endif
48 #include <limits.h>
49 #include <stddef.h>
50 
51 #ifndef __LZODEFS_H_INCLUDED
52 #include "lzodefs.h"
53 #endif
54 #undef LZO_HAVE_CONFIG_H
55 #include "lzoconf.h"
56 
57 #if !defined(LZO_VERSION) || (LZO_VERSION != MINILZO_VERSION)
58 # error "version mismatch in header files"
59 #endif
60 
61 
62 #ifdef __cplusplus
63 extern "C" {
64 #endif
65 
66 
67 /***********************************************************************
68 //
69 ************************************************************************/
70 
71 /* Memory required for the wrkmem parameter.
72  * When the required size is 0, you can also pass a NULL pointer.
73  */
74 
75 #define LZO1X_MEM_COMPRESS LZO1X_1_MEM_COMPRESS
76 #define LZO1X_1_MEM_COMPRESS ((lzo_uint32_t) (16384L * lzo_sizeof_dict_t))
77 #define LZO1X_MEM_DECOMPRESS (0)
78 
79 
80 /* compression */
81 LZO_EXTERN(int)
84  lzo_voidp wrkmem );
85 
86 /* decompression */
87 LZO_EXTERN(int)
88 lzo1x_decompress ( const lzo_bytep src, lzo_uint src_len,
89  lzo_bytep dst, lzo_uintp dst_len,
90  lzo_voidp wrkmem /* NOT USED */ );
91 
92 /* safe decompression with overrun testing */
93 LZO_EXTERN(int)
94 lzo1x_decompress_safe ( const lzo_bytep src, lzo_uint src_len,
95  lzo_bytep dst, lzo_uintp dst_len,
96  lzo_voidp wrkmem /* NOT USED */ );
97 
98 
99 #ifdef __cplusplus
100 } /* extern "C" */
101 #endif
102 
103 #endif /* already included */
104 
105 
106 /* vim:set ts=4 sw=4 et: */
lzo_uint src_len
Definition: lzoconf.h:245
lzo1x_decompress(const lzo_bytep src, lzo_uint src_len, lzo_bytep dst, lzo_uintp dst_len, lzo_voidp wrkmem)
lzo_uint lzo_bytep lzo_uintp dst_len
Definition: lzoconf.h:245
lzo1x_1_compress(const lzo_bytep src, lzo_uint src_len, lzo_bytep dst, lzo_uintp dst_len, lzo_voidp wrkmem)
lzo1x_decompress_safe(const lzo_bytep src, lzo_uint src_len, lzo_bytep dst, lzo_uintp dst_len, lzo_voidp wrkmem)
lzo_uint lzo_bytep dst
Definition: lzoconf.h:245
#define LZO_EXTERN(r)
lzo_uint lzo_bytep lzo_uintp lzo_voidp wrkmem
Definition: lzoconf.h:245
#define lzo_uintp
typedef lzo_voidp(__LZO_CDECL *lzo_alloc_func_t)(lzo_callback_p self
unsigned long lzo_uint
Definition: lzoconf.h:116
#define lzo_bytep