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