aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/api
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2009-04-13 11:27:40 +0300
committerLasse Collin <lasse.collin@tukaani.org>2009-04-13 11:27:40 +0300
commit02ddf09bc3079b3e17297729b9e43f14d407b8fc (patch)
tree4a3b92a91c5eacbd7ea6229dd02ffeae6688b02f /src/liblzma/api
parentFix off-by-one in LZ decoder. (diff)
downloadxz-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.am13
-rw-r--r--src/liblzma/api/lzma.h38
-rw-r--r--src/liblzma/api/lzma/base.h20
-rw-r--r--src/liblzma/api/lzma/bcj.h18
-rw-r--r--src/liblzma/api/lzma/block.h18
-rw-r--r--src/liblzma/api/lzma/check.h18
-rw-r--r--src/liblzma/api/lzma/container.h18
-rw-r--r--src/liblzma/api/lzma/delta.h18
-rw-r--r--src/liblzma/api/lzma/filter.h18
-rw-r--r--src/liblzma/api/lzma/index.h18
-rw-r--r--src/liblzma/api/lzma/index_hash.h22
-rw-r--r--src/liblzma/api/lzma/lzma.h18
-rw-r--r--src/liblzma/api/lzma/stream_flags.h18
-rw-r--r--src/liblzma/api/lzma/subblock.h18
-rw-r--r--src/liblzma/api/lzma/version.h18
-rw-r--r--src/liblzma/api/lzma/vli.h46
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.
*