]>
Commit | Line | Data |
---|---|---|
206f768c SP |
1 | -----BEGIN PGP SIGNED MESSAGE----- |
2 | Hash: SHA1 | |
3 | ||
4 | ||
5 | ============================================================================ | |
6 | miniLZO -- mini subset of the LZO real-time data compression library | |
7 | ============================================================================ | |
8 | ||
9 | Author : Markus Franz Xaver Johannes Oberhumer | |
10 | <markus@oberhumer.com> | |
11 | http://www.oberhumer.com/opensource/lzo/ | |
12 | Version : 1.08 | |
13 | Date : 12-Jul-2002 | |
14 | ||
15 | I've created miniLZO for projects where it is inconvenient to | |
16 | include (or require) the full LZO source code just because you | |
17 | want to add a little bit of data compression to your application. | |
18 | ||
19 | miniLZO implements the LZO1X-1 compressor and both the standard and | |
20 | safe LZO1X decompressor. Apart from fast compression it also useful | |
21 | for situations where you want to use pre-compressed data files (which | |
22 | must have been compressed with LZO1X-999). | |
23 | ||
24 | miniLZO consists of one C source file and two header files: | |
25 | minilzo.c | |
26 | minilzo.h | |
27 | lzoconf.h | |
28 | ||
29 | To use miniLZO just copy these files into your source directory, add | |
30 | minilzo.c to your Makefile and #include minilzo.h from your program. | |
31 | Note: you also must distribute this file (`README.LZO') with your project. | |
32 | ||
33 | minilzo.o compiles to about 6 kB (using gcc or Visual C on a i386), and | |
34 | the sources are about 14 kB when packed with zip - so there's no more | |
35 | excuse that your application doesn't support data compression :-) | |
36 | ||
37 | For more information, documentation, example programs and other support | |
38 | files (like Makefiles and build scripts) please download the full LZO | |
39 | package from | |
40 | http://www.oberhumer.com/opensource/lzo/ | |
41 | ||
42 | Have fun, | |
43 | Markus | |
44 | ||
45 | ||
46 | P.S. minilzo.c is generated automatically from the LZO sources and | |
47 | therefore functionality is completely identical | |
48 | ||
49 | ||
50 | Appendix A: building miniLZO | |
51 | ---------------------------- | |
52 | miniLZO is written such a way that it should compile and run | |
53 | out-of-the-box on most machines. | |
54 | ||
55 | If you are running on a very unusual architecture and lzo_init() fails then | |
56 | you should first recompile with `-DLZO_DEBUG' to see what causes the failure. | |
57 | The most probable case is something like `sizeof(char *) != sizeof(long)'. | |
58 | After identifying the problem you can compile by adding some defines | |
59 | like `-DSIZEOF_CHAR_P=8' to your Makefile. | |
60 | ||
61 | The best solution is (of course) using Autoconf - if your project uses | |
62 | Autoconf anyway just add `-DMINILZO_HAVE_CONFIG_H' to your compiler | |
63 | flags when compiling minilzo.c. See the LZO distribution for an example | |
64 | how to set up configure.in. | |
65 | ||
66 | ||
67 | Appendix B: list of public functions available in miniLZO | |
68 | --------------------------------------------------------- | |
69 | Library initialization | |
70 | lzo_init() | |
71 | ||
72 | Compression | |
73 | lzo1x_1_compress() | |
74 | ||
75 | Decompression | |
76 | lzo1x_decompress() | |
77 | lzo1x_decompress_safe() | |
78 | ||
79 | Checksum functions | |
80 | lzo_adler32() | |
81 | ||
82 | Version functions | |
83 | lzo_version() | |
84 | lzo_version_string() | |
85 | lzo_version_date() | |
86 | ||
87 | Portable (but slow) string functions | |
88 | lzo_memcmp() | |
89 | lzo_memcpy() | |
90 | lzo_memmove() | |
91 | lzo_memset() | |
92 | ||
93 | ||
94 | Appendix C: suggested macros for `configure.in' when using Autoconf | |
95 | ------------------------------------------------------------------- | |
96 | Checks for typedefs and structures | |
97 | AC_CHECK_TYPE(ptrdiff_t,long) | |
98 | AC_TYPE_SIZE_T | |
99 | AC_CHECK_SIZEOF(unsigned short) | |
100 | AC_CHECK_SIZEOF(unsigned) | |
101 | AC_CHECK_SIZEOF(unsigned long) | |
102 | AC_CHECK_SIZEOF(char *) | |
103 | AC_CHECK_SIZEOF(ptrdiff_t) | |
104 | AC_CHECK_SIZEOF(size_t) | |
105 | ||
106 | Checks for compiler characteristics | |
107 | AC_C_CONST | |
108 | ||
109 | Checks for library functions | |
110 | AC_CHECK_FUNCS(memcmp memcpy memmove memset) | |
111 | ||
112 | ||
113 | Appendix D: Copyright | |
114 | --------------------- | |
115 | LZO and miniLZO are Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 | |
116 | Markus Franz Xaver Johannes Oberhumer | |
117 | ||
118 | LZO and miniLZO are distributed under the terms of the GNU General | |
119 | Public License (GPL). See the file COPYING. | |
120 | ||
121 | Special licenses for commercial and other applications which | |
122 | are not willing to accept the GNU General Public License | |
123 | are available by contacting the author. | |
124 | ||
125 | ||
126 | ||
127 | -----BEGIN PGP SIGNATURE----- | |
128 | Version: GnuPG v1.0.7 (GNU/Linux) | |
129 | ||
130 | iD8DBQE9LPb4TWFXqwsgQ8kRAi/wAKCZ9Iej+voGhmKATaViOPS9chxGUwCgh5Dk | |
131 | uwMS2PQ7BXHT0vf4yz+3tTc= | |
132 | =PsNp | |
133 | -----END PGP SIGNATURE----- |