diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2009-04-13 11:27:40 +0300 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2009-04-13 11:27:40 +0300 |
commit | 02ddf09bc3079b3e17297729b9e43f14d407b8fc (patch) | |
tree | 4a3b92a91c5eacbd7ea6229dd02ffeae6688b02f /src/liblzma/api | |
parent | Fix off-by-one in LZ decoder. (diff) | |
download | xz-02ddf09bc3079b3e17297729b9e43f14d407b8fc.tar.xz |
Put the interesting parts of XZ Utils into the public domain.
Some minor documentation cleanups were made at the same time.
Diffstat (limited to '')
-rw-r--r-- | src/liblzma/api/Makefile.am | 13 | ||||
-rw-r--r-- | src/liblzma/api/lzma.h | 38 | ||||
-rw-r--r-- | src/liblzma/api/lzma/base.h | 20 | ||||
-rw-r--r-- | src/liblzma/api/lzma/bcj.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/block.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/check.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/container.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/delta.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/filter.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/index.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/index_hash.h | 22 | ||||
-rw-r--r-- | src/liblzma/api/lzma/lzma.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/stream_flags.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/subblock.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/version.h | 18 | ||||
-rw-r--r-- | src/liblzma/api/lzma/vli.h | 46 |
16 files changed, 139 insertions, 198 deletions
diff --git a/src/liblzma/api/Makefile.am b/src/liblzma/api/Makefile.am index 12953c41..0992d221 100644 --- a/src/liblzma/api/Makefile.am +++ b/src/liblzma/api/Makefile.am @@ -1,15 +1,8 @@ ## -## Copyright (C) 2007 Lasse Collin +## Author: Lasse Collin ## -## This library is free software; you can redistribute it and/or -## modify it under the terms of the GNU Lesser General Public -## License as published by the Free Software Foundation; either -## version 2.1 of the License, or (at your option) any later version. -## -## This library is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -## Lesser General Public License for more details. +## This file has been put into the public domain. +## You can do whatever you want with this file. ## nobase_include_HEADERS = \ diff --git a/src/liblzma/api/lzma.h b/src/liblzma/api/lzma.h index 7cab3909..97e02958 100644 --- a/src/liblzma/api/lzma.h +++ b/src/liblzma/api/lzma.h @@ -1,22 +1,30 @@ /** - * \file lzma.h - * \brief The public API of liblzma + * \file api/lzma.h + * \brief The public API of liblzma data compression library * - * liblzma is a LZMA compression library with a zlib-like API. - * liblzma is based on LZMA SDK found from http://7-zip.org/sdk.html. + * liblzma is a public domain general-purpose data compression library with + * a zlib-like API. The native file format is .xz, but also the old .lzma + * format and raw (no headers) streams are supported. Multiple compression + * algorithms (filters) are supported. Currently LZMA2 is the primary filter. * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin + * liblzma is part of XZ Utils <http://tukaani.org/xz/>. XZ Utils includes + * a gzip-like command line tool named xz and some other tools. XZ Utils + * is developed and maintained by Lasse Collin. * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * Major parts of liblzma are based on Igor Pavlov's public domain LZMA SDK + * <http://7-zip.org/sdk.html>. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * The SHA-256 implementation is based on the public domain code found from + * 7-Zip <http://7-zip.org/>, which has a modified version of the public + * domain SHA-256 code found from Crypto++ <http://www.cryptopp.com/>. + * The SHA-256 code in Crypto++ was written by Kevin Springle and Wei Dai. + */ + +/* + * Author: Lasse Collin + * + * This file has been put into the public domain. + * You can do whatever you want with this file. */ #ifndef LZMA_H @@ -26,7 +34,7 @@ * Required standard headers * *****************************/ -/** +/* * liblzma API headers need some standard types and macros. To allow * including lzma.h without requiring the application to include other * headers first, lzma.h includes the required standard headers unless diff --git a/src/liblzma/api/lzma/base.h b/src/liblzma/api/lzma/base.h index d18088db..e51de131 100644 --- a/src/liblzma/api/lzma/base.h +++ b/src/liblzma/api/lzma/base.h @@ -1,19 +1,15 @@ /** * \file lzma/base.h - * \brief Data types and functions used in many places of the public API - * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin + * \brief Data types and functions used in many places in liblzma API + */ + +/* + * Author: Lasse Collin * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/bcj.h b/src/liblzma/api/lzma/bcj.h index 33bd7da9..274bf6c7 100644 --- a/src/liblzma/api/lzma/bcj.h +++ b/src/liblzma/api/lzma/bcj.h @@ -1,19 +1,15 @@ /** * \file lzma/bcj.h * \brief Branch/Call/Jump conversion filters + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/block.h b/src/liblzma/api/lzma/block.h index ca154e95..566edce1 100644 --- a/src/liblzma/api/lzma/block.h +++ b/src/liblzma/api/lzma/block.h @@ -1,19 +1,15 @@ /** * \file lzma/block.h * \brief .xz Block handling + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/check.h b/src/liblzma/api/lzma/check.h index 4a09d98e..9d02c1c8 100644 --- a/src/liblzma/api/lzma/check.h +++ b/src/liblzma/api/lzma/check.h @@ -1,19 +1,15 @@ /** * \file lzma/check.h * \brief Integrity checks + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/container.h b/src/liblzma/api/lzma/container.h index b8085ac4..decdaad4 100644 --- a/src/liblzma/api/lzma/container.h +++ b/src/liblzma/api/lzma/container.h @@ -1,19 +1,15 @@ /** * \file lzma/container.h * \brief File formats + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2008 Igor Pavlov - * \author Copyright (C) 2007-2008 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/delta.h b/src/liblzma/api/lzma/delta.h index 963c7c0f..592fc4f8 100644 --- a/src/liblzma/api/lzma/delta.h +++ b/src/liblzma/api/lzma/delta.h @@ -1,19 +1,15 @@ /** * \file lzma/delta.h * \brief Delta filter + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/filter.h b/src/liblzma/api/lzma/filter.h index 534c3740..f70bf14e 100644 --- a/src/liblzma/api/lzma/filter.h +++ b/src/liblzma/api/lzma/filter.h @@ -1,19 +1,15 @@ /** * \file lzma/filter.h * \brief Common filter related types + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/index.h b/src/liblzma/api/lzma/index.h index eb9aa87d..b59299ae 100644 --- a/src/liblzma/api/lzma/index.h +++ b/src/liblzma/api/lzma/index.h @@ -1,19 +1,15 @@ /** * \file lzma/index.h * \brief Handling of .xz Index lists + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/index_hash.h b/src/liblzma/api/lzma/index_hash.h index 22e89d34..d2276646 100644 --- a/src/liblzma/api/lzma/index_hash.h +++ b/src/liblzma/api/lzma/index_hash.h @@ -1,23 +1,15 @@ /** * \file lzma/index_hash.h * \brief Validates Index by using a hash function + */ + +/* + * Author: Lasse Collin * - * Instead of constructing complete Index while decoding Blocks, Index hash - * calculates a hash of the Block sizes and Index, and then compares the - * hashes. This way memory usage is constant even with large number of - * Blocks and huge Index. - * - * \author Copyright (C) 2008 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/lzma.h b/src/liblzma/api/lzma/lzma.h index e0ba45bf..d6147187 100644 --- a/src/liblzma/api/lzma/lzma.h +++ b/src/liblzma/api/lzma/lzma.h @@ -1,19 +1,15 @@ /** * \file lzma/lzma.h * \brief LZMA1 and LZMA2 filters + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/stream_flags.h b/src/liblzma/api/lzma/stream_flags.h index 52f88eac..ab88cdb2 100644 --- a/src/liblzma/api/lzma/stream_flags.h +++ b/src/liblzma/api/lzma/stream_flags.h @@ -1,19 +1,15 @@ /** * \file lzma/stream_flags.h * \brief .xz Stream Header and Stream Footer encoder and decoder + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/subblock.h b/src/liblzma/api/lzma/subblock.h index b9a3025b..4ffb0498 100644 --- a/src/liblzma/api/lzma/subblock.h +++ b/src/liblzma/api/lzma/subblock.h @@ -1,19 +1,15 @@ /** * \file lzma/subblock.h * \brief Subblock filter + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/version.h b/src/liblzma/api/lzma/version.h index 599c2cde..27d673e1 100644 --- a/src/liblzma/api/lzma/version.h +++ b/src/liblzma/api/lzma/version.h @@ -1,19 +1,15 @@ /** * \file lzma/version.h * \brief Version number + */ + +/* + * Author: Lasse Collin * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * This file has been put into the public domain. + * You can do whatever you want with this file. * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL diff --git a/src/liblzma/api/lzma/vli.h b/src/liblzma/api/lzma/vli.h index 6ab1d183..31c53616 100644 --- a/src/liblzma/api/lzma/vli.h +++ b/src/liblzma/api/lzma/vli.h @@ -2,18 +2,25 @@ * \file lzma/vli.h * \brief Variable-length integer handling * - * \author Copyright (C) 1999-2006 Igor Pavlov - * \author Copyright (C) 2007 Lasse Collin - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * In the .xz format, most integers are encoded in a variable-length + * representation, which is sometimes called little endian base-128 encoding. + * This saves space when smaller values are more likely than bigger values. + * + * The encoding scheme encodes seven bits to every byte, using minimum + * number of bytes required to represent the given value. Encodings that use + * non-minimum number of bytes are invalid, thus every integer has exactly + * one encoded representation. The maximum number of bits in a VLI is 63, + * thus the vli argument must be at maximum of UINT64_MAX / 2. You should + * use LZMA_VLI_MAX for clarity. + */ + +/* + * Author: Lasse Collin + * + * This file has been put into the public domain. + * You can do whatever you want with this file. + * + * See ../lzma.h for information about liblzma as a whole. */ #ifndef LZMA_H_INTERNAL @@ -71,18 +78,7 @@ typedef uint64_t lzma_vli; /** - * \brief Encodes variable-length integer - * - * In the .xz format, most integers are encoded in a variable-length - * representation, which is sometimes called little endian base-128 encoding. - * This saves space when smaller values are more likely than bigger values. - * - * The encoding scheme encodes seven bits to every byte, using minimum - * number of bytes required to represent the given value. Encodings that use - * non-minimum number of bytes are invalid, thus every integer has exactly - * one encoded representation. The maximum number of bits in a VLI is 63, - * thus the vli argument must be at maximum of UINT64_MAX / 2. You should - * use LZMA_VLI_MAX for clarity. + * \brief Encode a variable-length integer * * This function has two modes: single-call and multi-call. Single-call mode * encodes the whole integer at once; it is an error if the output buffer is @@ -123,7 +119,7 @@ extern LZMA_API(lzma_ret) lzma_vli_encode(lzma_vli vli, /** - * \brief Decodes variable-length integer + * \brief Decode a variable-length integer * * Like lzma_vli_encode(), this function has single-call and multi-call modes. * |