diff options
Diffstat (limited to 'doc/lzlib.info')
-rw-r--r-- | doc/lzlib.info | 125 |
1 files changed, 70 insertions, 55 deletions
diff --git a/doc/lzlib.info b/doc/lzlib.info index 84e0501..47460f9 100644 --- a/doc/lzlib.info +++ b/doc/lzlib.info @@ -3,7 +3,7 @@ lzlib.texinfo. INFO-DIR-SECTION Data Compression START-INFO-DIR-ENTRY -* Lzlib: (lzlib). A compression library for lzip files +* Lzlib: (lzlib). Compression library for lzip files END-INFO-DIR-ENTRY @@ -12,22 +12,22 @@ File: lzlib.info, Node: Top, Next: Introduction, Up: (dir) Lzlib Manual ************ -This manual is for Lzlib (version 1.4, 28 May 2013). +This manual is for Lzlib (version 1.5-rc1, 28 July 2013). * Menu: * Introduction:: Purpose and features of Lzlib -* Library Version:: Checking library version +* Library version:: Checking library version * Buffering:: Sizes of Lzlib's buffers -* Parameter Limits:: Min / max values for some parameters -* Compression Functions:: Descriptions of the compression functions -* Decompression Functions:: Descriptions of the decompression functions -* Error Codes:: Meaning of codes returned by functions -* Error Messages:: Error messages corresponding to error codes -* Data Format:: Detailed format of the compressed data +* Parameter limits:: Min / max values for some parameters +* Compression functions:: Descriptions of the compression functions +* Decompression functions:: Descriptions of the decompression functions +* Error codes:: Meaning of codes returned by functions +* Error messages:: Error messages corresponding to error codes +* Data format:: Detailed format of the compressed data * Examples:: A small tutorial with examples * Problems:: Reporting bugs -* Concept Index:: Index of concepts +* Concept index:: Index of concepts Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz. @@ -36,7 +36,7 @@ This manual is for Lzlib (version 1.4, 28 May 2013). copy, distribute and modify it. -File: lzlib.info, Node: Introduction, Next: Library Version, Prev: Top, Up: Top +File: lzlib.info, Node: Introduction, Next: Library version, Prev: Top, Up: Top 1 Introduction ************** @@ -46,6 +46,10 @@ and decompression functions, including integrity checking of the decompressed data. The compressed data format used by the library is the lzip format. Lzlib is written in C. + The lzip file format is designed for long-term data archiving. It is +clean, provides very safe 4 factor integrity checking, and is backed by +the recovery capabilities of lziprecover. + The functions and variables forming the interface of the compression library are declared in the file `lzlib.h'. Usage examples of the library are given in the files `main.c' and `bbexample.c' from the @@ -73,14 +77,23 @@ compressed data, so the library should never crash even in case of corrupted input. Lzlib implements a simplified version of the LZMA (Lempel-Ziv-Markov -chain-Algorithm) algorithm. The original LZMA algorithm was designed by -Igor Pavlov. For a description of the LZMA algorithm, see the Lzip -manual. +chain-Algorithm) algorithm. The high compression of LZMA comes from +combining two basic, well-proven compression ideas: sliding dictionaries +(LZ77/78) and markov models (the thing used by every compression +algorithm that uses a range encoder or similar order-0 entropy coder as +its last stage) with segregation of contexts according to what the bits +are used for. + + The ideas embodied in lzlib are due to (at least) the following +people: Abraham Lempel and Jacob Ziv (for the LZ algorithm), Andrey +Markov (for the definition of Markov chains), G.N.N. Martin (for the +definition of range encoding), Igor Pavlov (for putting all the above +together in LZMA), and Julian Seward (for bzip2's CLI). -File: lzlib.info, Node: Library Version, Next: Buffering, Prev: Introduction, Up: Top +File: lzlib.info, Node: Library version, Next: Buffering, Prev: Introduction, Up: Top -2 Library Version +2 Library version ***************** -- Function: const char * LZ_version ( void ) @@ -98,7 +111,7 @@ application. error( "bad library version" ); -File: lzlib.info, Node: Buffering, Next: Parameter Limits, Prev: Library Version, Up: Top +File: lzlib.info, Node: Buffering, Next: Parameter limits, Prev: Library version, Up: Top 3 Buffering *********** @@ -126,9 +139,9 @@ minimum sizes: member currently being decompressed or 64KiB, whichever is larger. -File: lzlib.info, Node: Parameter Limits, Next: Compression Functions, Prev: Buffering, Up: Top +File: lzlib.info, Node: Parameter limits, Next: Compression functions, Prev: Buffering, Up: Top -4 Parameter Limits +4 Parameter limits ****************** These functions provide minimum and maximum values for some parameters. @@ -155,9 +168,9 @@ Current values are shown in square brackets. Returns the largest valid match length limit [273]. -File: lzlib.info, Node: Compression Functions, Next: Decompression Functions, Prev: Parameter Limits, Up: Top +File: lzlib.info, Node: Compression functions, Next: Decompression functions, Prev: Parameter limits, Up: Top -5 Compression Functions +5 Compression functions *********************** These are the functions used to compress data. In case of error, all of @@ -254,7 +267,7 @@ calling `LZ_compress_errno' before using it. -- Function: enum LZ_Errno LZ_compress_errno ( struct LZ_Encoder * const ENCODER ) - Returns the current error code for ENCODER (*note Error Codes::). + Returns the current error code for ENCODER (*note Error codes::). -- Function: int LZ_compress_finished ( struct LZ_Encoder * const ENCODER ) @@ -287,9 +300,9 @@ calling `LZ_compress_errno' before using it. perhaps not yet read. -File: lzlib.info, Node: Decompression Functions, Next: Error Codes, Prev: Compression Functions, Up: Top +File: lzlib.info, Node: Decompression functions, Next: Error codes, Prev: Compression functions, Up: Top -6 Decompression Functions +6 Decompression functions ************************* These are the functions used to decompress data. In case of error, all @@ -370,7 +383,7 @@ verified by calling `LZ_decompress_errno' before using it. -- Function: enum LZ_Errno LZ_decompress_errno ( struct LZ_Decoder * const DECODER ) - Returns the current error code for DECODER (*note Error Codes::). + Returns the current error code for DECODER (*note Error codes::). -- Function: int LZ_decompress_finished ( struct LZ_Decoder * const DECODER ) @@ -419,9 +432,9 @@ verified by calling `LZ_decompress_errno' before using it. but perhaps not yet read. -File: lzlib.info, Node: Error Codes, Next: Error Messages, Prev: Decompression Functions, Up: Top +File: lzlib.info, Node: Error codes, Next: Error messages, Prev: Decompression functions, Up: Top -7 Error Codes +7 Error codes ************* Most library functions return -1 to indicate that they have failed. But @@ -471,9 +484,9 @@ whether a call failed. If the call failed, then you can examine Problems::). -File: lzlib.info, Node: Error Messages, Next: Data Format, Prev: Error Codes, Up: Top +File: lzlib.info, Node: Error messages, Next: Data format, Prev: Error codes, Up: Top -8 Error Messages +8 Error messages **************** -- Function: const char * LZ_strerror ( const enum LZ_Errno LZ_ERRNO ) @@ -487,9 +500,9 @@ File: lzlib.info, Node: Error Messages, Next: Data Format, Prev: Error Codes, `LZ_(de)compress_errno'. -File: lzlib.info, Node: Data Format, Next: Examples, Prev: Error Messages, Up: Top +File: lzlib.info, Node: Data format, Next: Examples, Prev: Error messages, Up: Top -9 Data Format +9 Data format ************* Perfection is reached, not when there is no longer anything to add, but @@ -545,6 +558,8 @@ with no additional information before, between, or after them. The lzma stream, finished by an end of stream marker. Uses default values for encoder properties. See the lzip manual for a full description. + Lzip only uses the LZMA marker `2' ("End Of Stream" marker). Lzlib + also uses the LZMA marker `3' ("Sync Flush" marker). `CRC32 (4 bytes)' CRC of the uncompressed original data. @@ -560,7 +575,7 @@ with no additional information before, between, or after them. -File: lzlib.info, Node: Examples, Next: Problems, Prev: Data Format, Up: Top +File: lzlib.info, Node: Examples, Next: Problems, Prev: Data format, Up: Top 10 A small tutorial with examples ********************************* @@ -680,7 +695,7 @@ next member in case of data error. 7) LZ_decompress_close -File: lzlib.info, Node: Problems, Next: Concept Index, Prev: Examples, Up: Top +File: lzlib.info, Node: Problems, Next: Concept index, Prev: Examples, Up: Top 11 Reporting Bugs ***************** @@ -696,9 +711,9 @@ by running `minilzip --version' or in `LZ_version_string' from `lzlib.h'. -File: lzlib.info, Node: Concept Index, Prev: Problems, Up: Top +File: lzlib.info, Node: Concept index, Prev: Problems, Up: Top -Concept Index +Concept index ************* @@ -706,34 +721,34 @@ Concept Index * buffering: Buffering. (line 6) * bugs: Problems. (line 6) -* compression functions: Compression Functions. (line 6) -* data format: Data Format. (line 6) -* decompression functions: Decompression Functions. +* compression functions: Compression functions. (line 6) +* data format: Data format. (line 6) +* decompression functions: Decompression functions. (line 6) -* error codes: Error Codes. (line 6) -* error messages: Error Messages. (line 6) +* error codes: Error codes. (line 6) +* error messages: Error messages. (line 6) * examples: Examples. (line 6) * getting help: Problems. (line 6) * introduction: Introduction. (line 6) -* library version: Library Version. (line 6) -* parameter limits: Parameter Limits. (line 6) +* library version: Library version. (line 6) +* parameter limits: Parameter limits. (line 6) Tag Table: -Node: Top219 -Node: Introduction1319 -Node: Library Version3165 -Node: Buffering3810 -Node: Parameter Limits4929 -Node: Compression Functions5886 -Node: Decompression Functions12096 -Node: Error Codes18257 -Node: Error Messages20196 -Node: Data Format20775 -Node: Examples23268 -Node: Problems27351 -Node: Concept Index27923 +Node: Top217 +Node: Introduction1322 +Node: Library version3903 +Node: Buffering4548 +Node: Parameter limits5667 +Node: Compression functions6624 +Node: Decompression functions12834 +Node: Error codes18995 +Node: Error messages20934 +Node: Data format21513 +Node: Examples24136 +Node: Problems28219 +Node: Concept index28791 End Tag Table |