[1] | 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-----
|
---|