made the pack completely portable and wrote relevent bat files to go with it

This commit is contained in:
Draqoken
2025-04-09 17:04:56 +03:00
parent 5e77d7e9cf
commit 5e4144c3c0
7417 changed files with 2181044 additions and 19 deletions

View File

@@ -0,0 +1,58 @@
Authors of XZ Utils
===================
XZ Utils is developed and maintained by
Lasse Collin <lasse.collin@tukaani.org>.
Major parts of liblzma are based on code written by Igor Pavlov,
specifically the LZMA SDK <https://7-zip.org/sdk.html>. Without
this code, XZ Utils wouldn't exist.
The SHA-256 implementation in liblzma is based on code written by
Wei Dai in Crypto++ Library <https://www.cryptopp.com/>.
A few scripts have been adapted from GNU gzip. The original
versions were written by Jean-loup Gailly, Charles Levert, and
Paul Eggert. Andrew Dudman helped adapting the scripts and their
man pages for XZ Utils.
The initial version of the threaded .xz decompressor was written
by Sebastian Andrzej Siewior.
The initial version of the .lz (lzip) decoder was written
by Michał Górny.
Architecture-specific CRC optimizations were contributed by
Ilya Kurdyukov, Hans Jansen, and Chenxi Mao.
Other authors:
- Jonathan Nieder
- Joachim Henke
Special author: Jia Tan was a co-maintainer in 2022-2024. He and
the team behind him inserted a backdoor (CVE-2024-3094) into
XZ Utils 5.6.0 and 5.6.1 releases. He suddenly disappeared when
this was discovered.
Many people have contributed improvements or reported bugs.
Most of these people are mentioned in the file THANKS.
The translations of the command line tools and man pages have been
contributed by many people via the Translation Project:
- https://translationproject.org/domain/xz.html
- https://translationproject.org/domain/xz-man.html
The authors of the translated man pages are in the header comments
of the man page files. In the source package, the authors of the
translations are in po/*.po and po4a/*.po files.
Third-party code whose authors aren't listed here:
- GNU getopt_long() in the 'lib' directory is included for
platforms that don't have a usable getopt_long().
- The build system files from GNU Autoconf, GNU Automake,
GNU Libtool, GNU Gettext, Autoconf Archive, and related files.

View File

@@ -0,0 +1,83 @@
XZ Utils Licensing
==================
Different licenses apply to different files in this package. Here
is a summary of which licenses apply to which parts of this package:
- liblzma is under the BSD Zero Clause License (0BSD).
- The command line tools xz, xzdec, lzmadec, and lzmainfo are
under 0BSD except that, on systems that don't have a usable
getopt_long, GNU getopt_long is compiled and linked in from the
'lib' directory. The getopt_long code is under GNU LGPLv2.1+.
- The scripts to grep, diff, and view compressed files have been
adapted from GNU gzip. These scripts (xzgrep, xzdiff, xzless,
and xzmore) are under GNU GPLv2+. The man pages of the scripts
are under 0BSD; they aren't based on the man pages of GNU gzip.
- Most of the XZ Utils specific documentation that is in
plain text files (like README, INSTALL, PACKAGERS, NEWS,
and ChangeLog) are under 0BSD unless stated otherwise in
the file itself. The files xz-file-format.txt and
lzma-file-format.xt are in the public domain but may
be distributed under the terms of 0BSD too.
- Translated messages and man pages are under 0BSD except that
some old translations are in the public domain.
- Test files and test code in the 'tests' directory, and
debugging utilities in the 'debug' directory are under
the BSD Zero Clause License (0BSD).
- The GNU Autotools based build system contains files that are
under GNU GPLv2+, GNU GPLv3+, and a few permissive licenses.
These files don't affect the licensing of the binaries being
built.
- The 'extra' directory contains files that are under various
free software licenses. These aren't built or installed as
part of XZ Utils.
For the files under the BSD Zero Clause License (0BSD), if
a copyright notice is needed, the following is sufficient:
Copyright (C) The XZ Utils authors and contributors
If you copy significant amounts of 0BSD-licensed code from XZ Utils
into your project, acknowledging this somewhere in your software is
polite (especially if it is proprietary, non-free software), but
it is not legally required by the license terms. Here is an example
of a good notice to put into "about box" or into documentation:
This software includes code from XZ Utils <https://tukaani.org/xz/>.
The following license texts are included in the following files:
- COPYING.0BSD: BSD Zero Clause License
- COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1
- COPYING.GPLv2: GNU General Public License version 2
- COPYING.GPLv3: GNU General Public License version 3
A note about old XZ Utils releases:
XZ Utils releases 5.4.6 and older and 5.5.1alpha have a
significant amount of code put into the public domain and
that obviously remains so. The switch from public domain to
0BSD for newer releases was made in Febrary 2024 because
public domain has (real or perceived) legal ambiguities in
some jurisdictions.
There is very little *practical* difference between public
domain and 0BSD. The main difference likely is that one
shouldn't claim that 0BSD-licensed code is in the public
domain; 0BSD-licensed code is copyrighted but available under
an extremely permissive license. Neither 0BSD nor public domain
require retaining or reproducing author, copyright holder, or
license notices when distributing the software. (Compare to,
for example, BSD 2-Clause "Simplified" License which does have
such requirements.)
If you have questions, don't hesitate to ask for more information.
The contact information is in the README file.

View File

@@ -0,0 +1,11 @@
Permission to use, copy, modify, and/or distribute this
software for any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,310 @@
XZ Utils
========
0. Overview
1. Documentation
1.1. Overall documentation
1.2. Documentation for command-line tools
1.3. Documentation for liblzma
2. Version numbering
3. Reporting bugs
4. Translations
5. Other implementations of the .xz format
6. Contact information
0. Overview
-----------
XZ Utils provide a general-purpose data-compression library plus
command-line tools. The native file format is the .xz format, but
also the legacy .lzma format is supported. The .xz format supports
multiple compression algorithms, which are called "filters" in the
context of XZ Utils. The primary filter is currently LZMA2. With
typical files, XZ Utils create about 30 % smaller files than gzip.
To ease adapting support for the .xz format into existing applications
and scripts, the API of liblzma is somewhat similar to the API of the
popular zlib library. For the same reason, the command-line tool xz
has a command-line syntax similar to that of gzip.
When aiming for the highest compression ratio, the LZMA2 encoder uses
a lot of CPU time and may use, depending on the settings, even
hundreds of megabytes of RAM. However, in fast modes, the LZMA2 encoder
competes with bzip2 in compression speed, RAM usage, and compression
ratio.
LZMA2 is reasonably fast to decompress. It is a little slower than
gzip, but a lot faster than bzip2. Being fast to decompress means
that the .xz format is especially nice when the same file will be
decompressed very many times (usually on different computers), which
is the case e.g. when distributing software packages. In such
situations, it's not too bad if the compression takes some time,
since that needs to be done only once to benefit many people.
With some file types, combining (or "chaining") LZMA2 with an
additional filter can improve the compression ratio. A filter chain may
contain up to four filters, although usually only one or two are used.
For example, putting a BCJ (Branch/Call/Jump) filter before LZMA2
in the filter chain can improve compression ratio of executable files.
Since the .xz format allows adding new filter IDs, it is possible that
some day there will be a filter that is, for example, much faster to
compress than LZMA2 (but probably with worse compression ratio).
Similarly, it is possible that some day there is a filter that will
compress better than LZMA2.
XZ Utils supports multithreaded compression. XZ Utils doesn't support
multithreaded decompression yet. It has been planned though and taken
into account when designing the .xz file format. In the future, files
that were created in threaded mode can be decompressed in threaded
mode too.
1. Documentation
----------------
1.1. Overall documentation
README This file
INSTALL.generic Generic install instructions for those not
familiar with packages using GNU Autotools
INSTALL Installation instructions specific to XZ Utils
PACKAGERS Information to packagers of XZ Utils
COPYING XZ Utils copyright and license information
COPYING.0BSD BSD Zero Clause License
COPYING.GPLv2 GNU General Public License version 2
COPYING.GPLv3 GNU General Public License version 3
COPYING.LGPLv2.1 GNU Lesser General Public License version 2.1
AUTHORS The main authors of XZ Utils
THANKS Incomplete list of people who have helped making
this software
NEWS User-visible changes between XZ Utils releases
ChangeLog Detailed list of changes (commit log)
TODO Known bugs and some sort of to-do list
Note that only some of the above files are included in binary
packages.
1.2. Documentation for command-line tools
The command-line tools are documented as man pages. In source code
releases (and possibly also in some binary packages), the man pages
are also provided in plain text (ASCII only) format in the directory
"doc/man" to make the man pages more accessible to those whose
operating system doesn't provide an easy way to view man pages.
1.3. Documentation for liblzma
The liblzma API headers include short docs about each function
and data type as Doxygen tags. These docs should be quite OK as
a quick reference.
There are a few example/tutorial programs that should help in
getting started with liblzma. In the source package the examples
are in "doc/examples" and in binary packages they may be under
"examples" in the same directory as this README.
Since the liblzma API has similarities to the zlib API, some people
may find it useful to read the zlib docs and tutorial too:
https://zlib.net/manual.html
https://zlib.net/zlib_how.html
2. Version numbering
--------------------
The version number format of XZ Utils is X.Y.ZS:
- X is the major version. When this is incremented, the library
API and ABI break.
- Y is the minor version. It is incremented when new features
are added without breaking the existing API or ABI. An even Y
indicates a stable release and an odd Y indicates unstable
(alpha or beta version).
- Z is the revision. This has a different meaning for stable and
unstable releases:
* Stable: Z is incremented when bugs get fixed without adding
any new features. This is intended to be convenient for
downstream distributors that want bug fixes but don't want
any new features to minimize the risk of introducing new bugs.
* Unstable: Z is just a counter. API or ABI of features added
in earlier unstable releases having the same X.Y may break.
- S indicates stability of the release. It is missing from the
stable releases, where Y is an even number. When Y is odd, S
is either "alpha" or "beta" to make it very clear that such
versions are not stable releases. The same X.Y.Z combination is
not used for more than one stability level, i.e. after X.Y.Zalpha,
the next version can be X.Y.(Z+1)beta but not X.Y.Zbeta.
3. Reporting bugs
-----------------
Naturally it is easiest for me if you already know what causes the
unexpected behavior. Even better if you have a patch to propose.
However, quite often the reason for unexpected behavior is unknown,
so here are a few things to do before sending a bug report:
1. Try to create a small example how to reproduce the issue.
2. Compile XZ Utils with debugging code using configure switches
--enable-debug and, if possible, --disable-shared. If you are
using GCC, use CFLAGS='-O0 -ggdb3'. Don't strip the resulting
binaries.
3. Turn on core dumps. The exact command depends on your shell;
for example in GNU bash it is done with "ulimit -c unlimited",
and in tcsh with "limit coredumpsize unlimited".
4. Try to reproduce the suspected bug. If you get "assertion failed"
message, be sure to include the complete message in your bug
report. If the application leaves a coredump, get a backtrace
using gdb:
$ gdb /path/to/app-binary # Load the app to the debugger.
(gdb) core core # Open the coredump.
(gdb) bt # Print the backtrace. Copy & paste to bug report.
(gdb) quit # Quit gdb.
Report your bug via email or IRC (see Contact information below).
Don't send core dump files or any executables. If you have a small
example file(s) (total size less than 256 KiB), please include
it/them as an attachment. If you have bigger test files, put them
online somewhere and include a URL to the file(s) in the bug report.
Always include the exact version number of XZ Utils in the bug report.
If you are using a snapshot from the git repository, use "git describe"
to get the exact snapshot version. If you are using XZ Utils shipped
in an operating system distribution, mention the distribution name,
distribution version, and exact xz package version; if you cannot
repeat the bug with the code compiled from unpatched source code,
you probably need to report a bug to your distribution's bug tracking
system.
4. Translations
---------------
The xz command line tool and all man pages can be translated.
The translations are handled via the Translation Project. If you
wish to help translating xz, please join the Translation Project:
https://translationproject.org/html/translators.html
Below are notes and testing instructions specific to xz
translations.
Testing can be done by installing xz into a temporary directory:
./configure --disable-shared --prefix=/tmp/xz-test
# <Edit the .po file in the po directory.>
make -C po update-po
make install
bash debug/translation.bash | less
bash debug/translation.bash | less -S # For --list outputs
Repeat the above as needed (no need to re-run configure though).
Note especially the following:
- The output of --help and --long-help must look nice on
an 80-column terminal. It's OK to add extra lines if needed.
- In contrast, don't add extra lines to error messages and such.
They are often preceded with e.g. a filename on the same line,
so you have no way to predict where to put a \n. Let the terminal
do the wrapping even if it looks ugly. Adding new lines will be
even uglier in the generic case even if it looks nice in a few
limited examples.
- Be careful with column alignment in tables and table-like output
(--list, --list --verbose --verbose, --info-memory, --help, and
--long-help):
* All descriptions of options in --help should start in the
same column (but it doesn't need to be the same column as
in the English messages; just be consistent if you change it).
Check that both --help and --long-help look OK, since they
share several strings.
* --list --verbose and --info-memory print lines that have
the format "Description: %s". If you need a longer
description, you can put extra space between the colon
and %s. Then you may need to add extra space to other
strings too so that the result as a whole looks good (all
values start at the same column).
* The columns of the actual tables in --list --verbose --verbose
should be aligned properly. Abbreviate if necessary. It might
be good to keep at least 2 or 3 spaces between column headings
and avoid spaces in the headings so that the columns stand out
better, but this is a matter of opinion. Do what you think
looks best.
- Be careful to put a period at the end of a sentence when the
original version has it, and don't put it when the original
doesn't have it. Similarly, be careful with \n characters
at the beginning and end of the strings.
- Read the TRANSLATORS comments that have been extracted from the
source code and included in xz.pot. Some comments suggest
testing with a specific command which needs an .xz file. You
may use e.g. any tests/files/good-*.xz. However, these test
commands are included in translations.bash output, so reading
translations.bash output carefully can be enough.
- If you find language problems in the original English strings,
feel free to suggest improvements. Ask if something is unclear.
- The translated messages should be understandable (sometimes this
may be a problem with the original English messages too). Don't
make a direct word-by-word translation from English especially if
the result doesn't sound good in your language.
Thanks for your help!
5. Other implementations of the .xz format
------------------------------------------
7-Zip and the p7zip port of 7-Zip support the .xz format starting
from the version 9.00alpha.
https://7-zip.org/
https://p7zip.sourceforge.net/
XZ Embedded is a limited implementation written for use in the Linux
kernel, but it is also suitable for other embedded use.
https://tukaani.org/xz/embedded.html
XZ for Java is a complete implementation written in pure Java.
https://tukaani.org/xz/java.html
6. Contact information
----------------------
XZ Utils in general:
- Home page: https://tukaani.org/xz/
- Email to maintainer(s): xz@tukaani.org
- IRC: #tukaani on Libera Chat
- GitHub: https://github.com/tukaani-project/xz
Lead maintainer:
- Email: Lasse Collin <lasse.collin@tukaani.org>
- IRC: Larhzu on Libera Chat

View File

@@ -0,0 +1,207 @@
Thanks
======
Some people have helped more, some less, but nevertheless everyone's help
has been important. :-) In alphabetical order:
- Mark Adler
- Kian-Meng Ang
- H. Peter Anvin
- Jeff Bastian
- Nelson H. F. Beebe
- Karl Beldan
- Karl Berry
- Anders F. Björklund
- Emmanuel Blot
- Melanie Blower
- Alexander Bluhm
- Martin Blumenstingl
- Ben Boeckel
- Jakub Bogusz
- Adam Borowski
- Maarten Bosmans
- Lukas Braune
- Benjamin Buch
- Trent W. Buck
- Kevin R. Bulgrien
- James Buren
- David Burklund
- Frank Busse
- Daniel Mealha Cabrita
- Milo Casagrande
- Marek Černocký
- Tomer Chachamu
- Vitaly Chikunov
- Antoine Cœur
- Felix Collin
- Marcus Comstedt
- Gabi Davar
- İhsan Doğan
- Chris Donawa
- Andrew Dudman
- Markus Duft
- İsmail Dönmez
- Dexter Castor Döpping
- Paul Eggert
- Robert Elz
- Gilles Espinasse
- Denis Excoffier
- Vincent Fazio
- Michael Felt
- Michael Fox
- Andres Freund
- Mike Frysinger
- Daniel Richard G.
- Tomasz Gajc
- Bjarni Ingi Gislason
- John Paul Adrian Glaubitz
- Bill Glessner
- Matthew Good
- Michał Górny
- Jason Gorski
- Juan Manuel Guerrero
- Gabriela Gutierrez
- Diederik de Haas
- Joachim Henke
- Christian Hesse
- Vincenzo Innocente
- Peter Ivanov
- Nicholas Jackson
- Sam James
- Hajin Jang
- Hans Jansen
- Jouk Jansen
- Jun I Jin
- Christoph Junghans
- Kiyoshi Kanazawa
- Joona Kannisto
- Per Øyvind Karlsen
- Firas Khalil Khana
- Iouri Kharon
- Thomas Klausner
- Richard Koch
- Anton Kochkov
- Ville Koskinen
- Sergey Kosukhin
- Marcin Kowalczyk
- Jan Kratochvil
- Christian Kujau
- Stephan Kulow
- Ilya Kurdyukov
- Peter Lawler
- James M Leddy
- Kelvin Lee
- Vincent Lefevre
- Hin-Tak Leung
- Andraž 'ruskie' Levstik
- Cary Lewis
- Wim Lewis
- Xin Li
- Yifeng Li
- Eric Lindblad
- Lorenzo De Liso
- H.J. Lu
- Bela Lubkin
- Chenxi Mao
- Gregory Margo
- Julien Marrec
- Ed Maste
- Martin Matuška
- Ivan A. Melnikov
- Jim Meyering
- Arkadiusz Miskiewicz
- Nathan Moinvaziri
- Étienne Mollier
- Conley Moorhous
- Andrew Murray
- Rafał Mużyło
- Adrien Nader
- Evan Nemerson
- Alexander Neumann
- Hongbo Ni
- Jonathan Nieder
- Asgeir Storesund Nilsen
- Andre Noll
- Peter O'Gorman
- Dimitri Papadopoulos Orfanos
- Daniel Packard
- Filip Palian
- Peter Pallinger
- Kai Pastor
- Keith Patton
- Rui Paulo
- Igor Pavlov
- Diego Elio Pettenò
- Elbert Pol
- Mikko Pouru
- Frank Prochnow
- Rich Prohaska
- Trần Ngọc Quân
- Pavel Raiskup
- Ole André Vadla Ravnås
- Eric S. Raymond
- Robert Readman
- Bernhard Reutner-Fischer
- Markus Rickert
- Cristian Rodríguez
- Christian von Roques
- Boud Roukema
- Torsten Rupp
- Stephen Sachs
- Jukka Salmi
- Agostino Sarubbo
- Vijay Sarvepalli
- Alexandre Sauvé
- Benno Schulenberg
- Andreas Schwab
- Eli Schwartz
- Peter Seiderer
- Bhargava Shastry
- Dan Shechter
- Stuart Shelton
- Sebastian Andrzej Siewior
- Ville Skyttä
- Brad Smith
- Bruce Stark
- Pippijn van Steenhoven
- Tobias Stoeckmann
- Martin Storsjö
- Jonathan Stott
- Dan Stromberg
- Douglas Thor
- Vincent Torri
- Alexey Tourbin
- Paul Townsend
- Mohammed Adnène Trojette
- Orange Tsai
- Taiki Tsunekawa
- Mathieu Vachon
- Maksym Vatsyk
- Loganaden Velvindron
- Patrick J. Volkerding
- Martin Väth
- Adam Walling
- Jeffrey Walton
- Christian Weisgerber
- Dan Weiss
- Bert Wesarg
- Mark Wielaard
- Fredrik Wikstrom
- Jim Wilcoxson
- Ralf Wildenhues
- Charles Wilson
- Lars Wirzenius
- Pilorz Wojciech
- Chien Wong
- Ryan Young
- Andreas Zieringer
Companies:
- Google
- Sandfly Security
Also thanks to all the people who have participated in the Tukaani project.
I have probably forgot to add some names to the above list. Sorry about
that and thanks for your help.

View File

@@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): Data Structures</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('annotated.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">Data Structures</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlzma__allocator.html" target="_self">lzma_allocator</a></td><td class="desc">Custom functions for memory handling </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlzma__block.html" target="_self">lzma_block</a></td><td class="desc">Options for the Block and Block Header encoders and decoders </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlzma__filter.html" target="_self">lzma_filter</a></td><td class="desc">Filter options </td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlzma__index__iter.html" target="_self">lzma_index_iter</a></td><td class="desc">Iterator to get information about Blocks and Streams </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlzma__mt.html" target="_self">lzma_mt</a></td><td class="desc">Multithreading options </td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlzma__options__bcj.html" target="_self">lzma_options_bcj</a></td><td class="desc">Options for BCJ filters </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlzma__options__delta.html" target="_self">lzma_options_delta</a></td><td class="desc">Options for the Delta filter </td></tr>
<tr id="row_7_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlzma__options__lzma.html" target="_self">lzma_options_lzma</a></td><td class="desc">Options specific to the LZMA1 and LZMA2 filters </td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlzma__stream.html" target="_self">lzma_stream</a></td><td class="desc">Passing data to and from liblzma </td></tr>
<tr id="row_9_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlzma__stream__flags.html" target="_self">lzma_stream_flags</a></td><td class="desc">Options for encoding/decoding Stream Header and Stream Footer </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,13 @@
var annotated_dup =
[
[ "lzma_allocator", "structlzma__allocator.html", "structlzma__allocator" ],
[ "lzma_block", "structlzma__block.html", "structlzma__block" ],
[ "lzma_filter", "structlzma__filter.html", "structlzma__filter" ],
[ "lzma_index_iter", "structlzma__index__iter.html", "structlzma__index__iter" ],
[ "lzma_mt", "structlzma__mt.html", "structlzma__mt" ],
[ "lzma_options_bcj", "structlzma__options__bcj.html", "structlzma__options__bcj" ],
[ "lzma_options_delta", "structlzma__options__delta.html", "structlzma__options__delta" ],
[ "lzma_options_lzma", "structlzma__options__lzma.html", "structlzma__options__lzma" ],
[ "lzma_stream", "structlzma__stream.html", "structlzma__stream" ],
[ "lzma_stream_flags", "structlzma__stream__flags.html", "structlzma__stream__flags" ]
];

View File

@@ -0,0 +1,616 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma/base.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('base_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">base.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Data types and functions used in many places in liblzma API.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlzma__allocator.html">lzma_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom functions for memory handling. <a href="structlzma__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlzma__stream.html">lzma_stream</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Passing data to and from liblzma. <a href="structlzma__stream.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:af31f0c8b6f14359cd082b9559f7f3e01" id="r_af31f0c8b6f14359cd082b9559f7f3e01"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af31f0c8b6f14359cd082b9559f7f3e01">LZMA_STREAM_INIT</a></td></tr>
<tr class="memdesc:af31f0c8b6f14359cd082b9559f7f3e01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization for <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a>. <br /></td></tr>
<tr class="separator:af31f0c8b6f14359cd082b9559f7f3e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:abbc819c74b484c846825ae1388a50a59" id="r_abbc819c74b484c846825ae1388a50a59"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abbc819c74b484c846825ae1388a50a59">lzma_bool</a></td></tr>
<tr class="memdesc:abbc819c74b484c846825ae1388a50a59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Boolean. <br /></td></tr>
<tr class="separator:abbc819c74b484c846825ae1388a50a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1a60127c640135687a5bcc232cec906" id="r_ab1a60127c640135687a5bcc232cec906"><td class="memItemLeft" align="right" valign="top">typedef struct lzma_internal_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab1a60127c640135687a5bcc232cec906">lzma_internal</a></td></tr>
<tr class="memdesc:ab1a60127c640135687a5bcc232cec906"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal data structure. <br /></td></tr>
<tr class="separator:ab1a60127c640135687a5bcc232cec906"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a05805a07754b2aa22f7d443eb7ece41a" id="r_a05805a07754b2aa22f7d443eb7ece41a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a05805a07754b2aa22f7d443eb7ece41a">lzma_reserved_enum</a> { <b>LZMA_RESERVED_ENUM</b> = 0
}</td></tr>
<tr class="memdesc:a05805a07754b2aa22f7d443eb7ece41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of reserved enumeration variable in structures. <a href="#a05805a07754b2aa22f7d443eb7ece41a">More...</a><br /></td></tr>
<tr class="separator:a05805a07754b2aa22f7d443eb7ece41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8494e0457e1463d6d2b6836018d87b6e" id="r_a8494e0457e1463d6d2b6836018d87b6e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> { <br />
&#160;&#160;<a class="el" href="#a8494e0457e1463d6d2b6836018d87b6eac003781ccb81bbd5578e29abed8a8cfe">LZMA_OK</a> = 0
, <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6ea91ecc6fab14c13ad36224afbcb4e55c4">LZMA_STREAM_END</a> = 1
, <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6eaa720d30092d504d7d138a320db1905ef">LZMA_NO_CHECK</a> = 2
, <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6ea989f393a1772d85bf545a9da48fc7ac2">LZMA_UNSUPPORTED_CHECK</a> = 3
, <br />
&#160;&#160;<a class="el" href="#a8494e0457e1463d6d2b6836018d87b6eaa5b648c18da0f584f621cfdf7fef1bdb">LZMA_GET_CHECK</a> = 4
, <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6ea567e1464feca03900a5425fb45b2f5b6">LZMA_MEM_ERROR</a> = 5
, <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6eaa1d705effe6026f32c0fe9756b6326bc">LZMA_MEMLIMIT_ERROR</a> = 6
, <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6ea63b7a58949854eb9307f8e351358d56c">LZMA_FORMAT_ERROR</a> = 7
, <br />
&#160;&#160;<a class="el" href="#a8494e0457e1463d6d2b6836018d87b6eaa9ff6dfee36b7aba4fae60706d37425f">LZMA_OPTIONS_ERROR</a> = 8
, <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6ea3aa72729a844790e39b4e1101a731dfb">LZMA_DATA_ERROR</a> = 9
, <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6ea9ca0ecb62459bdc84d6af47d16b23ae5">LZMA_BUF_ERROR</a> = 10
, <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6ea2dac8d451cb38da8550653d0d7be4ec2">LZMA_PROG_ERROR</a> = 11
, <br />
&#160;&#160;<a class="el" href="#a8494e0457e1463d6d2b6836018d87b6ea6cf28e5345851f13bd798a4eab8cc939">LZMA_SEEK_NEEDED</a> = 12
, <b>LZMA_RET_INTERNAL1</b> = 101
, <b>LZMA_RET_INTERNAL2</b> = 102
, <b>LZMA_RET_INTERNAL3</b> = 103
, <br />
&#160;&#160;<b>LZMA_RET_INTERNAL4</b> = 104
, <b>LZMA_RET_INTERNAL5</b> = 105
, <b>LZMA_RET_INTERNAL6</b> = 106
, <b>LZMA_RET_INTERNAL7</b> = 107
, <br />
&#160;&#160;<b>LZMA_RET_INTERNAL8</b> = 108
<br />
}</td></tr>
<tr class="memdesc:a8494e0457e1463d6d2b6836018d87b6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return values used by several functions in liblzma. <a href="#a8494e0457e1463d6d2b6836018d87b6e">More...</a><br /></td></tr>
<tr class="separator:a8494e0457e1463d6d2b6836018d87b6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa92efcbf3cecfcac79c81fc645fce77e" id="r_aa92efcbf3cecfcac79c81fc645fce77e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa92efcbf3cecfcac79c81fc645fce77e">lzma_action</a> { <br />
&#160;&#160;<a class="el" href="#aa92efcbf3cecfcac79c81fc645fce77ea868472b76492afcaef54020a481890b1">LZMA_RUN</a> = 0
, <a class="el" href="#aa92efcbf3cecfcac79c81fc645fce77ea14d75152afcda85d215e877fdd9c4170">LZMA_SYNC_FLUSH</a> = 1
, <a class="el" href="#aa92efcbf3cecfcac79c81fc645fce77eaab46f0d7c721f1ec377e9575eab2586f">LZMA_FULL_FLUSH</a> = 2
, <a class="el" href="#aa92efcbf3cecfcac79c81fc645fce77eaf7bf60e3555a4d10ffad3ecc3d2e01f1">LZMA_FULL_BARRIER</a> = 4
, <br />
&#160;&#160;<a class="el" href="#aa92efcbf3cecfcac79c81fc645fce77ea7d24fb3c6c144d13bcb091195b8ebec1">LZMA_FINISH</a> = 3
<br />
}</td></tr>
<tr class="memdesc:aa92efcbf3cecfcac79c81fc645fce77e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The 'action' argument for <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> <a href="#aa92efcbf3cecfcac79c81fc645fce77e">More...</a><br /></td></tr>
<tr class="separator:aa92efcbf3cecfcac79c81fc645fce77e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a28cc09bc422d5ba1e0187c9f2af5d957" id="r_a28cc09bc422d5ba1e0187c9f2af5d957"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957">lzma_code</a> (<a class="el" href="structlzma__stream.html">lzma_stream</a> *strm, <a class="el" href="#aa92efcbf3cecfcac79c81fc645fce77e">lzma_action</a> action) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:a28cc09bc422d5ba1e0187c9f2af5d957"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode or decode data. <br /></td></tr>
<tr class="separator:a28cc09bc422d5ba1e0187c9f2af5d957"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a854ff37464ae1225febf14db1af43308" id="r_a854ff37464ae1225febf14db1af43308"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a854ff37464ae1225febf14db1af43308">lzma_end</a> (<a class="el" href="structlzma__stream.html">lzma_stream</a> *strm) lzma_nothrow</td></tr>
<tr class="memdesc:a854ff37464ae1225febf14db1af43308"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free memory allocated for the coder data structures. <br /></td></tr>
<tr class="separator:a854ff37464ae1225febf14db1af43308"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6447cd68eeecbd6b88f21daeb8ce751" id="r_ab6447cd68eeecbd6b88f21daeb8ce751"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab6447cd68eeecbd6b88f21daeb8ce751">lzma_get_progress</a> (<a class="el" href="structlzma__stream.html">lzma_stream</a> *strm, uint64_t *progress_in, uint64_t *progress_out) lzma_nothrow</td></tr>
<tr class="memdesc:ab6447cd68eeecbd6b88f21daeb8ce751"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get progress information. <br /></td></tr>
<tr class="separator:ab6447cd68eeecbd6b88f21daeb8ce751"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a418b210cf206782a73cd9de7dc27f670" id="r_a418b210cf206782a73cd9de7dc27f670"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a418b210cf206782a73cd9de7dc27f670">lzma_memusage</a> (const <a class="el" href="structlzma__stream.html">lzma_stream</a> *strm) lzma_nothrow lzma_attr_pure</td></tr>
<tr class="memdesc:a418b210cf206782a73cd9de7dc27f670"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the memory usage of decoder filter chain. <br /></td></tr>
<tr class="separator:a418b210cf206782a73cd9de7dc27f670"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac871bc2ead5d482c6d6b3d51bfec365c" id="r_ac871bc2ead5d482c6d6b3d51bfec365c"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac871bc2ead5d482c6d6b3d51bfec365c">lzma_memlimit_get</a> (const <a class="el" href="structlzma__stream.html">lzma_stream</a> *strm) lzma_nothrow lzma_attr_pure</td></tr>
<tr class="memdesc:ac871bc2ead5d482c6d6b3d51bfec365c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current memory usage limit. <br /></td></tr>
<tr class="separator:ac871bc2ead5d482c6d6b3d51bfec365c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc49d4cf75b73128a167df3407505f7b" id="r_afc49d4cf75b73128a167df3407505f7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afc49d4cf75b73128a167df3407505f7b">lzma_memlimit_set</a> (<a class="el" href="structlzma__stream.html">lzma_stream</a> *strm, uint64_t memlimit) lzma_nothrow</td></tr>
<tr class="memdesc:afc49d4cf75b73128a167df3407505f7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the memory usage limit. <br /></td></tr>
<tr class="separator:afc49d4cf75b73128a167df3407505f7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Data types and functions used in many places in liblzma API. </p>
<dl class="section note"><dt>Note</dt><dd>Never include this file directly. Use &lt;<a class="el" href="lzma_8h.html" title="The public API of liblzma data compression library.">lzma.h</a>&gt; instead. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="af31f0c8b6f14359cd082b9559f7f3e01" name="af31f0c8b6f14359cd082b9559f7f3e01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af31f0c8b6f14359cd082b9559f7f3e01">&#9670;&#160;</a></span>LZMA_STREAM_INIT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LZMA_STREAM_INIT</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> { NULL, 0, 0, NULL, 0, 0, NULL, NULL, \</div>
<div class="line"> NULL, NULL, NULL, NULL, 0, 0, 0, 0, \</div>
<div class="line"> LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM }</div>
</div><!-- fragment -->
<p>Initialization for <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a>. </p>
<p>When you declare an instance of <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a>, you can immediately initialize it so that initialization functions know that no memory has been allocated yet: </p><pre class="fragment">lzma_stream strm = LZMA_STREAM_INIT;
</pre><p>If you need to initialize a dynamically allocated <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a>, you can use memset(strm_pointer, 0, sizeof(lzma_stream)). Strictly speaking, this violates the C standard since NULL may have different internal representation than zero, but it should be portable enough in practice. Anyway, for maximum portability, you can use something like this: </p><pre class="fragment">lzma_stream tmp = LZMA_STREAM_INIT;
*strm = tmp;
</pre>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="abbc819c74b484c846825ae1388a50a59" name="abbc819c74b484c846825ae1388a50a59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbc819c74b484c846825ae1388a50a59">&#9670;&#160;</a></span>lzma_bool</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef unsigned char <a class="el" href="#abbc819c74b484c846825ae1388a50a59">lzma_bool</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Boolean. </p>
<p>This is here because C89 doesn't have stdbool.h. To set a value for variables having type <a class="el" href="#abbc819c74b484c846825ae1388a50a59" title="Boolean.">lzma_bool</a>, you can use</p><ul>
<li>C99's 'true' and 'false' from stdbool.h;</li>
<li>C++'s internal 'true' and 'false'; or</li>
<li>integers one (true) and zero (false). </li>
</ul>
</div>
</div>
<a id="ab1a60127c640135687a5bcc232cec906" name="ab1a60127c640135687a5bcc232cec906"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1a60127c640135687a5bcc232cec906">&#9670;&#160;</a></span>lzma_internal</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct lzma_internal_s <a class="el" href="#ab1a60127c640135687a5bcc232cec906">lzma_internal</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal data structure. </p>
<p>The contents of this structure is not visible outside the library. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a05805a07754b2aa22f7d443eb7ece41a" name="a05805a07754b2aa22f7d443eb7ece41a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05805a07754b2aa22f7d443eb7ece41a">&#9670;&#160;</a></span>lzma_reserved_enum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#a05805a07754b2aa22f7d443eb7ece41a">lzma_reserved_enum</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Type of reserved enumeration variable in structures. </p>
<p>To avoid breaking library ABI when new features are added, several structures contain extra variables that may be used in future. Since sizeof(enum) can be different than sizeof(int), and sizeof(enum) may even vary depending on the range of enumeration constants, we specify a separate type to be used for reserved enumeration variables. All enumeration constants in liblzma API will be non-negative and less than 128, which should guarantee that the ABI won't break even when new constants are added to existing enumerations. </p>
</div>
</div>
<a id="a8494e0457e1463d6d2b6836018d87b6e" name="a8494e0457e1463d6d2b6836018d87b6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8494e0457e1463d6d2b6836018d87b6e">&#9670;&#160;</a></span>lzma_ret</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return values used by several functions in liblzma. </p>
<p>Check the descriptions of specific functions to find out which return values they can return. With some functions the return values may have more specific meanings than described here; those differences are described per-function basis. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6eac003781ccb81bbd5578e29abed8a8cfe" name="a8494e0457e1463d6d2b6836018d87b6eac003781ccb81bbd5578e29abed8a8cfe"></a>LZMA_OK&#160;</td><td class="fielddoc"><p>Operation completed successfully. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6ea91ecc6fab14c13ad36224afbcb4e55c4" name="a8494e0457e1463d6d2b6836018d87b6ea91ecc6fab14c13ad36224afbcb4e55c4"></a>LZMA_STREAM_END&#160;</td><td class="fielddoc"><p>End of stream was reached. </p>
<p>In encoder, LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, or LZMA_FINISH was finished. In decoder, this indicates that all the data was successfully decoded.</p>
<p>In all cases, when LZMA_STREAM_END is returned, the last output bytes should be picked from strm-&gt;next_out. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6eaa720d30092d504d7d138a320db1905ef" name="a8494e0457e1463d6d2b6836018d87b6eaa720d30092d504d7d138a320db1905ef"></a>LZMA_NO_CHECK&#160;</td><td class="fielddoc"><p>Input stream has no integrity check. </p>
<p>This return value can be returned only if the LZMA_TELL_NO_CHECK flag was used when initializing the decoder. LZMA_NO_CHECK is just a warning, and the decoding can be continued normally.</p>
<p>It is possible to call <a class="el" href="check_8h.html#a8d7c3ffabfd024485f03fa209536c746" title="Get the type of the integrity check.">lzma_get_check()</a> immediately after lzma_code has returned LZMA_NO_CHECK. The result will naturally be LZMA_CHECK_NONE, but the possibility to call <a class="el" href="check_8h.html#a8d7c3ffabfd024485f03fa209536c746" title="Get the type of the integrity check.">lzma_get_check()</a> may be convenient in some applications. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6ea989f393a1772d85bf545a9da48fc7ac2" name="a8494e0457e1463d6d2b6836018d87b6ea989f393a1772d85bf545a9da48fc7ac2"></a>LZMA_UNSUPPORTED_CHECK&#160;</td><td class="fielddoc"><p>Cannot calculate the integrity check. </p>
<p>The usage of this return value is different in encoders and decoders.</p>
<p>Encoders can return this value only from the initialization function. If initialization fails with this value, the encoding cannot be done, because there's no way to produce output with the correct integrity check.</p>
<p>Decoders can return this value only from <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> and only if the LZMA_TELL_UNSUPPORTED_CHECK flag was used when initializing the decoder. The decoding can still be continued normally even if the check type is unsupported, but naturally the check will not be validated, and possible errors may go undetected.</p>
<p>With decoder, it is possible to call <a class="el" href="check_8h.html#a8d7c3ffabfd024485f03fa209536c746" title="Get the type of the integrity check.">lzma_get_check()</a> immediately after <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> has returned LZMA_UNSUPPORTED_CHECK. This way it is possible to find out what the unsupported Check ID was. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6eaa5b648c18da0f584f621cfdf7fef1bdb" name="a8494e0457e1463d6d2b6836018d87b6eaa5b648c18da0f584f621cfdf7fef1bdb"></a>LZMA_GET_CHECK&#160;</td><td class="fielddoc"><p>Integrity check type is now available. </p>
<p>This value can be returned only by the <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> function and only if the decoder was initialized with the LZMA_TELL_ANY_CHECK flag. LZMA_GET_CHECK tells the application that it may now call <a class="el" href="check_8h.html#a8d7c3ffabfd024485f03fa209536c746" title="Get the type of the integrity check.">lzma_get_check()</a> to find out the Check ID. This can be used, for example, to implement a decoder that accepts only files that have strong enough integrity check. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6ea567e1464feca03900a5425fb45b2f5b6" name="a8494e0457e1463d6d2b6836018d87b6ea567e1464feca03900a5425fb45b2f5b6"></a>LZMA_MEM_ERROR&#160;</td><td class="fielddoc"><p>Cannot allocate memory. </p>
<p>Memory allocation failed, or the size of the allocation would be greater than SIZE_MAX.</p>
<p>Due to internal implementation reasons, the coding cannot be continued even if more memory were made available after LZMA_MEM_ERROR. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6eaa1d705effe6026f32c0fe9756b6326bc" name="a8494e0457e1463d6d2b6836018d87b6eaa1d705effe6026f32c0fe9756b6326bc"></a>LZMA_MEMLIMIT_ERROR&#160;</td><td class="fielddoc"><p>Memory usage limit was reached. </p>
<p>Decoder would need more memory than allowed by the specified memory usage limit. To continue decoding, the memory usage limit has to be increased with <a class="el" href="#afc49d4cf75b73128a167df3407505f7b" title="Set the memory usage limit.">lzma_memlimit_set()</a>.</p>
<p>liblzma 5.2.6 and earlier had a bug in single-threaded .xz decoder (<a class="el" href="container_8h.html#a02b7683ef98d8049788961370a8b28c0" title="Initialize .xz Stream decoder.">lzma_stream_decoder()</a>) which made it impossible to continue decoding after LZMA_MEMLIMIT_ERROR even if the limit was increased using <a class="el" href="#afc49d4cf75b73128a167df3407505f7b" title="Set the memory usage limit.">lzma_memlimit_set()</a>. Other decoders worked correctly. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6ea63b7a58949854eb9307f8e351358d56c" name="a8494e0457e1463d6d2b6836018d87b6ea63b7a58949854eb9307f8e351358d56c"></a>LZMA_FORMAT_ERROR&#160;</td><td class="fielddoc"><p>File format not recognized. </p>
<p>The decoder did not recognize the input as supported file format. This error can occur, for example, when trying to decode .lzma format file with lzma_stream_decoder, because lzma_stream_decoder accepts only the .xz format. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6eaa9ff6dfee36b7aba4fae60706d37425f" name="a8494e0457e1463d6d2b6836018d87b6eaa9ff6dfee36b7aba4fae60706d37425f"></a>LZMA_OPTIONS_ERROR&#160;</td><td class="fielddoc"><p>Invalid or unsupported options. </p>
<p>Invalid or unsupported options, for example</p><ul>
<li>unsupported filter(s) or filter options; or</li>
<li>reserved bits set in headers (decoder only).</li>
</ul>
<p>Rebuilding liblzma with more features enabled, or upgrading to a newer version of liblzma may help. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6ea3aa72729a844790e39b4e1101a731dfb" name="a8494e0457e1463d6d2b6836018d87b6ea3aa72729a844790e39b4e1101a731dfb"></a>LZMA_DATA_ERROR&#160;</td><td class="fielddoc"><p>Data is corrupt. </p>
<p>The usage of this return value is different in encoders and decoders. In both encoder and decoder, the coding cannot continue after this error.</p>
<p>Encoders return this if size limits of the target file format would be exceeded. These limits are huge, thus getting this error from an encoder is mostly theoretical. For example, the maximum compressed and uncompressed size of a .xz Stream is roughly 8 EiB (2^63 bytes).</p>
<p>Decoders return this error if the input data is corrupt. This can mean, for example, invalid CRC32 in headers or invalid check of uncompressed data. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6ea9ca0ecb62459bdc84d6af47d16b23ae5" name="a8494e0457e1463d6d2b6836018d87b6ea9ca0ecb62459bdc84d6af47d16b23ae5"></a>LZMA_BUF_ERROR&#160;</td><td class="fielddoc"><p>No progress is possible. </p>
<p>This error code is returned when the coder cannot consume any new input and produce any new output. The most common reason for this error is that the input stream being decoded is truncated or corrupt.</p>
<p>This error is not fatal. Coding can be continued normally by providing more input and/or more output space, if possible.</p>
<p>Typically the first call to <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> that can do no progress returns LZMA_OK instead of LZMA_BUF_ERROR. Only the second consecutive call doing no progress will return LZMA_BUF_ERROR. This is intentional.</p>
<p>With zlib, Z_BUF_ERROR may be returned even if the application is doing nothing wrong, so apps will need to handle Z_BUF_ERROR specially. The above hack guarantees that liblzma never returns LZMA_BUF_ERROR to properly written applications unless the input file is truncated or corrupt. This should simplify the applications a little. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6ea2dac8d451cb38da8550653d0d7be4ec2" name="a8494e0457e1463d6d2b6836018d87b6ea2dac8d451cb38da8550653d0d7be4ec2"></a>LZMA_PROG_ERROR&#160;</td><td class="fielddoc"><p>Programming error. </p>
<p>This indicates that the arguments given to the function are invalid or the internal state of the decoder is corrupt.</p><ul>
<li>Function arguments are invalid or the structures pointed by the argument pointers are invalid e.g. if strm-&gt;next_out has been set to NULL and strm-&gt;avail_out &gt; 0 when calling <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a>.</li>
<li>lzma_* functions have been called in wrong order e.g. <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> was called right after <a class="el" href="#a854ff37464ae1225febf14db1af43308" title="Free memory allocated for the coder data structures.">lzma_end()</a>.</li>
<li>If errors occur randomly, the reason might be flaky hardware.</li>
</ul>
<p>If you think that your code is correct, this error code can be a sign of a bug in liblzma. See the documentation how to report bugs. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8494e0457e1463d6d2b6836018d87b6ea6cf28e5345851f13bd798a4eab8cc939" name="a8494e0457e1463d6d2b6836018d87b6ea6cf28e5345851f13bd798a4eab8cc939"></a>LZMA_SEEK_NEEDED&#160;</td><td class="fielddoc"><p>Request to change the input file position. </p>
<p>Some coders can do random access in the input file. The initialization functions of these coders take the file size as an argument. No other coders can return LZMA_SEEK_NEEDED.</p>
<p>When this value is returned, the application must seek to the file position given in <a class="el" href="structlzma__stream.html#af7c43a61f3dfeb0b9c8487b7f275054e" title="New seek input position for LZMA_SEEK_NEEDED.">lzma_stream.seek_pos</a>. This value is guaranteed to never exceed the file size that was specified at the coder initialization.</p>
<p>After seeking the application should read new input and pass it normally via <a class="el" href="structlzma__stream.html#a72fdc738c793f07a5c29715aa57802cf">lzma_stream.next_in</a> and .avail_in. </p>
</td></tr>
</table>
</div>
</div>
<a id="aa92efcbf3cecfcac79c81fc645fce77e" name="aa92efcbf3cecfcac79c81fc645fce77e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa92efcbf3cecfcac79c81fc645fce77e">&#9670;&#160;</a></span>lzma_action</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#aa92efcbf3cecfcac79c81fc645fce77e">lzma_action</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The 'action' argument for <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> </p>
<p>After the first use of LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, LZMA_FULL_BARRIER, or LZMA_FINISH, the same 'action' must be used until <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> returns LZMA_STREAM_END. Also, the amount of input (that is, strm-&gt;avail_in) must not be modified by the application until <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> returns LZMA_STREAM_END. Changing the 'action' or modifying the amount of input will make <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> return LZMA_PROG_ERROR. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa92efcbf3cecfcac79c81fc645fce77ea868472b76492afcaef54020a481890b1" name="aa92efcbf3cecfcac79c81fc645fce77ea868472b76492afcaef54020a481890b1"></a>LZMA_RUN&#160;</td><td class="fielddoc"><p>Continue coding. </p>
<p>Encoder: Encode as much input as possible. Some internal buffering will probably be done (depends on the filter chain in use), which causes latency: the input used won't usually be decodeable from the output of the same <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> call.</p>
<p>Decoder: Decode as much input as possible and produce as much output as possible. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa92efcbf3cecfcac79c81fc645fce77ea14d75152afcda85d215e877fdd9c4170" name="aa92efcbf3cecfcac79c81fc645fce77ea14d75152afcda85d215e877fdd9c4170"></a>LZMA_SYNC_FLUSH&#160;</td><td class="fielddoc"><p>Make all the input available at output. </p>
<p>Normally the encoder introduces some latency. LZMA_SYNC_FLUSH forces all the buffered data to be available at output without resetting the internal state of the encoder. This way it is possible to use compressed stream for example for communication over network.</p>
<p>Only some filters support LZMA_SYNC_FLUSH. Trying to use LZMA_SYNC_FLUSH with filters that don't support it will make <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> return LZMA_OPTIONS_ERROR. For example, LZMA1 doesn't support LZMA_SYNC_FLUSH but LZMA2 does.</p>
<p>Using LZMA_SYNC_FLUSH very often can dramatically reduce the compression ratio. With some filters (for example, LZMA2), fine-tuning the compression options may help mitigate this problem significantly (for example, match finder with LZMA2).</p>
<p>Decoders don't support LZMA_SYNC_FLUSH. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa92efcbf3cecfcac79c81fc645fce77eaab46f0d7c721f1ec377e9575eab2586f" name="aa92efcbf3cecfcac79c81fc645fce77eaab46f0d7c721f1ec377e9575eab2586f"></a>LZMA_FULL_FLUSH&#160;</td><td class="fielddoc"><p>Finish encoding of the current Block. </p>
<p>All the input data going to the current Block must have been given to the encoder (the last bytes can still be pending in *next_in). Call <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> with LZMA_FULL_FLUSH until it returns LZMA_STREAM_END. Then continue normally with LZMA_RUN or finish the Stream with LZMA_FINISH.</p>
<p>This action is currently supported only by Stream encoder and easy encoder (which uses Stream encoder). If there is no unfinished Block, no empty Block is created. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa92efcbf3cecfcac79c81fc645fce77eaf7bf60e3555a4d10ffad3ecc3d2e01f1" name="aa92efcbf3cecfcac79c81fc645fce77eaf7bf60e3555a4d10ffad3ecc3d2e01f1"></a>LZMA_FULL_BARRIER&#160;</td><td class="fielddoc"><p>Finish encoding of the current Block. </p>
<p>This is like LZMA_FULL_FLUSH except that this doesn't necessarily wait until all the input has been made available via the output buffer. That is, <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> might return LZMA_STREAM_END as soon as all the input has been consumed (avail_in == 0).</p>
<p>LZMA_FULL_BARRIER is useful with a threaded encoder if one wants to split the .xz Stream into Blocks at specific offsets but doesn't care if the output isn't flushed immediately. Using LZMA_FULL_BARRIER allows keeping the threads busy while LZMA_FULL_FLUSH would make <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> wait until all the threads have finished until more data could be passed to the encoder.</p>
<p>With a <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> initialized with the single-threaded <a class="el" href="container_8h.html#a1a97aec94c9fedd7646cfa51c4f4cd52" title="Initialize .xz Stream encoder using a custom filter chain.">lzma_stream_encoder()</a> or <a class="el" href="container_8h.html#acbdad999c544872f0f5d242f0d1a4ed4" title="Initialize .xz Stream encoder using a preset number.">lzma_easy_encoder()</a>, LZMA_FULL_BARRIER is an alias for LZMA_FULL_FLUSH. </p>
</td></tr>
<tr><td class="fieldname"><a id="aa92efcbf3cecfcac79c81fc645fce77ea7d24fb3c6c144d13bcb091195b8ebec1" name="aa92efcbf3cecfcac79c81fc645fce77ea7d24fb3c6c144d13bcb091195b8ebec1"></a>LZMA_FINISH&#160;</td><td class="fielddoc"><p>Finish the coding operation. </p>
<p>All the input data must have been given to the encoder (the last bytes can still be pending in next_in). Call <a class="el" href="#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> with LZMA_FINISH until it returns LZMA_STREAM_END. Once LZMA_FINISH has been used, the amount of input must no longer be changed by the application.</p>
<p>When decoding, using LZMA_FINISH is optional unless the LZMA_CONCATENATED flag was used when the decoder was initialized. When LZMA_CONCATENATED was not used, the only effect of LZMA_FINISH is that the amount of input must not be changed just like in the encoder. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a28cc09bc422d5ba1e0187c9f2af5d957" name="a28cc09bc422d5ba1e0187c9f2af5d957"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28cc09bc422d5ba1e0187c9f2af5d957">&#9670;&#160;</a></span>lzma_code()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_code </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__stream.html">lzma_stream</a> *</td> <td class="paramname"><span class="paramname"><em>strm</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="#aa92efcbf3cecfcac79c81fc645fce77e">lzma_action</a></td> <td class="paramname"><span class="paramname"><em>action</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode or decode data. </p>
<p>Once the <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> has been successfully initialized (e.g. with <a class="el" href="container_8h.html#a1a97aec94c9fedd7646cfa51c4f4cd52" title="Initialize .xz Stream encoder using a custom filter chain.">lzma_stream_encoder()</a>), the actual encoding or decoding is done using this function. The application has to update strm-&gt;next_in, strm-&gt;avail_in, strm-&gt;next_out, and strm-&gt;avail_out to pass input to and get output from liblzma.</p>
<p>See the description of the coder-specific initialization function to find out what 'action' values are supported by the coder.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">strm</td><td>Pointer to <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> that is at least initialized with LZMA_STREAM_INIT. </td></tr>
<tr><td class="paramname">action</td><td>Action for this function to take. Must be a valid <a class="el" href="#aa92efcbf3cecfcac79c81fc645fce77e" title="The &#39;action&#39; argument for lzma_code()">lzma_action</a> enum value.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Any valid <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a>. See the <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> enum description for more information. </dd></dl>
</div>
</div>
<a id="a854ff37464ae1225febf14db1af43308" name="a854ff37464ae1225febf14db1af43308"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a854ff37464ae1225febf14db1af43308">&#9670;&#160;</a></span>lzma_end()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void lzma_end </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__stream.html">lzma_stream</a> *</td> <td class="paramname"><span class="paramname"><em>strm</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Free memory allocated for the coder data structures. </p>
<p>After lzma_end(strm), strm-&gt;internal is guaranteed to be NULL. No other members of the <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> structure are touched.</p>
<dl class="section note"><dt>Note</dt><dd>zlib indicates an error if application end()s unfinished stream structure. liblzma doesn't do this, and assumes that application knows what it is doing.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">strm</td><td>Pointer to <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> that is at least initialized with LZMA_STREAM_INIT. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab6447cd68eeecbd6b88f21daeb8ce751" name="ab6447cd68eeecbd6b88f21daeb8ce751"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6447cd68eeecbd6b88f21daeb8ce751">&#9670;&#160;</a></span>lzma_get_progress()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void lzma_get_progress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__stream.html">lzma_stream</a> *</td> <td class="paramname"><span class="paramname"><em>strm</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t *</td> <td class="paramname"><span class="paramname"><em>progress_in</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t *</td> <td class="paramname"><span class="paramname"><em>progress_out</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get progress information. </p>
<p>In single-threaded mode, applications can get progress information from strm-&gt;total_in and strm-&gt;total_out. In multi-threaded mode this is less useful because a significant amount of both input and output data gets buffered internally by liblzma. This makes total_in and total_out give misleading information and also makes the progress indicator updates non-smooth.</p>
<p>This function gives realistic progress information also in multi-threaded mode by taking into account the progress made by each thread. In single-threaded mode *progress_in and *progress_out are set to strm-&gt;total_in and strm-&gt;total_out, respectively.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">strm</td><td>Pointer to <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> that is at least initialized with LZMA_STREAM_INIT. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">progress_in</td><td>Pointer to the number of input bytes processed. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">progress_out</td><td>Pointer to the number of output bytes processed. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a418b210cf206782a73cd9de7dc27f670" name="a418b210cf206782a73cd9de7dc27f670"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a418b210cf206782a73cd9de7dc27f670">&#9670;&#160;</a></span>lzma_memusage()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint64_t lzma_memusage </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structlzma__stream.html">lzma_stream</a> *</td> <td class="paramname"><span class="paramname"><em>strm</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the memory usage of decoder filter chain. </p>
<p>This function is currently supported only when *strm has been initialized with a function that takes a memlimit argument. With other functions, you should use e.g. <a class="el" href="filter_8h.html#a730f9391e85a5979bcd1b32643ae7176" title="Calculate approximate memory requirements for raw encoder.">lzma_raw_encoder_memusage()</a> or <a class="el" href="filter_8h.html#a58511249ae9206d7de7c5d1f05842297" title="Calculate approximate memory requirements for raw decoder.">lzma_raw_decoder_memusage()</a> to estimate the memory requirements.</p>
<p>This function is useful e.g. after LZMA_MEMLIMIT_ERROR to find out how big the memory usage limit should have been to decode the input. Note that this may give misleading information if decoding .xz Streams that have multiple Blocks, because each Block can have different memory requirements.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">strm</td><td>Pointer to <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> that is at least initialized with LZMA_STREAM_INIT.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>How much memory is currently allocated for the filter decoders. If no filter chain is currently allocated, some non-zero value is still returned, which is less than or equal to what any filter chain would indicate as its memory requirement.</dd></dl>
<p>If this function isn't supported by *strm or some other error occurs, zero is returned. </p>
</div>
</div>
<a id="ac871bc2ead5d482c6d6b3d51bfec365c" name="ac871bc2ead5d482c6d6b3d51bfec365c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac871bc2ead5d482c6d6b3d51bfec365c">&#9670;&#160;</a></span>lzma_memlimit_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint64_t lzma_memlimit_get </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structlzma__stream.html">lzma_stream</a> *</td> <td class="paramname"><span class="paramname"><em>strm</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current memory usage limit. </p>
<p>This function is supported only when *strm has been initialized with a function that takes a memlimit argument.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">strm</td><td>Pointer to <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> that is at least initialized with LZMA_STREAM_INIT.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>On success, the current memory usage limit is returned (always non-zero). On error, zero is returned. </dd></dl>
</div>
</div>
<a id="afc49d4cf75b73128a167df3407505f7b" name="afc49d4cf75b73128a167df3407505f7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc49d4cf75b73128a167df3407505f7b">&#9670;&#160;</a></span>lzma_memlimit_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_memlimit_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__stream.html">lzma_stream</a> *</td> <td class="paramname"><span class="paramname"><em>strm</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t</td> <td class="paramname"><span class="paramname"><em>memlimit</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the memory usage limit. </p>
<p>This function is supported only when *strm has been initialized with a function that takes a memlimit argument.</p>
<p>liblzma 5.2.3 and earlier has a bug where memlimit value of 0 causes this function to do nothing (leaving the limit unchanged) and still return LZMA_OK. Later versions treat 0 as if 1 had been specified (so <a class="el" href="#ac871bc2ead5d482c6d6b3d51bfec365c" title="Get the current memory usage limit.">lzma_memlimit_get()</a> will return 1 even if you specify 0 here).</p>
<p>liblzma 5.2.6 and earlier had a bug in single-threaded .xz decoder (<a class="el" href="container_8h.html#a02b7683ef98d8049788961370a8b28c0" title="Initialize .xz Stream decoder.">lzma_stream_decoder()</a>) which made it impossible to continue decoding after LZMA_MEMLIMIT_ERROR even if the limit was increased using <a class="el" href="#afc49d4cf75b73128a167df3407505f7b" title="Set the memory usage limit.">lzma_memlimit_set()</a>. Other decoders worked correctly.</p>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: New memory usage limit successfully set.</li>
<li>LZMA_MEMLIMIT_ERROR: The new limit is too small. The limit was not changed.</li>
<li>LZMA_PROG_ERROR: Invalid arguments, e.g. *strm doesn't support memory usage limit. </li>
</ul>
</dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html">lzma</a></li><li class="navelem"><a class="el" href="base_8h.html">base.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,47 @@
var base_8h =
[
[ "lzma_allocator", "structlzma__allocator.html", "structlzma__allocator" ],
[ "lzma_stream", "structlzma__stream.html", "structlzma__stream" ],
[ "LZMA_STREAM_INIT", "base_8h.html#af31f0c8b6f14359cd082b9559f7f3e01", null ],
[ "lzma_bool", "base_8h.html#abbc819c74b484c846825ae1388a50a59", null ],
[ "lzma_internal", "base_8h.html#ab1a60127c640135687a5bcc232cec906", null ],
[ "lzma_reserved_enum", "base_8h.html#a05805a07754b2aa22f7d443eb7ece41a", [
[ "LZMA_RESERVED_ENUM", "base_8h.html#a05805a07754b2aa22f7d443eb7ece41aa01aa8862db0188a8b3f15753daf7228e", null ]
] ],
[ "lzma_ret", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6e", [
[ "LZMA_OK", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6eac003781ccb81bbd5578e29abed8a8cfe", null ],
[ "LZMA_STREAM_END", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea91ecc6fab14c13ad36224afbcb4e55c4", null ],
[ "LZMA_NO_CHECK", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa720d30092d504d7d138a320db1905ef", null ],
[ "LZMA_UNSUPPORTED_CHECK", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea989f393a1772d85bf545a9da48fc7ac2", null ],
[ "LZMA_GET_CHECK", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa5b648c18da0f584f621cfdf7fef1bdb", null ],
[ "LZMA_MEM_ERROR", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea567e1464feca03900a5425fb45b2f5b6", null ],
[ "LZMA_MEMLIMIT_ERROR", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa1d705effe6026f32c0fe9756b6326bc", null ],
[ "LZMA_FORMAT_ERROR", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea63b7a58949854eb9307f8e351358d56c", null ],
[ "LZMA_OPTIONS_ERROR", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa9ff6dfee36b7aba4fae60706d37425f", null ],
[ "LZMA_DATA_ERROR", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea3aa72729a844790e39b4e1101a731dfb", null ],
[ "LZMA_BUF_ERROR", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea9ca0ecb62459bdc84d6af47d16b23ae5", null ],
[ "LZMA_PROG_ERROR", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea2dac8d451cb38da8550653d0d7be4ec2", null ],
[ "LZMA_SEEK_NEEDED", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea6cf28e5345851f13bd798a4eab8cc939", null ],
[ "LZMA_RET_INTERNAL1", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea9d8db142d9eb52fd4144067960134bd7", null ],
[ "LZMA_RET_INTERNAL2", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea61600315d14264e71b9d84c9e0dc8c2f", null ],
[ "LZMA_RET_INTERNAL3", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaecbf288ad566d7e9be964fe8aaae1f7b", null ],
[ "LZMA_RET_INTERNAL4", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea8ef14e6224613ad41131f636680db548", null ],
[ "LZMA_RET_INTERNAL5", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaf08066ae531b78d7cd063de49759a7eb", null ],
[ "LZMA_RET_INTERNAL6", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaf509a2a300729012881f244e29c3e7b1", null ],
[ "LZMA_RET_INTERNAL7", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6eae310792b4e549cf8710e0f3c945d7541", null ],
[ "LZMA_RET_INTERNAL8", "base_8h.html#a8494e0457e1463d6d2b6836018d87b6eafc98304440d802c1d3f20cb027e19995", null ]
] ],
[ "lzma_action", "base_8h.html#aa92efcbf3cecfcac79c81fc645fce77e", [
[ "LZMA_RUN", "base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea868472b76492afcaef54020a481890b1", null ],
[ "LZMA_SYNC_FLUSH", "base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea14d75152afcda85d215e877fdd9c4170", null ],
[ "LZMA_FULL_FLUSH", "base_8h.html#aa92efcbf3cecfcac79c81fc645fce77eaab46f0d7c721f1ec377e9575eab2586f", null ],
[ "LZMA_FULL_BARRIER", "base_8h.html#aa92efcbf3cecfcac79c81fc645fce77eaf7bf60e3555a4d10ffad3ecc3d2e01f1", null ],
[ "LZMA_FINISH", "base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea7d24fb3c6c144d13bcb091195b8ebec1", null ]
] ],
[ "lzma_code", "base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957", null ],
[ "lzma_end", "base_8h.html#a854ff37464ae1225febf14db1af43308", null ],
[ "lzma_get_progress", "base_8h.html#ab6447cd68eeecbd6b88f21daeb8ce751", null ],
[ "lzma_memusage", "base_8h.html#a418b210cf206782a73cd9de7dc27f670", null ],
[ "lzma_memlimit_get", "base_8h.html#ac871bc2ead5d482c6d6b3d51bfec365c", null ],
[ "lzma_memlimit_set", "base_8h.html#afc49d4cf75b73128a167df3407505f7b", null ]
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

View File

@@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma/bcj.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('bcj_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> </div>
<div class="headertitle"><div class="title">bcj.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Branch/Call/Jump conversion filters.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlzma__options__bcj.html">lzma_options_bcj</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options for BCJ filters. <a href="structlzma__options__bcj.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aa9eac1f580ddde3309518cd153d596b1" id="r_aa9eac1f580ddde3309518cd153d596b1"><td class="memItemLeft" align="right" valign="top"><a id="aa9eac1f580ddde3309518cd153d596b1" name="aa9eac1f580ddde3309518cd153d596b1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_FILTER_X86</b>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x04)</td></tr>
<tr class="memdesc:aa9eac1f580ddde3309518cd153d596b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter for x86 binaries. <br /></td></tr>
<tr class="separator:aa9eac1f580ddde3309518cd153d596b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7f667d4a5d319f227f23163cbea086f" id="r_ab7f667d4a5d319f227f23163cbea086f"><td class="memItemLeft" align="right" valign="top"><a id="ab7f667d4a5d319f227f23163cbea086f" name="ab7f667d4a5d319f227f23163cbea086f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_FILTER_POWERPC</b>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x05)</td></tr>
<tr class="memdesc:ab7f667d4a5d319f227f23163cbea086f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter for Big endian PowerPC binaries. <br /></td></tr>
<tr class="separator:ab7f667d4a5d319f227f23163cbea086f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fe36218a38f400e1ce40820758f7427" id="r_a2fe36218a38f400e1ce40820758f7427"><td class="memItemLeft" align="right" valign="top"><a id="a2fe36218a38f400e1ce40820758f7427" name="a2fe36218a38f400e1ce40820758f7427"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_FILTER_IA64</b>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x06)</td></tr>
<tr class="memdesc:a2fe36218a38f400e1ce40820758f7427"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter for IA-64 (Itanium) binaries. <br /></td></tr>
<tr class="separator:a2fe36218a38f400e1ce40820758f7427"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a495a58f63ebc7a8b756099efba492f8b" id="r_a495a58f63ebc7a8b756099efba492f8b"><td class="memItemLeft" align="right" valign="top"><a id="a495a58f63ebc7a8b756099efba492f8b" name="a495a58f63ebc7a8b756099efba492f8b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_FILTER_ARM</b>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x07)</td></tr>
<tr class="memdesc:a495a58f63ebc7a8b756099efba492f8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter for ARM binaries. <br /></td></tr>
<tr class="separator:a495a58f63ebc7a8b756099efba492f8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ec62e7e5e7df3d9af5b2ea3f857689a" id="r_a5ec62e7e5e7df3d9af5b2ea3f857689a"><td class="memItemLeft" align="right" valign="top"><a id="a5ec62e7e5e7df3d9af5b2ea3f857689a" name="a5ec62e7e5e7df3d9af5b2ea3f857689a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_FILTER_ARMTHUMB</b>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x08)</td></tr>
<tr class="memdesc:a5ec62e7e5e7df3d9af5b2ea3f857689a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter for ARM-Thumb binaries. <br /></td></tr>
<tr class="separator:a5ec62e7e5e7df3d9af5b2ea3f857689a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50941088e93ef659c6b000bbcaf58143" id="r_a50941088e93ef659c6b000bbcaf58143"><td class="memItemLeft" align="right" valign="top"><a id="a50941088e93ef659c6b000bbcaf58143" name="a50941088e93ef659c6b000bbcaf58143"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_FILTER_SPARC</b>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x09)</td></tr>
<tr class="memdesc:a50941088e93ef659c6b000bbcaf58143"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter for SPARC binaries. <br /></td></tr>
<tr class="separator:a50941088e93ef659c6b000bbcaf58143"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01765158cd31cac21b272b180628fc4b" id="r_a01765158cd31cac21b272b180628fc4b"><td class="memItemLeft" align="right" valign="top"><a id="a01765158cd31cac21b272b180628fc4b" name="a01765158cd31cac21b272b180628fc4b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_FILTER_ARM64</b>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x0A)</td></tr>
<tr class="memdesc:a01765158cd31cac21b272b180628fc4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter for ARM64 binaries. <br /></td></tr>
<tr class="separator:a01765158cd31cac21b272b180628fc4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a932e9d66e945f5601b8fad7445a9b40c" id="r_a932e9d66e945f5601b8fad7445a9b40c"><td class="memItemLeft" align="right" valign="top"><a id="a932e9d66e945f5601b8fad7445a9b40c" name="a932e9d66e945f5601b8fad7445a9b40c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_FILTER_RISCV</b>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x0B)</td></tr>
<tr class="memdesc:a932e9d66e945f5601b8fad7445a9b40c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter for RISC-V binaries. <br /></td></tr>
<tr class="separator:a932e9d66e945f5601b8fad7445a9b40c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Branch/Call/Jump conversion filters. </p>
<dl class="section note"><dt>Note</dt><dd>Never include this file directly. Use &lt;<a class="el" href="lzma_8h.html" title="The public API of liblzma data compression library.">lzma.h</a>&gt; instead. </dd></dl>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html">lzma</a></li><li class="navelem"><a class="el" href="bcj_8h.html">bcj.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,12 @@
var bcj_8h =
[
[ "lzma_options_bcj", "structlzma__options__bcj.html", "structlzma__options__bcj" ],
[ "LZMA_FILTER_X86", "bcj_8h.html#aa9eac1f580ddde3309518cd153d596b1", null ],
[ "LZMA_FILTER_POWERPC", "bcj_8h.html#ab7f667d4a5d319f227f23163cbea086f", null ],
[ "LZMA_FILTER_IA64", "bcj_8h.html#a2fe36218a38f400e1ce40820758f7427", null ],
[ "LZMA_FILTER_ARM", "bcj_8h.html#a495a58f63ebc7a8b756099efba492f8b", null ],
[ "LZMA_FILTER_ARMTHUMB", "bcj_8h.html#a5ec62e7e5e7df3d9af5b2ea3f857689a", null ],
[ "LZMA_FILTER_SPARC", "bcj_8h.html#a50941088e93ef659c6b000bbcaf58143", null ],
[ "LZMA_FILTER_ARM64", "bcj_8h.html#a01765158cd31cac21b272b180628fc4b", null ],
[ "LZMA_FILTER_RISCV", "bcj_8h.html#a932e9d66e945f5601b8fad7445a9b40c", null ]
];

View File

@@ -0,0 +1,792 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma/block.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('block_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">block.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>.xz Block handling
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlzma__block.html">lzma_block</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options for the Block and Block Header encoders and decoders. <a href="structlzma__block.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a9263c5b314592e658772e5eb83ffdd78" id="r_a9263c5b314592e658772e5eb83ffdd78"><td class="memItemLeft" align="right" valign="top"><a id="a9263c5b314592e658772e5eb83ffdd78" name="a9263c5b314592e658772e5eb83ffdd78"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_BLOCK_HEADER_SIZE_MIN</b>&#160;&#160;&#160;8</td></tr>
<tr class="separator:a9263c5b314592e658772e5eb83ffdd78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7a39189d0721c55313a401b63811e49" id="r_af7a39189d0721c55313a401b63811e49"><td class="memItemLeft" align="right" valign="top"><a id="af7a39189d0721c55313a401b63811e49" name="af7a39189d0721c55313a401b63811e49"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_BLOCK_HEADER_SIZE_MAX</b>&#160;&#160;&#160;1024</td></tr>
<tr class="separator:af7a39189d0721c55313a401b63811e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac025c940683a70f4c7f956bad814fd5f" id="r_ac025c940683a70f4c7f956bad814fd5f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac025c940683a70f4c7f956bad814fd5f">lzma_block_header_size_decode</a>(b)</td></tr>
<tr class="memdesc:ac025c940683a70f4c7f956bad814fd5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode the Block Header Size field. <br /></td></tr>
<tr class="separator:ac025c940683a70f4c7f956bad814fd5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae9b47abc872d0b02c2da9d3fa5a7dacd" id="r_ae9b47abc872d0b02c2da9d3fa5a7dacd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae9b47abc872d0b02c2da9d3fa5a7dacd">lzma_block_header_size</a> (<a class="el" href="structlzma__block.html">lzma_block</a> *block) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:ae9b47abc872d0b02c2da9d3fa5a7dacd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate Block Header Size. <br /></td></tr>
<tr class="separator:ae9b47abc872d0b02c2da9d3fa5a7dacd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0eedbd6331d5708ea963260e6f2a92d0" id="r_a0eedbd6331d5708ea963260e6f2a92d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0eedbd6331d5708ea963260e6f2a92d0">lzma_block_header_encode</a> (const <a class="el" href="structlzma__block.html">lzma_block</a> *block, uint8_t *out) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:a0eedbd6331d5708ea963260e6f2a92d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode Block Header. <br /></td></tr>
<tr class="separator:a0eedbd6331d5708ea963260e6f2a92d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f5487c21a7b36a8bd17be36074d43c9" id="r_a7f5487c21a7b36a8bd17be36074d43c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7f5487c21a7b36a8bd17be36074d43c9">lzma_block_header_decode</a> (<a class="el" href="structlzma__block.html">lzma_block</a> *block, const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *allocator, const uint8_t *in) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:a7f5487c21a7b36a8bd17be36074d43c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode Block Header. <br /></td></tr>
<tr class="separator:a7f5487c21a7b36a8bd17be36074d43c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c3e102d76db06a07126a569abc6e2bc" id="r_a6c3e102d76db06a07126a569abc6e2bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6c3e102d76db06a07126a569abc6e2bc">lzma_block_compressed_size</a> (<a class="el" href="structlzma__block.html">lzma_block</a> *block, <a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> unpadded_size) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:a6c3e102d76db06a07126a569abc6e2bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validate and set Compressed Size according to Unpadded Size. <br /></td></tr>
<tr class="separator:a6c3e102d76db06a07126a569abc6e2bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a412d5605280fa29befae1b89e344bf30" id="r_a412d5605280fa29befae1b89e344bf30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a412d5605280fa29befae1b89e344bf30">lzma_block_unpadded_size</a> (const <a class="el" href="structlzma__block.html">lzma_block</a> *block) lzma_nothrow lzma_attr_pure</td></tr>
<tr class="memdesc:a412d5605280fa29befae1b89e344bf30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate Unpadded Size. <br /></td></tr>
<tr class="separator:a412d5605280fa29befae1b89e344bf30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a694424f9dfdd5151e01debac1c501fa9" id="r_a694424f9dfdd5151e01debac1c501fa9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a694424f9dfdd5151e01debac1c501fa9">lzma_block_total_size</a> (const <a class="el" href="structlzma__block.html">lzma_block</a> *block) lzma_nothrow lzma_attr_pure</td></tr>
<tr class="memdesc:a694424f9dfdd5151e01debac1c501fa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the total encoded size of a Block. <br /></td></tr>
<tr class="separator:a694424f9dfdd5151e01debac1c501fa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2218a49025a0b44f9a6f9d6d24359359" id="r_a2218a49025a0b44f9a6f9d6d24359359"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2218a49025a0b44f9a6f9d6d24359359">lzma_block_encoder</a> (<a class="el" href="structlzma__stream.html">lzma_stream</a> *strm, <a class="el" href="structlzma__block.html">lzma_block</a> *block) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:a2218a49025a0b44f9a6f9d6d24359359"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize .xz Block encoder. <br /></td></tr>
<tr class="separator:a2218a49025a0b44f9a6f9d6d24359359"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa92c73b2a228efe921fa2376aa7adc92" id="r_aa92c73b2a228efe921fa2376aa7adc92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa92c73b2a228efe921fa2376aa7adc92">lzma_block_decoder</a> (<a class="el" href="structlzma__stream.html">lzma_stream</a> *strm, <a class="el" href="structlzma__block.html">lzma_block</a> *block) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:aa92c73b2a228efe921fa2376aa7adc92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize .xz Block decoder. <br /></td></tr>
<tr class="separator:aa92c73b2a228efe921fa2376aa7adc92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58ff73e2572b529f48cc590bfffe5b4f" id="r_a58ff73e2572b529f48cc590bfffe5b4f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a58ff73e2572b529f48cc590bfffe5b4f">lzma_block_buffer_bound</a> (size_t uncompressed_size) lzma_nothrow</td></tr>
<tr class="memdesc:a58ff73e2572b529f48cc590bfffe5b4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate maximum output size for single-call Block encoding. <br /></td></tr>
<tr class="separator:a58ff73e2572b529f48cc590bfffe5b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af415fa5130ab64e8760e9c39e856fa54" id="r_af415fa5130ab64e8760e9c39e856fa54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af415fa5130ab64e8760e9c39e856fa54">lzma_block_buffer_encode</a> (<a class="el" href="structlzma__block.html">lzma_block</a> *block, const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *allocator, const uint8_t *in, size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:af415fa5130ab64e8760e9c39e856fa54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single-call .xz Block encoder. <br /></td></tr>
<tr class="separator:af415fa5130ab64e8760e9c39e856fa54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a260f634ccd5f54fb98f570d8d92d8c" id="r_a5a260f634ccd5f54fb98f570d8d92d8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5a260f634ccd5f54fb98f570d8d92d8c">lzma_block_uncomp_encode</a> (<a class="el" href="structlzma__block.html">lzma_block</a> *block, const uint8_t *in, size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:a5a260f634ccd5f54fb98f570d8d92d8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single-call uncompressed .xz Block encoder. <br /></td></tr>
<tr class="separator:a5a260f634ccd5f54fb98f570d8d92d8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c6eb869d91b08f68648b1aa7a32ee9f" id="r_a0c6eb869d91b08f68648b1aa7a32ee9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0c6eb869d91b08f68648b1aa7a32ee9f">lzma_block_buffer_decode</a> (<a class="el" href="structlzma__block.html">lzma_block</a> *block, const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *allocator, const uint8_t *in, size_t *in_pos, size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow</td></tr>
<tr class="memdesc:a0c6eb869d91b08f68648b1aa7a32ee9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single-call .xz Block decoder. <br /></td></tr>
<tr class="separator:a0c6eb869d91b08f68648b1aa7a32ee9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>.xz Block handling </p>
<dl class="section note"><dt>Note</dt><dd>Never include this file directly. Use &lt;<a class="el" href="lzma_8h.html" title="The public API of liblzma data compression library.">lzma.h</a>&gt; instead. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ac025c940683a70f4c7f956bad814fd5f" name="ac025c940683a70f4c7f956bad814fd5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac025c940683a70f4c7f956bad814fd5f">&#9670;&#160;</a></span>lzma_block_header_size_decode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define lzma_block_header_size_decode</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>b</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(((uint32_t)(b) + 1) * 4)</div>
</div><!-- fragment -->
<p>Decode the Block Header Size field. </p>
<p>To decode Block Header using <a class="el" href="#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a>, the size of the Block Header has to be known and stored into <a class="el" href="structlzma__block.html#a6689c4f7524b2c05772a2d6151138610" title="Size of the Block Header field in bytes.">lzma_block.header_size</a>. The size can be calculated from the first byte of a Block using this macro. Note that if the first byte is 0x00, it indicates beginning of Index; use this macro only when the byte is not 0x00.</p>
<p>There is no encoding macro because <a class="el" href="#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a> and <a class="el" href="#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a> should be used. </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ae9b47abc872d0b02c2da9d3fa5a7dacd" name="ae9b47abc872d0b02c2da9d3fa5a7dacd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9b47abc872d0b02c2da9d3fa5a7dacd">&#9670;&#160;</a></span>lzma_block_header_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_block_header_size </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate Block Header Size. </p>
<p>Calculate the minimum size needed for the Block Header field using the settings specified in the <a class="el" href="structlzma__block.html" title="Options for the Block and Block Header encoders and decoders.">lzma_block</a> structure. Note that it is OK to increase the calculated header_size value as long as it is a multiple of four and doesn't exceed LZMA_BLOCK_HEADER_SIZE_MAX. Increasing header_size just means that <a class="el" href="#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a> will add Header Padding.</p>
<dl class="section note"><dt>Note</dt><dd>This doesn't check that all the options are valid i.e. this may return LZMA_OK even if <a class="el" href="#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a> or <a class="el" href="#a2218a49025a0b44f9a6f9d6d24359359" title="Initialize .xz Block encoder.">lzma_block_encoder()</a> would fail. If you want to validate the filter chain, consider using lzma_memlimit_encoder() which as a side-effect validates the filter chain.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">block</td><td>Block options</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Size calculated successfully and stored to block-&gt;header_size.</li>
<li>LZMA_OPTIONS_ERROR: Unsupported version, filters or filter options.</li>
<li>LZMA_PROG_ERROR: Invalid values like compressed_size == 0. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a0eedbd6331d5708ea963260e6f2a92d0" name="a0eedbd6331d5708ea963260e6f2a92d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0eedbd6331d5708ea963260e6f2a92d0">&#9670;&#160;</a></span>lzma_block_header_encode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_block_header_encode </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *</td> <td class="paramname"><span class="paramname"><em>out</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode Block Header. </p>
<p>The caller must have calculated the size of the Block Header already with <a class="el" href="#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a>. If a value larger than the one calculated by <a class="el" href="#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a> is used, the Block Header will be padded to the specified size.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">block</td><td>Block options to be encoded. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Beginning of the output buffer. This must be at least block-&gt;header_size bytes.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Encoding was successful. block-&gt;header_size bytes were written to output buffer.</li>
<li>LZMA_OPTIONS_ERROR: Invalid or unsupported options.</li>
<li>LZMA_PROG_ERROR: Invalid arguments, for example block-&gt;header_size is invalid or block-&gt;filters is NULL. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a7f5487c21a7b36a8bd17be36074d43c9" name="a7f5487c21a7b36a8bd17be36074d43c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f5487c21a7b36a8bd17be36074d43c9">&#9670;&#160;</a></span>lzma_block_header_decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_block_header_decode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *</td> <td class="paramname"><span class="paramname"><em>allocator</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *</td> <td class="paramname"><span class="paramname"><em>in</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Decode Block Header. </p>
<p>block-&gt;version should (usually) be set to the highest value supported by the application. If the application sets block-&gt;version to a value higher than supported by the current liblzma version, this function will downgrade block-&gt;version to the highest value supported by it. Thus one should check the value of block-&gt;version after calling this function if block-&gt;version was set to a non-zero value and the application doesn't otherwise know that the liblzma version being used is new enough to support the specified block-&gt;version.</p>
<p>The size of the Block Header must have already been decoded with <a class="el" href="#ac025c940683a70f4c7f956bad814fd5f" title="Decode the Block Header Size field.">lzma_block_header_size_decode()</a> macro and stored to block-&gt;header_size.</p>
<p>The integrity check type from Stream Header must have been stored to block-&gt;check.</p>
<p>block-&gt;filters must have been allocated, but they don't need to be initialized (possible existing filter options are not freed).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">block</td><td>Destination for Block options </td></tr>
<tr><td class="paramdir"></td><td class="paramname">allocator</td><td><a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> for custom allocator functions. Set to NULL to use malloc() (and also free() if an error occurs). </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in</td><td>Beginning of the input buffer. This must be at least block-&gt;header_size bytes.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Decoding was successful. block-&gt;header_size bytes were read from the input buffer.</li>
<li>LZMA_OPTIONS_ERROR: The Block Header specifies some unsupported options such as unsupported filters. This can happen also if block-&gt;version was set to a too low value compared to what would be required to properly represent the information stored in the Block Header.</li>
<li>LZMA_DATA_ERROR: Block Header is corrupt, for example, the CRC32 doesn't match.</li>
<li>LZMA_PROG_ERROR: Invalid arguments, for example block-&gt;header_size is invalid or block-&gt;filters is NULL. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a6c3e102d76db06a07126a569abc6e2bc" name="a6c3e102d76db06a07126a569abc6e2bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c3e102d76db06a07126a569abc6e2bc">&#9670;&#160;</a></span>lzma_block_compressed_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_block_compressed_size </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a></td> <td class="paramname"><span class="paramname"><em>unpadded_size</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Validate and set Compressed Size according to Unpadded Size. </p>
<p>Block Header stores Compressed Size, but Index has Unpadded Size. If the application has already parsed the Index and is now decoding Blocks, it can calculate Compressed Size from Unpadded Size. This function does exactly that with error checking:</p>
<ul>
<li>Compressed Size calculated from Unpadded Size must be positive integer, that is, Unpadded Size must be big enough that after Block Header and Check fields there's still at least one byte for Compressed Size.</li>
<li>If Compressed Size was present in Block Header, the new value calculated from Unpadded Size is compared against the value from Block Header.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This function must be called <em>after</em> decoding the Block Header field so that it can properly validate Compressed Size if it was present in Block Header.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">block</td><td>Block options: block-&gt;header_size must already be set with <a class="el" href="#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a>. </td></tr>
<tr><td class="paramname">unpadded_size</td><td>Unpadded Size from the Index field in bytes</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: block-&gt;compressed_size was set successfully.</li>
<li>LZMA_DATA_ERROR: unpadded_size is too small compared to block-&gt;header_size and lzma_check_size(block-&gt;check).</li>
<li>LZMA_PROG_ERROR: Some values are invalid. For example, block-&gt;header_size must be a multiple of four and between 8 and 1024 inclusive. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a412d5605280fa29befae1b89e344bf30" name="a412d5605280fa29befae1b89e344bf30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a412d5605280fa29befae1b89e344bf30">&#9670;&#160;</a></span>lzma_block_unpadded_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_block_unpadded_size </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate Unpadded Size. </p>
<p>The Index field stores Unpadded Size and Uncompressed Size. The latter can be taken directly from the <a class="el" href="structlzma__block.html" title="Options for the Block and Block Header encoders and decoders.">lzma_block</a> structure after coding a Block, but Unpadded Size needs to be calculated from Block Header Size, Compressed Size, and size of the Check field. This is where this function is needed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">block</td><td>Block options: block-&gt;header_size must already be set with <a class="el" href="#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a>.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Unpadded Size on success, or zero on error. </dd></dl>
</div>
</div>
<a id="a694424f9dfdd5151e01debac1c501fa9" name="a694424f9dfdd5151e01debac1c501fa9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a694424f9dfdd5151e01debac1c501fa9">&#9670;&#160;</a></span>lzma_block_total_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_block_total_size </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate the total encoded size of a Block. </p>
<p>This is equivalent to <a class="el" href="#a412d5605280fa29befae1b89e344bf30" title="Calculate Unpadded Size.">lzma_block_unpadded_size()</a> except that the returned value includes the size of the Block Padding field.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">block</td><td>Block options: block-&gt;header_size must already be set with <a class="el" href="#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a>.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>On success, total encoded size of the Block. On error, zero is returned. </dd></dl>
</div>
</div>
<a id="a2218a49025a0b44f9a6f9d6d24359359" name="a2218a49025a0b44f9a6f9d6d24359359"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2218a49025a0b44f9a6f9d6d24359359">&#9670;&#160;</a></span>lzma_block_encoder()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_block_encoder </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__stream.html">lzma_stream</a> *</td> <td class="paramname"><span class="paramname"><em>strm</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize .xz Block encoder. </p>
<p>Valid actions for <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> are LZMA_RUN, LZMA_SYNC_FLUSH (only if the filter chain supports it), and LZMA_FINISH.</p>
<p>The Block encoder encodes the Block Data, Block Padding, and Check value. It does NOT encode the Block Header which can be encoded with <a class="el" href="#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">strm</td><td>Pointer to <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> that is at least initialized with LZMA_STREAM_INIT. </td></tr>
<tr><td class="paramname">block</td><td>Block options: block-&gt;version, block-&gt;check, and block-&gt;filters must have been initialized.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: All good, continue with <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a>.</li>
<li>LZMA_MEM_ERROR</li>
<li>LZMA_OPTIONS_ERROR</li>
<li>LZMA_UNSUPPORTED_CHECK: block-&gt;check specifies a Check ID that is not supported by this build of liblzma. Initializing the encoder failed.</li>
<li>LZMA_PROG_ERROR </li>
</ul>
</dd></dl>
</div>
</div>
<a id="aa92c73b2a228efe921fa2376aa7adc92" name="aa92c73b2a228efe921fa2376aa7adc92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa92c73b2a228efe921fa2376aa7adc92">&#9670;&#160;</a></span>lzma_block_decoder()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_block_decoder </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__stream.html">lzma_stream</a> *</td> <td class="paramname"><span class="paramname"><em>strm</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize .xz Block decoder. </p>
<p>Valid actions for <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> are LZMA_RUN and LZMA_FINISH. Using LZMA_FINISH is not required. It is supported only for convenience.</p>
<p>The Block decoder decodes the Block Data, Block Padding, and Check value. It does NOT decode the Block Header which can be decoded with <a class="el" href="#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">strm</td><td>Pointer to <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> that is at least initialized with LZMA_STREAM_INIT. </td></tr>
<tr><td class="paramname">block</td><td>Block options</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: All good, continue with <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a>.</li>
<li>LZMA_PROG_ERROR</li>
<li>LZMA_MEM_ERROR </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a58ff73e2572b529f48cc590bfffe5b4f" name="a58ff73e2572b529f48cc590bfffe5b4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58ff73e2572b529f48cc590bfffe5b4f">&#9670;&#160;</a></span>lzma_block_buffer_bound()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t lzma_block_buffer_bound </td>
<td>(</td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>uncompressed_size</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate maximum output size for single-call Block encoding. </p>
<p>This is equivalent to <a class="el" href="container_8h.html#a66d4366a47b8332bff2a512f44f5c45e" title="Calculate output buffer size for single-call Stream encoder.">lzma_stream_buffer_bound()</a> but for .xz Blocks. See the documentation of <a class="el" href="container_8h.html#a66d4366a47b8332bff2a512f44f5c45e" title="Calculate output buffer size for single-call Stream encoder.">lzma_stream_buffer_bound()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">uncompressed_size</td><td>Size of the data to be encoded with the single-call Block encoder.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Maximum output size in bytes for single-call Block encoding. </dd></dl>
</div>
</div>
<a id="af415fa5130ab64e8760e9c39e856fa54" name="af415fa5130ab64e8760e9c39e856fa54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af415fa5130ab64e8760e9c39e856fa54">&#9670;&#160;</a></span>lzma_block_buffer_encode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_block_buffer_encode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *</td> <td class="paramname"><span class="paramname"><em>allocator</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *</td> <td class="paramname"><span class="paramname"><em>in</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>in_size</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *</td> <td class="paramname"><span class="paramname"><em>out_pos</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>out_size</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Single-call .xz Block encoder. </p>
<p>In contrast to the multi-call encoder initialized with <a class="el" href="#a2218a49025a0b44f9a6f9d6d24359359" title="Initialize .xz Block encoder.">lzma_block_encoder()</a>, this function encodes also the Block Header. This is required to make it possible to write appropriate Block Header also in case the data isn't compressible, and different filter chain has to be used to encode the data in uncompressed form using uncompressed chunks of the LZMA2 filter.</p>
<p>When the data isn't compressible, header_size, compressed_size, and uncompressed_size are set just like when the data was compressible, but it is possible that header_size is too small to hold the filter chain specified in block-&gt;filters, because that isn't necessarily the filter chain that was actually used to encode the data. <a class="el" href="#a412d5605280fa29befae1b89e344bf30" title="Calculate Unpadded Size.">lzma_block_unpadded_size()</a> still works normally, because it doesn't read the filters array.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">block</td><td>Block options: block-&gt;version, block-&gt;check, and block-&gt;filters must have been initialized. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">allocator</td><td><a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> for custom allocator functions. Set to NULL to use malloc() and free(). </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in</td><td>Beginning of the input buffer </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in_size</td><td>Size of the input buffer </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Beginning of the output buffer </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out_pos</td><td>The next byte will be written to out[*out_pos]. *out_pos is updated only if encoding succeeds. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">out_size</td><td>Size of the out buffer; the first byte into which no data is written to is out[out_size].</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Encoding was successful.</li>
<li>LZMA_BUF_ERROR: Not enough output buffer space.</li>
<li>LZMA_UNSUPPORTED_CHECK</li>
<li>LZMA_OPTIONS_ERROR</li>
<li>LZMA_MEM_ERROR</li>
<li>LZMA_DATA_ERROR</li>
<li>LZMA_PROG_ERROR </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a5a260f634ccd5f54fb98f570d8d92d8c" name="a5a260f634ccd5f54fb98f570d8d92d8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a260f634ccd5f54fb98f570d8d92d8c">&#9670;&#160;</a></span>lzma_block_uncomp_encode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_block_uncomp_encode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *</td> <td class="paramname"><span class="paramname"><em>in</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>in_size</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *</td> <td class="paramname"><span class="paramname"><em>out_pos</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>out_size</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Single-call uncompressed .xz Block encoder. </p>
<p>This is like <a class="el" href="#af415fa5130ab64e8760e9c39e856fa54" title="Single-call .xz Block encoder.">lzma_block_buffer_encode()</a> except this doesn't try to compress the data and instead encodes the data using LZMA2 uncompressed chunks. The required output buffer size can be determined with <a class="el" href="#a58ff73e2572b529f48cc590bfffe5b4f" title="Calculate maximum output size for single-call Block encoding.">lzma_block_buffer_bound()</a>.</p>
<p>Since the data won't be compressed, this function ignores block-&gt;filters. This function doesn't take <a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> because this function doesn't allocate any memory from the heap.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">block</td><td>Block options: block-&gt;version, block-&gt;check, and block-&gt;filters must have been initialized. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in</td><td>Beginning of the input buffer </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in_size</td><td>Size of the input buffer </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Beginning of the output buffer </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out_pos</td><td>The next byte will be written to out[*out_pos]. *out_pos is updated only if encoding succeeds. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">out_size</td><td>Size of the out buffer; the first byte into which no data is written to is out[out_size].</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Encoding was successful.</li>
<li>LZMA_BUF_ERROR: Not enough output buffer space.</li>
<li>LZMA_UNSUPPORTED_CHECK</li>
<li>LZMA_OPTIONS_ERROR</li>
<li>LZMA_MEM_ERROR</li>
<li>LZMA_DATA_ERROR</li>
<li>LZMA_PROG_ERROR </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a0c6eb869d91b08f68648b1aa7a32ee9f" name="a0c6eb869d91b08f68648b1aa7a32ee9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c6eb869d91b08f68648b1aa7a32ee9f">&#9670;&#160;</a></span>lzma_block_buffer_decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_block_buffer_decode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__block.html">lzma_block</a> *</td> <td class="paramname"><span class="paramname"><em>block</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *</td> <td class="paramname"><span class="paramname"><em>allocator</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *</td> <td class="paramname"><span class="paramname"><em>in</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *</td> <td class="paramname"><span class="paramname"><em>in_pos</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>in_size</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *</td> <td class="paramname"><span class="paramname"><em>out_pos</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>out_size</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Single-call .xz Block decoder. </p>
<p>This is single-call equivalent of <a class="el" href="#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a>, and requires that the caller has already decoded Block Header and checked its memory usage.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">block</td><td>Block options </td></tr>
<tr><td class="paramdir"></td><td class="paramname">allocator</td><td><a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> for custom allocator functions. Set to NULL to use malloc() and free(). </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in</td><td>Beginning of the input buffer </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in_pos</td><td>The next byte will be read from in[*in_pos]. *in_pos is updated only if decoding succeeds. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in_size</td><td>Size of the input buffer; the first byte that won't be read is in[in_size]. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Beginning of the output buffer </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out_pos</td><td>The next byte will be written to out[*out_pos]. *out_pos is updated only if encoding succeeds. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">out_size</td><td>Size of the out buffer; the first byte into which no data is written to is out[out_size].</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Decoding was successful.</li>
<li>LZMA_OPTIONS_ERROR</li>
<li>LZMA_DATA_ERROR</li>
<li>LZMA_MEM_ERROR</li>
<li>LZMA_BUF_ERROR: Output buffer was too small.</li>
<li>LZMA_PROG_ERROR </li>
</ul>
</dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html">lzma</a></li><li class="navelem"><a class="el" href="block_8h.html">block.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,17 @@
var block_8h =
[
[ "lzma_block", "structlzma__block.html", "structlzma__block" ],
[ "lzma_block_header_size_decode", "block_8h.html#ac025c940683a70f4c7f956bad814fd5f", null ],
[ "lzma_block_header_size", "block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd", null ],
[ "lzma_block_header_encode", "block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0", null ],
[ "lzma_block_header_decode", "block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9", null ],
[ "lzma_block_compressed_size", "block_8h.html#a6c3e102d76db06a07126a569abc6e2bc", null ],
[ "lzma_block_unpadded_size", "block_8h.html#a412d5605280fa29befae1b89e344bf30", null ],
[ "lzma_block_total_size", "block_8h.html#a694424f9dfdd5151e01debac1c501fa9", null ],
[ "lzma_block_encoder", "block_8h.html#a2218a49025a0b44f9a6f9d6d24359359", null ],
[ "lzma_block_decoder", "block_8h.html#aa92c73b2a228efe921fa2376aa7adc92", null ],
[ "lzma_block_buffer_bound", "block_8h.html#a58ff73e2572b529f48cc590bfffe5b4f", null ],
[ "lzma_block_buffer_encode", "block_8h.html#af415fa5130ab64e8760e9c39e856fa54", null ],
[ "lzma_block_uncomp_encode", "block_8h.html#a5a260f634ccd5f54fb98f570d8d92d8c", null ],
[ "lzma_block_buffer_decode", "block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f", null ]
];

View File

@@ -0,0 +1,375 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma/check.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('check_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">check.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Integrity checks.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:acd221ababe30230d9647aab469ad80cb" id="r_acd221ababe30230d9647aab469ad80cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acd221ababe30230d9647aab469ad80cb">LZMA_CHECK_ID_MAX</a>&#160;&#160;&#160;15</td></tr>
<tr class="memdesc:acd221ababe30230d9647aab469ad80cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum valid Check ID. <br /></td></tr>
<tr class="separator:acd221ababe30230d9647aab469ad80cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a379e931cf86351ab1d97896cda9abbe0" id="r_a379e931cf86351ab1d97896cda9abbe0"><td class="memItemLeft" align="right" valign="top"><a id="a379e931cf86351ab1d97896cda9abbe0" name="a379e931cf86351ab1d97896cda9abbe0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_CHECK_SIZE_MAX</b>&#160;&#160;&#160;64</td></tr>
<tr class="memdesc:a379e931cf86351ab1d97896cda9abbe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum size of a Check field. <br /></td></tr>
<tr class="separator:a379e931cf86351ab1d97896cda9abbe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a0a6100c719ac9aa49be3fdf7519e8c3f" id="r_a0a6100c719ac9aa49be3fdf7519e8c3f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a> { <a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3fa7b9851d75abfabc08d7fc5b4aaeb6f20">LZMA_CHECK_NONE</a> = 0
, <a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3fa0be65014a40b5cb4ab32252b3709bef7">LZMA_CHECK_CRC32</a> = 1
, <a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3fa87b4b0697a1e1ccb6766dd5c2fa24afc">LZMA_CHECK_CRC64</a> = 4
, <a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3faf26a55ddd204a50ae87ec3432e7bc309">LZMA_CHECK_SHA256</a> = 10
}</td></tr>
<tr class="memdesc:a0a6100c719ac9aa49be3fdf7519e8c3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the integrity check (Check ID) <a href="#a0a6100c719ac9aa49be3fdf7519e8c3f">More...</a><br /></td></tr>
<tr class="separator:a0a6100c719ac9aa49be3fdf7519e8c3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae9391ed2acfad0ce9357b68c608f07d8" id="r_ae9391ed2acfad0ce9357b68c608f07d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">lzma_bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae9391ed2acfad0ce9357b68c608f07d8">lzma_check_is_supported</a> (<a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a> check) lzma_nothrow lzma_attr_const</td></tr>
<tr class="memdesc:ae9391ed2acfad0ce9357b68c608f07d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if the given Check ID is supported. <br /></td></tr>
<tr class="separator:ae9391ed2acfad0ce9357b68c608f07d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd3fda19575d9d4f864c626c02b7cb48" id="r_afd3fda19575d9d4f864c626c02b7cb48"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afd3fda19575d9d4f864c626c02b7cb48">lzma_check_size</a> (<a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a> check) lzma_nothrow lzma_attr_const</td></tr>
<tr class="memdesc:afd3fda19575d9d4f864c626c02b7cb48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of the Check field with the given Check ID. <br /></td></tr>
<tr class="separator:afd3fda19575d9d4f864c626c02b7cb48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a760b569cce91bdd01e4ce9d78823c96d" id="r_a760b569cce91bdd01e4ce9d78823c96d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a760b569cce91bdd01e4ce9d78823c96d">lzma_crc32</a> (const uint8_t *buf, size_t size, uint32_t crc) lzma_nothrow lzma_attr_pure</td></tr>
<tr class="memdesc:a760b569cce91bdd01e4ce9d78823c96d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate CRC32. <br /></td></tr>
<tr class="separator:a760b569cce91bdd01e4ce9d78823c96d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff2e74ce671b9f82a96adb549c68cea2" id="r_aff2e74ce671b9f82a96adb549c68cea2"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aff2e74ce671b9f82a96adb549c68cea2">lzma_crc64</a> (const uint8_t *buf, size_t size, uint64_t crc) lzma_nothrow lzma_attr_pure</td></tr>
<tr class="memdesc:aff2e74ce671b9f82a96adb549c68cea2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate CRC64. <br /></td></tr>
<tr class="separator:aff2e74ce671b9f82a96adb549c68cea2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d7c3ffabfd024485f03fa209536c746" id="r_a8d7c3ffabfd024485f03fa209536c746"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8d7c3ffabfd024485f03fa209536c746">lzma_get_check</a> (const <a class="el" href="structlzma__stream.html">lzma_stream</a> *strm) lzma_nothrow</td></tr>
<tr class="memdesc:a8d7c3ffabfd024485f03fa209536c746"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the integrity check. <br /></td></tr>
<tr class="separator:a8d7c3ffabfd024485f03fa209536c746"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Integrity checks. </p>
<dl class="section note"><dt>Note</dt><dd>Never include this file directly. Use &lt;<a class="el" href="lzma_8h.html" title="The public API of liblzma data compression library.">lzma.h</a>&gt; instead. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="acd221ababe30230d9647aab469ad80cb" name="acd221ababe30230d9647aab469ad80cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd221ababe30230d9647aab469ad80cb">&#9670;&#160;</a></span>LZMA_CHECK_ID_MAX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LZMA_CHECK_ID_MAX&#160;&#160;&#160;15</td>
</tr>
</table>
</div><div class="memdoc">
<p>Maximum valid Check ID. </p>
<p>The .xz file format specification specifies 16 Check IDs (0-15). Some of them are only reserved, that is, no actual Check algorithm has been assigned. When decoding, liblzma still accepts unknown Check IDs for future compatibility. If a valid but unsupported Check ID is detected, liblzma can indicate a warning; see the flags LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK, and LZMA_TELL_ANY_CHECK in <a class="el" href="container_8h.html" title="File formats.">container.h</a>. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a0a6100c719ac9aa49be3fdf7519e8c3f" name="a0a6100c719ac9aa49be3fdf7519e8c3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a6100c719ac9aa49be3fdf7519e8c3f">&#9670;&#160;</a></span>lzma_check</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Type of the integrity check (Check ID) </p>
<p>The .xz format supports multiple types of checks that are calculated from the uncompressed data. They vary in both speed and ability to detect errors. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0a6100c719ac9aa49be3fdf7519e8c3fa7b9851d75abfabc08d7fc5b4aaeb6f20" name="a0a6100c719ac9aa49be3fdf7519e8c3fa7b9851d75abfabc08d7fc5b4aaeb6f20"></a>LZMA_CHECK_NONE&#160;</td><td class="fielddoc"><p>No Check is calculated.</p>
<p>Size of the Check field: 0 bytes </p>
</td></tr>
<tr><td class="fieldname"><a id="a0a6100c719ac9aa49be3fdf7519e8c3fa0be65014a40b5cb4ab32252b3709bef7" name="a0a6100c719ac9aa49be3fdf7519e8c3fa0be65014a40b5cb4ab32252b3709bef7"></a>LZMA_CHECK_CRC32&#160;</td><td class="fielddoc"><p>CRC32 using the polynomial from the IEEE 802.3 standard</p>
<p>Size of the Check field: 4 bytes </p>
</td></tr>
<tr><td class="fieldname"><a id="a0a6100c719ac9aa49be3fdf7519e8c3fa87b4b0697a1e1ccb6766dd5c2fa24afc" name="a0a6100c719ac9aa49be3fdf7519e8c3fa87b4b0697a1e1ccb6766dd5c2fa24afc"></a>LZMA_CHECK_CRC64&#160;</td><td class="fielddoc"><p>CRC64 using the polynomial from the ECMA-182 standard</p>
<p>Size of the Check field: 8 bytes </p>
</td></tr>
<tr><td class="fieldname"><a id="a0a6100c719ac9aa49be3fdf7519e8c3faf26a55ddd204a50ae87ec3432e7bc309" name="a0a6100c719ac9aa49be3fdf7519e8c3faf26a55ddd204a50ae87ec3432e7bc309"></a>LZMA_CHECK_SHA256&#160;</td><td class="fielddoc"><p>SHA-256</p>
<p>Size of the Check field: 32 bytes </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ae9391ed2acfad0ce9357b68c608f07d8" name="ae9391ed2acfad0ce9357b68c608f07d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9391ed2acfad0ce9357b68c608f07d8">&#9670;&#160;</a></span>lzma_check_is_supported()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">lzma_bool</a> lzma_check_is_supported </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a></td> <td class="paramname"><span class="paramname"><em>check</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Test if the given Check ID is supported. </p>
<p>LZMA_CHECK_NONE and LZMA_CHECK_CRC32 are always supported (even if liblzma is built with limited features).</p>
<dl class="section note"><dt>Note</dt><dd>It is safe to call this with a value that is not in the range [0, 15]; in that case the return value is always false.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">check</td><td>Check ID</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59" title="Boolean.">lzma_bool</a>:<ul>
<li>true if Check ID is supported by this liblzma build.</li>
<li>false otherwise. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="afd3fda19575d9d4f864c626c02b7cb48" name="afd3fda19575d9d4f864c626c02b7cb48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd3fda19575d9d4f864c626c02b7cb48">&#9670;&#160;</a></span>lzma_check_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_check_size </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a></td> <td class="paramname"><span class="paramname"><em>check</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the size of the Check field with the given Check ID. </p>
<p>Although not all Check IDs have a check algorithm associated, the size of every Check is already frozen. This function returns the size (in bytes) of the Check field with the specified Check ID. The values are: { 0, 4, 4, 4, 8, 8, 8, 16, 16, 16, 32, 32, 32, 64, 64, 64 }</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">check</td><td>Check ID</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Size of the Check field in bytes. If the argument is not in the range [0, 15], UINT32_MAX is returned. </dd></dl>
</div>
</div>
<a id="a760b569cce91bdd01e4ce9d78823c96d" name="a760b569cce91bdd01e4ce9d78823c96d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a760b569cce91bdd01e4ce9d78823c96d">&#9670;&#160;</a></span>lzma_crc32()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_crc32 </td>
<td>(</td>
<td class="paramtype">const uint8_t *</td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t</td> <td class="paramname"><span class="paramname"><em>crc</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate CRC32. </p>
<p>Calculate CRC32 using the polynomial from the IEEE 802.3 standard.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buf</td><td>Pointer to the input buffer </td></tr>
<tr><td class="paramname">size</td><td>Size of the input buffer </td></tr>
<tr><td class="paramname">crc</td><td>Previously returned CRC value. This is used to calculate the CRC of a big buffer in smaller chunks. Set to zero when starting a new calculation.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Updated CRC value, which can be passed to this function again to continue CRC calculation. </dd></dl>
</div>
</div>
<a id="aff2e74ce671b9f82a96adb549c68cea2" name="aff2e74ce671b9f82a96adb549c68cea2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff2e74ce671b9f82a96adb549c68cea2">&#9670;&#160;</a></span>lzma_crc64()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint64_t lzma_crc64 </td>
<td>(</td>
<td class="paramtype">const uint8_t *</td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t</td> <td class="paramname"><span class="paramname"><em>crc</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate CRC64. </p>
<p>Calculate CRC64 using the polynomial from the ECMA-182 standard.</p>
<p>This function is used similarly to <a class="el" href="#a760b569cce91bdd01e4ce9d78823c96d" title="Calculate CRC32.">lzma_crc32()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buf</td><td>Pointer to the input buffer </td></tr>
<tr><td class="paramname">size</td><td>Size of the input buffer </td></tr>
<tr><td class="paramname">crc</td><td>Previously returned CRC value. This is used to calculate the CRC of a big buffer in smaller chunks. Set to zero when starting a new calculation.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Updated CRC value, which can be passed to this function again to continue CRC calculation. </dd></dl>
</div>
</div>
<a id="a8d7c3ffabfd024485f03fa209536c746" name="a8d7c3ffabfd024485f03fa209536c746"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d7c3ffabfd024485f03fa209536c746">&#9670;&#160;</a></span>lzma_get_check()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a> lzma_get_check </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structlzma__stream.html">lzma_stream</a> *</td> <td class="paramname"><span class="paramname"><em>strm</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the type of the integrity check. </p>
<p>This function can be called only immediately after <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> has returned LZMA_NO_CHECK, LZMA_UNSUPPORTED_CHECK, or LZMA_GET_CHECK. Calling this function in any other situation has undefined behavior.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">strm</td><td>Pointer to <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> meeting the above conditions.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Check ID in the <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a>, or undefined if called improperly. </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html">lzma</a></li><li class="navelem"><a class="el" href="check_8h.html">check.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,16 @@
var check_8h =
[
[ "LZMA_CHECK_ID_MAX", "check_8h.html#acd221ababe30230d9647aab469ad80cb", null ],
[ "LZMA_CHECK_SIZE_MAX", "check_8h.html#a379e931cf86351ab1d97896cda9abbe0", null ],
[ "lzma_check", "check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3f", [
[ "LZMA_CHECK_NONE", "check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa7b9851d75abfabc08d7fc5b4aaeb6f20", null ],
[ "LZMA_CHECK_CRC32", "check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa0be65014a40b5cb4ab32252b3709bef7", null ],
[ "LZMA_CHECK_CRC64", "check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa87b4b0697a1e1ccb6766dd5c2fa24afc", null ],
[ "LZMA_CHECK_SHA256", "check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3faf26a55ddd204a50ae87ec3432e7bc309", null ]
] ],
[ "lzma_check_is_supported", "check_8h.html#ae9391ed2acfad0ce9357b68c608f07d8", null ],
[ "lzma_check_size", "check_8h.html#afd3fda19575d9d4f864c626c02b7cb48", null ],
[ "lzma_crc32", "check_8h.html#a760b569cce91bdd01e4ce9d78823c96d", null ],
[ "lzma_crc64", "check_8h.html#aff2e74ce671b9f82a96adb549c68cea2", null ],
[ "lzma_get_check", "check_8h.html#a8d7c3ffabfd024485f03fa209536c746", null ]
];

View File

@@ -0,0 +1,77 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): Data Structure Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classes.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">Data Structure Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_L">L</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_L" name="letter_L">L</a></dt>
<dd><a class="el" href="structlzma__allocator.html">lzma_allocator</a></dd><dd><a class="el" href="structlzma__block.html">lzma_block</a></dd><dd><a class="el" href="structlzma__filter.html">lzma_filter</a></dd><dd><a class="el" href="structlzma__index__iter.html">lzma_index_iter</a></dd><dd><a class="el" href="structlzma__mt.html">lzma_mt</a></dd><dd><a class="el" href="structlzma__options__bcj.html">lzma_options_bcj</a></dd><dd><a class="el" href="structlzma__options__delta.html">lzma_options_delta</a></dd><dd><a class="el" href="structlzma__options__lzma.html">lzma_options_lzma</a></dd><dd><a class="el" href="structlzma__stream.html">lzma_stream</a></dd><dd><a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a></dd></dl>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,61 @@
/**
The code below is based on the Doxygen Awesome project, see
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2021 - 2022 jothepro
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
let clipboard_title = "Copy to clipboard"
let clipboard_icon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>`
let clipboard_successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>`
let clipboard_successDuration = 1000
$(function() {
if(navigator.clipboard) {
const fragments = document.getElementsByClassName("fragment")
for(const fragment of fragments) {
const clipboard_div = document.createElement("div")
clipboard_div.classList.add("clipboard")
clipboard_div.innerHTML = clipboard_icon
clipboard_div.title = clipboard_title
$(clipboard_div).click(function() {
const content = this.parentNode.cloneNode(true)
// filter out line number and folded fragments from file listings
content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() })
let text = content.textContent
// remove trailing newlines and trailing spaces from empty lines
text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'')
navigator.clipboard.writeText(text);
this.classList.add("success")
this.innerHTML = clipboard_successIcon
window.setTimeout(() => { // switch back to normal icon after timeout
this.classList.remove("success")
this.innerHTML = clipboard_icon
}, clipboard_successDuration);
})
fragment.insertBefore(clipboard_div, fragment.firstChild)
}
}
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,32 @@
var container_8h =
[
[ "lzma_mt", "structlzma__mt.html", "structlzma__mt" ],
[ "LZMA_PRESET_DEFAULT", "container_8h.html#af3ca20ff228b363a82515c1aee9e27bc", null ],
[ "LZMA_PRESET_LEVEL_MASK", "container_8h.html#a97e40265e355a21bd2465aaa5b85f03d", null ],
[ "LZMA_PRESET_EXTREME", "container_8h.html#af524fe9af5737820fdadcd40a2c26deb", null ],
[ "LZMA_TELL_NO_CHECK", "container_8h.html#ada9cd20febb28b5ed6656de9184a86e9", null ],
[ "LZMA_TELL_UNSUPPORTED_CHECK", "container_8h.html#ae21fb746037c82735d40d428c462e078", null ],
[ "LZMA_TELL_ANY_CHECK", "container_8h.html#a0bdde702a77ff42b90a99c0bf4147b6b", null ],
[ "LZMA_IGNORE_CHECK", "container_8h.html#a1289925ae1c63a8e86f69f3657118a4d", null ],
[ "LZMA_CONCATENATED", "container_8h.html#a563c84b5f368b3dd00d92ea903c5c33d", null ],
[ "LZMA_FAIL_FAST", "container_8h.html#aa1f469ed3d4b2eaf12f8081657efc9d5", null ],
[ "lzma_easy_encoder_memusage", "container_8h.html#a62c853cf7dbf008bdbd97b2685c3eabf", null ],
[ "lzma_easy_decoder_memusage", "container_8h.html#a3562055d26c18fad067a7c7516eaddf5", null ],
[ "lzma_easy_encoder", "container_8h.html#acbdad999c544872f0f5d242f0d1a4ed4", null ],
[ "lzma_easy_buffer_encode", "container_8h.html#ac5e71f2711b57391186671967435faf2", null ],
[ "lzma_stream_encoder", "container_8h.html#a1a97aec94c9fedd7646cfa51c4f4cd52", null ],
[ "lzma_stream_encoder_mt_memusage", "container_8h.html#ad7cf41496d77f4d346e006b26ed8e101", null ],
[ "lzma_stream_encoder_mt", "container_8h.html#a3f8793518711ee84d1abf12ea3aaba42", null ],
[ "lzma_mt_block_size", "container_8h.html#a7eaeda1cb811ac1f5a6403691df8a894", null ],
[ "lzma_alone_encoder", "container_8h.html#a26fcc5bccdf3f862caa4c992d01e1a72", null ],
[ "lzma_stream_buffer_bound", "container_8h.html#a66d4366a47b8332bff2a512f44f5c45e", null ],
[ "lzma_stream_buffer_encode", "container_8h.html#a6e645ccaeace3b13a6981e03c6e190ad", null ],
[ "lzma_microlzma_encoder", "container_8h.html#abfc8f11acf837b167aa94b7071b54c30", null ],
[ "lzma_stream_decoder", "container_8h.html#a02b7683ef98d8049788961370a8b28c0", null ],
[ "lzma_stream_decoder_mt", "container_8h.html#a7179d178e6430c10e2006a467921e98e", null ],
[ "lzma_auto_decoder", "container_8h.html#a21cbebf2771617bb1e956385cfb353e3", null ],
[ "lzma_alone_decoder", "container_8h.html#a5f43c3a1035e5a226dcd298f4162b861", null ],
[ "lzma_lzip_decoder", "container_8h.html#a97689f5709e0db1e2dac450f5ce4e5eb", null ],
[ "lzma_stream_buffer_decode", "container_8h.html#aa58f237f6cea97ef0eb9bf5c37a3008d", null ],
[ "lzma_microlzma_decoder", "container_8h.html#aa8372dae3e7c907c36f7bb5426aeacdf", null ]
];

View File

@@ -0,0 +1,58 @@
/*!
Cookie helper functions
Copyright (c) 2023 Dimitri van Heesch
Released under MIT license.
*/
let Cookie = {
cookie_namespace: 'doxygen_',
readSetting(cookie,defVal) {
if (window.chrome) {
const val = localStorage.getItem(this.cookie_namespace+cookie) ||
sessionStorage.getItem(this.cookie_namespace+cookie);
if (val) return val;
} else {
let myCookie = this.cookie_namespace+cookie+"=";
if (document.cookie) {
const index = document.cookie.indexOf(myCookie);
if (index != -1) {
const valStart = index + myCookie.length;
let valEnd = document.cookie.indexOf(";", valStart);
if (valEnd == -1) {
valEnd = document.cookie.length;
}
return document.cookie.substring(valStart, valEnd);
}
}
}
return defVal;
},
writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete
if (window.chrome) {
if (days==0) {
sessionStorage.setItem(this.cookie_namespace+cookie,val);
} else {
localStorage.setItem(this.cookie_namespace+cookie,val);
}
} else {
let date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
const expiration = days!=0 ? "expires="+date.toGMTString()+";" : "";
document.cookie = this.cookie_namespace + cookie + "=" +
val + "; SameSite=Lax;" + expiration + "path=/";
}
},
eraseSetting(cookie) {
if (window.chrome) {
if (localStorage.getItem(this.cookie_namespace+cookie)) {
localStorage.removeItem(this.cookie_namespace+cookie);
} else if (sessionStorage.getItem(this.cookie_namespace+cookie)) {
sessionStorage.removeItem(this.cookie_namespace+cookie);
}
} else {
this.writeSetting(cookie,'',-1);
}
},
}

View File

@@ -0,0 +1,146 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma/delta.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('delta_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle"><div class="title">delta.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Delta filter.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlzma__options__delta.html">lzma_options_delta</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options for the Delta filter. <a href="structlzma__options__delta.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a7ced67235ad7a01ae31d32ecf1e634cb" id="r_a7ced67235ad7a01ae31d32ecf1e634cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7ced67235ad7a01ae31d32ecf1e634cb">LZMA_FILTER_DELTA</a>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x03)</td></tr>
<tr class="memdesc:a7ced67235ad7a01ae31d32ecf1e634cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter ID. <br /></td></tr>
<tr class="separator:a7ced67235ad7a01ae31d32ecf1e634cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a466886d9d01392f61bdf267687a4f96e" id="r_a466886d9d01392f61bdf267687a4f96e"><td class="memItemLeft" align="right" valign="top"><a id="a466886d9d01392f61bdf267687a4f96e" name="a466886d9d01392f61bdf267687a4f96e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_DELTA_DIST_MIN</b>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:a466886d9d01392f61bdf267687a4f96e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum value for <a class="el" href="structlzma__options__delta.html#a31b4b0b5a2462cb9433c2663b8a62790" title="Delta distance.">lzma_options_delta.dist</a>. <br /></td></tr>
<tr class="separator:a466886d9d01392f61bdf267687a4f96e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdf8a5ce184ddf9f8070de637775da94" id="r_afdf8a5ce184ddf9f8070de637775da94"><td class="memItemLeft" align="right" valign="top"><a id="afdf8a5ce184ddf9f8070de637775da94" name="afdf8a5ce184ddf9f8070de637775da94"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_DELTA_DIST_MAX</b>&#160;&#160;&#160;256</td></tr>
<tr class="memdesc:afdf8a5ce184ddf9f8070de637775da94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum value for <a class="el" href="structlzma__options__delta.html#a31b4b0b5a2462cb9433c2663b8a62790" title="Delta distance.">lzma_options_delta.dist</a>. <br /></td></tr>
<tr class="separator:afdf8a5ce184ddf9f8070de637775da94"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a04d84d7fa6cefdc219b6e2e96ff36fe1" id="r_a04d84d7fa6cefdc219b6e2e96ff36fe1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a04d84d7fa6cefdc219b6e2e96ff36fe1">lzma_delta_type</a> { <b>LZMA_DELTA_TYPE_BYTE</b>
}</td></tr>
<tr class="memdesc:a04d84d7fa6cefdc219b6e2e96ff36fe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the delta calculation. <a href="#a04d84d7fa6cefdc219b6e2e96ff36fe1">More...</a><br /></td></tr>
<tr class="separator:a04d84d7fa6cefdc219b6e2e96ff36fe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Delta filter. </p>
<dl class="section note"><dt>Note</dt><dd>Never include this file directly. Use &lt;<a class="el" href="lzma_8h.html" title="The public API of liblzma data compression library.">lzma.h</a>&gt; instead. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a7ced67235ad7a01ae31d32ecf1e634cb" name="a7ced67235ad7a01ae31d32ecf1e634cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ced67235ad7a01ae31d32ecf1e634cb">&#9670;&#160;</a></span>LZMA_FILTER_DELTA</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LZMA_FILTER_DELTA&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x03)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Filter ID. </p>
<p>Filter ID of the Delta filter. This is used as <a class="el" href="structlzma__filter.html#aef1d9709759f39e61db77547b2326929" title="Filter ID.">lzma_filter.id</a>. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a04d84d7fa6cefdc219b6e2e96ff36fe1" name="a04d84d7fa6cefdc219b6e2e96ff36fe1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04d84d7fa6cefdc219b6e2e96ff36fe1">&#9670;&#160;</a></span>lzma_delta_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#a04d84d7fa6cefdc219b6e2e96ff36fe1">lzma_delta_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Type of the delta calculation. </p>
<p>Currently only byte-wise delta is supported. Other possible types could be, for example, delta of 16/32/64-bit little/big endian integers, but these are not currently planned since byte-wise delta is almost as good. </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html">lzma</a></li><li class="navelem"><a class="el" href="delta_8h.html">delta.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,10 @@
var delta_8h =
[
[ "lzma_options_delta", "structlzma__options__delta.html", "structlzma__options__delta" ],
[ "LZMA_FILTER_DELTA", "delta_8h.html#a7ced67235ad7a01ae31d32ecf1e634cb", null ],
[ "LZMA_DELTA_DIST_MIN", "delta_8h.html#a466886d9d01392f61bdf267687a4f96e", null ],
[ "LZMA_DELTA_DIST_MAX", "delta_8h.html#afdf8a5ce184ddf9f8070de637775da94", null ],
[ "lzma_delta_type", "delta_8h.html#a04d84d7fa6cefdc219b6e2e96ff36fe1", [
[ "LZMA_DELTA_TYPE_BYTE", "delta_8h.html#a04d84d7fa6cefdc219b6e2e96ff36fe1afa749f8693200e0e82feef5f99815da4", null ]
] ]
];

View File

@@ -0,0 +1,118 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('dir_b17a1d403082bd69a703ed987cf158fb.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">lzma Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="base_8h.html">base.h</a></td></tr>
<tr class="memdesc:base_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data types and functions used in many places in liblzma API. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bcj_8h.html">bcj.h</a></td></tr>
<tr class="memdesc:bcj_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Branch/Call/Jump conversion filters. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="block_8h.html">block.h</a></td></tr>
<tr class="memdesc:block_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">.xz Block handling <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="check_8h.html">check.h</a></td></tr>
<tr class="memdesc:check_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integrity checks. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="container_8h.html">container.h</a></td></tr>
<tr class="memdesc:container_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">File formats. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="delta_8h.html">delta.h</a></td></tr>
<tr class="memdesc:delta_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delta filter. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="filter_8h.html">filter.h</a></td></tr>
<tr class="memdesc:filter_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common filter related types and functions. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hardware_8h.html">hardware.h</a></td></tr>
<tr class="memdesc:hardware_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hardware information. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="index_8h.html">index.h</a></td></tr>
<tr class="memdesc:index_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handling of .xz Index and related information. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="index__hash_8h.html">index_hash.h</a></td></tr>
<tr class="memdesc:index__hash_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validate Index by using a hash function. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzma12_8h.html">lzma12.h</a></td></tr>
<tr class="memdesc:lzma12_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">LZMA1 and LZMA2 filters. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__flags_8h.html">stream_flags.h</a></td></tr>
<tr class="memdesc:stream__flags_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">.xz Stream Header and Stream Footer encoder and decoder <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="version_8h.html">version.h</a></td></tr>
<tr class="memdesc:version_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version number. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vli_8h.html">vli.h</a></td></tr>
<tr class="memdesc:vli_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variable-length integer handling. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html">lzma</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,17 @@
var dir_b17a1d403082bd69a703ed987cf158fb =
[
[ "base.h", "base_8h.html", "base_8h" ],
[ "bcj.h", "bcj_8h.html", "bcj_8h" ],
[ "block.h", "block_8h.html", "block_8h" ],
[ "check.h", "check_8h.html", "check_8h" ],
[ "container.h", "container_8h.html", "container_8h" ],
[ "delta.h", "delta_8h.html", "delta_8h" ],
[ "filter.h", "filter_8h.html", "filter_8h" ],
[ "hardware.h", "hardware_8h.html", "hardware_8h" ],
[ "index.h", "index_8h.html", "index_8h" ],
[ "index_hash.h", "index__hash_8h.html", "index__hash_8h" ],
[ "lzma12.h", "lzma12_8h.html", "lzma12_8h" ],
[ "stream_flags.h", "stream__flags_8h.html", "stream__flags_8h" ],
[ "version.h", "version_8h.html", "version_8h" ],
[ "vli.h", "vli_8h.html", "vli_8h" ]
];

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#195794">
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
</g>
<g style="fill:#BFD9F4;stroke-width:0">
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#A0C7EE">
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
</g>
<g style="fill:#195794;stroke-width:0">
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,335 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<title>Validator / crawler helper</title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
</head>
<body>
<a href="annotated.html"/>
<a href="base_8h.html"/>
<a href="base_8h.html#a05805a07754b2aa22f7d443eb7ece41a"/>
<a href="base_8h.html#a05805a07754b2aa22f7d443eb7ece41aa01aa8862db0188a8b3f15753daf7228e"/>
<a href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957"/>
<a href="base_8h.html#a418b210cf206782a73cd9de7dc27f670"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea2dac8d451cb38da8550653d0d7be4ec2"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea3aa72729a844790e39b4e1101a731dfb"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea567e1464feca03900a5425fb45b2f5b6"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea61600315d14264e71b9d84c9e0dc8c2f"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea63b7a58949854eb9307f8e351358d56c"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea6cf28e5345851f13bd798a4eab8cc939"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea8ef14e6224613ad41131f636680db548"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea91ecc6fab14c13ad36224afbcb4e55c4"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea989f393a1772d85bf545a9da48fc7ac2"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea9ca0ecb62459bdc84d6af47d16b23ae5"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea9d8db142d9eb52fd4144067960134bd7"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa1d705effe6026f32c0fe9756b6326bc"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa5b648c18da0f584f621cfdf7fef1bdb"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa720d30092d504d7d138a320db1905ef"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa9ff6dfee36b7aba4fae60706d37425f"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eac003781ccb81bbd5578e29abed8a8cfe"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eae310792b4e549cf8710e0f3c945d7541"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaecbf288ad566d7e9be964fe8aaae1f7b"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaf08066ae531b78d7cd063de49759a7eb"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaf509a2a300729012881f244e29c3e7b1"/>
<a href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eafc98304440d802c1d3f20cb027e19995"/>
<a href="base_8h.html#a854ff37464ae1225febf14db1af43308"/>
<a href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77e"/>
<a href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea14d75152afcda85d215e877fdd9c4170"/>
<a href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea7d24fb3c6c144d13bcb091195b8ebec1"/>
<a href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea868472b76492afcaef54020a481890b1"/>
<a href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77eaab46f0d7c721f1ec377e9575eab2586f"/>
<a href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77eaf7bf60e3555a4d10ffad3ecc3d2e01f1"/>
<a href="base_8h.html#ab1a60127c640135687a5bcc232cec906"/>
<a href="base_8h.html#ab6447cd68eeecbd6b88f21daeb8ce751"/>
<a href="base_8h.html#abbc819c74b484c846825ae1388a50a59"/>
<a href="base_8h.html#ac871bc2ead5d482c6d6b3d51bfec365c"/>
<a href="base_8h.html#af31f0c8b6f14359cd082b9559f7f3e01"/>
<a href="base_8h.html#afc49d4cf75b73128a167df3407505f7b"/>
<a href="bcj_8h.html"/>
<a href="bcj_8h.html#a01765158cd31cac21b272b180628fc4b"/>
<a href="bcj_8h.html#a2fe36218a38f400e1ce40820758f7427"/>
<a href="bcj_8h.html#a495a58f63ebc7a8b756099efba492f8b"/>
<a href="bcj_8h.html#a50941088e93ef659c6b000bbcaf58143"/>
<a href="bcj_8h.html#a5ec62e7e5e7df3d9af5b2ea3f857689a"/>
<a href="bcj_8h.html#a932e9d66e945f5601b8fad7445a9b40c"/>
<a href="bcj_8h.html#aa9eac1f580ddde3309518cd153d596b1"/>
<a href="bcj_8h.html#ab7f667d4a5d319f227f23163cbea086f"/>
<a href="block_8h.html"/>
<a href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f"/>
<a href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0"/>
<a href="block_8h.html#a2218a49025a0b44f9a6f9d6d24359359"/>
<a href="block_8h.html#a412d5605280fa29befae1b89e344bf30"/>
<a href="block_8h.html#a58ff73e2572b529f48cc590bfffe5b4f"/>
<a href="block_8h.html#a5a260f634ccd5f54fb98f570d8d92d8c"/>
<a href="block_8h.html#a694424f9dfdd5151e01debac1c501fa9"/>
<a href="block_8h.html#a6c3e102d76db06a07126a569abc6e2bc"/>
<a href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9"/>
<a href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92"/>
<a href="block_8h.html#ac025c940683a70f4c7f956bad814fd5f"/>
<a href="block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd"/>
<a href="block_8h.html#af415fa5130ab64e8760e9c39e856fa54"/>
<a href="check_8h.html"/>
<a href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3f"/>
<a href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa0be65014a40b5cb4ab32252b3709bef7"/>
<a href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa7b9851d75abfabc08d7fc5b4aaeb6f20"/>
<a href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa87b4b0697a1e1ccb6766dd5c2fa24afc"/>
<a href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3faf26a55ddd204a50ae87ec3432e7bc309"/>
<a href="check_8h.html#a379e931cf86351ab1d97896cda9abbe0"/>
<a href="check_8h.html#a760b569cce91bdd01e4ce9d78823c96d"/>
<a href="check_8h.html#a8d7c3ffabfd024485f03fa209536c746"/>
<a href="check_8h.html#acd221ababe30230d9647aab469ad80cb"/>
<a href="check_8h.html#ae9391ed2acfad0ce9357b68c608f07d8"/>
<a href="check_8h.html#afd3fda19575d9d4f864c626c02b7cb48"/>
<a href="check_8h.html#aff2e74ce671b9f82a96adb549c68cea2"/>
<a href="classes.html"/>
<a href="container_8h.html"/>
<a href="container_8h.html#a02b7683ef98d8049788961370a8b28c0"/>
<a href="container_8h.html#a0bdde702a77ff42b90a99c0bf4147b6b"/>
<a href="container_8h.html#a1289925ae1c63a8e86f69f3657118a4d"/>
<a href="container_8h.html#a1a97aec94c9fedd7646cfa51c4f4cd52"/>
<a href="container_8h.html#a21cbebf2771617bb1e956385cfb353e3"/>
<a href="container_8h.html#a26fcc5bccdf3f862caa4c992d01e1a72"/>
<a href="container_8h.html#a3562055d26c18fad067a7c7516eaddf5"/>
<a href="container_8h.html#a3f8793518711ee84d1abf12ea3aaba42"/>
<a href="container_8h.html#a563c84b5f368b3dd00d92ea903c5c33d"/>
<a href="container_8h.html#a5f43c3a1035e5a226dcd298f4162b861"/>
<a href="container_8h.html#a62c853cf7dbf008bdbd97b2685c3eabf"/>
<a href="container_8h.html#a66d4366a47b8332bff2a512f44f5c45e"/>
<a href="container_8h.html#a6e645ccaeace3b13a6981e03c6e190ad"/>
<a href="container_8h.html#a7179d178e6430c10e2006a467921e98e"/>
<a href="container_8h.html#a7eaeda1cb811ac1f5a6403691df8a894"/>
<a href="container_8h.html#a97689f5709e0db1e2dac450f5ce4e5eb"/>
<a href="container_8h.html#a97e40265e355a21bd2465aaa5b85f03d"/>
<a href="container_8h.html#aa1f469ed3d4b2eaf12f8081657efc9d5"/>
<a href="container_8h.html#aa58f237f6cea97ef0eb9bf5c37a3008d"/>
<a href="container_8h.html#aa8372dae3e7c907c36f7bb5426aeacdf"/>
<a href="container_8h.html#abfc8f11acf837b167aa94b7071b54c30"/>
<a href="container_8h.html#ac5e71f2711b57391186671967435faf2"/>
<a href="container_8h.html#acbdad999c544872f0f5d242f0d1a4ed4"/>
<a href="container_8h.html#ad7cf41496d77f4d346e006b26ed8e101"/>
<a href="container_8h.html#ada9cd20febb28b5ed6656de9184a86e9"/>
<a href="container_8h.html#ae21fb746037c82735d40d428c462e078"/>
<a href="container_8h.html#af3ca20ff228b363a82515c1aee9e27bc"/>
<a href="container_8h.html#af524fe9af5737820fdadcd40a2c26deb"/>
<a href="delta_8h.html"/>
<a href="delta_8h.html#a04d84d7fa6cefdc219b6e2e96ff36fe1"/>
<a href="delta_8h.html#a04d84d7fa6cefdc219b6e2e96ff36fe1afa749f8693200e0e82feef5f99815da4"/>
<a href="delta_8h.html#a466886d9d01392f61bdf267687a4f96e"/>
<a href="delta_8h.html#a7ced67235ad7a01ae31d32ecf1e634cb"/>
<a href="delta_8h.html#afdf8a5ce184ddf9f8070de637775da94"/>
<a href="dir_b17a1d403082bd69a703ed987cf158fb.html"/>
<a href="doxygen_crawl.html"/>
<a href="files.html"/>
<a href="filter_8h.html"/>
<a href="filter_8h.html#a09a775f6a78d28ca136acfb51ad5fa02"/>
<a href="filter_8h.html#a226724ab3391b410281fdf656cc7c432"/>
<a href="filter_8h.html#a2368e4129032345eb0738b0c6e085703"/>
<a href="filter_8h.html#a3b942df507e4f9a6d7525e5a4c6864e5"/>
<a href="filter_8h.html#a3db3c36cd6e57658a74c53e4daa2bef6"/>
<a href="filter_8h.html#a41aa51eeb53190404439c31d8e9c97cd"/>
<a href="filter_8h.html#a4a8fd969df001e449ebe4421ab33bba5"/>
<a href="filter_8h.html#a4cba9a4c658cce0ff01fd102b31ea1a7"/>
<a href="filter_8h.html#a58511249ae9206d7de7c5d1f05842297"/>
<a href="filter_8h.html#a611fe1176eeeda187b1bd8aef45040aa"/>
<a href="filter_8h.html#a730f9391e85a5979bcd1b32643ae7176"/>
<a href="filter_8h.html#a7deeb86ef59a9111b8033681290e0fb0"/>
<a href="filter_8h.html#a87e9ac4ae5829b092262223256141a29"/>
<a href="filter_8h.html#a88d2e864b2039ac82802cc202278d478"/>
<a href="filter_8h.html#a8a0f3fc03bdb84a294cdd53a98783104"/>
<a href="filter_8h.html#a8e00887086df5a44084ac22e48415de3"/>
<a href="filter_8h.html#a96f23309bc21398fece18c00ebe7db98"/>
<a href="filter_8h.html#a996c9c21840ed54e37bd1f664a79d940"/>
<a href="filter_8h.html#aa042cf11749bc2183b27de1c3142da30"/>
<a href="filter_8h.html#ab33c0cc1728bf390e5b84f8bce1928ba"/>
<a href="filter_8h.html#ab51585b68796ce0270f87e615b923809"/>
<a href="filter_8h.html#ac0113c47caf98a735db2297936c5e857"/>
<a href="filter_8h.html#acab0c67bf5b3a76f2b474c8e1da98938"/>
<a href="filter_8h.html#adc33f4c0c7b5d3ae36acc0437a904339"/>
<a href="filter_8h.html#ae06979d219897f5f4c29cbc7a96a8892"/>
<a href="filter_8h.html#ae77b3b6c5eccd9d77bbafef0a8a203c1"/>
<a href="filter_8h.html#aee038818cf7bbe044c3f7a7c86998c1b"/>
<a href="functions.html"/>
<a href="functions_vars.html"/>
<a href="globals.html"/>
<a href="globals_defs.html"/>
<a href="globals_enum.html"/>
<a href="globals_eval.html"/>
<a href="globals_func.html"/>
<a href="globals_type.html"/>
<a href="hardware_8h.html"/>
<a href="hardware_8h.html#a22f7a882b7a4b741a226abf62bdf46ca"/>
<a href="hardware_8h.html#a85363e453b34272a9f26c9fdffb041ee"/>
<a href="index.html"/>
<a href="index_8h.html"/>
<a href="index_8h.html#a028b8b8d59a413f9682eea1269a6ae8b"/>
<a href="index_8h.html#a062a47783c17f64728d98b831411c5c3"/>
<a href="index_8h.html#a0850627d011111326d4278a3e2edec25"/>
<a href="index_8h.html#a0c2d0009f07fc315d5ac89e4bcd25abd"/>
<a href="index_8h.html#a2643014196abf129ddbb51ec2bd956d9"/>
<a href="index_8h.html#a3ed82f96c688f3c953f6509b6f4e2ef3"/>
<a href="index_8h.html#a4118805ac7be6618aca6d6d7e5e4dde7"/>
<a href="index_8h.html#a5161e3f67156577882e1d95dcb57e33e"/>
<a href="index_8h.html#a620fe6317f1f9d7af9cc27c748bf07d6"/>
<a href="index_8h.html#a669ed1a82b1941217cfbb07e7826afc2"/>
<a href="index_8h.html#a6800d70f3b2afca085496460cd03211d"/>
<a href="index_8h.html#a6812319b2f335df98fcf5e97c144e4ac"/>
<a href="index_8h.html#a712b43192d944bf2f767711343cd9ca8"/>
<a href="index_8h.html#a712b43192d944bf2f767711343cd9ca8a2702617d60d6fc15138a749e06ef3414"/>
<a href="index_8h.html#a712b43192d944bf2f767711343cd9ca8a5b31d985de1c823151acdd7e4a966fc9"/>
<a href="index_8h.html#a712b43192d944bf2f767711343cd9ca8aa49bf4d561d8f2c61d300edbb6c282c7"/>
<a href="index_8h.html#a712b43192d944bf2f767711343cd9ca8af46f6e5c414471c7c96586f380e48315"/>
<a href="index_8h.html#a7829942b83ee1fa5b6443cc248b81041"/>
<a href="index_8h.html#a79a19669237f19f0b11c9f3be80a62b4"/>
<a href="index_8h.html#a7c5d77cf8532d95977d4571a1eb0a222"/>
<a href="index_8h.html#a880def3727ecdd7f242807083d228fc5"/>
<a href="index_8h.html#aa78f02f18ed29d289a6ef37b8ea98a21"/>
<a href="index_8h.html#abb56fd1d5914f8900ece7b88b78e5e23"/>
<a href="index_8h.html#abc4db36b4bd67af01819be9dd045c34a"/>
<a href="index_8h.html#ac347747eb933c7c408e6c801b33becc3"/>
<a href="index_8h.html#ac4f56df9d210712e5d7add5502c9eb93"/>
<a href="index_8h.html#ac875ed47d35385e5dac461b25c5ea1c9"/>
<a href="index_8h.html#ad6540f1ecf60f186f7c0492937482169"/>
<a href="index_8h.html#add1a8c506f67dbc19cae6747107e3bec"/>
<a href="index_8h.html#add1ef06dec8a26d08ae8651cff0fd8d6"/>
<a href="index_8h.html#ae81438be8deff4894b104e65d8acdd24"/>
<a href="index_8h.html#af3630369b43c9ccc906065d759b49663"/>
<a href="index_8h.html#af428522e1b3eef137c65c5a01f766e0e"/>
<a href="index_8h.html#af8d6528a04241841bd0a4322b0c57eaa"/>
<a href="index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e"/>
<a href="index_8h.html#afd159a765b09b0cf79186069a848d07e"/>
<a href="index__hash_8h.html"/>
<a href="index__hash_8h.html#a0f8ab3b57b117f9547866156755c917f"/>
<a href="index__hash_8h.html#a2bdbe4f0b5fa2fadb7528447feaaa97f"/>
<a href="index__hash_8h.html#a2db9f438838c8ff72a8a6fd3fc856f8c"/>
<a href="index__hash_8h.html#a7dacb41b9ec1c8df5d33dfdae97743b3"/>
<a href="index__hash_8h.html#a891eb955284c9117155f92eb0ddba44c"/>
<a href="index__hash_8h.html#aaafae4967a4a266d97dc34a98bfcabfb"/>
<a href="lzma12_8h.html"/>
<a href="lzma12_8h.html#a04f9d9a018a47cc99491e6e94e92f96b"/>
<a href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866"/>
<a href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866ac8c0926a91b4f756e11121efd30648cc"/>
<a href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866ad37225f30d5cd21fc8bb3eaba283bbf9"/>
<a href="lzma12_8h.html#a73ed0293db4e59d73a702d66fef537c3"/>
<a href="lzma12_8h.html#a98a7fd42aa78a273a6b138629e46772d"/>
<a href="lzma12_8h.html#aa62c28944fe3575653a4c25780400d77"/>
<a href="lzma12_8h.html#accedd16abcb758e7f748bac1102abda9"/>
<a href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80"/>
<a href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a0944620f4949289c2ebde613cae12b04"/>
<a href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a468c32cdea9861d1ff98478364e6c547"/>
<a href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a6eb38f634021a192cada8a978b5de93b"/>
<a href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a7ab212446c3f6520f5c33ccfa4b3386a"/>
<a href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a983ecc59bf3e07a7c43fea551ea11865"/>
<a href="lzma12_8h.html#ad1add1c2600fdbb3d737e4fb3465dfcb"/>
<a href="lzma12_8h.html#aefba1f7214ddcf8cd408a0702e8642b5"/>
<a href="lzma_8h.html"/>
<a href="stream__flags_8h.html"/>
<a href="stream__flags_8h.html#a2e5e09010880f8caa6cd6539c7341239"/>
<a href="stream__flags_8h.html#a2ebb8d6dff23daeb3de398913b845eff"/>
<a href="stream__flags_8h.html#a3e25ca4205021302882a696283d45263"/>
<a href="stream__flags_8h.html#a438249a75ea8da952a7474b92bfe7b7a"/>
<a href="stream__flags_8h.html#aa92a383f85753bb79ee23227fa68186c"/>
<a href="stream__flags_8h.html#ada7e0a4f5e7146f547962cb9e9ef08ee"/>
<a href="stream__flags_8h.html#ae03198e464f0d296e601ff841e100805"/>
<a href="stream__flags_8h.html#ae8da8190f1396f66332073946bc45634"/>
<a href="structlzma__allocator.html"/>
<a href="structlzma__allocator.html#a3726deffd08393934263c04660208009"/>
<a href="structlzma__allocator.html#aab293a5007a93299cc97ee8b5fb81268"/>
<a href="structlzma__allocator.html#aba5c4369af94cc9943423b49171462ec"/>
<a href="structlzma__block.html"/>
<a href="structlzma__block.html#a17362d38d1946dd16a9686557ec19a94"/>
<a href="structlzma__block.html#a25e9bf1bb1699017694b18ca24f965d2"/>
<a href="structlzma__block.html#a516ac9cc63bc1a4fadd9fbfc189a206b"/>
<a href="structlzma__block.html#a5900e517e6e0a473a3184074ae7defd1"/>
<a href="structlzma__block.html#a6689c4f7524b2c05772a2d6151138610"/>
<a href="structlzma__block.html#a80cd9d3025991db4a476ce7588f853e6"/>
<a href="structlzma__block.html#a8383d489c9ffea8af390669a105c74e5"/>
<a href="structlzma__block.html#ac3936a5b0ec3f9b8f9c7ad68e7d149a5"/>
<a href="structlzma__filter.html"/>
<a href="structlzma__filter.html#a10dfbaa1601793657d12320bef933ee6"/>
<a href="structlzma__filter.html#aef1d9709759f39e61db77547b2326929"/>
<a href="structlzma__index__iter.html"/>
<a href="structlzma__index__iter.html#a0fc4959fab08e1a6a4902c728c735a99"/>
<a href="structlzma__index__iter.html#a115a307dbc778a9de296376dc39c7b23"/>
<a href="structlzma__index__iter.html#a223a046bcf09077a6e720967682deeae"/>
<a href="structlzma__index__iter.html#a26436e75d4c2b5dd8d1de24140d8003e"/>
<a href="structlzma__index__iter.html#a2f3ecf341b5dc043e9673759b8ff47b9"/>
<a href="structlzma__index__iter.html#a35a752d344ff5d35d2a858a20bd6e5e8"/>
<a href="structlzma__index__iter.html#a426705df8dde4b094a42f91ea20a46ac"/>
<a href="structlzma__index__iter.html#a48cfc856f283fe00b0df37402e012818"/>
<a href="structlzma__index__iter.html#a578bba553c43dc59a5e4032d4f6c89a3"/>
<a href="structlzma__index__iter.html#a6e73b1f37e3fcf1e9491e4a53b2c52c7"/>
<a href="structlzma__index__iter.html#a9f4e405b9884be08e3a35bc06e3e15df"/>
<a href="structlzma__index__iter.html#aafc48408ed40060a84ecd66bae5e1b23"/>
<a href="structlzma__index__iter.html#abc6ee9be23e54f31aed07382c8caaf7c"/>
<a href="structlzma__index__iter.html#abd374b748b4a42e122b90841709609bc"/>
<a href="structlzma__index__iter.html#abe5333de53562189012d5ed084c0ef98"/>
<a href="structlzma__index__iter.html#ae164ca3d7492dcf5883769c38baac30e"/>
<a href="structlzma__mt.html"/>
<a href="structlzma__mt.html#a1c2fe028f547bf58b48b5199557d9a9f"/>
<a href="structlzma__mt.html#a20cdc7865266ccb88da36a6e68f84d15"/>
<a href="structlzma__mt.html#a298992bf7d2154d8dd814560219d10c2"/>
<a href="structlzma__mt.html#a5a7fb0c7c2db350e09e77477bc3c9509"/>
<a href="structlzma__mt.html#a881761f858dbda33c697e74acde0be70"/>
<a href="structlzma__mt.html#ab3883b5644752cdd15f01387d58dd050"/>
<a href="structlzma__mt.html#ab5e0b530d4c572c7a2361aabbad656aa"/>
<a href="structlzma__mt.html#ad43a62ef2178c76405e5be0ece7a98b4"/>
<a href="structlzma__mt.html#ae38846e8aca5b20d2a86a2364283b730"/>
<a href="structlzma__options__bcj.html"/>
<a href="structlzma__options__bcj.html#a3f5a3c62cd82ce89433684f12ed096ac"/>
<a href="structlzma__options__delta.html"/>
<a href="structlzma__options__delta.html#a31b4b0b5a2462cb9433c2663b8a62790"/>
<a href="structlzma__options__delta.html#af3f1ece7f8c472f4a794953b414c7cd7"/>
<a href="structlzma__options__lzma.html"/>
<a href="structlzma__options__lzma.html#a0352ea7f8b6a43b745a44f6cb4e2d263"/>
<a href="structlzma__options__lzma.html#a0fe9c54e808fce3090b6994d95fe41fe"/>
<a href="structlzma__options__lzma.html#a16a58c1ee3ec18c820d5cb03dde3739a"/>
<a href="structlzma__options__lzma.html#a1d711df9bda046fd3899abf21fa250d5"/>
<a href="structlzma__options__lzma.html#a4226f686e8c9f6288595fe23d0e15713"/>
<a href="structlzma__options__lzma.html#a655ad4cce9e4dac9cf2a5c8daaa629e0"/>
<a href="structlzma__options__lzma.html#a95f6188e5b5f05c50ec463a315df3585"/>
<a href="structlzma__options__lzma.html#a971da8385dcebd01e60235afb3b717f9"/>
<a href="structlzma__options__lzma.html#aa99612cd52259093007f33513882dcd0"/>
<a href="structlzma__options__lzma.html#acae107b3d3e9d0d4fe16103be22f4408"/>
<a href="structlzma__options__lzma.html#ade251d13ef46bcacb4e052b83693878c"/>
<a href="structlzma__options__lzma.html#ae5b3c2375c43ddfacf093980385fb9e3"/>
<a href="structlzma__options__lzma.html#aeb3f86002405a1191af86def46fca5ad"/>
<a href="structlzma__stream.html"/>
<a href="structlzma__stream.html#a14ee64ed636ddcb775edf87e2b9f42ec"/>
<a href="structlzma__stream.html#a1a411e1755d6185756caefabc3932c7b"/>
<a href="structlzma__stream.html#a209da54c2fb5dea40ad011c8408300d0"/>
<a href="structlzma__stream.html#a4eb2f3e87e32cc4bea613898b0bd353f"/>
<a href="structlzma__stream.html#a5ff28ea4e39148723c19f59811627904"/>
<a href="structlzma__stream.html#a72fdc738c793f07a5c29715aa57802cf"/>
<a href="structlzma__stream.html#a80d703ffdfd7661e344fe7b61ff737fa"/>
<a href="structlzma__stream.html#abb680ecea31910cbda1d7a6ad4f191c0"/>
<a href="structlzma__stream.html#af7c43a61f3dfeb0b9c8487b7f275054e"/>
<a href="structlzma__stream__flags.html"/>
<a href="structlzma__stream__flags.html#a61e9151869d5b77c868aaa4958e74d10"/>
<a href="structlzma__stream__flags.html#aaa65ed7a55a098f829f04dba25d0f212"/>
<a href="structlzma__stream__flags.html#ab1052ea7047c8d67f127f33278166647"/>
<a href="version_8h.html"/>
<a href="version_8h.html#a156c47ff34aa0c2b726d0daf799f10a0"/>
<a href="version_8h.html#a57bb143c993c305a53e9aade831a546c"/>
<a href="version_8h.html#a72f929c9b9e8e730b790b3f8c80c3c80"/>
<a href="version_8h.html#a7fd6169ff15ac7f01f94970359a331ea"/>
<a href="version_8h.html#a8998c1d8b4b5c2c1218bdfd58fdb1baa"/>
<a href="version_8h.html#a8b550373cbff381f15d4308b852a3c2a"/>
<a href="version_8h.html#aa0f450c9d3b0ff5f88b55888ed55701f"/>
<a href="version_8h.html#ae289abe5dcc203c7cda9f6a9a2f36b3a"/>
<a href="version_8h.html#af8fd295cf8aa349b0731423ad7a56134"/>
<a href="vli_8h.html"/>
<a href="vli_8h.html#a063ecff4133aa2f8899b9fa3fdefd310"/>
<a href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272"/>
<a href="vli_8h.html#a2d8bf5322898bfa11945848420585881"/>
<a href="vli_8h.html#a4f67ed698215d865a2b87a95ab1320dd"/>
<a href="vli_8h.html#a50bbb77e9ec3b72c25586aa700c20970"/>
<a href="vli_8h.html#a5a4b28254a30c859018b896ed371d69a"/>
<a href="vli_8h.html#a7b782528bd1934db7c020adbedb20ec9"/>
<a href="vli_8h.html#a7b7d50e1074e0e2bcd81c29a5f7461c7"/>
<a href="vli_8h.html#a8d53e0b69934b43da8721fa6f1e8cc4f"/>
</body>
</html>

View File

@@ -0,0 +1,198 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function toggleVisibility(linkObj) {
return dynsection.toggleVisibility(linkObj);
}
let dynsection = {
// helper function
updateStripes : function() {
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
$('table.directory tr').
removeClass('odd').filter(':visible:odd').addClass('odd');
},
toggleVisibility : function(linkObj) {
const base = $(linkObj).attr('id');
const summary = $('#'+base+'-summary');
const content = $('#'+base+'-content');
const trigger = $('#'+base+'-trigger');
const src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
},
toggleLevel : function(level) {
$('table.directory tr').each(function() {
const l = this.id.split('_').length-1;
const i = $('#img'+this.id.substring(3));
const a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
this.updateStripes();
},
toggleFolder : function(id) {
// the clicked row
const currentRow = $('#row_'+id);
// all rows after the clicked row
const rows = currentRow.nextAll("tr");
const re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
const childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
const currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
const currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
const childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
this.updateStripes();
},
toggleInherit : function(id) {
const rows = $('tr.inherit.'+id);
const img = $('tr.inherit_header.'+id+' img');
const src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
},
};
let codefold = {
opened : true,
// in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes
plusImg: [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ],
minusImg: [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ],
// toggle all folding blocks
toggle_all : function(relPath) {
if (this.opened) {
$('#fold_all').css('background-image',this.plusImg[relPath]);
$('div[id^=foldopen]').hide();
$('div[id^=foldclosed]').show();
} else {
$('#fold_all').css('background-image',this.minusImg[relPath]);
$('div[id^=foldopen]').show();
$('div[id^=foldclosed]').hide();
}
this.opened=!this.opened;
},
// toggle single folding block
toggle : function(id) {
$('#foldopen'+id).toggle();
$('#foldclosed'+id).toggle();
},
init : function(relPath) {
$('span[class=lineno]').css({
'padding-right':'4px',
'margin-right':'2px',
'display':'inline-block',
'width':'54px',
'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%'
});
// add global toggle to first line
$('span[class=lineno]:first').append('<span class="fold" id="fold_all" '+
'onclick="javascript:codefold.toggle_all('+relPath+');" '+
'style="background-image:'+this.minusImg[relPath]+';"></span>');
// add vertical lines to other rows
$('span[class=lineno]').not(':eq(0)').append('<span class="fold"></span>');
// add toggle controls to lines with fold divs
$('div[class=foldopen]').each(function() {
// extract specific id to use
const id = $(this).attr('id').replace('foldopen','');
// extract start and end foldable fragment attributes
const start = $(this).attr('data-start');
const end = $(this).attr('data-end');
// replace normal fold span with controls for the first line of a foldable fragment
$(this).find('span[class=fold]:first').replaceWith('<span class="fold" '+
'onclick="javascript:codefold.toggle(\''+id+'\');" '+
'style="background-image:'+codefold.minusImg[relPath]+';"></span>');
// append div for folded (closed) representation
$(this).after('<div id="foldclosed'+id+'" class="foldclosed" style="display:none;"></div>');
// extract the first line from the "open" section to represent closed content
const line = $(this).children().first().clone();
// remove any glow that might still be active on the original line
$(line).removeClass('glow');
if (start) {
// if line already ends with a start marker (e.g. trailing {), remove it
$(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
}
// replace minus with plus symbol
$(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]);
// append ellipsis
$(line).append(' '+start+'<a href="javascript:codefold.toggle(\''+id+'\')">&#8230;</a>'+end);
// insert constructed line into closed div
$('#foldclosed'+id).html(line);
});
},
};
/* @license-end */

View File

@@ -0,0 +1,91 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('files.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">File List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="dynsection.toggleFolder('0_')">&#160;</span><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html" target="_self">lzma</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="base_8h.html" target="_self">base.h</a></td><td class="desc">Data types and functions used in many places in liblzma API </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="bcj_8h.html" target="_self">bcj.h</a></td><td class="desc">Branch/Call/Jump conversion filters </td></tr>
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="block_8h.html" target="_self">block.h</a></td><td class="desc">.xz Block handling </td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="check_8h.html" target="_self">check.h</a></td><td class="desc">Integrity checks </td></tr>
<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="container_8h.html" target="_self">container.h</a></td><td class="desc">File formats </td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="delta_8h.html" target="_self">delta.h</a></td><td class="desc">Delta filter </td></tr>
<tr id="row_0_6_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="filter_8h.html" target="_self">filter.h</a></td><td class="desc">Common filter related types and functions </td></tr>
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="hardware_8h.html" target="_self">hardware.h</a></td><td class="desc">Hardware information </td></tr>
<tr id="row_0_8_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="index_8h.html" target="_self">index.h</a></td><td class="desc">Handling of .xz Index and related information </td></tr>
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="index__hash_8h.html" target="_self">index_hash.h</a></td><td class="desc">Validate Index by using a hash function </td></tr>
<tr id="row_0_10_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="lzma12_8h.html" target="_self">lzma12.h</a></td><td class="desc">LZMA1 and LZMA2 filters </td></tr>
<tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="stream__flags_8h.html" target="_self">stream_flags.h</a></td><td class="desc">.xz Stream Header and Stream Footer encoder and decoder </td></tr>
<tr id="row_0_12_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="version_8h.html" target="_self">version.h</a></td><td class="desc">Version number </td></tr>
<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vli_8h.html" target="_self">vli.h</a></td><td class="desc">Variable-length integer handling </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="lzma_8h.html" target="_self">lzma.h</a></td><td class="desc">The public API of liblzma data compression library </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,5 @@
var files_dup =
[
[ "lzma", "dir_b17a1d403082bd69a703ed987cf158fb.html", "dir_b17a1d403082bd69a703ed987cf158fb" ],
[ "lzma.h", "lzma_8h.html", null ]
];

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,31 @@
var filter_8h =
[
[ "lzma_filter", "structlzma__filter.html", "structlzma__filter" ],
[ "LZMA_FILTERS_MAX", "filter_8h.html#ab33c0cc1728bf390e5b84f8bce1928ba", null ],
[ "LZMA_STR_ALL_FILTERS", "filter_8h.html#a41aa51eeb53190404439c31d8e9c97cd", null ],
[ "LZMA_STR_NO_VALIDATION", "filter_8h.html#adc33f4c0c7b5d3ae36acc0437a904339", null ],
[ "LZMA_STR_ENCODER", "filter_8h.html#a09a775f6a78d28ca136acfb51ad5fa02", null ],
[ "LZMA_STR_DECODER", "filter_8h.html#a8a0f3fc03bdb84a294cdd53a98783104", null ],
[ "LZMA_STR_GETOPT_LONG", "filter_8h.html#a87e9ac4ae5829b092262223256141a29", null ],
[ "LZMA_STR_NO_SPACES", "filter_8h.html#ac0113c47caf98a735db2297936c5e857", null ],
[ "lzma_filter_encoder_is_supported", "filter_8h.html#a3db3c36cd6e57658a74c53e4daa2bef6", null ],
[ "lzma_filter_decoder_is_supported", "filter_8h.html#acab0c67bf5b3a76f2b474c8e1da98938", null ],
[ "lzma_filters_copy", "filter_8h.html#a611fe1176eeeda187b1bd8aef45040aa", null ],
[ "lzma_filters_free", "filter_8h.html#ae06979d219897f5f4c29cbc7a96a8892", null ],
[ "lzma_raw_encoder_memusage", "filter_8h.html#a730f9391e85a5979bcd1b32643ae7176", null ],
[ "lzma_raw_decoder_memusage", "filter_8h.html#a58511249ae9206d7de7c5d1f05842297", null ],
[ "lzma_raw_encoder", "filter_8h.html#a2368e4129032345eb0738b0c6e085703", null ],
[ "lzma_raw_decoder", "filter_8h.html#ae77b3b6c5eccd9d77bbafef0a8a203c1", null ],
[ "lzma_filters_update", "filter_8h.html#a4a8fd969df001e449ebe4421ab33bba5", null ],
[ "lzma_raw_buffer_encode", "filter_8h.html#a226724ab3391b410281fdf656cc7c432", null ],
[ "lzma_raw_buffer_decode", "filter_8h.html#a3b942df507e4f9a6d7525e5a4c6864e5", null ],
[ "lzma_properties_size", "filter_8h.html#aee038818cf7bbe044c3f7a7c86998c1b", null ],
[ "lzma_properties_encode", "filter_8h.html#a8e00887086df5a44084ac22e48415de3", null ],
[ "lzma_properties_decode", "filter_8h.html#a88d2e864b2039ac82802cc202278d478", null ],
[ "lzma_filter_flags_size", "filter_8h.html#a996c9c21840ed54e37bd1f664a79d940", null ],
[ "lzma_filter_flags_encode", "filter_8h.html#a96f23309bc21398fece18c00ebe7db98", null ],
[ "lzma_filter_flags_decode", "filter_8h.html#a4cba9a4c658cce0ff01fd102b31ea1a7", null ],
[ "lzma_str_to_filters", "filter_8h.html#aa042cf11749bc2183b27de1c3142da30", null ],
[ "lzma_str_from_filters", "filter_8h.html#a7deeb86ef59a9111b8033681290e0fb0", null ],
[ "lzma_str_list_filters", "filter_8h.html#ab51585b68796ce0270f87e615b923809", null ]
];

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#195794;">
<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
</g>
<g style="fill:#BFD9F4;stroke-width:0;">
<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#A0C7EE;">
<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
</g>
<g style="fill:#195794;stroke-width:0;">
<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#195794;">
<path
d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"
id="path2" />
</g>
<g style="fill:#BFD9F4;stroke-width:0;">
<path
d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z"
id="path199" /><path
d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z"
id="path201" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#A0C7EE;">
<path d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"/>
</g>
<g style="fill:#195794;stroke-width:0;">
<path d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z" />
<path d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1,199 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): Data Fields</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('functions.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="contents">
<div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div>
<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>alloc&#160;:&#160;<a class="el" href="structlzma__allocator.html#aba5c4369af94cc9943423b49171462ec">lzma_allocator</a></li>
<li>allocator&#160;:&#160;<a class="el" href="structlzma__stream.html#a4eb2f3e87e32cc4bea613898b0bd353f">lzma_stream</a></li>
<li>avail_in&#160;:&#160;<a class="el" href="structlzma__stream.html#abb680ecea31910cbda1d7a6ad4f191c0">lzma_stream</a></li>
<li>avail_out&#160;:&#160;<a class="el" href="structlzma__stream.html#a5ff28ea4e39148723c19f59811627904">lzma_stream</a></li>
</ul>
<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>backward_size&#160;:&#160;<a class="el" href="structlzma__stream__flags.html#aaa65ed7a55a098f829f04dba25d0f212">lzma_stream_flags</a></li>
<li>block_count&#160;:&#160;<a class="el" href="structlzma__index__iter.html#abc6ee9be23e54f31aed07382c8caaf7c">lzma_index_iter</a></li>
<li>block_size&#160;:&#160;<a class="el" href="structlzma__mt.html#a20cdc7865266ccb88da36a6e68f84d15">lzma_mt</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>check&#160;:&#160;<a class="el" href="structlzma__block.html#a80cd9d3025991db4a476ce7588f853e6">lzma_block</a>, <a class="el" href="structlzma__mt.html#ae38846e8aca5b20d2a86a2364283b730">lzma_mt</a>, <a class="el" href="structlzma__stream__flags.html#ab1052ea7047c8d67f127f33278166647">lzma_stream_flags</a></li>
<li>compressed_file_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a26436e75d4c2b5dd8d1de24140d8003e">lzma_index_iter</a></li>
<li>compressed_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a426705df8dde4b094a42f91ea20a46ac">lzma_index_iter</a></li>
<li>compressed_size&#160;:&#160;<a class="el" href="structlzma__block.html#a8383d489c9ffea8af390669a105c74e5">lzma_block</a>, <a class="el" href="structlzma__index__iter.html#a6e73b1f37e3fcf1e9491e4a53b2c52c7">lzma_index_iter</a></li>
<li>compressed_stream_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a578bba553c43dc59a5e4032d4f6c89a3">lzma_index_iter</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>depth&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a4226f686e8c9f6288595fe23d0e15713">lzma_options_lzma</a></li>
<li>dict_size&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#aeb3f86002405a1191af86def46fca5ad">lzma_options_lzma</a></li>
<li>dist&#160;:&#160;<a class="el" href="structlzma__options__delta.html#a31b4b0b5a2462cb9433c2663b8a62790">lzma_options_delta</a></li>
</ul>
<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>ext_flags&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#ade251d13ef46bcacb4e052b83693878c">lzma_options_lzma</a></li>
<li>ext_size_high&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#ae5b3c2375c43ddfacf093980385fb9e3">lzma_options_lzma</a></li>
<li>ext_size_low&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a971da8385dcebd01e60235afb3b717f9">lzma_options_lzma</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>filters&#160;:&#160;<a class="el" href="structlzma__block.html#a5900e517e6e0a473a3184074ae7defd1">lzma_block</a>, <a class="el" href="structlzma__mt.html#ad43a62ef2178c76405e5be0ece7a98b4">lzma_mt</a></li>
<li>flags&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a223a046bcf09077a6e720967682deeae">lzma_index_iter</a>, <a class="el" href="structlzma__mt.html#a1c2fe028f547bf58b48b5199557d9a9f">lzma_mt</a></li>
<li>free&#160;:&#160;<a class="el" href="structlzma__allocator.html#a3726deffd08393934263c04660208009">lzma_allocator</a></li>
</ul>
<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>header_size&#160;:&#160;<a class="el" href="structlzma__block.html#a6689c4f7524b2c05772a2d6151138610">lzma_block</a></li>
</ul>
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>id&#160;:&#160;<a class="el" href="structlzma__filter.html#aef1d9709759f39e61db77547b2326929">lzma_filter</a></li>
<li>ignore_check&#160;:&#160;<a class="el" href="structlzma__block.html#a516ac9cc63bc1a4fadd9fbfc189a206b">lzma_block</a></li>
<li>internal&#160;:&#160;<a class="el" href="structlzma__stream.html#a209da54c2fb5dea40ad011c8408300d0">lzma_stream</a></li>
</ul>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>lc&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a95f6188e5b5f05c50ec463a315df3585">lzma_options_lzma</a></li>
<li>lp&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a0fe9c54e808fce3090b6994d95fe41fe">lzma_options_lzma</a></li>
</ul>
<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>memlimit_stop&#160;:&#160;<a class="el" href="structlzma__mt.html#ab5e0b530d4c572c7a2361aabbad656aa">lzma_mt</a></li>
<li>memlimit_threading&#160;:&#160;<a class="el" href="structlzma__mt.html#a5a7fb0c7c2db350e09e77477bc3c9509">lzma_mt</a></li>
<li>mf&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#aa99612cd52259093007f33513882dcd0">lzma_options_lzma</a></li>
<li>mode&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a1d711df9bda046fd3899abf21fa250d5">lzma_options_lzma</a></li>
</ul>
<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>next_in&#160;:&#160;<a class="el" href="structlzma__stream.html#a72fdc738c793f07a5c29715aa57802cf">lzma_stream</a></li>
<li>next_out&#160;:&#160;<a class="el" href="structlzma__stream.html#a14ee64ed636ddcb775edf87e2b9f42ec">lzma_stream</a></li>
<li>nice_len&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a0352ea7f8b6a43b745a44f6cb4e2d263">lzma_options_lzma</a></li>
<li>number&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a115a307dbc778a9de296376dc39c7b23">lzma_index_iter</a></li>
<li>number_in_file&#160;:&#160;<a class="el" href="structlzma__index__iter.html#abe5333de53562189012d5ed084c0ef98">lzma_index_iter</a></li>
<li>number_in_stream&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a35a752d344ff5d35d2a858a20bd6e5e8">lzma_index_iter</a></li>
</ul>
<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>opaque&#160;:&#160;<a class="el" href="structlzma__allocator.html#aab293a5007a93299cc97ee8b5fb81268">lzma_allocator</a></li>
<li>options&#160;:&#160;<a class="el" href="structlzma__filter.html#a10dfbaa1601793657d12320bef933ee6">lzma_filter</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>padding&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a48cfc856f283fe00b0df37402e012818">lzma_index_iter</a></li>
<li>pb&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#acae107b3d3e9d0d4fe16103be22f4408">lzma_options_lzma</a></li>
<li>preset&#160;:&#160;<a class="el" href="structlzma__mt.html#ab3883b5644752cdd15f01387d58dd050">lzma_mt</a></li>
<li>preset_dict&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a16a58c1ee3ec18c820d5cb03dde3739a">lzma_options_lzma</a></li>
<li>preset_dict_size&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a655ad4cce9e4dac9cf2a5c8daaa629e0">lzma_options_lzma</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>raw_check&#160;:&#160;<a class="el" href="structlzma__block.html#a25e9bf1bb1699017694b18ca24f965d2">lzma_block</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>seek_pos&#160;:&#160;<a class="el" href="structlzma__stream.html#af7c43a61f3dfeb0b9c8487b7f275054e">lzma_stream</a></li>
<li>start_offset&#160;:&#160;<a class="el" href="structlzma__options__bcj.html#a3f5a3c62cd82ce89433684f12ed096ac">lzma_options_bcj</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>threads&#160;:&#160;<a class="el" href="structlzma__mt.html#a881761f858dbda33c697e74acde0be70">lzma_mt</a></li>
<li>timeout&#160;:&#160;<a class="el" href="structlzma__mt.html#a298992bf7d2154d8dd814560219d10c2">lzma_mt</a></li>
<li>total_in&#160;:&#160;<a class="el" href="structlzma__stream.html#a1a411e1755d6185756caefabc3932c7b">lzma_stream</a></li>
<li>total_out&#160;:&#160;<a class="el" href="structlzma__stream.html#a80d703ffdfd7661e344fe7b61ff737fa">lzma_stream</a></li>
<li>total_size&#160;:&#160;<a class="el" href="structlzma__index__iter.html#ae164ca3d7492dcf5883769c38baac30e">lzma_index_iter</a></li>
<li>type&#160;:&#160;<a class="el" href="structlzma__options__delta.html#af3f1ece7f8c472f4a794953b414c7cd7">lzma_options_delta</a></li>
</ul>
<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>uncompressed_file_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a2f3ecf341b5dc043e9673759b8ff47b9">lzma_index_iter</a></li>
<li>uncompressed_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#abd374b748b4a42e122b90841709609bc">lzma_index_iter</a></li>
<li>uncompressed_size&#160;:&#160;<a class="el" href="structlzma__block.html#a17362d38d1946dd16a9686557ec19a94">lzma_block</a>, <a class="el" href="structlzma__index__iter.html#aafc48408ed40060a84ecd66bae5e1b23">lzma_index_iter</a></li>
<li>uncompressed_stream_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a0fc4959fab08e1a6a4902c728c735a99">lzma_index_iter</a></li>
<li>unpadded_size&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a9f4e405b9884be08e3a35bc06e3e15df">lzma_index_iter</a></li>
</ul>
<h3><a id="index_v" name="index_v"></a>- v -</h3><ul>
<li>version&#160;:&#160;<a class="el" href="structlzma__block.html#ac3936a5b0ec3f9b8f9c7ad68e7d149a5">lzma_block</a>, <a class="el" href="structlzma__stream__flags.html#a61e9151869d5b77c868aaa4958e74d10">lzma_stream_flags</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,199 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): Data Fields - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('functions_vars.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="contents">
<div class="textblock">Here is a list of all documented variables with links to the struct/union documentation for each field:</div>
<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>alloc&#160;:&#160;<a class="el" href="structlzma__allocator.html#aba5c4369af94cc9943423b49171462ec">lzma_allocator</a></li>
<li>allocator&#160;:&#160;<a class="el" href="structlzma__stream.html#a4eb2f3e87e32cc4bea613898b0bd353f">lzma_stream</a></li>
<li>avail_in&#160;:&#160;<a class="el" href="structlzma__stream.html#abb680ecea31910cbda1d7a6ad4f191c0">lzma_stream</a></li>
<li>avail_out&#160;:&#160;<a class="el" href="structlzma__stream.html#a5ff28ea4e39148723c19f59811627904">lzma_stream</a></li>
</ul>
<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>backward_size&#160;:&#160;<a class="el" href="structlzma__stream__flags.html#aaa65ed7a55a098f829f04dba25d0f212">lzma_stream_flags</a></li>
<li>block_count&#160;:&#160;<a class="el" href="structlzma__index__iter.html#abc6ee9be23e54f31aed07382c8caaf7c">lzma_index_iter</a></li>
<li>block_size&#160;:&#160;<a class="el" href="structlzma__mt.html#a20cdc7865266ccb88da36a6e68f84d15">lzma_mt</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>check&#160;:&#160;<a class="el" href="structlzma__block.html#a80cd9d3025991db4a476ce7588f853e6">lzma_block</a>, <a class="el" href="structlzma__mt.html#ae38846e8aca5b20d2a86a2364283b730">lzma_mt</a>, <a class="el" href="structlzma__stream__flags.html#ab1052ea7047c8d67f127f33278166647">lzma_stream_flags</a></li>
<li>compressed_file_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a26436e75d4c2b5dd8d1de24140d8003e">lzma_index_iter</a></li>
<li>compressed_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a426705df8dde4b094a42f91ea20a46ac">lzma_index_iter</a></li>
<li>compressed_size&#160;:&#160;<a class="el" href="structlzma__block.html#a8383d489c9ffea8af390669a105c74e5">lzma_block</a>, <a class="el" href="structlzma__index__iter.html#a6e73b1f37e3fcf1e9491e4a53b2c52c7">lzma_index_iter</a></li>
<li>compressed_stream_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a578bba553c43dc59a5e4032d4f6c89a3">lzma_index_iter</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>depth&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a4226f686e8c9f6288595fe23d0e15713">lzma_options_lzma</a></li>
<li>dict_size&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#aeb3f86002405a1191af86def46fca5ad">lzma_options_lzma</a></li>
<li>dist&#160;:&#160;<a class="el" href="structlzma__options__delta.html#a31b4b0b5a2462cb9433c2663b8a62790">lzma_options_delta</a></li>
</ul>
<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>ext_flags&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#ade251d13ef46bcacb4e052b83693878c">lzma_options_lzma</a></li>
<li>ext_size_high&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#ae5b3c2375c43ddfacf093980385fb9e3">lzma_options_lzma</a></li>
<li>ext_size_low&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a971da8385dcebd01e60235afb3b717f9">lzma_options_lzma</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>filters&#160;:&#160;<a class="el" href="structlzma__block.html#a5900e517e6e0a473a3184074ae7defd1">lzma_block</a>, <a class="el" href="structlzma__mt.html#ad43a62ef2178c76405e5be0ece7a98b4">lzma_mt</a></li>
<li>flags&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a223a046bcf09077a6e720967682deeae">lzma_index_iter</a>, <a class="el" href="structlzma__mt.html#a1c2fe028f547bf58b48b5199557d9a9f">lzma_mt</a></li>
<li>free&#160;:&#160;<a class="el" href="structlzma__allocator.html#a3726deffd08393934263c04660208009">lzma_allocator</a></li>
</ul>
<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>header_size&#160;:&#160;<a class="el" href="structlzma__block.html#a6689c4f7524b2c05772a2d6151138610">lzma_block</a></li>
</ul>
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>id&#160;:&#160;<a class="el" href="structlzma__filter.html#aef1d9709759f39e61db77547b2326929">lzma_filter</a></li>
<li>ignore_check&#160;:&#160;<a class="el" href="structlzma__block.html#a516ac9cc63bc1a4fadd9fbfc189a206b">lzma_block</a></li>
<li>internal&#160;:&#160;<a class="el" href="structlzma__stream.html#a209da54c2fb5dea40ad011c8408300d0">lzma_stream</a></li>
</ul>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>lc&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a95f6188e5b5f05c50ec463a315df3585">lzma_options_lzma</a></li>
<li>lp&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a0fe9c54e808fce3090b6994d95fe41fe">lzma_options_lzma</a></li>
</ul>
<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>memlimit_stop&#160;:&#160;<a class="el" href="structlzma__mt.html#ab5e0b530d4c572c7a2361aabbad656aa">lzma_mt</a></li>
<li>memlimit_threading&#160;:&#160;<a class="el" href="structlzma__mt.html#a5a7fb0c7c2db350e09e77477bc3c9509">lzma_mt</a></li>
<li>mf&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#aa99612cd52259093007f33513882dcd0">lzma_options_lzma</a></li>
<li>mode&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a1d711df9bda046fd3899abf21fa250d5">lzma_options_lzma</a></li>
</ul>
<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>next_in&#160;:&#160;<a class="el" href="structlzma__stream.html#a72fdc738c793f07a5c29715aa57802cf">lzma_stream</a></li>
<li>next_out&#160;:&#160;<a class="el" href="structlzma__stream.html#a14ee64ed636ddcb775edf87e2b9f42ec">lzma_stream</a></li>
<li>nice_len&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a0352ea7f8b6a43b745a44f6cb4e2d263">lzma_options_lzma</a></li>
<li>number&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a115a307dbc778a9de296376dc39c7b23">lzma_index_iter</a></li>
<li>number_in_file&#160;:&#160;<a class="el" href="structlzma__index__iter.html#abe5333de53562189012d5ed084c0ef98">lzma_index_iter</a></li>
<li>number_in_stream&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a35a752d344ff5d35d2a858a20bd6e5e8">lzma_index_iter</a></li>
</ul>
<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>opaque&#160;:&#160;<a class="el" href="structlzma__allocator.html#aab293a5007a93299cc97ee8b5fb81268">lzma_allocator</a></li>
<li>options&#160;:&#160;<a class="el" href="structlzma__filter.html#a10dfbaa1601793657d12320bef933ee6">lzma_filter</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>padding&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a48cfc856f283fe00b0df37402e012818">lzma_index_iter</a></li>
<li>pb&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#acae107b3d3e9d0d4fe16103be22f4408">lzma_options_lzma</a></li>
<li>preset&#160;:&#160;<a class="el" href="structlzma__mt.html#ab3883b5644752cdd15f01387d58dd050">lzma_mt</a></li>
<li>preset_dict&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a16a58c1ee3ec18c820d5cb03dde3739a">lzma_options_lzma</a></li>
<li>preset_dict_size&#160;:&#160;<a class="el" href="structlzma__options__lzma.html#a655ad4cce9e4dac9cf2a5c8daaa629e0">lzma_options_lzma</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>raw_check&#160;:&#160;<a class="el" href="structlzma__block.html#a25e9bf1bb1699017694b18ca24f965d2">lzma_block</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>seek_pos&#160;:&#160;<a class="el" href="structlzma__stream.html#af7c43a61f3dfeb0b9c8487b7f275054e">lzma_stream</a></li>
<li>start_offset&#160;:&#160;<a class="el" href="structlzma__options__bcj.html#a3f5a3c62cd82ce89433684f12ed096ac">lzma_options_bcj</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>threads&#160;:&#160;<a class="el" href="structlzma__mt.html#a881761f858dbda33c697e74acde0be70">lzma_mt</a></li>
<li>timeout&#160;:&#160;<a class="el" href="structlzma__mt.html#a298992bf7d2154d8dd814560219d10c2">lzma_mt</a></li>
<li>total_in&#160;:&#160;<a class="el" href="structlzma__stream.html#a1a411e1755d6185756caefabc3932c7b">lzma_stream</a></li>
<li>total_out&#160;:&#160;<a class="el" href="structlzma__stream.html#a80d703ffdfd7661e344fe7b61ff737fa">lzma_stream</a></li>
<li>total_size&#160;:&#160;<a class="el" href="structlzma__index__iter.html#ae164ca3d7492dcf5883769c38baac30e">lzma_index_iter</a></li>
<li>type&#160;:&#160;<a class="el" href="structlzma__options__delta.html#af3f1ece7f8c472f4a794953b414c7cd7">lzma_options_delta</a></li>
</ul>
<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>uncompressed_file_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a2f3ecf341b5dc043e9673759b8ff47b9">lzma_index_iter</a></li>
<li>uncompressed_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#abd374b748b4a42e122b90841709609bc">lzma_index_iter</a></li>
<li>uncompressed_size&#160;:&#160;<a class="el" href="structlzma__block.html#a17362d38d1946dd16a9686557ec19a94">lzma_block</a>, <a class="el" href="structlzma__index__iter.html#aafc48408ed40060a84ecd66bae5e1b23">lzma_index_iter</a></li>
<li>uncompressed_stream_offset&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a0fc4959fab08e1a6a4902c728c735a99">lzma_index_iter</a></li>
<li>unpadded_size&#160;:&#160;<a class="el" href="structlzma__index__iter.html#a9f4e405b9884be08e3a35bc06e3e15df">lzma_index_iter</a></li>
</ul>
<h3><a id="index_v" name="index_v"></a>- v -</h3><ul>
<li>version&#160;:&#160;<a class="el" href="structlzma__block.html#ac3936a5b0ec3f9b8f9c7ad68e7d149a5">lzma_block</a>, <a class="el" href="structlzma__stream__flags.html#a61e9151869d5b77c868aaa4958e74d10">lzma_stream_flags</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,280 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('globals.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="contents">
<div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>lzma_action&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77e">base.h</a></li>
<li>lzma_alone_decoder()&#160;:&#160;<a class="el" href="container_8h.html#a5f43c3a1035e5a226dcd298f4162b861">container.h</a></li>
<li>lzma_alone_encoder()&#160;:&#160;<a class="el" href="container_8h.html#a26fcc5bccdf3f862caa4c992d01e1a72">container.h</a></li>
<li>lzma_auto_decoder()&#160;:&#160;<a class="el" href="container_8h.html#a21cbebf2771617bb1e956385cfb353e3">container.h</a></li>
<li>LZMA_BACKWARD_SIZE_MAX&#160;:&#160;<a class="el" href="stream__flags_8h.html#a2e5e09010880f8caa6cd6539c7341239">stream_flags.h</a></li>
<li>LZMA_BACKWARD_SIZE_MIN&#160;:&#160;<a class="el" href="stream__flags_8h.html#ae8da8190f1396f66332073946bc45634">stream_flags.h</a></li>
<li>lzma_block_buffer_bound()&#160;:&#160;<a class="el" href="block_8h.html#a58ff73e2572b529f48cc590bfffe5b4f">block.h</a></li>
<li>lzma_block_buffer_decode()&#160;:&#160;<a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f">block.h</a></li>
<li>lzma_block_buffer_encode()&#160;:&#160;<a class="el" href="block_8h.html#af415fa5130ab64e8760e9c39e856fa54">block.h</a></li>
<li>lzma_block_compressed_size()&#160;:&#160;<a class="el" href="block_8h.html#a6c3e102d76db06a07126a569abc6e2bc">block.h</a></li>
<li>lzma_block_decoder()&#160;:&#160;<a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92">block.h</a></li>
<li>lzma_block_encoder()&#160;:&#160;<a class="el" href="block_8h.html#a2218a49025a0b44f9a6f9d6d24359359">block.h</a></li>
<li>lzma_block_header_decode()&#160;:&#160;<a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9">block.h</a></li>
<li>lzma_block_header_encode()&#160;:&#160;<a class="el" href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0">block.h</a></li>
<li>lzma_block_header_size()&#160;:&#160;<a class="el" href="block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd">block.h</a></li>
<li>lzma_block_header_size_decode&#160;:&#160;<a class="el" href="block_8h.html#ac025c940683a70f4c7f956bad814fd5f">block.h</a></li>
<li>lzma_block_total_size()&#160;:&#160;<a class="el" href="block_8h.html#a694424f9dfdd5151e01debac1c501fa9">block.h</a></li>
<li>lzma_block_uncomp_encode()&#160;:&#160;<a class="el" href="block_8h.html#a5a260f634ccd5f54fb98f570d8d92d8c">block.h</a></li>
<li>lzma_block_unpadded_size()&#160;:&#160;<a class="el" href="block_8h.html#a412d5605280fa29befae1b89e344bf30">block.h</a></li>
<li>lzma_bool&#160;:&#160;<a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">base.h</a></li>
<li>LZMA_BUF_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea9ca0ecb62459bdc84d6af47d16b23ae5">base.h</a></li>
<li>lzma_check&#160;:&#160;<a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3f">check.h</a></li>
<li>LZMA_CHECK_CRC32&#160;:&#160;<a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa0be65014a40b5cb4ab32252b3709bef7">check.h</a></li>
<li>LZMA_CHECK_CRC64&#160;:&#160;<a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa87b4b0697a1e1ccb6766dd5c2fa24afc">check.h</a></li>
<li>LZMA_CHECK_ID_MAX&#160;:&#160;<a class="el" href="check_8h.html#acd221ababe30230d9647aab469ad80cb">check.h</a></li>
<li>lzma_check_is_supported()&#160;:&#160;<a class="el" href="check_8h.html#ae9391ed2acfad0ce9357b68c608f07d8">check.h</a></li>
<li>LZMA_CHECK_NONE&#160;:&#160;<a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa7b9851d75abfabc08d7fc5b4aaeb6f20">check.h</a></li>
<li>LZMA_CHECK_SHA256&#160;:&#160;<a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3faf26a55ddd204a50ae87ec3432e7bc309">check.h</a></li>
<li>lzma_check_size()&#160;:&#160;<a class="el" href="check_8h.html#afd3fda19575d9d4f864c626c02b7cb48">check.h</a></li>
<li>LZMA_CHECK_SIZE_MAX&#160;:&#160;<a class="el" href="check_8h.html#a379e931cf86351ab1d97896cda9abbe0">check.h</a></li>
<li>lzma_code()&#160;:&#160;<a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957">base.h</a></li>
<li>LZMA_CONCATENATED&#160;:&#160;<a class="el" href="container_8h.html#a563c84b5f368b3dd00d92ea903c5c33d">container.h</a></li>
<li>lzma_cputhreads()&#160;:&#160;<a class="el" href="hardware_8h.html#a22f7a882b7a4b741a226abf62bdf46ca">hardware.h</a></li>
<li>lzma_crc32()&#160;:&#160;<a class="el" href="check_8h.html#a760b569cce91bdd01e4ce9d78823c96d">check.h</a></li>
<li>lzma_crc64()&#160;:&#160;<a class="el" href="check_8h.html#aff2e74ce671b9f82a96adb549c68cea2">check.h</a></li>
<li>LZMA_DATA_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea3aa72729a844790e39b4e1101a731dfb">base.h</a></li>
<li>LZMA_DELTA_DIST_MAX&#160;:&#160;<a class="el" href="delta_8h.html#afdf8a5ce184ddf9f8070de637775da94">delta.h</a></li>
<li>LZMA_DELTA_DIST_MIN&#160;:&#160;<a class="el" href="delta_8h.html#a466886d9d01392f61bdf267687a4f96e">delta.h</a></li>
<li>lzma_delta_type&#160;:&#160;<a class="el" href="delta_8h.html#a04d84d7fa6cefdc219b6e2e96ff36fe1">delta.h</a></li>
<li>lzma_easy_buffer_encode()&#160;:&#160;<a class="el" href="container_8h.html#ac5e71f2711b57391186671967435faf2">container.h</a></li>
<li>lzma_easy_decoder_memusage()&#160;:&#160;<a class="el" href="container_8h.html#a3562055d26c18fad067a7c7516eaddf5">container.h</a></li>
<li>lzma_easy_encoder()&#160;:&#160;<a class="el" href="container_8h.html#acbdad999c544872f0f5d242f0d1a4ed4">container.h</a></li>
<li>lzma_easy_encoder_memusage()&#160;:&#160;<a class="el" href="container_8h.html#a62c853cf7dbf008bdbd97b2685c3eabf">container.h</a></li>
<li>lzma_end()&#160;:&#160;<a class="el" href="base_8h.html#a854ff37464ae1225febf14db1af43308">base.h</a></li>
<li>LZMA_FAIL_FAST&#160;:&#160;<a class="el" href="container_8h.html#aa1f469ed3d4b2eaf12f8081657efc9d5">container.h</a></li>
<li>lzma_file_info_decoder()&#160;:&#160;<a class="el" href="index_8h.html#a7c5d77cf8532d95977d4571a1eb0a222">index.h</a></li>
<li>LZMA_FILTER_ARM&#160;:&#160;<a class="el" href="bcj_8h.html#a495a58f63ebc7a8b756099efba492f8b">bcj.h</a></li>
<li>LZMA_FILTER_ARM64&#160;:&#160;<a class="el" href="bcj_8h.html#a01765158cd31cac21b272b180628fc4b">bcj.h</a></li>
<li>LZMA_FILTER_ARMTHUMB&#160;:&#160;<a class="el" href="bcj_8h.html#a5ec62e7e5e7df3d9af5b2ea3f857689a">bcj.h</a></li>
<li>lzma_filter_decoder_is_supported()&#160;:&#160;<a class="el" href="filter_8h.html#acab0c67bf5b3a76f2b474c8e1da98938">filter.h</a></li>
<li>LZMA_FILTER_DELTA&#160;:&#160;<a class="el" href="delta_8h.html#a7ced67235ad7a01ae31d32ecf1e634cb">delta.h</a></li>
<li>lzma_filter_encoder_is_supported()&#160;:&#160;<a class="el" href="filter_8h.html#a3db3c36cd6e57658a74c53e4daa2bef6">filter.h</a></li>
<li>lzma_filter_flags_decode()&#160;:&#160;<a class="el" href="filter_8h.html#a4cba9a4c658cce0ff01fd102b31ea1a7">filter.h</a></li>
<li>lzma_filter_flags_encode()&#160;:&#160;<a class="el" href="filter_8h.html#a96f23309bc21398fece18c00ebe7db98">filter.h</a></li>
<li>lzma_filter_flags_size()&#160;:&#160;<a class="el" href="filter_8h.html#a996c9c21840ed54e37bd1f664a79d940">filter.h</a></li>
<li>LZMA_FILTER_IA64&#160;:&#160;<a class="el" href="bcj_8h.html#a2fe36218a38f400e1ce40820758f7427">bcj.h</a></li>
<li>LZMA_FILTER_LZMA1&#160;:&#160;<a class="el" href="lzma12_8h.html#accedd16abcb758e7f748bac1102abda9">lzma12.h</a></li>
<li>LZMA_FILTER_LZMA1EXT&#160;:&#160;<a class="el" href="lzma12_8h.html#a98a7fd42aa78a273a6b138629e46772d">lzma12.h</a></li>
<li>LZMA_FILTER_LZMA2&#160;:&#160;<a class="el" href="lzma12_8h.html#a04f9d9a018a47cc99491e6e94e92f96b">lzma12.h</a></li>
<li>LZMA_FILTER_POWERPC&#160;:&#160;<a class="el" href="bcj_8h.html#ab7f667d4a5d319f227f23163cbea086f">bcj.h</a></li>
<li>LZMA_FILTER_RISCV&#160;:&#160;<a class="el" href="bcj_8h.html#a932e9d66e945f5601b8fad7445a9b40c">bcj.h</a></li>
<li>LZMA_FILTER_SPARC&#160;:&#160;<a class="el" href="bcj_8h.html#a50941088e93ef659c6b000bbcaf58143">bcj.h</a></li>
<li>LZMA_FILTER_X86&#160;:&#160;<a class="el" href="bcj_8h.html#aa9eac1f580ddde3309518cd153d596b1">bcj.h</a></li>
<li>lzma_filters_copy()&#160;:&#160;<a class="el" href="filter_8h.html#a611fe1176eeeda187b1bd8aef45040aa">filter.h</a></li>
<li>lzma_filters_free()&#160;:&#160;<a class="el" href="filter_8h.html#ae06979d219897f5f4c29cbc7a96a8892">filter.h</a></li>
<li>LZMA_FILTERS_MAX&#160;:&#160;<a class="el" href="filter_8h.html#ab33c0cc1728bf390e5b84f8bce1928ba">filter.h</a></li>
<li>lzma_filters_update()&#160;:&#160;<a class="el" href="filter_8h.html#a4a8fd969df001e449ebe4421ab33bba5">filter.h</a></li>
<li>LZMA_FINISH&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea7d24fb3c6c144d13bcb091195b8ebec1">base.h</a></li>
<li>LZMA_FORMAT_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea63b7a58949854eb9307f8e351358d56c">base.h</a></li>
<li>LZMA_FULL_BARRIER&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77eaf7bf60e3555a4d10ffad3ecc3d2e01f1">base.h</a></li>
<li>LZMA_FULL_FLUSH&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77eaab46f0d7c721f1ec377e9575eab2586f">base.h</a></li>
<li>LZMA_GET_CHECK&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa5b648c18da0f584f621cfdf7fef1bdb">base.h</a></li>
<li>lzma_get_check()&#160;:&#160;<a class="el" href="check_8h.html#a8d7c3ffabfd024485f03fa209536c746">check.h</a></li>
<li>lzma_get_progress()&#160;:&#160;<a class="el" href="base_8h.html#ab6447cd68eeecbd6b88f21daeb8ce751">base.h</a></li>
<li>LZMA_IGNORE_CHECK&#160;:&#160;<a class="el" href="container_8h.html#a1289925ae1c63a8e86f69f3657118a4d">container.h</a></li>
<li>lzma_index&#160;:&#160;<a class="el" href="index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e">index.h</a></li>
<li>lzma_index_append()&#160;:&#160;<a class="el" href="index_8h.html#ac347747eb933c7c408e6c801b33becc3">index.h</a></li>
<li>lzma_index_block_count()&#160;:&#160;<a class="el" href="index_8h.html#add1a8c506f67dbc19cae6747107e3bec">index.h</a></li>
<li>lzma_index_buffer_decode()&#160;:&#160;<a class="el" href="index_8h.html#a028b8b8d59a413f9682eea1269a6ae8b">index.h</a></li>
<li>lzma_index_buffer_encode()&#160;:&#160;<a class="el" href="index_8h.html#add1ef06dec8a26d08ae8651cff0fd8d6">index.h</a></li>
<li>lzma_index_cat()&#160;:&#160;<a class="el" href="index_8h.html#abc4db36b4bd67af01819be9dd045c34a">index.h</a></li>
<li>LZMA_INDEX_CHECK_MASK_CRC32&#160;:&#160;<a class="el" href="index_8h.html#a6812319b2f335df98fcf5e97c144e4ac">index.h</a></li>
<li>LZMA_INDEX_CHECK_MASK_CRC64&#160;:&#160;<a class="el" href="index_8h.html#a062a47783c17f64728d98b831411c5c3">index.h</a></li>
<li>LZMA_INDEX_CHECK_MASK_NONE&#160;:&#160;<a class="el" href="index_8h.html#a2643014196abf129ddbb51ec2bd956d9">index.h</a></li>
<li>LZMA_INDEX_CHECK_MASK_SHA256&#160;:&#160;<a class="el" href="index_8h.html#ad6540f1ecf60f186f7c0492937482169">index.h</a></li>
<li>lzma_index_checks()&#160;:&#160;<a class="el" href="index_8h.html#af8d6528a04241841bd0a4322b0c57eaa">index.h</a></li>
<li>lzma_index_decoder()&#160;:&#160;<a class="el" href="index_8h.html#abb56fd1d5914f8900ece7b88b78e5e23">index.h</a></li>
<li>lzma_index_dup()&#160;:&#160;<a class="el" href="index_8h.html#a5161e3f67156577882e1d95dcb57e33e">index.h</a></li>
<li>lzma_index_encoder()&#160;:&#160;<a class="el" href="index_8h.html#a6800d70f3b2afca085496460cd03211d">index.h</a></li>
<li>lzma_index_end()&#160;:&#160;<a class="el" href="index_8h.html#a0c2d0009f07fc315d5ac89e4bcd25abd">index.h</a></li>
<li>lzma_index_file_size()&#160;:&#160;<a class="el" href="index_8h.html#ac875ed47d35385e5dac461b25c5ea1c9">index.h</a></li>
<li>lzma_index_hash&#160;:&#160;<a class="el" href="index__hash_8h.html#a2db9f438838c8ff72a8a6fd3fc856f8c">index_hash.h</a></li>
<li>lzma_index_hash_append()&#160;:&#160;<a class="el" href="index__hash_8h.html#a2bdbe4f0b5fa2fadb7528447feaaa97f">index_hash.h</a></li>
<li>lzma_index_hash_decode()&#160;:&#160;<a class="el" href="index__hash_8h.html#a891eb955284c9117155f92eb0ddba44c">index_hash.h</a></li>
<li>lzma_index_hash_end()&#160;:&#160;<a class="el" href="index__hash_8h.html#a7dacb41b9ec1c8df5d33dfdae97743b3">index_hash.h</a></li>
<li>lzma_index_hash_init()&#160;:&#160;<a class="el" href="index__hash_8h.html#aaafae4967a4a266d97dc34a98bfcabfb">index_hash.h</a></li>
<li>lzma_index_hash_size()&#160;:&#160;<a class="el" href="index__hash_8h.html#a0f8ab3b57b117f9547866156755c917f">index_hash.h</a></li>
<li>lzma_index_init()&#160;:&#160;<a class="el" href="index_8h.html#a0850627d011111326d4278a3e2edec25">index.h</a></li>
<li>LZMA_INDEX_ITER_ANY&#160;:&#160;<a class="el" href="index_8h.html#a712b43192d944bf2f767711343cd9ca8af46f6e5c414471c7c96586f380e48315">index.h</a></li>
<li>LZMA_INDEX_ITER_BLOCK&#160;:&#160;<a class="el" href="index_8h.html#a712b43192d944bf2f767711343cd9ca8a2702617d60d6fc15138a749e06ef3414">index.h</a></li>
<li>lzma_index_iter_init()&#160;:&#160;<a class="el" href="index_8h.html#aa78f02f18ed29d289a6ef37b8ea98a21">index.h</a></li>
<li>lzma_index_iter_locate()&#160;:&#160;<a class="el" href="index_8h.html#ac4f56df9d210712e5d7add5502c9eb93">index.h</a></li>
<li>lzma_index_iter_mode&#160;:&#160;<a class="el" href="index_8h.html#a712b43192d944bf2f767711343cd9ca8">index.h</a></li>
<li>lzma_index_iter_next()&#160;:&#160;<a class="el" href="index_8h.html#af428522e1b3eef137c65c5a01f766e0e">index.h</a></li>
<li>LZMA_INDEX_ITER_NONEMPTY_BLOCK&#160;:&#160;<a class="el" href="index_8h.html#a712b43192d944bf2f767711343cd9ca8aa49bf4d561d8f2c61d300edbb6c282c7">index.h</a></li>
<li>lzma_index_iter_rewind()&#160;:&#160;<a class="el" href="index_8h.html#ae81438be8deff4894b104e65d8acdd24">index.h</a></li>
<li>LZMA_INDEX_ITER_STREAM&#160;:&#160;<a class="el" href="index_8h.html#a712b43192d944bf2f767711343cd9ca8a5b31d985de1c823151acdd7e4a966fc9">index.h</a></li>
<li>lzma_index_memusage()&#160;:&#160;<a class="el" href="index_8h.html#a880def3727ecdd7f242807083d228fc5">index.h</a></li>
<li>lzma_index_memused()&#160;:&#160;<a class="el" href="index_8h.html#a4118805ac7be6618aca6d6d7e5e4dde7">index.h</a></li>
<li>lzma_index_size()&#160;:&#160;<a class="el" href="index_8h.html#a669ed1a82b1941217cfbb07e7826afc2">index.h</a></li>
<li>lzma_index_stream_count()&#160;:&#160;<a class="el" href="index_8h.html#afd159a765b09b0cf79186069a848d07e">index.h</a></li>
<li>lzma_index_stream_flags()&#160;:&#160;<a class="el" href="index_8h.html#a79a19669237f19f0b11c9f3be80a62b4">index.h</a></li>
<li>lzma_index_stream_padding()&#160;:&#160;<a class="el" href="index_8h.html#a3ed82f96c688f3c953f6509b6f4e2ef3">index.h</a></li>
<li>lzma_index_stream_size()&#160;:&#160;<a class="el" href="index_8h.html#af3630369b43c9ccc906065d759b49663">index.h</a></li>
<li>lzma_index_total_size()&#160;:&#160;<a class="el" href="index_8h.html#a7829942b83ee1fa5b6443cc248b81041">index.h</a></li>
<li>lzma_index_uncompressed_size()&#160;:&#160;<a class="el" href="index_8h.html#a620fe6317f1f9d7af9cc27c748bf07d6">index.h</a></li>
<li>lzma_internal&#160;:&#160;<a class="el" href="base_8h.html#ab1a60127c640135687a5bcc232cec906">base.h</a></li>
<li>lzma_lzip_decoder()&#160;:&#160;<a class="el" href="container_8h.html#a97689f5709e0db1e2dac450f5ce4e5eb">container.h</a></li>
<li>lzma_lzma_preset()&#160;:&#160;<a class="el" href="lzma12_8h.html#aa62c28944fe3575653a4c25780400d77">lzma12.h</a></li>
<li>lzma_match_finder&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80">lzma12.h</a></li>
<li>LZMA_MEM_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea567e1464feca03900a5425fb45b2f5b6">base.h</a></li>
<li>LZMA_MEMLIMIT_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa1d705effe6026f32c0fe9756b6326bc">base.h</a></li>
<li>lzma_memlimit_get()&#160;:&#160;<a class="el" href="base_8h.html#ac871bc2ead5d482c6d6b3d51bfec365c">base.h</a></li>
<li>lzma_memlimit_set()&#160;:&#160;<a class="el" href="base_8h.html#afc49d4cf75b73128a167df3407505f7b">base.h</a></li>
<li>lzma_memusage()&#160;:&#160;<a class="el" href="base_8h.html#a418b210cf206782a73cd9de7dc27f670">base.h</a></li>
<li>LZMA_MF_BT2&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a7ab212446c3f6520f5c33ccfa4b3386a">lzma12.h</a></li>
<li>LZMA_MF_BT3&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a983ecc59bf3e07a7c43fea551ea11865">lzma12.h</a></li>
<li>LZMA_MF_BT4&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a468c32cdea9861d1ff98478364e6c547">lzma12.h</a></li>
<li>LZMA_MF_HC3&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a6eb38f634021a192cada8a978b5de93b">lzma12.h</a></li>
<li>LZMA_MF_HC4&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a0944620f4949289c2ebde613cae12b04">lzma12.h</a></li>
<li>lzma_mf_is_supported()&#160;:&#160;<a class="el" href="lzma12_8h.html#aefba1f7214ddcf8cd408a0702e8642b5">lzma12.h</a></li>
<li>lzma_microlzma_decoder()&#160;:&#160;<a class="el" href="container_8h.html#aa8372dae3e7c907c36f7bb5426aeacdf">container.h</a></li>
<li>lzma_microlzma_encoder()&#160;:&#160;<a class="el" href="container_8h.html#abfc8f11acf837b167aa94b7071b54c30">container.h</a></li>
<li>lzma_mode&#160;:&#160;<a class="el" href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866">lzma12.h</a></li>
<li>LZMA_MODE_FAST&#160;:&#160;<a class="el" href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866ac8c0926a91b4f756e11121efd30648cc">lzma12.h</a></li>
<li>lzma_mode_is_supported()&#160;:&#160;<a class="el" href="lzma12_8h.html#ad1add1c2600fdbb3d737e4fb3465dfcb">lzma12.h</a></li>
<li>LZMA_MODE_NORMAL&#160;:&#160;<a class="el" href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866ad37225f30d5cd21fc8bb3eaba283bbf9">lzma12.h</a></li>
<li>lzma_mt_block_size()&#160;:&#160;<a class="el" href="container_8h.html#a7eaeda1cb811ac1f5a6403691df8a894">container.h</a></li>
<li>LZMA_NO_CHECK&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa720d30092d504d7d138a320db1905ef">base.h</a></li>
<li>LZMA_OK&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eac003781ccb81bbd5578e29abed8a8cfe">base.h</a></li>
<li>LZMA_OPTIONS_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa9ff6dfee36b7aba4fae60706d37425f">base.h</a></li>
<li>lzma_physmem()&#160;:&#160;<a class="el" href="hardware_8h.html#a85363e453b34272a9f26c9fdffb041ee">hardware.h</a></li>
<li>LZMA_PRESET_DEFAULT&#160;:&#160;<a class="el" href="container_8h.html#af3ca20ff228b363a82515c1aee9e27bc">container.h</a></li>
<li>LZMA_PRESET_EXTREME&#160;:&#160;<a class="el" href="container_8h.html#af524fe9af5737820fdadcd40a2c26deb">container.h</a></li>
<li>LZMA_PRESET_LEVEL_MASK&#160;:&#160;<a class="el" href="container_8h.html#a97e40265e355a21bd2465aaa5b85f03d">container.h</a></li>
<li>LZMA_PROG_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea2dac8d451cb38da8550653d0d7be4ec2">base.h</a></li>
<li>lzma_properties_decode()&#160;:&#160;<a class="el" href="filter_8h.html#a88d2e864b2039ac82802cc202278d478">filter.h</a></li>
<li>lzma_properties_encode()&#160;:&#160;<a class="el" href="filter_8h.html#a8e00887086df5a44084ac22e48415de3">filter.h</a></li>
<li>lzma_properties_size()&#160;:&#160;<a class="el" href="filter_8h.html#aee038818cf7bbe044c3f7a7c86998c1b">filter.h</a></li>
<li>lzma_raw_buffer_decode()&#160;:&#160;<a class="el" href="filter_8h.html#a3b942df507e4f9a6d7525e5a4c6864e5">filter.h</a></li>
<li>lzma_raw_buffer_encode()&#160;:&#160;<a class="el" href="filter_8h.html#a226724ab3391b410281fdf656cc7c432">filter.h</a></li>
<li>lzma_raw_decoder()&#160;:&#160;<a class="el" href="filter_8h.html#ae77b3b6c5eccd9d77bbafef0a8a203c1">filter.h</a></li>
<li>lzma_raw_decoder_memusage()&#160;:&#160;<a class="el" href="filter_8h.html#a58511249ae9206d7de7c5d1f05842297">filter.h</a></li>
<li>lzma_raw_encoder()&#160;:&#160;<a class="el" href="filter_8h.html#a2368e4129032345eb0738b0c6e085703">filter.h</a></li>
<li>lzma_raw_encoder_memusage()&#160;:&#160;<a class="el" href="filter_8h.html#a730f9391e85a5979bcd1b32643ae7176">filter.h</a></li>
<li>lzma_reserved_enum&#160;:&#160;<a class="el" href="base_8h.html#a05805a07754b2aa22f7d443eb7ece41a">base.h</a></li>
<li>lzma_ret&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">base.h</a></li>
<li>LZMA_RUN&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea868472b76492afcaef54020a481890b1">base.h</a></li>
<li>LZMA_SEEK_NEEDED&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea6cf28e5345851f13bd798a4eab8cc939">base.h</a></li>
<li>lzma_set_ext_size&#160;:&#160;<a class="el" href="lzma12_8h.html#a73ed0293db4e59d73a702d66fef537c3">lzma12.h</a></li>
<li>LZMA_STR_ALL_FILTERS&#160;:&#160;<a class="el" href="filter_8h.html#a41aa51eeb53190404439c31d8e9c97cd">filter.h</a></li>
<li>LZMA_STR_DECODER&#160;:&#160;<a class="el" href="filter_8h.html#a8a0f3fc03bdb84a294cdd53a98783104">filter.h</a></li>
<li>LZMA_STR_ENCODER&#160;:&#160;<a class="el" href="filter_8h.html#a09a775f6a78d28ca136acfb51ad5fa02">filter.h</a></li>
<li>lzma_str_from_filters()&#160;:&#160;<a class="el" href="filter_8h.html#a7deeb86ef59a9111b8033681290e0fb0">filter.h</a></li>
<li>LZMA_STR_GETOPT_LONG&#160;:&#160;<a class="el" href="filter_8h.html#a87e9ac4ae5829b092262223256141a29">filter.h</a></li>
<li>lzma_str_list_filters()&#160;:&#160;<a class="el" href="filter_8h.html#ab51585b68796ce0270f87e615b923809">filter.h</a></li>
<li>LZMA_STR_NO_SPACES&#160;:&#160;<a class="el" href="filter_8h.html#ac0113c47caf98a735db2297936c5e857">filter.h</a></li>
<li>LZMA_STR_NO_VALIDATION&#160;:&#160;<a class="el" href="filter_8h.html#adc33f4c0c7b5d3ae36acc0437a904339">filter.h</a></li>
<li>lzma_str_to_filters()&#160;:&#160;<a class="el" href="filter_8h.html#aa042cf11749bc2183b27de1c3142da30">filter.h</a></li>
<li>lzma_stream_buffer_bound()&#160;:&#160;<a class="el" href="container_8h.html#a66d4366a47b8332bff2a512f44f5c45e">container.h</a></li>
<li>lzma_stream_buffer_decode()&#160;:&#160;<a class="el" href="container_8h.html#aa58f237f6cea97ef0eb9bf5c37a3008d">container.h</a></li>
<li>lzma_stream_buffer_encode()&#160;:&#160;<a class="el" href="container_8h.html#a6e645ccaeace3b13a6981e03c6e190ad">container.h</a></li>
<li>lzma_stream_decoder()&#160;:&#160;<a class="el" href="container_8h.html#a02b7683ef98d8049788961370a8b28c0">container.h</a></li>
<li>lzma_stream_decoder_mt()&#160;:&#160;<a class="el" href="container_8h.html#a7179d178e6430c10e2006a467921e98e">container.h</a></li>
<li>lzma_stream_encoder()&#160;:&#160;<a class="el" href="container_8h.html#a1a97aec94c9fedd7646cfa51c4f4cd52">container.h</a></li>
<li>lzma_stream_encoder_mt()&#160;:&#160;<a class="el" href="container_8h.html#a3f8793518711ee84d1abf12ea3aaba42">container.h</a></li>
<li>lzma_stream_encoder_mt_memusage()&#160;:&#160;<a class="el" href="container_8h.html#ad7cf41496d77f4d346e006b26ed8e101">container.h</a></li>
<li>LZMA_STREAM_END&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea91ecc6fab14c13ad36224afbcb4e55c4">base.h</a></li>
<li>lzma_stream_flags_compare()&#160;:&#160;<a class="el" href="stream__flags_8h.html#a3e25ca4205021302882a696283d45263">stream_flags.h</a></li>
<li>lzma_stream_footer_decode()&#160;:&#160;<a class="el" href="stream__flags_8h.html#aa92a383f85753bb79ee23227fa68186c">stream_flags.h</a></li>
<li>lzma_stream_footer_encode()&#160;:&#160;<a class="el" href="stream__flags_8h.html#a438249a75ea8da952a7474b92bfe7b7a">stream_flags.h</a></li>
<li>lzma_stream_header_decode()&#160;:&#160;<a class="el" href="stream__flags_8h.html#ae03198e464f0d296e601ff841e100805">stream_flags.h</a></li>
<li>lzma_stream_header_encode()&#160;:&#160;<a class="el" href="stream__flags_8h.html#a2ebb8d6dff23daeb3de398913b845eff">stream_flags.h</a></li>
<li>LZMA_STREAM_HEADER_SIZE&#160;:&#160;<a class="el" href="stream__flags_8h.html#ada7e0a4f5e7146f547962cb9e9ef08ee">stream_flags.h</a></li>
<li>LZMA_STREAM_INIT&#160;:&#160;<a class="el" href="base_8h.html#af31f0c8b6f14359cd082b9559f7f3e01">base.h</a></li>
<li>LZMA_SYNC_FLUSH&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea14d75152afcda85d215e877fdd9c4170">base.h</a></li>
<li>LZMA_TELL_ANY_CHECK&#160;:&#160;<a class="el" href="container_8h.html#a0bdde702a77ff42b90a99c0bf4147b6b">container.h</a></li>
<li>LZMA_TELL_NO_CHECK&#160;:&#160;<a class="el" href="container_8h.html#ada9cd20febb28b5ed6656de9184a86e9">container.h</a></li>
<li>LZMA_TELL_UNSUPPORTED_CHECK&#160;:&#160;<a class="el" href="container_8h.html#ae21fb746037c82735d40d428c462e078">container.h</a></li>
<li>LZMA_UNSUPPORTED_CHECK&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea989f393a1772d85bf545a9da48fc7ac2">base.h</a></li>
<li>LZMA_VERSION&#160;:&#160;<a class="el" href="version_8h.html#a156c47ff34aa0c2b726d0daf799f10a0">version.h</a></li>
<li>LZMA_VERSION_COMMIT&#160;:&#160;<a class="el" href="version_8h.html#a7fd6169ff15ac7f01f94970359a331ea">version.h</a></li>
<li>LZMA_VERSION_MAJOR&#160;:&#160;<a class="el" href="version_8h.html#aa0f450c9d3b0ff5f88b55888ed55701f">version.h</a></li>
<li>LZMA_VERSION_MINOR&#160;:&#160;<a class="el" href="version_8h.html#af8fd295cf8aa349b0731423ad7a56134">version.h</a></li>
<li>lzma_version_number()&#160;:&#160;<a class="el" href="version_8h.html#a72f929c9b9e8e730b790b3f8c80c3c80">version.h</a></li>
<li>LZMA_VERSION_PATCH&#160;:&#160;<a class="el" href="version_8h.html#a8b550373cbff381f15d4308b852a3c2a">version.h</a></li>
<li>LZMA_VERSION_STABILITY&#160;:&#160;<a class="el" href="version_8h.html#ae289abe5dcc203c7cda9f6a9a2f36b3a">version.h</a></li>
<li>LZMA_VERSION_STRING&#160;:&#160;<a class="el" href="version_8h.html#a57bb143c993c305a53e9aade831a546c">version.h</a></li>
<li>lzma_version_string()&#160;:&#160;<a class="el" href="version_8h.html#a8998c1d8b4b5c2c1218bdfd58fdb1baa">version.h</a></li>
<li>lzma_vli&#160;:&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">vli.h</a></li>
<li>LZMA_VLI_BYTES_MAX&#160;:&#160;<a class="el" href="vli_8h.html#a063ecff4133aa2f8899b9fa3fdefd310">vli.h</a></li>
<li>LZMA_VLI_C&#160;:&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">vli.h</a></li>
<li>lzma_vli_decode()&#160;:&#160;<a class="el" href="vli_8h.html#a7b7d50e1074e0e2bcd81c29a5f7461c7">vli.h</a></li>
<li>lzma_vli_encode()&#160;:&#160;<a class="el" href="vli_8h.html#a50bbb77e9ec3b72c25586aa700c20970">vli.h</a></li>
<li>lzma_vli_is_valid&#160;:&#160;<a class="el" href="vli_8h.html#a4f67ed698215d865a2b87a95ab1320dd">vli.h</a></li>
<li>LZMA_VLI_MAX&#160;:&#160;<a class="el" href="vli_8h.html#a7b782528bd1934db7c020adbedb20ec9">vli.h</a></li>
<li>lzma_vli_size()&#160;:&#160;<a class="el" href="vli_8h.html#a8d53e0b69934b43da8721fa6f1e8cc4f">vli.h</a></li>
<li>LZMA_VLI_UNKNOWN&#160;:&#160;<a class="el" href="vli_8h.html#a5a4b28254a30c859018b896ed371d69a">vli.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,126 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('globals_defs.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="contents">
<div class="textblock">Here is a list of all documented macros with links to the documentation:</div>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>LZMA_BACKWARD_SIZE_MAX&#160;:&#160;<a class="el" href="stream__flags_8h.html#a2e5e09010880f8caa6cd6539c7341239">stream_flags.h</a></li>
<li>LZMA_BACKWARD_SIZE_MIN&#160;:&#160;<a class="el" href="stream__flags_8h.html#ae8da8190f1396f66332073946bc45634">stream_flags.h</a></li>
<li>lzma_block_header_size_decode&#160;:&#160;<a class="el" href="block_8h.html#ac025c940683a70f4c7f956bad814fd5f">block.h</a></li>
<li>LZMA_CHECK_ID_MAX&#160;:&#160;<a class="el" href="check_8h.html#acd221ababe30230d9647aab469ad80cb">check.h</a></li>
<li>LZMA_CHECK_SIZE_MAX&#160;:&#160;<a class="el" href="check_8h.html#a379e931cf86351ab1d97896cda9abbe0">check.h</a></li>
<li>LZMA_CONCATENATED&#160;:&#160;<a class="el" href="container_8h.html#a563c84b5f368b3dd00d92ea903c5c33d">container.h</a></li>
<li>LZMA_DELTA_DIST_MAX&#160;:&#160;<a class="el" href="delta_8h.html#afdf8a5ce184ddf9f8070de637775da94">delta.h</a></li>
<li>LZMA_DELTA_DIST_MIN&#160;:&#160;<a class="el" href="delta_8h.html#a466886d9d01392f61bdf267687a4f96e">delta.h</a></li>
<li>LZMA_FAIL_FAST&#160;:&#160;<a class="el" href="container_8h.html#aa1f469ed3d4b2eaf12f8081657efc9d5">container.h</a></li>
<li>LZMA_FILTER_ARM&#160;:&#160;<a class="el" href="bcj_8h.html#a495a58f63ebc7a8b756099efba492f8b">bcj.h</a></li>
<li>LZMA_FILTER_ARM64&#160;:&#160;<a class="el" href="bcj_8h.html#a01765158cd31cac21b272b180628fc4b">bcj.h</a></li>
<li>LZMA_FILTER_ARMTHUMB&#160;:&#160;<a class="el" href="bcj_8h.html#a5ec62e7e5e7df3d9af5b2ea3f857689a">bcj.h</a></li>
<li>LZMA_FILTER_DELTA&#160;:&#160;<a class="el" href="delta_8h.html#a7ced67235ad7a01ae31d32ecf1e634cb">delta.h</a></li>
<li>LZMA_FILTER_IA64&#160;:&#160;<a class="el" href="bcj_8h.html#a2fe36218a38f400e1ce40820758f7427">bcj.h</a></li>
<li>LZMA_FILTER_LZMA1&#160;:&#160;<a class="el" href="lzma12_8h.html#accedd16abcb758e7f748bac1102abda9">lzma12.h</a></li>
<li>LZMA_FILTER_LZMA1EXT&#160;:&#160;<a class="el" href="lzma12_8h.html#a98a7fd42aa78a273a6b138629e46772d">lzma12.h</a></li>
<li>LZMA_FILTER_LZMA2&#160;:&#160;<a class="el" href="lzma12_8h.html#a04f9d9a018a47cc99491e6e94e92f96b">lzma12.h</a></li>
<li>LZMA_FILTER_POWERPC&#160;:&#160;<a class="el" href="bcj_8h.html#ab7f667d4a5d319f227f23163cbea086f">bcj.h</a></li>
<li>LZMA_FILTER_RISCV&#160;:&#160;<a class="el" href="bcj_8h.html#a932e9d66e945f5601b8fad7445a9b40c">bcj.h</a></li>
<li>LZMA_FILTER_SPARC&#160;:&#160;<a class="el" href="bcj_8h.html#a50941088e93ef659c6b000bbcaf58143">bcj.h</a></li>
<li>LZMA_FILTER_X86&#160;:&#160;<a class="el" href="bcj_8h.html#aa9eac1f580ddde3309518cd153d596b1">bcj.h</a></li>
<li>LZMA_FILTERS_MAX&#160;:&#160;<a class="el" href="filter_8h.html#ab33c0cc1728bf390e5b84f8bce1928ba">filter.h</a></li>
<li>LZMA_IGNORE_CHECK&#160;:&#160;<a class="el" href="container_8h.html#a1289925ae1c63a8e86f69f3657118a4d">container.h</a></li>
<li>LZMA_INDEX_CHECK_MASK_CRC32&#160;:&#160;<a class="el" href="index_8h.html#a6812319b2f335df98fcf5e97c144e4ac">index.h</a></li>
<li>LZMA_INDEX_CHECK_MASK_CRC64&#160;:&#160;<a class="el" href="index_8h.html#a062a47783c17f64728d98b831411c5c3">index.h</a></li>
<li>LZMA_INDEX_CHECK_MASK_NONE&#160;:&#160;<a class="el" href="index_8h.html#a2643014196abf129ddbb51ec2bd956d9">index.h</a></li>
<li>LZMA_INDEX_CHECK_MASK_SHA256&#160;:&#160;<a class="el" href="index_8h.html#ad6540f1ecf60f186f7c0492937482169">index.h</a></li>
<li>LZMA_PRESET_DEFAULT&#160;:&#160;<a class="el" href="container_8h.html#af3ca20ff228b363a82515c1aee9e27bc">container.h</a></li>
<li>LZMA_PRESET_EXTREME&#160;:&#160;<a class="el" href="container_8h.html#af524fe9af5737820fdadcd40a2c26deb">container.h</a></li>
<li>LZMA_PRESET_LEVEL_MASK&#160;:&#160;<a class="el" href="container_8h.html#a97e40265e355a21bd2465aaa5b85f03d">container.h</a></li>
<li>lzma_set_ext_size&#160;:&#160;<a class="el" href="lzma12_8h.html#a73ed0293db4e59d73a702d66fef537c3">lzma12.h</a></li>
<li>LZMA_STR_ALL_FILTERS&#160;:&#160;<a class="el" href="filter_8h.html#a41aa51eeb53190404439c31d8e9c97cd">filter.h</a></li>
<li>LZMA_STR_DECODER&#160;:&#160;<a class="el" href="filter_8h.html#a8a0f3fc03bdb84a294cdd53a98783104">filter.h</a></li>
<li>LZMA_STR_ENCODER&#160;:&#160;<a class="el" href="filter_8h.html#a09a775f6a78d28ca136acfb51ad5fa02">filter.h</a></li>
<li>LZMA_STR_GETOPT_LONG&#160;:&#160;<a class="el" href="filter_8h.html#a87e9ac4ae5829b092262223256141a29">filter.h</a></li>
<li>LZMA_STR_NO_SPACES&#160;:&#160;<a class="el" href="filter_8h.html#ac0113c47caf98a735db2297936c5e857">filter.h</a></li>
<li>LZMA_STR_NO_VALIDATION&#160;:&#160;<a class="el" href="filter_8h.html#adc33f4c0c7b5d3ae36acc0437a904339">filter.h</a></li>
<li>LZMA_STREAM_HEADER_SIZE&#160;:&#160;<a class="el" href="stream__flags_8h.html#ada7e0a4f5e7146f547962cb9e9ef08ee">stream_flags.h</a></li>
<li>LZMA_STREAM_INIT&#160;:&#160;<a class="el" href="base_8h.html#af31f0c8b6f14359cd082b9559f7f3e01">base.h</a></li>
<li>LZMA_TELL_ANY_CHECK&#160;:&#160;<a class="el" href="container_8h.html#a0bdde702a77ff42b90a99c0bf4147b6b">container.h</a></li>
<li>LZMA_TELL_NO_CHECK&#160;:&#160;<a class="el" href="container_8h.html#ada9cd20febb28b5ed6656de9184a86e9">container.h</a></li>
<li>LZMA_TELL_UNSUPPORTED_CHECK&#160;:&#160;<a class="el" href="container_8h.html#ae21fb746037c82735d40d428c462e078">container.h</a></li>
<li>LZMA_VERSION&#160;:&#160;<a class="el" href="version_8h.html#a156c47ff34aa0c2b726d0daf799f10a0">version.h</a></li>
<li>LZMA_VERSION_COMMIT&#160;:&#160;<a class="el" href="version_8h.html#a7fd6169ff15ac7f01f94970359a331ea">version.h</a></li>
<li>LZMA_VERSION_MAJOR&#160;:&#160;<a class="el" href="version_8h.html#aa0f450c9d3b0ff5f88b55888ed55701f">version.h</a></li>
<li>LZMA_VERSION_MINOR&#160;:&#160;<a class="el" href="version_8h.html#af8fd295cf8aa349b0731423ad7a56134">version.h</a></li>
<li>LZMA_VERSION_PATCH&#160;:&#160;<a class="el" href="version_8h.html#a8b550373cbff381f15d4308b852a3c2a">version.h</a></li>
<li>LZMA_VERSION_STABILITY&#160;:&#160;<a class="el" href="version_8h.html#ae289abe5dcc203c7cda9f6a9a2f36b3a">version.h</a></li>
<li>LZMA_VERSION_STRING&#160;:&#160;<a class="el" href="version_8h.html#a57bb143c993c305a53e9aade831a546c">version.h</a></li>
<li>LZMA_VLI_BYTES_MAX&#160;:&#160;<a class="el" href="vli_8h.html#a063ecff4133aa2f8899b9fa3fdefd310">vli.h</a></li>
<li>LZMA_VLI_C&#160;:&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">vli.h</a></li>
<li>lzma_vli_is_valid&#160;:&#160;<a class="el" href="vli_8h.html#a4f67ed698215d865a2b87a95ab1320dd">vli.h</a></li>
<li>LZMA_VLI_MAX&#160;:&#160;<a class="el" href="vli_8h.html#a7b782528bd1934db7c020adbedb20ec9">vli.h</a></li>
<li>LZMA_VLI_UNKNOWN&#160;:&#160;<a class="el" href="vli_8h.html#a5a4b28254a30c859018b896ed371d69a">vli.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,4 @@
var globals_dup =
[
[ "l", "globals.html", null ]
];

View File

@@ -0,0 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('globals_enum.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="contents">
<div class="textblock">Here is a list of all documented enums with links to the documentation:</div><ul>
<li>lzma_action&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77e">base.h</a></li>
<li>lzma_check&#160;:&#160;<a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3f">check.h</a></li>
<li>lzma_delta_type&#160;:&#160;<a class="el" href="delta_8h.html#a04d84d7fa6cefdc219b6e2e96ff36fe1">delta.h</a></li>
<li>lzma_index_iter_mode&#160;:&#160;<a class="el" href="index_8h.html#a712b43192d944bf2f767711343cd9ca8">index.h</a></li>
<li>lzma_match_finder&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80">lzma12.h</a></li>
<li>lzma_mode&#160;:&#160;<a class="el" href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866">lzma12.h</a></li>
<li>lzma_reserved_enum&#160;:&#160;<a class="el" href="base_8h.html#a05805a07754b2aa22f7d443eb7ece41a">base.h</a></li>
<li>lzma_ret&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">base.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,105 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('globals_eval.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="contents">
<div class="textblock">Here is a list of all documented enum values with links to the documentation:</div>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>LZMA_BUF_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea9ca0ecb62459bdc84d6af47d16b23ae5">base.h</a></li>
<li>LZMA_CHECK_CRC32&#160;:&#160;<a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa0be65014a40b5cb4ab32252b3709bef7">check.h</a></li>
<li>LZMA_CHECK_CRC64&#160;:&#160;<a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa87b4b0697a1e1ccb6766dd5c2fa24afc">check.h</a></li>
<li>LZMA_CHECK_NONE&#160;:&#160;<a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa7b9851d75abfabc08d7fc5b4aaeb6f20">check.h</a></li>
<li>LZMA_CHECK_SHA256&#160;:&#160;<a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3faf26a55ddd204a50ae87ec3432e7bc309">check.h</a></li>
<li>LZMA_DATA_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea3aa72729a844790e39b4e1101a731dfb">base.h</a></li>
<li>LZMA_FINISH&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea7d24fb3c6c144d13bcb091195b8ebec1">base.h</a></li>
<li>LZMA_FORMAT_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea63b7a58949854eb9307f8e351358d56c">base.h</a></li>
<li>LZMA_FULL_BARRIER&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77eaf7bf60e3555a4d10ffad3ecc3d2e01f1">base.h</a></li>
<li>LZMA_FULL_FLUSH&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77eaab46f0d7c721f1ec377e9575eab2586f">base.h</a></li>
<li>LZMA_GET_CHECK&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa5b648c18da0f584f621cfdf7fef1bdb">base.h</a></li>
<li>LZMA_INDEX_ITER_ANY&#160;:&#160;<a class="el" href="index_8h.html#a712b43192d944bf2f767711343cd9ca8af46f6e5c414471c7c96586f380e48315">index.h</a></li>
<li>LZMA_INDEX_ITER_BLOCK&#160;:&#160;<a class="el" href="index_8h.html#a712b43192d944bf2f767711343cd9ca8a2702617d60d6fc15138a749e06ef3414">index.h</a></li>
<li>LZMA_INDEX_ITER_NONEMPTY_BLOCK&#160;:&#160;<a class="el" href="index_8h.html#a712b43192d944bf2f767711343cd9ca8aa49bf4d561d8f2c61d300edbb6c282c7">index.h</a></li>
<li>LZMA_INDEX_ITER_STREAM&#160;:&#160;<a class="el" href="index_8h.html#a712b43192d944bf2f767711343cd9ca8a5b31d985de1c823151acdd7e4a966fc9">index.h</a></li>
<li>LZMA_MEM_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea567e1464feca03900a5425fb45b2f5b6">base.h</a></li>
<li>LZMA_MEMLIMIT_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa1d705effe6026f32c0fe9756b6326bc">base.h</a></li>
<li>LZMA_MF_BT2&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a7ab212446c3f6520f5c33ccfa4b3386a">lzma12.h</a></li>
<li>LZMA_MF_BT3&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a983ecc59bf3e07a7c43fea551ea11865">lzma12.h</a></li>
<li>LZMA_MF_BT4&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a468c32cdea9861d1ff98478364e6c547">lzma12.h</a></li>
<li>LZMA_MF_HC3&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a6eb38f634021a192cada8a978b5de93b">lzma12.h</a></li>
<li>LZMA_MF_HC4&#160;:&#160;<a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a0944620f4949289c2ebde613cae12b04">lzma12.h</a></li>
<li>LZMA_MODE_FAST&#160;:&#160;<a class="el" href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866ac8c0926a91b4f756e11121efd30648cc">lzma12.h</a></li>
<li>LZMA_MODE_NORMAL&#160;:&#160;<a class="el" href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866ad37225f30d5cd21fc8bb3eaba283bbf9">lzma12.h</a></li>
<li>LZMA_NO_CHECK&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa720d30092d504d7d138a320db1905ef">base.h</a></li>
<li>LZMA_OK&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eac003781ccb81bbd5578e29abed8a8cfe">base.h</a></li>
<li>LZMA_OPTIONS_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa9ff6dfee36b7aba4fae60706d37425f">base.h</a></li>
<li>LZMA_PROG_ERROR&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea2dac8d451cb38da8550653d0d7be4ec2">base.h</a></li>
<li>LZMA_RUN&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea868472b76492afcaef54020a481890b1">base.h</a></li>
<li>LZMA_SEEK_NEEDED&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea6cf28e5345851f13bd798a4eab8cc939">base.h</a></li>
<li>LZMA_STREAM_END&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea91ecc6fab14c13ad36224afbcb4e55c4">base.h</a></li>
<li>LZMA_SYNC_FLUSH&#160;:&#160;<a class="el" href="base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea14d75152afcda85d215e877fdd9c4170">base.h</a></li>
<li>LZMA_UNSUPPORTED_CHECK&#160;:&#160;<a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea989f393a1772d85bf545a9da48fc7ac2">base.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,180 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('globals_func.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="contents">
<div class="textblock">Here is a list of all documented functions with links to the documentation:</div>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>lzma_alone_decoder()&#160;:&#160;<a class="el" href="container_8h.html#a5f43c3a1035e5a226dcd298f4162b861">container.h</a></li>
<li>lzma_alone_encoder()&#160;:&#160;<a class="el" href="container_8h.html#a26fcc5bccdf3f862caa4c992d01e1a72">container.h</a></li>
<li>lzma_auto_decoder()&#160;:&#160;<a class="el" href="container_8h.html#a21cbebf2771617bb1e956385cfb353e3">container.h</a></li>
<li>lzma_block_buffer_bound()&#160;:&#160;<a class="el" href="block_8h.html#a58ff73e2572b529f48cc590bfffe5b4f">block.h</a></li>
<li>lzma_block_buffer_decode()&#160;:&#160;<a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f">block.h</a></li>
<li>lzma_block_buffer_encode()&#160;:&#160;<a class="el" href="block_8h.html#af415fa5130ab64e8760e9c39e856fa54">block.h</a></li>
<li>lzma_block_compressed_size()&#160;:&#160;<a class="el" href="block_8h.html#a6c3e102d76db06a07126a569abc6e2bc">block.h</a></li>
<li>lzma_block_decoder()&#160;:&#160;<a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92">block.h</a></li>
<li>lzma_block_encoder()&#160;:&#160;<a class="el" href="block_8h.html#a2218a49025a0b44f9a6f9d6d24359359">block.h</a></li>
<li>lzma_block_header_decode()&#160;:&#160;<a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9">block.h</a></li>
<li>lzma_block_header_encode()&#160;:&#160;<a class="el" href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0">block.h</a></li>
<li>lzma_block_header_size()&#160;:&#160;<a class="el" href="block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd">block.h</a></li>
<li>lzma_block_total_size()&#160;:&#160;<a class="el" href="block_8h.html#a694424f9dfdd5151e01debac1c501fa9">block.h</a></li>
<li>lzma_block_uncomp_encode()&#160;:&#160;<a class="el" href="block_8h.html#a5a260f634ccd5f54fb98f570d8d92d8c">block.h</a></li>
<li>lzma_block_unpadded_size()&#160;:&#160;<a class="el" href="block_8h.html#a412d5605280fa29befae1b89e344bf30">block.h</a></li>
<li>lzma_check_is_supported()&#160;:&#160;<a class="el" href="check_8h.html#ae9391ed2acfad0ce9357b68c608f07d8">check.h</a></li>
<li>lzma_check_size()&#160;:&#160;<a class="el" href="check_8h.html#afd3fda19575d9d4f864c626c02b7cb48">check.h</a></li>
<li>lzma_code()&#160;:&#160;<a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957">base.h</a></li>
<li>lzma_cputhreads()&#160;:&#160;<a class="el" href="hardware_8h.html#a22f7a882b7a4b741a226abf62bdf46ca">hardware.h</a></li>
<li>lzma_crc32()&#160;:&#160;<a class="el" href="check_8h.html#a760b569cce91bdd01e4ce9d78823c96d">check.h</a></li>
<li>lzma_crc64()&#160;:&#160;<a class="el" href="check_8h.html#aff2e74ce671b9f82a96adb549c68cea2">check.h</a></li>
<li>lzma_easy_buffer_encode()&#160;:&#160;<a class="el" href="container_8h.html#ac5e71f2711b57391186671967435faf2">container.h</a></li>
<li>lzma_easy_decoder_memusage()&#160;:&#160;<a class="el" href="container_8h.html#a3562055d26c18fad067a7c7516eaddf5">container.h</a></li>
<li>lzma_easy_encoder()&#160;:&#160;<a class="el" href="container_8h.html#acbdad999c544872f0f5d242f0d1a4ed4">container.h</a></li>
<li>lzma_easy_encoder_memusage()&#160;:&#160;<a class="el" href="container_8h.html#a62c853cf7dbf008bdbd97b2685c3eabf">container.h</a></li>
<li>lzma_end()&#160;:&#160;<a class="el" href="base_8h.html#a854ff37464ae1225febf14db1af43308">base.h</a></li>
<li>lzma_file_info_decoder()&#160;:&#160;<a class="el" href="index_8h.html#a7c5d77cf8532d95977d4571a1eb0a222">index.h</a></li>
<li>lzma_filter_decoder_is_supported()&#160;:&#160;<a class="el" href="filter_8h.html#acab0c67bf5b3a76f2b474c8e1da98938">filter.h</a></li>
<li>lzma_filter_encoder_is_supported()&#160;:&#160;<a class="el" href="filter_8h.html#a3db3c36cd6e57658a74c53e4daa2bef6">filter.h</a></li>
<li>lzma_filter_flags_decode()&#160;:&#160;<a class="el" href="filter_8h.html#a4cba9a4c658cce0ff01fd102b31ea1a7">filter.h</a></li>
<li>lzma_filter_flags_encode()&#160;:&#160;<a class="el" href="filter_8h.html#a96f23309bc21398fece18c00ebe7db98">filter.h</a></li>
<li>lzma_filter_flags_size()&#160;:&#160;<a class="el" href="filter_8h.html#a996c9c21840ed54e37bd1f664a79d940">filter.h</a></li>
<li>lzma_filters_copy()&#160;:&#160;<a class="el" href="filter_8h.html#a611fe1176eeeda187b1bd8aef45040aa">filter.h</a></li>
<li>lzma_filters_free()&#160;:&#160;<a class="el" href="filter_8h.html#ae06979d219897f5f4c29cbc7a96a8892">filter.h</a></li>
<li>lzma_filters_update()&#160;:&#160;<a class="el" href="filter_8h.html#a4a8fd969df001e449ebe4421ab33bba5">filter.h</a></li>
<li>lzma_get_check()&#160;:&#160;<a class="el" href="check_8h.html#a8d7c3ffabfd024485f03fa209536c746">check.h</a></li>
<li>lzma_get_progress()&#160;:&#160;<a class="el" href="base_8h.html#ab6447cd68eeecbd6b88f21daeb8ce751">base.h</a></li>
<li>lzma_index_append()&#160;:&#160;<a class="el" href="index_8h.html#ac347747eb933c7c408e6c801b33becc3">index.h</a></li>
<li>lzma_index_block_count()&#160;:&#160;<a class="el" href="index_8h.html#add1a8c506f67dbc19cae6747107e3bec">index.h</a></li>
<li>lzma_index_buffer_decode()&#160;:&#160;<a class="el" href="index_8h.html#a028b8b8d59a413f9682eea1269a6ae8b">index.h</a></li>
<li>lzma_index_buffer_encode()&#160;:&#160;<a class="el" href="index_8h.html#add1ef06dec8a26d08ae8651cff0fd8d6">index.h</a></li>
<li>lzma_index_cat()&#160;:&#160;<a class="el" href="index_8h.html#abc4db36b4bd67af01819be9dd045c34a">index.h</a></li>
<li>lzma_index_checks()&#160;:&#160;<a class="el" href="index_8h.html#af8d6528a04241841bd0a4322b0c57eaa">index.h</a></li>
<li>lzma_index_decoder()&#160;:&#160;<a class="el" href="index_8h.html#abb56fd1d5914f8900ece7b88b78e5e23">index.h</a></li>
<li>lzma_index_dup()&#160;:&#160;<a class="el" href="index_8h.html#a5161e3f67156577882e1d95dcb57e33e">index.h</a></li>
<li>lzma_index_encoder()&#160;:&#160;<a class="el" href="index_8h.html#a6800d70f3b2afca085496460cd03211d">index.h</a></li>
<li>lzma_index_end()&#160;:&#160;<a class="el" href="index_8h.html#a0c2d0009f07fc315d5ac89e4bcd25abd">index.h</a></li>
<li>lzma_index_file_size()&#160;:&#160;<a class="el" href="index_8h.html#ac875ed47d35385e5dac461b25c5ea1c9">index.h</a></li>
<li>lzma_index_hash_append()&#160;:&#160;<a class="el" href="index__hash_8h.html#a2bdbe4f0b5fa2fadb7528447feaaa97f">index_hash.h</a></li>
<li>lzma_index_hash_decode()&#160;:&#160;<a class="el" href="index__hash_8h.html#a891eb955284c9117155f92eb0ddba44c">index_hash.h</a></li>
<li>lzma_index_hash_end()&#160;:&#160;<a class="el" href="index__hash_8h.html#a7dacb41b9ec1c8df5d33dfdae97743b3">index_hash.h</a></li>
<li>lzma_index_hash_init()&#160;:&#160;<a class="el" href="index__hash_8h.html#aaafae4967a4a266d97dc34a98bfcabfb">index_hash.h</a></li>
<li>lzma_index_hash_size()&#160;:&#160;<a class="el" href="index__hash_8h.html#a0f8ab3b57b117f9547866156755c917f">index_hash.h</a></li>
<li>lzma_index_init()&#160;:&#160;<a class="el" href="index_8h.html#a0850627d011111326d4278a3e2edec25">index.h</a></li>
<li>lzma_index_iter_init()&#160;:&#160;<a class="el" href="index_8h.html#aa78f02f18ed29d289a6ef37b8ea98a21">index.h</a></li>
<li>lzma_index_iter_locate()&#160;:&#160;<a class="el" href="index_8h.html#ac4f56df9d210712e5d7add5502c9eb93">index.h</a></li>
<li>lzma_index_iter_next()&#160;:&#160;<a class="el" href="index_8h.html#af428522e1b3eef137c65c5a01f766e0e">index.h</a></li>
<li>lzma_index_iter_rewind()&#160;:&#160;<a class="el" href="index_8h.html#ae81438be8deff4894b104e65d8acdd24">index.h</a></li>
<li>lzma_index_memusage()&#160;:&#160;<a class="el" href="index_8h.html#a880def3727ecdd7f242807083d228fc5">index.h</a></li>
<li>lzma_index_memused()&#160;:&#160;<a class="el" href="index_8h.html#a4118805ac7be6618aca6d6d7e5e4dde7">index.h</a></li>
<li>lzma_index_size()&#160;:&#160;<a class="el" href="index_8h.html#a669ed1a82b1941217cfbb07e7826afc2">index.h</a></li>
<li>lzma_index_stream_count()&#160;:&#160;<a class="el" href="index_8h.html#afd159a765b09b0cf79186069a848d07e">index.h</a></li>
<li>lzma_index_stream_flags()&#160;:&#160;<a class="el" href="index_8h.html#a79a19669237f19f0b11c9f3be80a62b4">index.h</a></li>
<li>lzma_index_stream_padding()&#160;:&#160;<a class="el" href="index_8h.html#a3ed82f96c688f3c953f6509b6f4e2ef3">index.h</a></li>
<li>lzma_index_stream_size()&#160;:&#160;<a class="el" href="index_8h.html#af3630369b43c9ccc906065d759b49663">index.h</a></li>
<li>lzma_index_total_size()&#160;:&#160;<a class="el" href="index_8h.html#a7829942b83ee1fa5b6443cc248b81041">index.h</a></li>
<li>lzma_index_uncompressed_size()&#160;:&#160;<a class="el" href="index_8h.html#a620fe6317f1f9d7af9cc27c748bf07d6">index.h</a></li>
<li>lzma_lzip_decoder()&#160;:&#160;<a class="el" href="container_8h.html#a97689f5709e0db1e2dac450f5ce4e5eb">container.h</a></li>
<li>lzma_lzma_preset()&#160;:&#160;<a class="el" href="lzma12_8h.html#aa62c28944fe3575653a4c25780400d77">lzma12.h</a></li>
<li>lzma_memlimit_get()&#160;:&#160;<a class="el" href="base_8h.html#ac871bc2ead5d482c6d6b3d51bfec365c">base.h</a></li>
<li>lzma_memlimit_set()&#160;:&#160;<a class="el" href="base_8h.html#afc49d4cf75b73128a167df3407505f7b">base.h</a></li>
<li>lzma_memusage()&#160;:&#160;<a class="el" href="base_8h.html#a418b210cf206782a73cd9de7dc27f670">base.h</a></li>
<li>lzma_mf_is_supported()&#160;:&#160;<a class="el" href="lzma12_8h.html#aefba1f7214ddcf8cd408a0702e8642b5">lzma12.h</a></li>
<li>lzma_microlzma_decoder()&#160;:&#160;<a class="el" href="container_8h.html#aa8372dae3e7c907c36f7bb5426aeacdf">container.h</a></li>
<li>lzma_microlzma_encoder()&#160;:&#160;<a class="el" href="container_8h.html#abfc8f11acf837b167aa94b7071b54c30">container.h</a></li>
<li>lzma_mode_is_supported()&#160;:&#160;<a class="el" href="lzma12_8h.html#ad1add1c2600fdbb3d737e4fb3465dfcb">lzma12.h</a></li>
<li>lzma_mt_block_size()&#160;:&#160;<a class="el" href="container_8h.html#a7eaeda1cb811ac1f5a6403691df8a894">container.h</a></li>
<li>lzma_physmem()&#160;:&#160;<a class="el" href="hardware_8h.html#a85363e453b34272a9f26c9fdffb041ee">hardware.h</a></li>
<li>lzma_properties_decode()&#160;:&#160;<a class="el" href="filter_8h.html#a88d2e864b2039ac82802cc202278d478">filter.h</a></li>
<li>lzma_properties_encode()&#160;:&#160;<a class="el" href="filter_8h.html#a8e00887086df5a44084ac22e48415de3">filter.h</a></li>
<li>lzma_properties_size()&#160;:&#160;<a class="el" href="filter_8h.html#aee038818cf7bbe044c3f7a7c86998c1b">filter.h</a></li>
<li>lzma_raw_buffer_decode()&#160;:&#160;<a class="el" href="filter_8h.html#a3b942df507e4f9a6d7525e5a4c6864e5">filter.h</a></li>
<li>lzma_raw_buffer_encode()&#160;:&#160;<a class="el" href="filter_8h.html#a226724ab3391b410281fdf656cc7c432">filter.h</a></li>
<li>lzma_raw_decoder()&#160;:&#160;<a class="el" href="filter_8h.html#ae77b3b6c5eccd9d77bbafef0a8a203c1">filter.h</a></li>
<li>lzma_raw_decoder_memusage()&#160;:&#160;<a class="el" href="filter_8h.html#a58511249ae9206d7de7c5d1f05842297">filter.h</a></li>
<li>lzma_raw_encoder()&#160;:&#160;<a class="el" href="filter_8h.html#a2368e4129032345eb0738b0c6e085703">filter.h</a></li>
<li>lzma_raw_encoder_memusage()&#160;:&#160;<a class="el" href="filter_8h.html#a730f9391e85a5979bcd1b32643ae7176">filter.h</a></li>
<li>lzma_str_from_filters()&#160;:&#160;<a class="el" href="filter_8h.html#a7deeb86ef59a9111b8033681290e0fb0">filter.h</a></li>
<li>lzma_str_list_filters()&#160;:&#160;<a class="el" href="filter_8h.html#ab51585b68796ce0270f87e615b923809">filter.h</a></li>
<li>lzma_str_to_filters()&#160;:&#160;<a class="el" href="filter_8h.html#aa042cf11749bc2183b27de1c3142da30">filter.h</a></li>
<li>lzma_stream_buffer_bound()&#160;:&#160;<a class="el" href="container_8h.html#a66d4366a47b8332bff2a512f44f5c45e">container.h</a></li>
<li>lzma_stream_buffer_decode()&#160;:&#160;<a class="el" href="container_8h.html#aa58f237f6cea97ef0eb9bf5c37a3008d">container.h</a></li>
<li>lzma_stream_buffer_encode()&#160;:&#160;<a class="el" href="container_8h.html#a6e645ccaeace3b13a6981e03c6e190ad">container.h</a></li>
<li>lzma_stream_decoder()&#160;:&#160;<a class="el" href="container_8h.html#a02b7683ef98d8049788961370a8b28c0">container.h</a></li>
<li>lzma_stream_decoder_mt()&#160;:&#160;<a class="el" href="container_8h.html#a7179d178e6430c10e2006a467921e98e">container.h</a></li>
<li>lzma_stream_encoder()&#160;:&#160;<a class="el" href="container_8h.html#a1a97aec94c9fedd7646cfa51c4f4cd52">container.h</a></li>
<li>lzma_stream_encoder_mt()&#160;:&#160;<a class="el" href="container_8h.html#a3f8793518711ee84d1abf12ea3aaba42">container.h</a></li>
<li>lzma_stream_encoder_mt_memusage()&#160;:&#160;<a class="el" href="container_8h.html#ad7cf41496d77f4d346e006b26ed8e101">container.h</a></li>
<li>lzma_stream_flags_compare()&#160;:&#160;<a class="el" href="stream__flags_8h.html#a3e25ca4205021302882a696283d45263">stream_flags.h</a></li>
<li>lzma_stream_footer_decode()&#160;:&#160;<a class="el" href="stream__flags_8h.html#aa92a383f85753bb79ee23227fa68186c">stream_flags.h</a></li>
<li>lzma_stream_footer_encode()&#160;:&#160;<a class="el" href="stream__flags_8h.html#a438249a75ea8da952a7474b92bfe7b7a">stream_flags.h</a></li>
<li>lzma_stream_header_decode()&#160;:&#160;<a class="el" href="stream__flags_8h.html#ae03198e464f0d296e601ff841e100805">stream_flags.h</a></li>
<li>lzma_stream_header_encode()&#160;:&#160;<a class="el" href="stream__flags_8h.html#a2ebb8d6dff23daeb3de398913b845eff">stream_flags.h</a></li>
<li>lzma_version_number()&#160;:&#160;<a class="el" href="version_8h.html#a72f929c9b9e8e730b790b3f8c80c3c80">version.h</a></li>
<li>lzma_version_string()&#160;:&#160;<a class="el" href="version_8h.html#a8998c1d8b4b5c2c1218bdfd58fdb1baa">version.h</a></li>
<li>lzma_vli_decode()&#160;:&#160;<a class="el" href="vli_8h.html#a7b7d50e1074e0e2bcd81c29a5f7461c7">vli.h</a></li>
<li>lzma_vli_encode()&#160;:&#160;<a class="el" href="vli_8h.html#a50bbb77e9ec3b72c25586aa700c20970">vli.h</a></li>
<li>lzma_vli_size()&#160;:&#160;<a class="el" href="vli_8h.html#a8d53e0b69934b43da8721fa6f1e8cc4f">vli.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,75 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('globals_type.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="contents">
<div class="textblock">Here is a list of all documented typedefs with links to the documentation:</div><ul>
<li>lzma_bool&#160;:&#160;<a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">base.h</a></li>
<li>lzma_index&#160;:&#160;<a class="el" href="index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e">index.h</a></li>
<li>lzma_index_hash&#160;:&#160;<a class="el" href="index__hash_8h.html#a2db9f438838c8ff72a8a6fd3fc856f8c">index_hash.h</a></li>
<li>lzma_internal&#160;:&#160;<a class="el" href="base_8h.html#ab1a60127c640135687a5bcc232cec906">base.h</a></li>
<li>lzma_vli&#160;:&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">vli.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,151 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma/hardware.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('hardware_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">hardware.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Hardware information.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a85363e453b34272a9f26c9fdffb041ee" id="r_a85363e453b34272a9f26c9fdffb041ee"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a85363e453b34272a9f26c9fdffb041ee">lzma_physmem</a> (void) lzma_nothrow</td></tr>
<tr class="memdesc:a85363e453b34272a9f26c9fdffb041ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the total amount of physical memory (RAM) in bytes. <br /></td></tr>
<tr class="separator:a85363e453b34272a9f26c9fdffb041ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22f7a882b7a4b741a226abf62bdf46ca" id="r_a22f7a882b7a4b741a226abf62bdf46ca"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a22f7a882b7a4b741a226abf62bdf46ca">lzma_cputhreads</a> (void) lzma_nothrow</td></tr>
<tr class="memdesc:a22f7a882b7a4b741a226abf62bdf46ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of processor cores or threads. <br /></td></tr>
<tr class="separator:a22f7a882b7a4b741a226abf62bdf46ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Hardware information. </p>
<dl class="section note"><dt>Note</dt><dd>Never include this file directly. Use &lt;<a class="el" href="lzma_8h.html" title="The public API of liblzma data compression library.">lzma.h</a>&gt; instead.</dd></dl>
<p>Since liblzma can consume a lot of system resources, it also provides ways to limit the resource usage. Applications linking against liblzma need to do the actual decisions how much resources to let liblzma to use. To ease making these decisions, liblzma provides functions to find out the relevant capabilities of the underlying hardware. Currently there is only a function to find out the amount of RAM, but in the future there will be also a function to detect how many concurrent threads the system can run.</p>
<dl class="section note"><dt>Note</dt><dd>On some operating systems, these function may temporarily load a shared library or open file descriptor(s) to find out the requested hardware information. Unless the application assumes that specific file descriptors are not touched by other threads, this should have no effect on thread safety. Possible operations involving file descriptors will restart the syscalls if they return EINTR. </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a85363e453b34272a9f26c9fdffb041ee" name="a85363e453b34272a9f26c9fdffb041ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85363e453b34272a9f26c9fdffb041ee">&#9670;&#160;</a></span>lzma_physmem()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint64_t lzma_physmem </td>
<td>(</td>
<td class="paramtype">void</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the total amount of physical memory (RAM) in bytes. </p>
<p>This function may be useful when determining a reasonable memory usage limit for decompressing or how much memory it is OK to use for compressing.</p>
<dl class="section return"><dt>Returns</dt><dd>On success, the total amount of physical memory in bytes is returned. If the amount of RAM cannot be determined, zero is returned. This can happen if an error occurs or if there is no code in liblzma to detect the amount of RAM on the specific operating system. </dd></dl>
</div>
</div>
<a id="a22f7a882b7a4b741a226abf62bdf46ca" name="a22f7a882b7a4b741a226abf62bdf46ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22f7a882b7a4b741a226abf62bdf46ca">&#9670;&#160;</a></span>lzma_cputhreads()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_cputhreads </td>
<td>(</td>
<td class="paramtype">void</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the number of processor cores or threads. </p>
<p>This function may be useful when determining how many threads to use. If the hardware supports more than one thread per CPU core, the number of hardware threads is returned if that information is available.</p>
<dl class="section return"><dt>Returns</dt><dd>On success, the number of available CPU threads or cores is returned. If this information isn't available or an error occurs, zero is returned. </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html">lzma</a></li><li class="navelem"><a class="el" href="hardware_8h.html">hardware.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,5 @@
var hardware_8h =
[
[ "lzma_physmem", "hardware_8h.html#a85363e453b34272a9f26c9fdffb041ee", null ],
[ "lzma_cputhreads", "hardware_8h.html#a22f7a882b7a4b741a226abf62bdf46ca", null ]
];

View File

@@ -0,0 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): liblzma (XZ Utils)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('index.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div><div class="header">
<div class="headertitle"><div class="title">liblzma (XZ Utils) </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>liblzma is a 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.</p>
<p>liblzma is part of XZ Utils <a href="https://tukaani.org/xz/">https://tukaani.org/xz/</a>. XZ Utils includes a gzip-like command line tool named xz and some other tools. XZ Utils is developed and maintained by Lasse Collin.</p>
<p>Major parts of liblzma are based on code written by Igor Pavlov, specifically the LZMA SDK <a href="https://7-zip.org/sdk.html">https://7-zip.org/sdk.html</a>.</p>
<p>The SHA-256 implementation in liblzma is based on code written by Wei Dai in Crypto++ Library <a href="https://www.cryptopp.com/">https://www.cryptopp.com/</a>.</p>
<p>liblzma is distributed under the BSD Zero Clause License (0BSD). </p>
</div></div><!-- PageDoc -->
<a href="doxygen_crawl.html"></a>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
var index_8h =
[
[ "lzma_index_iter", "structlzma__index__iter.html", "structlzma__index__iter" ],
[ "LZMA_INDEX_CHECK_MASK_NONE", "index_8h.html#a2643014196abf129ddbb51ec2bd956d9", null ],
[ "LZMA_INDEX_CHECK_MASK_CRC32", "index_8h.html#a6812319b2f335df98fcf5e97c144e4ac", null ],
[ "LZMA_INDEX_CHECK_MASK_CRC64", "index_8h.html#a062a47783c17f64728d98b831411c5c3", null ],
[ "LZMA_INDEX_CHECK_MASK_SHA256", "index_8h.html#ad6540f1ecf60f186f7c0492937482169", null ],
[ "lzma_index", "index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e", null ],
[ "lzma_index_iter_mode", "index_8h.html#a712b43192d944bf2f767711343cd9ca8", [
[ "LZMA_INDEX_ITER_ANY", "index_8h.html#a712b43192d944bf2f767711343cd9ca8af46f6e5c414471c7c96586f380e48315", null ],
[ "LZMA_INDEX_ITER_STREAM", "index_8h.html#a712b43192d944bf2f767711343cd9ca8a5b31d985de1c823151acdd7e4a966fc9", null ],
[ "LZMA_INDEX_ITER_BLOCK", "index_8h.html#a712b43192d944bf2f767711343cd9ca8a2702617d60d6fc15138a749e06ef3414", null ],
[ "LZMA_INDEX_ITER_NONEMPTY_BLOCK", "index_8h.html#a712b43192d944bf2f767711343cd9ca8aa49bf4d561d8f2c61d300edbb6c282c7", null ]
] ],
[ "lzma_index_memusage", "index_8h.html#a880def3727ecdd7f242807083d228fc5", null ],
[ "lzma_index_memused", "index_8h.html#a4118805ac7be6618aca6d6d7e5e4dde7", null ],
[ "lzma_index_init", "index_8h.html#a0850627d011111326d4278a3e2edec25", null ],
[ "lzma_index_end", "index_8h.html#a0c2d0009f07fc315d5ac89e4bcd25abd", null ],
[ "lzma_index_append", "index_8h.html#ac347747eb933c7c408e6c801b33becc3", null ],
[ "lzma_index_stream_flags", "index_8h.html#a79a19669237f19f0b11c9f3be80a62b4", null ],
[ "lzma_index_checks", "index_8h.html#af8d6528a04241841bd0a4322b0c57eaa", null ],
[ "lzma_index_stream_padding", "index_8h.html#a3ed82f96c688f3c953f6509b6f4e2ef3", null ],
[ "lzma_index_stream_count", "index_8h.html#afd159a765b09b0cf79186069a848d07e", null ],
[ "lzma_index_block_count", "index_8h.html#add1a8c506f67dbc19cae6747107e3bec", null ],
[ "lzma_index_size", "index_8h.html#a669ed1a82b1941217cfbb07e7826afc2", null ],
[ "lzma_index_stream_size", "index_8h.html#af3630369b43c9ccc906065d759b49663", null ],
[ "lzma_index_total_size", "index_8h.html#a7829942b83ee1fa5b6443cc248b81041", null ],
[ "lzma_index_file_size", "index_8h.html#ac875ed47d35385e5dac461b25c5ea1c9", null ],
[ "lzma_index_uncompressed_size", "index_8h.html#a620fe6317f1f9d7af9cc27c748bf07d6", null ],
[ "lzma_index_iter_init", "index_8h.html#aa78f02f18ed29d289a6ef37b8ea98a21", null ],
[ "lzma_index_iter_rewind", "index_8h.html#ae81438be8deff4894b104e65d8acdd24", null ],
[ "lzma_index_iter_next", "index_8h.html#af428522e1b3eef137c65c5a01f766e0e", null ],
[ "lzma_index_iter_locate", "index_8h.html#ac4f56df9d210712e5d7add5502c9eb93", null ],
[ "lzma_index_cat", "index_8h.html#abc4db36b4bd67af01819be9dd045c34a", null ],
[ "lzma_index_dup", "index_8h.html#a5161e3f67156577882e1d95dcb57e33e", null ],
[ "lzma_index_encoder", "index_8h.html#a6800d70f3b2afca085496460cd03211d", null ],
[ "lzma_index_decoder", "index_8h.html#abb56fd1d5914f8900ece7b88b78e5e23", null ],
[ "lzma_index_buffer_encode", "index_8h.html#add1ef06dec8a26d08ae8651cff0fd8d6", null ],
[ "lzma_index_buffer_decode", "index_8h.html#a028b8b8d59a413f9682eea1269a6ae8b", null ],
[ "lzma_file_info_decoder", "index_8h.html#a7c5d77cf8532d95977d4571a1eb0a222", null ]
];

View File

@@ -0,0 +1,333 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma/index_hash.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('index__hash_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">index_hash.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Validate Index by using a hash function.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a2db9f438838c8ff72a8a6fd3fc856f8c" id="r_a2db9f438838c8ff72a8a6fd3fc856f8c"><td class="memItemLeft" align="right" valign="top"><a id="a2db9f438838c8ff72a8a6fd3fc856f8c" name="a2db9f438838c8ff72a8a6fd3fc856f8c"></a>
typedef struct lzma_index_hash_s&#160;</td><td class="memItemRight" valign="bottom"><b>lzma_index_hash</b></td></tr>
<tr class="memdesc:a2db9f438838c8ff72a8a6fd3fc856f8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque data type to hold the Index hash. <br /></td></tr>
<tr class="separator:a2db9f438838c8ff72a8a6fd3fc856f8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aaafae4967a4a266d97dc34a98bfcabfb" id="r_aaafae4967a4a266d97dc34a98bfcabfb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaafae4967a4a266d97dc34a98bfcabfb">lzma_index_hash_init</a> (<a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *index_hash, const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *allocator) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:aaafae4967a4a266d97dc34a98bfcabfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate and initialize a new <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure. <br /></td></tr>
<tr class="separator:aaafae4967a4a266d97dc34a98bfcabfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dacb41b9ec1c8df5d33dfdae97743b3" id="r_a7dacb41b9ec1c8df5d33dfdae97743b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7dacb41b9ec1c8df5d33dfdae97743b3">lzma_index_hash_end</a> (<a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *index_hash, const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *allocator) lzma_nothrow</td></tr>
<tr class="memdesc:a7dacb41b9ec1c8df5d33dfdae97743b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deallocate <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure. <br /></td></tr>
<tr class="separator:a7dacb41b9ec1c8df5d33dfdae97743b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bdbe4f0b5fa2fadb7528447feaaa97f" id="r_a2bdbe4f0b5fa2fadb7528447feaaa97f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2bdbe4f0b5fa2fadb7528447feaaa97f">lzma_index_hash_append</a> (<a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *index_hash, <a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> unpadded_size, <a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> uncompressed_size) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:a2bdbe4f0b5fa2fadb7528447feaaa97f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new Record to an Index hash. <br /></td></tr>
<tr class="separator:a2bdbe4f0b5fa2fadb7528447feaaa97f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a891eb955284c9117155f92eb0ddba44c" id="r_a891eb955284c9117155f92eb0ddba44c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a891eb955284c9117155f92eb0ddba44c">lzma_index_hash_decode</a> (<a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *index_hash, const uint8_t *in, size_t *in_pos, size_t in_size) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:a891eb955284c9117155f92eb0ddba44c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode and validate the Index field. <br /></td></tr>
<tr class="separator:a891eb955284c9117155f92eb0ddba44c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f8ab3b57b117f9547866156755c917f" id="r_a0f8ab3b57b117f9547866156755c917f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0f8ab3b57b117f9547866156755c917f">lzma_index_hash_size</a> (const <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *index_hash) lzma_nothrow lzma_attr_pure</td></tr>
<tr class="memdesc:a0f8ab3b57b117f9547866156755c917f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of the Index field as bytes. <br /></td></tr>
<tr class="separator:a0f8ab3b57b117f9547866156755c917f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Validate Index by using a hash function. </p>
<dl class="section note"><dt>Note</dt><dd>Never include this file directly. Use &lt;<a class="el" href="lzma_8h.html" title="The public API of liblzma data compression library.">lzma.h</a>&gt; instead.</dd></dl>
<p>Hashing makes it possible to use constant amount of memory to validate Index of arbitrary size. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="aaafae4967a4a266d97dc34a98bfcabfb" name="aaafae4967a4a266d97dc34a98bfcabfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaafae4967a4a266d97dc34a98bfcabfb">&#9670;&#160;</a></span>lzma_index_hash_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> * lzma_index_hash_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *</td> <td class="paramname"><span class="paramname"><em>index_hash</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *</td> <td class="paramname"><span class="paramname"><em>allocator</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocate and initialize a new <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure. </p>
<p>If index_hash is NULL, this function allocates and initializes a new <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure and returns a pointer to it. If allocation fails, NULL is returned.</p>
<p>If index_hash is non-NULL, this function reinitializes the <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure and returns the same pointer. In this case, return value cannot be NULL or a different pointer than the index_hash that was given as an argument.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index_hash</td><td>Pointer to a <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure or NULL. </td></tr>
<tr><td class="paramname">allocator</td><td><a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> for custom allocator functions. Set to NULL to use malloc() and free().</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Initialized <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure on success or NULL on failure. </dd></dl>
</div>
</div>
<a id="a7dacb41b9ec1c8df5d33dfdae97743b3" name="a7dacb41b9ec1c8df5d33dfdae97743b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7dacb41b9ec1c8df5d33dfdae97743b3">&#9670;&#160;</a></span>lzma_index_hash_end()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void lzma_index_hash_end </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *</td> <td class="paramname"><span class="paramname"><em>index_hash</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *</td> <td class="paramname"><span class="paramname"><em>allocator</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Deallocate <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index_hash</td><td>Pointer to a <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure to free. </td></tr>
<tr><td class="paramname">allocator</td><td><a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> for custom allocator functions. Set to NULL to use malloc() and free(). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2bdbe4f0b5fa2fadb7528447feaaa97f" name="a2bdbe4f0b5fa2fadb7528447feaaa97f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bdbe4f0b5fa2fadb7528447feaaa97f">&#9670;&#160;</a></span>lzma_index_hash_append()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_index_hash_append </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *</td> <td class="paramname"><span class="paramname"><em>index_hash</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a></td> <td class="paramname"><span class="paramname"><em>unpadded_size</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a></td> <td class="paramname"><span class="paramname"><em>uncompressed_size</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new Record to an Index hash. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index_hash</td><td>Pointer to a <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure </td></tr>
<tr><td class="paramname">unpadded_size</td><td>Unpadded Size of a Block </td></tr>
<tr><td class="paramname">uncompressed_size</td><td>Uncompressed Size of a Block</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK</li>
<li>LZMA_DATA_ERROR: Compressed or uncompressed size of the Stream or size of the Index field would grow too big.</li>
<li>LZMA_PROG_ERROR: Invalid arguments or this function is being used when <a class="el" href="#a891eb955284c9117155f92eb0ddba44c" title="Decode and validate the Index field.">lzma_index_hash_decode()</a> has already been used. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a891eb955284c9117155f92eb0ddba44c" name="a891eb955284c9117155f92eb0ddba44c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a891eb955284c9117155f92eb0ddba44c">&#9670;&#160;</a></span>lzma_index_hash_decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_index_hash_decode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *</td> <td class="paramname"><span class="paramname"><em>index_hash</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *</td> <td class="paramname"><span class="paramname"><em>in</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *</td> <td class="paramname"><span class="paramname"><em>in_pos</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t</td> <td class="paramname"><span class="paramname"><em>in_size</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Decode and validate the Index field. </p>
<p>After telling the sizes of all Blocks with <a class="el" href="#a2bdbe4f0b5fa2fadb7528447feaaa97f" title="Add a new Record to an Index hash.">lzma_index_hash_append()</a>, the actual Index field is decoded with this function. Specifically, once decoding of the Index field has been started, no more Records can be added using <a class="el" href="#a2bdbe4f0b5fa2fadb7528447feaaa97f" title="Add a new Record to an Index hash.">lzma_index_hash_append()</a>.</p>
<p>This function doesn't use <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> structure to pass the input data. Instead, the input buffer is specified using three arguments. This is because it matches better the internal APIs of liblzma.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">index_hash</td><td>Pointer to a <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in</td><td>Pointer to the beginning of the input buffer </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">in_pos</td><td>in[*in_pos] is the next byte to process </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in_size</td><td>in[in_size] is the first byte not to process</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: So far good, but more input is needed.</li>
<li>LZMA_STREAM_END: Index decoded successfully and it matches the Records given with <a class="el" href="#a2bdbe4f0b5fa2fadb7528447feaaa97f" title="Add a new Record to an Index hash.">lzma_index_hash_append()</a>.</li>
<li>LZMA_DATA_ERROR: Index is corrupt or doesn't match the information given with <a class="el" href="#a2bdbe4f0b5fa2fadb7528447feaaa97f" title="Add a new Record to an Index hash.">lzma_index_hash_append()</a>.</li>
<li>LZMA_BUF_ERROR: Cannot progress because *in_pos &gt;= in_size.</li>
<li>LZMA_PROG_ERROR </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a0f8ab3b57b117f9547866156755c917f" name="a0f8ab3b57b117f9547866156755c917f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f8ab3b57b117f9547866156755c917f">&#9670;&#160;</a></span>lzma_index_hash_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_hash_size </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c">lzma_index_hash</a> *</td> <td class="paramname"><span class="paramname"><em>index_hash</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the size of the Index field as bytes. </p>
<p>This is needed to verify the Backward Size field in the Stream Footer.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index_hash</td><td>Pointer to a <a class="el" href="#a2db9f438838c8ff72a8a6fd3fc856f8c" title="Opaque data type to hold the Index hash.">lzma_index_hash</a> structure</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Size of the Index field in bytes. </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html">lzma</a></li><li class="navelem"><a class="el" href="index__hash_8h.html">index_hash.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,9 @@
var index__hash_8h =
[
[ "lzma_index_hash", "index__hash_8h.html#a2db9f438838c8ff72a8a6fd3fc856f8c", null ],
[ "lzma_index_hash_init", "index__hash_8h.html#aaafae4967a4a266d97dc34a98bfcabfb", null ],
[ "lzma_index_hash_end", "index__hash_8h.html#a7dacb41b9ec1c8df5d33dfdae97743b3", null ],
[ "lzma_index_hash_append", "index__hash_8h.html#a2bdbe4f0b5fa2fadb7528447feaaa97f", null ],
[ "lzma_index_hash_decode", "index__hash_8h.html#a891eb955284c9117155f92eb0ddba44c", null ],
[ "lzma_index_hash_size", "index__hash_8h.html#a0f8ab3b57b117f9547866156755c917f", null ]
];

View File

@@ -0,0 +1,204 @@
/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}
var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},
push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(
e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,
O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp(
"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"<22>":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType
}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c
)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){
return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(
":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id")
)&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push(
"\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(
a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,
null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(
"string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne
).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType
)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(
function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){
return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);
for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n
){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(
e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);
break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(
function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){
for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(
this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(
var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){
return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(
){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),
S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,
r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,
o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(
"object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){
var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),
1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){
Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t
){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c
].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;
return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),
"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n
)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,
f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(
arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i
]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(
e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;
this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t
}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,
r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),
r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){
1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(
"string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t
,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(
l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[
0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(
!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(
e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(
e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(
this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},
S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),
originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}
S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(
le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),
null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"
],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},
S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{
set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o
)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(
" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;
t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode
,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),
e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(
new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};
var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();
return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",
isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(
t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global
)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(
v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();
while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))
}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),
t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){
return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(
e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r]
,C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(
function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,
"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}
),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each(
"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){
return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
/*! jQuery UI - v1.13.2 - 2022-08-01
* http://jqueryui.com
* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(y){"use strict";y.ui=y.ui||{};y.ui.version="1.13.2";var n,i=0,h=Array.prototype.hasOwnProperty,a=Array.prototype.slice;y.cleanData=(n=y.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=y._data(i,"events"))&&e.remove&&y(i).triggerHandler("remove");n(t)}),y.widget=function(t,i,e){var s,n,o,h={},a=t.split(".")[0],r=a+"-"+(t=t.split(".")[1]);return e||(e=i,i=y.Widget),Array.isArray(e)&&(e=y.extend.apply(null,[{}].concat(e))),y.expr.pseudos[r.toLowerCase()]=function(t){return!!y.data(t,r)},y[a]=y[a]||{},s=y[a][t],n=y[a][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},y.extend(n,s,{version:e.version,_proto:y.extend({},e),_childConstructors:[]}),(o=new i).options=y.widget.extend({},o.options),y.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}
function o(t){return i.prototype[e].apply(this,t)}h[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=y.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},h,{constructor:n,namespace:a,widgetName:t,widgetFullName:r}),s?(y.each(s._childConstructors,function(t,e){var i=e.prototype;y.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),y.widget.bridge(t,n),n},y.widget.extend=function(t){for(var e,i,s=a.call(arguments,1),n=0,o=s.length;n<o;n++)for(e in s[n])i=s[n][e],h.call(s[n],e)&&void 0!==i&&(y.isPlainObject(i)?t[e]=y.isPlainObject(t[e])?y.widget.extend({},t[e],i):y.widget.extend({},i):t[e]=i);return t},y.widget.bridge=function(o,e){var h=e.prototype.widgetFullName||o;y.fn[o]=function(i){var t="string"==typeof i,s=a.call(arguments,1),n=this;return t?this.length||"instance"!==i?this.each(function(){var t,
e=y.data(this,h);return"instance"===i?(n=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?y.error("no such method '"+i+"' for "+o+" widget instance"):(t=e[i].apply(e,s))!==e&&void 0!==t?(n=t&&t.jquery?n.pushStack(t.get()):t,!1):void 0:y.error("cannot call methods on "+o+" prior to initialization; attempted to call method '"+i+"'")}):n=void 0:(s.length&&(i=y.widget.extend.apply(null,[i].concat(s))),this.each(function(){var t=y.data(this,h);t?(t.option(i||{}),t._init&&t._init()):y.data(this,h,new e(i,this))})),n}},y.Widget=function(){},y.Widget._childConstructors=[],y.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t
){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t
]=y.widget.extend({},this.options[t]),n=0;n<i.length-1;n++)s[i[n]]=s[i[n]]||{},s=s[i[n]];if(t=i.pop(),1===arguments.length)return void 0===s[t]?null:s[t];s[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=e}return this._setOptions(o),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,s;for(e in t)s=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&s&&s.length&&(i=y(s.get()),this._removeClass(s,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},
disable:function(){return this._setOptions({disabled:!0})},_classes:function(n){var o=[],h=this;function t(t,e){for(var i,s=0;s<t.length;s++)i=h.classesElementLookup[t[s]]||y(),i=n.add?(function(){var i=[];n.element.each(function(t,e){y.map(h.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),h._on(y(i),{remove:"_untrackClassesElement"})}(),y(y.uniqueSort(i.get().concat(n.element.get())))):y(i.not(n.element).get()),h.classesElementLookup[t[s]]=i,o.push(t[s]),e&&n.classes[t[s]]&&o.push(n.classes[t[s]])}return(n=y.extend({element:this.element,classes:this.options.classes||{}},n)).keys&&t(n.keys.match(/\S+/g)||[],!0),n.extra&&t(n.extra.match(/\S+/g)||[]),o.join(" ")},_untrackClassesElement:function(i){var s=this;y.each(s.classesElementLookup,function(t,e){-1!==y.inArray(i.target,e)&&(s.classesElementLookup[t]=y(e.not(i.target).get()))}),this._off(y(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){
return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){var n="string"==typeof t||null===t,i={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s="boolean"==typeof s?s:i};return i.element.toggleClass(this._classes(i),s),this},_on:function(n,o,t){var h,a=this;"boolean"!=typeof n&&(t=o,o=n,n=!1),t?(o=h=y(o),this.bindings=this.bindings.add(o)):(t=o,o=this.element,h=this.widget()),y.each(t,function(t,e){function i(){if(n||!0!==a.options.disabled&&!y(this).hasClass("ui-state-disabled"))return("string"==typeof e?a[e]:e).apply(a,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||y.guid++);var s=t.match(/^([\w:-]*)\s*(.*)$/),t=s[1]+a.eventNamespace,s=s[2];s?h.on(t,s,i):o.on(t,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=y(this.bindings.not(t).get()),this.focusable=y(this.focusable.not(t).get()),this.hoverable=y(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return(
"string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(y(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(y(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(y(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(y(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var s,n,o=this.options[t];if(i=i||{},(e=y.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],n=e.originalEvent)for(s in n)s in e||(e[s]=n[s]);return this.element.trigger(e,i),!("function"==typeof o&&!1===o.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},y.each({show:"fadeIn",hide:"fadeOut"},function(o,h){y.Widget.prototype["_"+o]=function(e,t,i){var s,n=(t="string"==typeof t?{effect:t}:t
)?!0!==t&&"number"!=typeof t&&t.effect||h:o;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!y.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&y.effects&&y.effects.effect[n]?e[o](t):n!==o&&e[n]?e[n](t.duration,t.easing,i):e.queue(function(t){y(this)[o](),i&&i.call(e[0]),t()})}});var s,x,D,o,r,l,u,p,W;y.widget;function E(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function H(t,e){return parseInt(y.css(t,e),10)||0}function S(t){return null!=t&&t===t.window}x=Math.max,D=Math.abs,o=/left|center|right/,r=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,u=/^\w+/,p=/%$/,W=y.fn.position,y.position={scrollbarWidth:function(){if(void 0!==s)return s;var t,e=y("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},
getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?y.position.scrollbarWidth():0,height:e?y.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=y(t||window),i=S(e[0]),s=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:s,offset:!i&&!s?y(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},y.fn.position=function(p){if(!p||!p.of)return W.apply(this,arguments);var d,c,f,g,m,t,_="string"==typeof(p=y.extend({},p)).of?y(document).find(p.of):y(p.of),w=y.position.getWithinInfo(p.within),v=y.position.getScrollInfo(w),b=(p.collision||"flip").split(" "),z={},e=9===(t=(e=_)[0]).nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:S(t)?{width:e.width(),height:e.height(),offset:{
top:e.scrollTop(),left:e.scrollLeft()}}:t.preventDefault?{width:0,height:0,offset:{top:t.pageY,left:t.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()};return _[0].preventDefault&&(p.at="left top"),c=e.width,f=e.height,m=y.extend({},g=e.offset),y.each(["my","at"],function(){var t,e,i=(p[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):r.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=r.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),z[this]=[t?t[0]:0,e?e[0]:0],p[this]=[u.exec(i[0])[0],u.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===p.at[0]?m.left+=c:"center"===p.at[0]&&(m.left+=c/2),"bottom"===p.at[1]?m.top+=f:"center"===p.at[1]&&(m.top+=f/2),d=E(z.at,c,f),m.left+=d[0],m.top+=d[1],this.each(function(){var i,t,h=y(this),a=h.outerWidth(),r=h.outerHeight(),e=H(this,"marginLeft"),s=H(this,"marginTop"),n=a+e+H(this,"marginRight")+v.width,o=r+s+H(this,"marginBottom")+v.height,l=y.extend({},m),u=E(z.my,h.outerWidth()
,h.outerHeight());"right"===p.my[0]?l.left-=a:"center"===p.my[0]&&(l.left-=a/2),"bottom"===p.my[1]?l.top-=r:"center"===p.my[1]&&(l.top-=r/2),l.left+=u[0],l.top+=u[1],i={marginLeft:e,marginTop:s},y.each(["left","top"],function(t,e){y.ui.position[b[t]]&&y.ui.position[b[t]][e](l,{targetWidth:c,targetHeight:f,elemWidth:a,elemHeight:r,collisionPosition:i,collisionWidth:n,collisionHeight:o,offset:[d[0]+u[0],d[1]+u[1]],my:p.my,at:p.at,within:w,elem:h})}),p.using&&(t=function(t){var e=g.left-l.left,i=e+c-a,s=g.top-l.top,n=s+f-r,o={target:{element:_,left:g.left,top:g.top,width:c,height:f},element:{element:h,left:l.left,top:l.top,width:a,height:r},horizontal:i<0?"left":0<e?"right":"center",vertical:n<0?"top":0<s?"bottom":"middle"};c<a&&D(e+i)<c&&(o.horizontal="center"),f<r&&D(s+n)<f&&(o.vertical="middle"),x(D(e),D(i))>x(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,
s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0<h&&a<=0?(i=t.left+h+e.collisionWidth-n-s,t.left+=h-i):t.left=!(0<a&&h<=0)&&a<h?s+n-e.collisionWidth:s:0<h?t.left+=h:0<a?t.left-=a:t.left=x(t.left-o,t.left)},top:function(t,e){var i=e.within,s=i.isWindow?i.scrollTop:i.offset.top,n=e.within.height,o=t.top-e.collisionPosition.marginTop,h=s-o,a=o+e.collisionHeight-n-s;e.collisionHeight>n?0<h&&a<=0?(i=t.top+h+e.collisionHeight-n-s,t.top+=h-i):t.top=!(0<a&&h<=0)&&a<h?s+n-e.collisionHeight:s:0<h?t.top+=h:0<a?t.top-=a:t.top=x(t.top-o,t.top)}},flip:{left:function(t,e){var i=e.within,s=i.offset.left+i.scrollLeft,n=i.width,o=i.isWindow?i.scrollLeft:i.offset.left,h=t.left-e.collisionPosition.marginLeft,a=h-o,r=h+e.collisionWidth-n-o,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,i="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];a<0?((s=t.left+l+i+h+e.collisionWidth-n-s)<0||s<D(a)
)&&(t.left+=l+i+h):0<r&&(0<(o=t.left-e.collisionPosition.marginLeft+l+i+h-o)||D(o)<r)&&(t.left+=l+i+h)},top:function(t,e){var i=e.within,s=i.offset.top+i.scrollTop,n=i.height,o=i.isWindow?i.scrollTop:i.offset.top,h=t.top-e.collisionPosition.marginTop,a=h-o,r=h+e.collisionHeight-n-o,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,i="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];a<0?((s=t.top+l+i+h+e.collisionHeight-n-s)<0||s<D(a))&&(t.top+=l+i+h):0<r&&(0<(o=t.top-e.collisionPosition.marginTop+l+i+h-o)||D(o)<r)&&(t.top+=l+i+h)}},flipfit:{left:function(){y.ui.position.flip.left.apply(this,arguments),y.ui.position.fit.left.apply(this,arguments)},top:function(){y.ui.position.flip.top.apply(this,arguments),y.ui.position.fit.top.apply(this,arguments)}}};var t;y.ui.position,y.extend(y.expr.pseudos,{data:y.expr.createPseudo?y.expr.createPseudo(function(e){return function(t){return!!y.data(t,e)}}):function(t,e,i){return!!y.data(t,i[3])}}),y.fn.extend({
disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}});y.ui.focusable=function(t,e){var i,s,n,o,h=t.nodeName.toLowerCase();return"area"===h?(s=(i=t.parentNode).name,!(!t.href||!s||"map"!==i.nodeName.toLowerCase())&&(0<(s=y("img[usemap='#"+s+"']")).length&&s.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(h)?(n=!t.disabled)&&(o=y(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===h&&t.href||e,n&&y(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(y(t)))},y.extend(y.expr.pseudos,{focusable:function(t){return y.ui.focusable(t,null!=y.attr(t,"tabindex"))}});var e,d;y.ui.focusable,y.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):y(this[0].form)},y.ui.formResetMixin={_formResetHandler:function(
){var e=y(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");y.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(y.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}};y.expr.pseudos||(y.expr.pseudos=y.expr[":"]),y.uniqueSort||(y.uniqueSort=y.unique),y.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,d=function(t,e){return e?"\0"===t?"<22>":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},y.escapeSelector=function(t){return(t+"").replace(e,d)}),y.fn.even&&y.fn.odd||y.fn.extend({even:function(){
return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}});y.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},y.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+y.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},y.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,s=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=y(this);return(!i||"static"!==t.css("position"))&&s.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:y(this[0].ownerDocument||document)},y.extend(y.expr.pseudos,{tabbable:function(t){
var e=y.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&y.ui.focusable(t,i)}}),y.fn.extend({uniqueId:(c=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++c)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&y(this).removeAttr("id")})}}),y.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var c,f=!1;y(document).on("mouseup",function(){f=!1});y.widget("ui.mouse",{version:"1.13.2",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(t){if(!0===y.data(t.target,e.widgetName+".preventClickEvent"))return y.removeData(t.target,e.widgetName+".preventClickEvent"),t.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off(
"mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!f){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var e=this,i=1===t.which,s=!("string"!=typeof this.options.cancel||!t.target.nodeName)&&y(t.target).closest(this.options.cancel).length;return i&&!s&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(t),!this._mouseStarted)?(t.preventDefault(),!0):(!0===y.data(t.target,this.widgetName+".preventClickEvent")&&y.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return e._mouseMove(t)},this._mouseUpDelegate=function(t){return e._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),f=!0)):!0}},
_mouseMove:function(t){if(this._mouseMoved){if(y.ui.ie&&(!document.documentMode||document.documentMode<9)&&!t.button)return this._mouseUp(t);if(!t.which)if(t.originalEvent.altKey||t.originalEvent.ctrlKey||t.originalEvent.metaKey||t.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,t),this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&y.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),
delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,f=!1,t.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n<o.length;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}};y.widget("ui.resizable",y.ui.mouse,{version:"1.13.2",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,
handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(t,e){if("hidden"===y(t).css("overflow"))return!1;var i=e&&"left"===e?"scrollLeft":"scrollTop",e=!1;if(0<t[i])return!0;try{t[i]=1,e=0<t[i],t[i]=0}catch(t){}return e},_create:function(){var t,e=this.options,i=this;this._addClass("ui-resizable"),y.extend(this,{_aspectRatio:!!e.aspectRatio,aspectRatio:e.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:e.helper||e.ghost||e.animate?e.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(y("<div class='ui-wrapper'></div>").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),
this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t
).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(
","),this.handles={},e=0;e<i.length;e++)s="ui-resizable-"+(t=String.prototype.trim.call(i[e])),n=y("<div>"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(
this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{
width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),
!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){
this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),s<n.maxWidth&&(n.maxWidth=s),t<n.maxHeight&&(n.maxHeight=t)
),this._vBoundaries=n},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height
,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e<this._proportionallyResizeElements.length;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({
height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,e=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||y("<div></div>").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,
i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left
)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e
){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),
i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth(
)-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,
function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0
]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidth<d,g=i.maxHeight&&i.maxHeight<c,m=i.minWidth&&i.minWidth>d,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0<c-l?(e.size.height=c,e.position.top=o.top-p):(c=l-t.height,e.size.height=c,e.position.top=o.top+n.height-c),0<d-r?(e.size.width=d,e.position.left=o.left-u):(d=r-t.width,e.size.width=d,e.position.left=o.left+n.width-d))}});y.ui.resizable});
/**
* Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler
* Licensed under MIT
* @author Ariel Flesler
* @version 2.1.2
*/(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"===typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9e9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case"number":case"string":if(
/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e=h(e);break}e=l?$(e):$(e,q);case"object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&&"%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};
$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()},set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
/*!
PowerTip v1.3.1 (2018-04-15)
https://stevenbenner.github.io/jquery-powertip/
Copyright (c) 2018 Steven Benner (http://stevenbenner.com/).
Released under MIT license.
https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
*/
(function(root,factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory(require("jquery"))}else{factory(root.jQuery)}})(this,function($){var $document=$(document),$window=$(window),$body=$("body");var DATA_DISPLAYCONTROLLER="displayController",DATA_HASACTIVEHOVER="hasActiveHover",DATA_FORCEDOPEN="forcedOpen",DATA_HASMOUSEMOVE="hasMouseMove",DATA_MOUSEONTOTIP="mouseOnToPopup",DATA_ORIGINALTITLE="originalTitle",DATA_POWERTIP="powertip",DATA_POWERTIPJQ="powertipjq",DATA_POWERTIPTARGET="powertiptarget",EVENT_NAMESPACE=".powertip",RAD2DEG=180/Math.PI,MOUSE_EVENTS=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","contextmenu"];var session={tooltips:null,isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,closeDelayTimeout:null,mouseTrackingActive:false,
delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var Collision={none:0,top:1,bottom:2,left:4,right:8};$.fn.powerTip=function(opts,arg){var targetElements=this,options,tipController;if(!targetElements.length){return targetElements}if($.type(opts)==="string"&&$.powerTip[opts]){return $.powerTip[opts].call(targetElements,targetElements,arg)}options=$.extend({},$.fn.powerTip.defaults,opts);tipController=new TooltipController(options);initTracking();targetElements.each(function elementSetup(){var $this=$(this),dataPowertip=$this.data(DATA_POWERTIP),dataElem=$this.data(DATA_POWERTIPJQ),dataTarget=$this.data(DATA_POWERTIPTARGET),title=$this.attr("title");if(!dataPowertip&&!dataTarget&&!dataElem&&title){$this.data(DATA_POWERTIP,title);$this.data(DATA_ORIGINALTITLE,title);$this.removeAttr("title")}$this.data(DATA_DISPLAYCONTROLLER,new DisplayController($this,options,tipController))});if(!options.manual){$.each(options.openEvents,function(idx,evt){if($.inArray(evt,options.closeEvents)>-1){
targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se",
"n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(
session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}
closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference<options.intentSensitivity){cancelClose();closeAnyDelayed();tipController.showTip(element)}else{session.previousX=session.currentX;session.previousY=session.currentY;
openTooltip()}}function cancelTimer(stopClose){hoverTimer=clearTimeout(hoverTimer);if(session.closeDelayTimeout&&myCloseDelay===session.closeDelayTimeout||stopClose){cancelClose()}}function cancelClose(){session.closeDelayTimeout=clearTimeout(session.closeDelayTimeout);session.delayInProgress=false}function closeAnyDelayed(){if(session.delayInProgress&&session.activeHover&&!session.activeHover.is(element)){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide(true)}}function repositionTooltip(){tipController.resetPosition(element)}this.show=openTooltip;this.hide=closeTooltip;this.cancel=cancelTimer;this.resetPosition=repositionTooltip}function PlacementCalculator(){function computePlacementCoords(element,placement,tipWidth,tipHeight,offset){var placementBase=placement.split("-")[0],coords=new CSSCoordinates,position;if(isSvgElement(element)){position=getSvgPlacement(element,placementBase)}else{position=getHtmlPlacement(element,placementBase)}switch(placement){case"n":coords.set("left",position.left-tipWidth/2
);coords.set("bottom",session.windowHeight-position.top+offset);break;case"e":coords.set("left",position.left+offset);coords.set("top",position.top-tipHeight/2);break;case"s":coords.set("left",position.left-tipWidth/2);coords.set("top",position.top+offset);break;case"w":coords.set("top",position.top-tipHeight/2);coords.set("right",session.windowWidth-position.left+offset);break;case"nw":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"nw-alt":coords.set("left",position.left);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne":coords.set("left",position.left-20);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne-alt":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left);break;case"sw":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"sw-alt":coords.set("left",
position.left);coords.set("top",position.top+offset);break;case"se":coords.set("left",position.left-20);coords.set("top",position.top+offset);break;case"se-alt":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left);break}return coords}function getHtmlPlacement(element,placement){var objectOffset=element.offset(),objectWidth=element.outerWidth(),objectHeight=element.outerHeight(),left,top;switch(placement){case"n":left=objectOffset.left+objectWidth/2;top=objectOffset.top;break;case"e":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight/2;break;case"s":left=objectOffset.left+objectWidth/2;top=objectOffset.top+objectHeight;break;case"w":left=objectOffset.left;top=objectOffset.top+objectHeight/2;break;case"nw":left=objectOffset.left;top=objectOffset.top;break;case"ne":left=objectOffset.left+objectWidth;top=objectOffset.top;break;case"sw":left=objectOffset.left;top=objectOffset.top+objectHeight;break;case"se":left=objectOffset.left+objectWidth;
top=objectOffset.top+objectHeight;break}return{top:top,left:left}}function getSvgPlacement(element,placement){var svgElement=element.closest("svg")[0],domElement=element[0],point=svgElement.createSVGPoint(),boundingBox=domElement.getBBox(),matrix=domElement.getScreenCTM(),halfWidth=boundingBox.width/2,halfHeight=boundingBox.height/2,placements=[],placementKeys=["nw","n","ne","e","se","s","sw","w"],coords,rotation,steps,x;function pushPlacement(){placements.push(point.matrixTransform(matrix))}point.x=boundingBox.x;point.y=boundingBox.y;pushPlacement();point.x+=halfWidth;pushPlacement();point.x+=halfWidth;pushPlacement();point.y+=halfHeight;pushPlacement();point.y+=halfHeight;pushPlacement();point.x-=halfWidth;pushPlacement();point.x-=halfWidth;pushPlacement();point.y-=halfHeight;pushPlacement();if(placements[0].y!==placements[1].y||placements[0].x!==placements[7].x){rotation=Math.atan2(matrix.b,matrix.a)*RAD2DEG;steps=Math.ceil((rotation%360-22.5)/45);if(steps<1){steps+=8}while(steps--){placementKeys.push(
placementKeys.shift())}}for(x=0;x<placements.length;x++){if(placementKeys[x]===placement){coords=placements[x];break}}return{top:coords.y+session.scrollTop,left:coords.x+session.scrollLeft}}this.compute=computePlacementCoords}function TooltipController(options){var placementCalculator=new PlacementCalculator,tipElement=$("#"+options.popupId);if(tipElement.length===0){tipElement=$("<div/>",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(
session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,
function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);
tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,
finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));
return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}
function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),
elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,
viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.top<viewportTop||Math.abs(coords.bottom-session.windowHeight)-elementHeight<viewportTop){collisions|=Collision.top}if(coords.top+elementHeight>viewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.left<viewportLeft||coords.right+elementWidth>viewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right<viewportLeft){collisions|=Collision.right}return collisions}function countFlags(value){var count=0;while(value){value&=value-1;count++}return count}return $.powerTip});
/*!
* jQuery UI Touch Punch 0.2.3
*
* Copyright 20112014, Dave Furfero
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* Depends:
* jquery.ui.widget.js
* jquery.ui.mouse.js
*/!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,
"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);
/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
* http://www.smartmenus.org/
* Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),
mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend(
$.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(
this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("<span/>").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData(
"smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id"
).indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(
this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(
var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){
return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((
!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(
this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0
]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass(
"highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){
t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]"
)||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],$('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){
t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),
a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y<o.upEnd)&&a.eq(o.up?1:0).show(),o.y==n)mouse&&a.eq(o.up?0:1).hide(),this.menuScrollStop(t);else if(!e){this.opts.scrollAccelerate&&o.step<this.opts.scrollStep&&(o.step+=.2);var h=this;this.scrollTimeout=requestAnimationFrame(function(){h.menuScroll(t)})}},menuScrollMousewheel:function(t,e){if(this.getClosestMenu(e.target)==t[0]){e=e.originalEvent;var i=(
e.wheelDelta||-e.detail)>0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,
downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2)
)&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t
)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),
canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},
rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}
return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,
bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$});

View File

@@ -0,0 +1,458 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma/lzma12.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('lzma12_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">lzma12.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>LZMA1 and LZMA2 filters.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlzma__options__lzma.html">lzma_options_lzma</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options specific to the LZMA1 and LZMA2 filters. <a href="structlzma__options__lzma.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:accedd16abcb758e7f748bac1102abda9" id="r_accedd16abcb758e7f748bac1102abda9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#accedd16abcb758e7f748bac1102abda9">LZMA_FILTER_LZMA1</a>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x4000000000000001)</td></tr>
<tr class="memdesc:accedd16abcb758e7f748bac1102abda9"><td class="mdescLeft">&#160;</td><td class="mdescRight">LZMA1 Filter ID (for raw encoder/decoder only, not in .xz) <br /></td></tr>
<tr class="separator:accedd16abcb758e7f748bac1102abda9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98a7fd42aa78a273a6b138629e46772d" id="r_a98a7fd42aa78a273a6b138629e46772d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a98a7fd42aa78a273a6b138629e46772d">LZMA_FILTER_LZMA1EXT</a>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x4000000000000002)</td></tr>
<tr class="memdesc:a98a7fd42aa78a273a6b138629e46772d"><td class="mdescLeft">&#160;</td><td class="mdescRight">LZMA1 Filter ID with extended options (for raw encoder/decoder) <br /></td></tr>
<tr class="separator:a98a7fd42aa78a273a6b138629e46772d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04f9d9a018a47cc99491e6e94e92f96b" id="r_a04f9d9a018a47cc99491e6e94e92f96b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a04f9d9a018a47cc99491e6e94e92f96b">LZMA_FILTER_LZMA2</a>&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x21)</td></tr>
<tr class="memdesc:a04f9d9a018a47cc99491e6e94e92f96b"><td class="mdescLeft">&#160;</td><td class="mdescRight">LZMA2 Filter ID. <br /></td></tr>
<tr class="separator:a04f9d9a018a47cc99491e6e94e92f96b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a221f69f8a1f604c1aa5d79ae8afec1e0" id="r_a221f69f8a1f604c1aa5d79ae8afec1e0"><td class="memItemLeft" align="right" valign="top"><a id="a221f69f8a1f604c1aa5d79ae8afec1e0" name="a221f69f8a1f604c1aa5d79ae8afec1e0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_DICT_SIZE_MIN</b>&#160;&#160;&#160;UINT32_C(4096)</td></tr>
<tr class="separator:a221f69f8a1f604c1aa5d79ae8afec1e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abadf9a9599c106a1381756219c16f8ee" id="r_abadf9a9599c106a1381756219c16f8ee"><td class="memItemLeft" align="right" valign="top"><a id="abadf9a9599c106a1381756219c16f8ee" name="abadf9a9599c106a1381756219c16f8ee"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_DICT_SIZE_DEFAULT</b>&#160;&#160;&#160;(UINT32_C(1) &lt;&lt; 23)</td></tr>
<tr class="separator:abadf9a9599c106a1381756219c16f8ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36552f4d49390d060692424817222d9c" id="r_a36552f4d49390d060692424817222d9c"><td class="memItemLeft" align="right" valign="top"><a id="a36552f4d49390d060692424817222d9c" name="a36552f4d49390d060692424817222d9c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_LCLP_MIN</b>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a36552f4d49390d060692424817222d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6890226055b5069e83835af1fb804654" id="r_a6890226055b5069e83835af1fb804654"><td class="memItemLeft" align="right" valign="top"><a id="a6890226055b5069e83835af1fb804654" name="a6890226055b5069e83835af1fb804654"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_LCLP_MAX</b>&#160;&#160;&#160;4</td></tr>
<tr class="separator:a6890226055b5069e83835af1fb804654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3769f40103ec40516e1235c4b912d05" id="r_af3769f40103ec40516e1235c4b912d05"><td class="memItemLeft" align="right" valign="top"><a id="af3769f40103ec40516e1235c4b912d05" name="af3769f40103ec40516e1235c4b912d05"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_LC_DEFAULT</b>&#160;&#160;&#160;3</td></tr>
<tr class="separator:af3769f40103ec40516e1235c4b912d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa8ed908b2c1a88f3a76c47610036e68" id="r_afa8ed908b2c1a88f3a76c47610036e68"><td class="memItemLeft" align="right" valign="top"><a id="afa8ed908b2c1a88f3a76c47610036e68" name="afa8ed908b2c1a88f3a76c47610036e68"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_LP_DEFAULT</b>&#160;&#160;&#160;0</td></tr>
<tr class="separator:afa8ed908b2c1a88f3a76c47610036e68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11ed595416a499021cd571f08bbd38bc" id="r_a11ed595416a499021cd571f08bbd38bc"><td class="memItemLeft" align="right" valign="top"><a id="a11ed595416a499021cd571f08bbd38bc" name="a11ed595416a499021cd571f08bbd38bc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_PB_MIN</b>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a11ed595416a499021cd571f08bbd38bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e2661cef9dbcbb309239ec243a7c034" id="r_a5e2661cef9dbcbb309239ec243a7c034"><td class="memItemLeft" align="right" valign="top"><a id="a5e2661cef9dbcbb309239ec243a7c034" name="a5e2661cef9dbcbb309239ec243a7c034"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_PB_MAX</b>&#160;&#160;&#160;4</td></tr>
<tr class="separator:a5e2661cef9dbcbb309239ec243a7c034"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5072e13ce7b6abcdffdf6456da5959a1" id="r_a5072e13ce7b6abcdffdf6456da5959a1"><td class="memItemLeft" align="right" valign="top"><a id="a5072e13ce7b6abcdffdf6456da5959a1" name="a5072e13ce7b6abcdffdf6456da5959a1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_PB_DEFAULT</b>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a5072e13ce7b6abcdffdf6456da5959a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad088307349f27b38fda0d1f21588adc9" id="r_ad088307349f27b38fda0d1f21588adc9"><td class="memItemLeft" align="right" valign="top"><a id="ad088307349f27b38fda0d1f21588adc9" name="ad088307349f27b38fda0d1f21588adc9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_LZMA1EXT_ALLOW_EOPM</b>&#160;&#160;&#160;UINT32_C(0x01)</td></tr>
<tr class="separator:ad088307349f27b38fda0d1f21588adc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73ed0293db4e59d73a702d66fef537c3" id="r_a73ed0293db4e59d73a702d66fef537c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a73ed0293db4e59d73a702d66fef537c3">lzma_set_ext_size</a>(opt_lzma2, u64size)</td></tr>
<tr class="memdesc:a73ed0293db4e59d73a702d66fef537c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro to set the 64-bit uncompressed size in ext_size_*. <br /></td></tr>
<tr class="separator:a73ed0293db4e59d73a702d66fef537c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:acf740075f86fa61dc408d6d0dbf8fa80" id="r_acf740075f86fa61dc408d6d0dbf8fa80"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acf740075f86fa61dc408d6d0dbf8fa80">lzma_match_finder</a> { <br />
&#160;&#160;<a class="el" href="#acf740075f86fa61dc408d6d0dbf8fa80a6eb38f634021a192cada8a978b5de93b">LZMA_MF_HC3</a> = 0x03
, <a class="el" href="#acf740075f86fa61dc408d6d0dbf8fa80a0944620f4949289c2ebde613cae12b04">LZMA_MF_HC4</a> = 0x04
, <a class="el" href="#acf740075f86fa61dc408d6d0dbf8fa80a7ab212446c3f6520f5c33ccfa4b3386a">LZMA_MF_BT2</a> = 0x12
, <a class="el" href="#acf740075f86fa61dc408d6d0dbf8fa80a983ecc59bf3e07a7c43fea551ea11865">LZMA_MF_BT3</a> = 0x13
, <br />
&#160;&#160;<a class="el" href="#acf740075f86fa61dc408d6d0dbf8fa80a468c32cdea9861d1ff98478364e6c547">LZMA_MF_BT4</a> = 0x14
<br />
}</td></tr>
<tr class="memdesc:acf740075f86fa61dc408d6d0dbf8fa80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Match finders. <a href="#acf740075f86fa61dc408d6d0dbf8fa80">More...</a><br /></td></tr>
<tr class="separator:acf740075f86fa61dc408d6d0dbf8fa80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1032316e3075c2c8086fb17104b91866" id="r_a1032316e3075c2c8086fb17104b91866"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1032316e3075c2c8086fb17104b91866">lzma_mode</a> { <a class="el" href="#a1032316e3075c2c8086fb17104b91866ac8c0926a91b4f756e11121efd30648cc">LZMA_MODE_FAST</a> = 1
, <a class="el" href="#a1032316e3075c2c8086fb17104b91866ad37225f30d5cd21fc8bb3eaba283bbf9">LZMA_MODE_NORMAL</a> = 2
}</td></tr>
<tr class="memdesc:a1032316e3075c2c8086fb17104b91866"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compression modes. <a href="#a1032316e3075c2c8086fb17104b91866">More...</a><br /></td></tr>
<tr class="separator:a1032316e3075c2c8086fb17104b91866"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aefba1f7214ddcf8cd408a0702e8642b5" id="r_aefba1f7214ddcf8cd408a0702e8642b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">lzma_bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aefba1f7214ddcf8cd408a0702e8642b5">lzma_mf_is_supported</a> (<a class="el" href="#acf740075f86fa61dc408d6d0dbf8fa80">lzma_match_finder</a> match_finder) lzma_nothrow lzma_attr_const</td></tr>
<tr class="memdesc:aefba1f7214ddcf8cd408a0702e8642b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if given match finder is supported. <br /></td></tr>
<tr class="separator:aefba1f7214ddcf8cd408a0702e8642b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1add1c2600fdbb3d737e4fb3465dfcb" id="r_ad1add1c2600fdbb3d737e4fb3465dfcb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">lzma_bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad1add1c2600fdbb3d737e4fb3465dfcb">lzma_mode_is_supported</a> (<a class="el" href="#a1032316e3075c2c8086fb17104b91866">lzma_mode</a> mode) lzma_nothrow lzma_attr_const</td></tr>
<tr class="memdesc:ad1add1c2600fdbb3d737e4fb3465dfcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if given compression mode is supported. <br /></td></tr>
<tr class="separator:ad1add1c2600fdbb3d737e4fb3465dfcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa62c28944fe3575653a4c25780400d77" id="r_aa62c28944fe3575653a4c25780400d77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">lzma_bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa62c28944fe3575653a4c25780400d77">lzma_lzma_preset</a> (<a class="el" href="structlzma__options__lzma.html">lzma_options_lzma</a> *options, uint32_t preset) lzma_nothrow</td></tr>
<tr class="memdesc:aa62c28944fe3575653a4c25780400d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a compression preset to <a class="el" href="structlzma__options__lzma.html" title="Options specific to the LZMA1 and LZMA2 filters.">lzma_options_lzma</a> structure. <br /></td></tr>
<tr class="separator:aa62c28944fe3575653a4c25780400d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>LZMA1 and LZMA2 filters. </p>
<dl class="section note"><dt>Note</dt><dd>Never include this file directly. Use &lt;<a class="el" href="lzma_8h.html" title="The public API of liblzma data compression library.">lzma.h</a>&gt; instead. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="accedd16abcb758e7f748bac1102abda9" name="accedd16abcb758e7f748bac1102abda9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accedd16abcb758e7f748bac1102abda9">&#9670;&#160;</a></span>LZMA_FILTER_LZMA1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LZMA_FILTER_LZMA1&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x4000000000000001)</td>
</tr>
</table>
</div><div class="memdoc">
<p>LZMA1 Filter ID (for raw encoder/decoder only, not in .xz) </p>
<p>LZMA1 is the very same thing as what was called just LZMA in LZMA Utils, 7-Zip, and LZMA SDK. It's called LZMA1 here to prevent developers from accidentally using LZMA when they actually want LZMA2. </p>
</div>
</div>
<a id="a98a7fd42aa78a273a6b138629e46772d" name="a98a7fd42aa78a273a6b138629e46772d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98a7fd42aa78a273a6b138629e46772d">&#9670;&#160;</a></span>LZMA_FILTER_LZMA1EXT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LZMA_FILTER_LZMA1EXT&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x4000000000000002)</td>
</tr>
</table>
</div><div class="memdoc">
<p>LZMA1 Filter ID with extended options (for raw encoder/decoder) </p>
<p>This is like LZMA_FILTER_LZMA1 but with this ID a few extra options are supported in the <a class="el" href="structlzma__options__lzma.html" title="Options specific to the LZMA1 and LZMA2 filters.">lzma_options_lzma</a> structure:</p>
<ul>
<li>A flag to tell the encoder if the end of payload marker (EOPM) alias end of stream (EOS) marker must be written at the end of the stream. In contrast, LZMA_FILTER_LZMA1 always writes the end marker.</li>
<li>Decoder needs to be told the uncompressed size of the stream or that it is unknown (using the special value UINT64_MAX). If the size is known, a flag can be set to allow the presence of the end marker anyway. In contrast, LZMA_FILTER_LZMA1 always behaves as if the uncompressed size was unknown.</li>
</ul>
<p>This allows handling file formats where LZMA1 streams are used but where the end marker isn't allowed or where it might not (always) be present. This extended LZMA1 functionality is provided as a Filter ID for raw encoder and decoder instead of adding new encoder and decoder initialization functions because this way it is possible to also use extra filters, for example, LZMA_FILTER_X86 in a filter chain with LZMA_FILTER_LZMA1EXT, which might be needed to handle some file formats. </p>
</div>
</div>
<a id="a04f9d9a018a47cc99491e6e94e92f96b" name="a04f9d9a018a47cc99491e6e94e92f96b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04f9d9a018a47cc99491e6e94e92f96b">&#9670;&#160;</a></span>LZMA_FILTER_LZMA2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LZMA_FILTER_LZMA2&#160;&#160;&#160;<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(0x21)</td>
</tr>
</table>
</div><div class="memdoc">
<p>LZMA2 Filter ID. </p>
<p>Usually you want this instead of LZMA1. Compared to LZMA1, LZMA2 adds support for LZMA_SYNC_FLUSH, uncompressed chunks (smaller expansion when trying to compress incompressible data), possibility to change lc/lp/pb in the middle of encoding, and some other internal improvements. </p>
</div>
</div>
<a id="a73ed0293db4e59d73a702d66fef537c3" name="a73ed0293db4e59d73a702d66fef537c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73ed0293db4e59d73a702d66fef537c3">&#9670;&#160;</a></span>lzma_set_ext_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define lzma_set_ext_size</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>opt_lzma2</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>u64size</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> { \</div>
<div class="line"> (opt_lzma2).ext_size_low = (uint32_t)(u64size); \</div>
<div class="line"> (opt_lzma2).ext_size_high = (uint32_t)((uint64_t)(u64size) &gt;&gt; 32); \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Macro to set the 64-bit uncompressed size in ext_size_*. </p>
<p>This might be convenient when decoding using LZMA_FILTER_LZMA1EXT. This isn't used with LZMA_FILTER_LZMA1 or LZMA_FILTER_LZMA2. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="acf740075f86fa61dc408d6d0dbf8fa80" name="acf740075f86fa61dc408d6d0dbf8fa80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf740075f86fa61dc408d6d0dbf8fa80">&#9670;&#160;</a></span>lzma_match_finder</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#acf740075f86fa61dc408d6d0dbf8fa80">lzma_match_finder</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Match finders. </p>
<p>Match finder has major effect on both speed and compression ratio. Usually hash chains are faster than binary trees.</p>
<p>If you will use LZMA_SYNC_FLUSH often, the hash chains may be a better choice, because binary trees get much higher compression ratio penalty with LZMA_SYNC_FLUSH.</p>
<p>The memory usage formulas are only rough estimates, which are closest to reality when dict_size is a power of two. The formulas are more complex in reality, and can also change a little between liblzma versions. Use <a class="el" href="filter_8h.html#a730f9391e85a5979bcd1b32643ae7176" title="Calculate approximate memory requirements for raw encoder.">lzma_raw_encoder_memusage()</a> to get more accurate estimate of memory usage. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="acf740075f86fa61dc408d6d0dbf8fa80a6eb38f634021a192cada8a978b5de93b" name="acf740075f86fa61dc408d6d0dbf8fa80a6eb38f634021a192cada8a978b5de93b"></a>LZMA_MF_HC3&#160;</td><td class="fielddoc"><p>Hash Chain with 2- and 3-byte hashing. </p>
<p>Minimum nice_len: 3</p>
<p>Memory usage:</p><ul>
<li>dict_size &lt;= 16 MiB: dict_size * 7.5</li>
<li>dict_size &gt; 16 MiB: dict_size * 5.5 + 64 MiB </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="acf740075f86fa61dc408d6d0dbf8fa80a0944620f4949289c2ebde613cae12b04" name="acf740075f86fa61dc408d6d0dbf8fa80a0944620f4949289c2ebde613cae12b04"></a>LZMA_MF_HC4&#160;</td><td class="fielddoc"><p>Hash Chain with 2-, 3-, and 4-byte hashing. </p>
<p>Minimum nice_len: 4</p>
<p>Memory usage:</p><ul>
<li>dict_size &lt;= 32 MiB: dict_size * 7.5</li>
<li>dict_size &gt; 32 MiB: dict_size * 6.5 </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="acf740075f86fa61dc408d6d0dbf8fa80a7ab212446c3f6520f5c33ccfa4b3386a" name="acf740075f86fa61dc408d6d0dbf8fa80a7ab212446c3f6520f5c33ccfa4b3386a"></a>LZMA_MF_BT2&#160;</td><td class="fielddoc"><p>Binary Tree with 2-byte hashing. </p>
<p>Minimum nice_len: 2</p>
<p>Memory usage: dict_size * 9.5 </p>
</td></tr>
<tr><td class="fieldname"><a id="acf740075f86fa61dc408d6d0dbf8fa80a983ecc59bf3e07a7c43fea551ea11865" name="acf740075f86fa61dc408d6d0dbf8fa80a983ecc59bf3e07a7c43fea551ea11865"></a>LZMA_MF_BT3&#160;</td><td class="fielddoc"><p>Binary Tree with 2- and 3-byte hashing. </p>
<p>Minimum nice_len: 3</p>
<p>Memory usage:</p><ul>
<li>dict_size &lt;= 16 MiB: dict_size * 11.5</li>
<li>dict_size &gt; 16 MiB: dict_size * 9.5 + 64 MiB </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="acf740075f86fa61dc408d6d0dbf8fa80a468c32cdea9861d1ff98478364e6c547" name="acf740075f86fa61dc408d6d0dbf8fa80a468c32cdea9861d1ff98478364e6c547"></a>LZMA_MF_BT4&#160;</td><td class="fielddoc"><p>Binary Tree with 2-, 3-, and 4-byte hashing. </p>
<p>Minimum nice_len: 4</p>
<p>Memory usage:</p><ul>
<li>dict_size &lt;= 32 MiB: dict_size * 11.5</li>
<li>dict_size &gt; 32 MiB: dict_size * 10.5 </li>
</ul>
</td></tr>
</table>
</div>
</div>
<a id="a1032316e3075c2c8086fb17104b91866" name="a1032316e3075c2c8086fb17104b91866"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1032316e3075c2c8086fb17104b91866">&#9670;&#160;</a></span>lzma_mode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#a1032316e3075c2c8086fb17104b91866">lzma_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Compression modes. </p>
<p>This selects the function used to analyze the data produced by the match finder. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a1032316e3075c2c8086fb17104b91866ac8c0926a91b4f756e11121efd30648cc" name="a1032316e3075c2c8086fb17104b91866ac8c0926a91b4f756e11121efd30648cc"></a>LZMA_MODE_FAST&#160;</td><td class="fielddoc"><p>Fast compression. </p>
<p>Fast mode is usually at its best when combined with a hash chain match finder. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1032316e3075c2c8086fb17104b91866ad37225f30d5cd21fc8bb3eaba283bbf9" name="a1032316e3075c2c8086fb17104b91866ad37225f30d5cd21fc8bb3eaba283bbf9"></a>LZMA_MODE_NORMAL&#160;</td><td class="fielddoc"><p>Normal compression. </p>
<p>This is usually notably slower than fast mode. Use this together with binary tree match finders to expose the full potential of the LZMA1 or LZMA2 encoder. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="aefba1f7214ddcf8cd408a0702e8642b5" name="aefba1f7214ddcf8cd408a0702e8642b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefba1f7214ddcf8cd408a0702e8642b5">&#9670;&#160;</a></span>lzma_mf_is_supported()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">lzma_bool</a> lzma_mf_is_supported </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#acf740075f86fa61dc408d6d0dbf8fa80">lzma_match_finder</a></td> <td class="paramname"><span class="paramname"><em>match_finder</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Test if given match finder is supported. </p>
<p>It is safe to call this with a value that isn't listed in <a class="el" href="#acf740075f86fa61dc408d6d0dbf8fa80" title="Match finders.">lzma_match_finder</a> enumeration; the return value will be false.</p>
<p>There is no way to list which match finders are available in this particular liblzma version and build. It would be useless, because a new match finder, which the application developer wasn't aware, could require giving additional options to the encoder that the older match finders don't need.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">match_finder</td><td>Match finder ID</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59" title="Boolean.">lzma_bool</a>:<ul>
<li>true if the match finder is supported by this liblzma build.</li>
<li>false otherwise. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ad1add1c2600fdbb3d737e4fb3465dfcb" name="ad1add1c2600fdbb3d737e4fb3465dfcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1add1c2600fdbb3d737e4fb3465dfcb">&#9670;&#160;</a></span>lzma_mode_is_supported()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">lzma_bool</a> lzma_mode_is_supported </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#a1032316e3075c2c8086fb17104b91866">lzma_mode</a></td> <td class="paramname"><span class="paramname"><em>mode</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Test if given compression mode is supported. </p>
<p>It is safe to call this with a value that isn't listed in <a class="el" href="#a1032316e3075c2c8086fb17104b91866" title="Compression modes.">lzma_mode</a> enumeration; the return value will be false.</p>
<p>There is no way to list which modes are available in this particular liblzma version and build. It would be useless, because a new compression mode, which the application developer wasn't aware, could require giving additional options to the encoder that the older modes don't need.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mode</td><td>Mode ID.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59" title="Boolean.">lzma_bool</a>:<ul>
<li>true if the compression mode is supported by this liblzma build.</li>
<li>false otherwise. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="aa62c28944fe3575653a4c25780400d77" name="aa62c28944fe3575653a4c25780400d77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa62c28944fe3575653a4c25780400d77">&#9670;&#160;</a></span>lzma_lzma_preset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">lzma_bool</a> lzma_lzma_preset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__options__lzma.html">lzma_options_lzma</a> *</td> <td class="paramname"><span class="paramname"><em>options</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t</td> <td class="paramname"><span class="paramname"><em>preset</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set a compression preset to <a class="el" href="structlzma__options__lzma.html" title="Options specific to the LZMA1 and LZMA2 filters.">lzma_options_lzma</a> structure. </p>
<p>0 is the fastest and 9 is the slowest. These match the switches -0 .. -9 of the xz command line tool. In addition, it is possible to bitwise-or flags to the preset. Currently only LZMA_PRESET_EXTREME is supported. The flags are defined in <a class="el" href="container_8h.html" title="File formats.">container.h</a>, because the flags are used also with <a class="el" href="container_8h.html#acbdad999c544872f0f5d242f0d1a4ed4" title="Initialize .xz Stream encoder using a preset number.">lzma_easy_encoder()</a>.</p>
<p>The preset levels are subject to changes between liblzma versions.</p>
<p>This function is available only if LZMA1 or LZMA2 encoder has been enabled when building liblzma.</p>
<p>If features (like certain match finders) have been disabled at build time, then the function may return success (false) even though the resulting LZMA1/LZMA2 options may not be usable for encoder initialization (LZMA_OPTIONS_ERROR).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">options</td><td>Pointer to LZMA1 or LZMA2 options to be filled </td></tr>
<tr><td class="paramdir"></td><td class="paramname">preset</td><td>Preset level bitwse-ORed with preset flags</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59" title="Boolean.">lzma_bool</a>:<ul>
<li>true if the preset is not supported (failure).</li>
<li>false otherwise (success). </li>
</ul>
</dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html">lzma</a></li><li class="navelem"><a class="el" href="lzma12_8h.html">lzma12.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,22 @@
var lzma12_8h =
[
[ "lzma_options_lzma", "structlzma__options__lzma.html", "structlzma__options__lzma" ],
[ "LZMA_FILTER_LZMA1", "lzma12_8h.html#accedd16abcb758e7f748bac1102abda9", null ],
[ "LZMA_FILTER_LZMA1EXT", "lzma12_8h.html#a98a7fd42aa78a273a6b138629e46772d", null ],
[ "LZMA_FILTER_LZMA2", "lzma12_8h.html#a04f9d9a018a47cc99491e6e94e92f96b", null ],
[ "lzma_set_ext_size", "lzma12_8h.html#a73ed0293db4e59d73a702d66fef537c3", null ],
[ "lzma_match_finder", "lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80", [
[ "LZMA_MF_HC3", "lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a6eb38f634021a192cada8a978b5de93b", null ],
[ "LZMA_MF_HC4", "lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a0944620f4949289c2ebde613cae12b04", null ],
[ "LZMA_MF_BT2", "lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a7ab212446c3f6520f5c33ccfa4b3386a", null ],
[ "LZMA_MF_BT3", "lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a983ecc59bf3e07a7c43fea551ea11865", null ],
[ "LZMA_MF_BT4", "lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a468c32cdea9861d1ff98478364e6c547", null ]
] ],
[ "lzma_mode", "lzma12_8h.html#a1032316e3075c2c8086fb17104b91866", [
[ "LZMA_MODE_FAST", "lzma12_8h.html#a1032316e3075c2c8086fb17104b91866ac8c0926a91b4f756e11121efd30648cc", null ],
[ "LZMA_MODE_NORMAL", "lzma12_8h.html#a1032316e3075c2c8086fb17104b91866ad37225f30d5cd21fc8bb3eaba283bbf9", null ]
] ],
[ "lzma_mf_is_supported", "lzma12_8h.html#aefba1f7214ddcf8cd408a0702e8642b5", null ],
[ "lzma_mode_is_supported", "lzma12_8h.html#ad1add1c2600fdbb3d737e4fb3465dfcb", null ],
[ "lzma_lzma_preset", "lzma12_8h.html#aa62c28944fe3575653a4c25780400d77", null ]
];

View File

@@ -0,0 +1,162 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('lzma_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> </div>
<div class="headertitle"><div class="title">lzma.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>The public API of liblzma data compression library.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stddef.h&gt;</code><br />
<code>#include &lt;inttypes.h&gt;</code><br />
<code>#include &lt;limits.h&gt;</code><br />
<code>#include &quot;<a class="el" href="version_8h.html">lzma/version.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="base_8h.html">lzma/base.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="vli_8h.html">lzma/vli.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="check_8h.html">lzma/check.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="filter_8h.html">lzma/filter.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="bcj_8h.html">lzma/bcj.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="delta_8h.html">lzma/delta.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="lzma12_8h.html">lzma/lzma12.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="container_8h.html">lzma/container.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="stream__flags_8h.html">lzma/stream_flags.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="block_8h.html">lzma/block.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="index_8h.html">lzma/index.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="index__hash_8h.html">lzma/index_hash.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="hardware_8h.html">lzma/hardware.h</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:acecee981dc3f28418f54035e20d7e578" id="r_acecee981dc3f28418f54035e20d7e578"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acecee981dc3f28418f54035e20d7e578">UINT32_C</a>(n)</td></tr>
<tr class="separator:acecee981dc3f28418f54035e20d7e578"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6548785b283106d4d7bfc7a4ef87fc4" id="r_ac6548785b283106d4d7bfc7a4ef87fc4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac6548785b283106d4d7bfc7a4ef87fc4">UINT64_C</a>(n)</td></tr>
<tr class="separator:ac6548785b283106d4d7bfc7a4ef87fc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5eb23180f7cc12b7d6c04a8ec067fdd" id="r_ab5eb23180f7cc12b7d6c04a8ec067fdd"><td class="memItemLeft" align="right" valign="top"><a id="ab5eb23180f7cc12b7d6c04a8ec067fdd" name="ab5eb23180f7cc12b7d6c04a8ec067fdd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>UINT32_MAX</b>&#160;&#160;&#160;(UINT32_C(4294967295))</td></tr>
<tr class="separator:ab5eb23180f7cc12b7d6c04a8ec067fdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30654b4b67d97c42ca3f9b6052dda916" id="r_a30654b4b67d97c42ca3f9b6052dda916"><td class="memItemLeft" align="right" valign="top"><a id="a30654b4b67d97c42ca3f9b6052dda916" name="a30654b4b67d97c42ca3f9b6052dda916"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>UINT64_MAX</b>&#160;&#160;&#160;(UINT64_C(18446744073709551615))</td></tr>
<tr class="separator:a30654b4b67d97c42ca3f9b6052dda916"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55854429aba444dbb0bd8325fed4eece" id="r_a55854429aba444dbb0bd8325fed4eece"><td class="memItemLeft" align="right" valign="top"><a id="a55854429aba444dbb0bd8325fed4eece" name="a55854429aba444dbb0bd8325fed4eece"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>lzma_nothrow</b></td></tr>
<tr class="separator:a55854429aba444dbb0bd8325fed4eece"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbc570ea8654f0c96699e38249ac8032" id="r_adbc570ea8654f0c96699e38249ac8032"><td class="memItemLeft" align="right" valign="top"><a id="adbc570ea8654f0c96699e38249ac8032" name="adbc570ea8654f0c96699e38249ac8032"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>lzma_attr_pure</b>&#160;&#160;&#160;lzma_attribute((__pure__))</td></tr>
<tr class="separator:adbc570ea8654f0c96699e38249ac8032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aaafb664f89a525ff22530d61704556" id="r_a0aaafb664f89a525ff22530d61704556"><td class="memItemLeft" align="right" valign="top"><a id="a0aaafb664f89a525ff22530d61704556" name="a0aaafb664f89a525ff22530d61704556"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>lzma_attr_const</b>&#160;&#160;&#160;lzma_attribute((__const__))</td></tr>
<tr class="separator:a0aaafb664f89a525ff22530d61704556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af15e147fcd7986ec4dd82660aec2b695" id="r_af15e147fcd7986ec4dd82660aec2b695"><td class="memItemLeft" align="right" valign="top"><a id="af15e147fcd7986ec4dd82660aec2b695" name="af15e147fcd7986ec4dd82660aec2b695"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>lzma_attr_warn_unused_result</b>&#160;&#160;&#160; lzma_attribute((__warn_unused_result__))</td></tr>
<tr class="separator:af15e147fcd7986ec4dd82660aec2b695"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af828f75941ade54f8379bb847da37349" id="r_af828f75941ade54f8379bb847da37349"><td class="memItemLeft" align="right" valign="top"><a id="af828f75941ade54f8379bb847da37349" name="af828f75941ade54f8379bb847da37349"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_H_INTERNAL</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:af828f75941ade54f8379bb847da37349"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The public API of liblzma data compression library. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="acecee981dc3f28418f54035e20d7e578" name="acecee981dc3f28418f54035e20d7e578"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acecee981dc3f28418f54035e20d7e578">&#9670;&#160;</a></span>UINT32_C</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define UINT32_C</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>n</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">n ## U</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac6548785b283106d4d7bfc7a4ef87fc4" name="ac6548785b283106d4d7bfc7a4ef87fc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6548785b283106d4d7bfc7a4ef87fc4">&#9670;&#160;</a></span>UINT64_C</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define UINT64_C</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>n</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">n ## UL</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="lzma_8h.html">lzma.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#fcfcfc;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 582 B

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#000000;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

View File

@@ -0,0 +1,149 @@
#nav-tree .children_ul {
margin:0;
padding:4px;
}
#nav-tree ul {
list-style:none outside none;
margin:0px;
padding:0px;
}
#nav-tree li {
white-space:nowrap;
margin:0px;
padding:0px;
}
#nav-tree .plus {
margin:0px;
}
#nav-tree .selected {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: var(--nav-text-active-color);
text-shadow: var(--nav-text-active-shadow);
}
#nav-tree .selected .arrow {
color: var(--nav-arrow-selected-color);
text-shadow: none;
}
#nav-tree img {
margin:0px;
padding:0px;
border:0px;
vertical-align: middle;
}
#nav-tree a {
text-decoration:none;
padding:0px;
margin:0px;
}
#nav-tree .label {
margin:0px;
padding:0px;
font: 12px var(--font-family-nav);
}
#nav-tree .label a {
padding:2px;
}
#nav-tree .selected a {
text-decoration:none;
color:var(--nav-text-active-color);
}
#nav-tree .children_ul {
margin:0px;
padding:0px;
}
#nav-tree .item {
margin:0px;
padding:0px;
}
#nav-tree {
padding: 0px 0px;
font-size:14px;
overflow:auto;
}
#doc-content {
overflow:auto;
display:block;
padding:0px;
margin:0px;
-webkit-overflow-scrolling : touch; /* iOS 5+ */
}
#side-nav {
padding:0 6px 0 0;
margin: 0px;
display:block;
position: absolute;
left: 0px;
width: $width;
overflow : hidden;
}
.ui-resizable .ui-resizable-handle {
display:block;
}
.ui-resizable-e {
background-image:var(--nav-splitbar-image);
background-size:100%;
background-repeat:repeat-y;
background-attachment: scroll;
cursor:ew-resize;
height:100%;
right:0;
top:0;
width:6px;
}
.ui-resizable-handle {
display:none;
font-size:0.1px;
position:absolute;
z-index:1;
}
#nav-tree-contents {
margin: 6px 0px 0px 0px;
}
#nav-tree {
background-repeat:repeat-x;
background-color: var(--nav-background-color);
-webkit-overflow-scrolling : touch; /* iOS 5+ */
}
#nav-sync {
position:absolute;
top:5px;
right:24px;
z-index:0;
}
#nav-sync img {
opacity:0.3;
}
#nav-sync img:hover {
opacity:0.9;
}
@media print
{
#nav-tree { display: none; }
div.ui-resizable-handle { display: none; position: relative; }
}

View File

@@ -0,0 +1,483 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function initNavTree(toroot,relpath) {
let navTreeSubIndices = [];
const ARROW_DOWN = '&#9660;';
const ARROW_RIGHT = '&#9658;';
const NAVPATH_COOKIE_NAME = ''+'navpath';
const getData = function(varName) {
const i = varName.lastIndexOf('/');
const n = i>=0 ? varName.substring(i+1) : varName;
return eval(n.replace(/-/g,'_'));
}
const stripPath = function(uri) {
return uri.substring(uri.lastIndexOf('/')+1);
}
const stripPath2 = function(uri) {
const i = uri.lastIndexOf('/');
const s = uri.substring(i+1);
const m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/);
return m ? uri.substring(i-6) : s;
}
const hashValue = function() {
return $(location).attr('hash').substring(1).replace(/[^\w-]/g,'');
}
const hashUrl = function() {
return '#'+hashValue();
}
const pathName = function() {
return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;()]/g, '');
}
const storeLink = function(link) {
if (!$("#nav-sync").hasClass('sync')) {
Cookie.writeSetting(NAVPATH_COOKIE_NAME,link,0);
}
}
const deleteLink = function() {
Cookie.eraseSetting(NAVPATH_COOKIE_NAME);
}
const cachedLink = function() {
return Cookie.readSetting(NAVPATH_COOKIE_NAME,'');
}
const getScript = function(scriptName,func) {
const head = document.getElementsByTagName("head")[0];
const script = document.createElement('script');
script.id = scriptName;
script.type = 'text/javascript';
script.onload = func;
script.src = scriptName+'.js';
head.appendChild(script);
}
const createIndent = function(o,domNode,node) {
let level=-1;
let n = node;
while (n.parentNode) { level++; n=n.parentNode; }
if (node.childrenData) {
const imgNode = document.createElement("span");
imgNode.className = 'arrow';
imgNode.style.paddingLeft=(16*level).toString()+'px';
imgNode.innerHTML=ARROW_RIGHT;
node.plus_img = imgNode;
node.expandToggle = document.createElement("a");
node.expandToggle.href = "javascript:void(0)";
node.expandToggle.onclick = function() {
if (node.expanded) {
$(node.getChildrenUL()).slideUp("fast");
node.plus_img.innerHTML=ARROW_RIGHT;
node.expanded = false;
} else {
expandNode(o, node, false, true);
}
}
node.expandToggle.appendChild(imgNode);
domNode.appendChild(node.expandToggle);
} else {
let span = document.createElement("span");
span.className = 'arrow';
span.style.width = 16*(level+1)+'px';
span.innerHTML = '&#160;';
domNode.appendChild(span);
}
}
let animationInProgress = false;
const gotoAnchor = function(anchor,aname) {
let pos, docContent = $('#doc-content');
let ancParent = $(anchor.parent());
if (ancParent.hasClass('memItemLeft') || ancParent.hasClass('memtitle') ||
ancParent.hasClass('fieldname') || ancParent.hasClass('fieldtype') ||
ancParent.is(':header')) {
pos = ancParent.offset().top;
} else if (anchor.position()) {
pos = anchor.offset().top;
}
if (pos) {
const dcOffset = docContent.offset().top;
const dcHeight = docContent.height();
const dcScrHeight = docContent[0].scrollHeight
const dcScrTop = docContent.scrollTop();
let dist = Math.abs(Math.min(pos-dcOffset,dcScrHeight-dcHeight-dcScrTop));
animationInProgress = true;
docContent.animate({
scrollTop: pos + dcScrTop - dcOffset
},Math.max(50,Math.min(500,dist)),function() {
animationInProgress=false;
if (anchor.parent().attr('class')=='memItemLeft') {
let rows = $('.memberdecls tr[class$="'+hashValue()+'"]');
glowEffect(rows.children(),300); // member without details
} else if (anchor.parent().attr('class')=='fieldname') {
glowEffect(anchor.parent().parent(),1000); // enum value
} else if (anchor.parent().attr('class')=='fieldtype') {
glowEffect(anchor.parent().parent(),1000); // struct field
} else if (anchor.parent().is(":header")) {
glowEffect(anchor.parent(),1000); // section header
} else {
glowEffect(anchor.next(),1000); // normal member
}
});
}
}
const newNode = function(o, po, text, link, childrenData, lastNode) {
const node = {
children : [],
childrenData : childrenData,
depth : po.depth + 1,
relpath : po.relpath,
isLast : lastNode,
li : document.createElement("li"),
parentNode : po,
itemDiv : document.createElement("div"),
labelSpan : document.createElement("span"),
label : document.createTextNode(text),
expanded : false,
childrenUL : null,
getChildrenUL : function() {
if (!this.childrenUL) {
this.childrenUL = document.createElement("ul");
this.childrenUL.className = "children_ul";
this.childrenUL.style.display = "none";
this.li.appendChild(node.childrenUL);
}
return node.childrenUL;
},
};
node.itemDiv.className = "item";
node.labelSpan.className = "label";
createIndent(o,node.itemDiv,node);
node.itemDiv.appendChild(node.labelSpan);
node.li.appendChild(node.itemDiv);
const a = document.createElement("a");
node.labelSpan.appendChild(a);
po.getChildrenUL().appendChild(node.li);
a.appendChild(node.label);
if (link) {
let url;
if (link.substring(0,1)=='^') {
url = link.substring(1);
link = url;
} else {
url = node.relpath+link;
}
a.className = stripPath(link.replace('#',':'));
if (link.indexOf('#')!=-1) {
const aname = '#'+link.split('#')[1];
const srcPage = stripPath(pathName());
const targetPage = stripPath(link.split('#')[0]);
a.href = srcPage!=targetPage ? url : aname;
a.onclick = function() {
storeLink(link);
aPPar = $(a).parent().parent();
if (!aPPar.hasClass('selected')) {
$('.item').removeClass('selected');
$('.item').removeAttr('id');
aPPar.addClass('selected');
aPPar.attr('id','selected');
}
const anchor = $(aname);
gotoAnchor(anchor,aname);
};
} else {
a.href = url;
a.onclick = () => storeLink(link);
}
} else if (childrenData != null) {
a.className = "nolink";
a.href = "javascript:void(0)";
a.onclick = node.expandToggle.onclick;
}
return node;
}
const showRoot = function() {
const headerHeight = $("#top").height();
const footerHeight = $("#nav-path").height();
const windowHeight = $(window).height() - headerHeight - footerHeight;
(function() { // retry until we can scroll to the selected item
try {
const navtree=$('#nav-tree');
navtree.scrollTo('#selected',100,{offset:-windowHeight/2});
} catch (err) {
setTimeout(arguments.callee, 0);
}
})();
}
const expandNode = function(o, node, imm, setFocus) {
if (node.childrenData && !node.expanded) {
if (typeof(node.childrenData)==='string') {
const varName = node.childrenData;
getScript(node.relpath+varName,function() {
node.childrenData = getData(varName);
expandNode(o, node, imm, setFocus);
});
} else {
if (!node.childrenVisited) {
getNode(o, node);
}
$(node.getChildrenUL()).slideDown("fast");
node.plus_img.innerHTML = ARROW_DOWN;
node.expanded = true;
if (setFocus) {
$(node.expandToggle).focus();
}
}
}
}
const glowEffect = function(n,duration) {
n.addClass('glow').delay(duration).queue(function(next) {
$(this).removeClass('glow');next();
});
}
const highlightAnchor = function() {
const aname = hashUrl();
const anchor = $(aname);
gotoAnchor(anchor,aname);
}
const selectAndHighlight = function(hash,n) {
let a;
if (hash) {
const link=stripPath(pathName())+':'+hash.substring(1);
a=$('.item a[class$="'+link+'"]');
}
if (a && a.length) {
a.parent().parent().addClass('selected');
a.parent().parent().attr('id','selected');
highlightAnchor();
} else if (n) {
$(n.itemDiv).addClass('selected');
$(n.itemDiv).attr('id','selected');
}
let topOffset=5;
if ($('#nav-tree-contents .item:first').hasClass('selected')) {
topOffset+=25;
}
$('#nav-sync').css('top',topOffset+'px');
showRoot();
}
const showNode = function(o, node, index, hash) {
if (node && node.childrenData) {
if (typeof(node.childrenData)==='string') {
const varName = node.childrenData;
getScript(node.relpath+varName,function() {
node.childrenData = getData(varName);
showNode(o,node,index,hash);
});
} else {
if (!node.childrenVisited) {
getNode(o, node);
}
$(node.getChildrenUL()).css({'display':'block'});
node.plus_img.innerHTML = ARROW_DOWN;
node.expanded = true;
const n = node.children[o.breadcrumbs[index]];
if (index+1<o.breadcrumbs.length) {
showNode(o,n,index+1,hash);
} else if (typeof(n.childrenData)==='string') {
const varName = n.childrenData;
getScript(n.relpath+varName,function() {
n.childrenData = getData(varName);
node.expanded=false;
showNode(o,node,index,hash); // retry with child node expanded
});
} else {
const rootBase = stripPath(o.toroot.replace(/\..+$/, ''));
if (rootBase=="index" || rootBase=="pages" || rootBase=="search") {
expandNode(o, n, true, false);
}
selectAndHighlight(hash,n);
}
}
} else {
selectAndHighlight(hash);
}
}
const removeToInsertLater = function(element) {
const parentNode = element.parentNode;
const nextSibling = element.nextSibling;
parentNode.removeChild(element);
return function() {
if (nextSibling) {
parentNode.insertBefore(element, nextSibling);
} else {
parentNode.appendChild(element);
}
};
}
const getNode = function(o, po) {
const insertFunction = removeToInsertLater(po.li);
po.childrenVisited = true;
const l = po.childrenData.length-1;
for (let i in po.childrenData) {
const nodeData = po.childrenData[i];
po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], i==l);
}
insertFunction();
}
const gotoNode = function(o,subIndex,root,hash,relpath) {
const nti = navTreeSubIndices[subIndex][root+hash];
o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]);
if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index
navTo(o,NAVTREE[0][1],"",relpath);
$('.item').removeClass('selected');
$('.item').removeAttr('id');
}
if (o.breadcrumbs) {
o.breadcrumbs.unshift(0); // add 0 for root node
showNode(o, o.node, 0, hash);
}
}
const navTo = function(o,root,hash,relpath) {
const link = cachedLink();
if (link) {
const parts = link.split('#');
root = parts[0];
hash = parts.length>1 ? '#'+parts[1].replace(/[^\w-]/g,'') : '';
}
if (hash.match(/^#l\d+$/)) {
const anchor=$('a[name='+hash.substring(1)+']');
glowEffect(anchor.parent(),1000); // line number
hash=''; // strip line number anchors
}
const url=root+hash;
let i=-1;
while (NAVTREEINDEX[i+1]<=url) i++;
if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index
if (navTreeSubIndices[i]) {
gotoNode(o,i,root,hash,relpath)
} else {
getScript(relpath+'navtreeindex'+i,function() {
navTreeSubIndices[i] = eval('NAVTREEINDEX'+i);
if (navTreeSubIndices[i]) {
gotoNode(o,i,root,hash,relpath);
}
});
}
}
const showSyncOff = function(n,relpath) {
n.html('<img src="'+relpath+'sync_off.png" title="'+SYNCOFFMSG+'"/>');
}
const showSyncOn = function(n,relpath) {
n.html('<img src="'+relpath+'sync_on.png" title="'+SYNCONMSG+'"/>');
}
const o = {
toroot : toroot,
node : {
childrenData : NAVTREE,
children : [],
childrenUL : document.createElement("ul"),
getChildrenUL : function() { return this.childrenUL },
li : document.getElementById("nav-tree-contents"),
depth : 0,
relpath : relpath,
expanded : false,
isLast : true,
plus_img : document.createElement("span"),
},
};
o.node.li.appendChild(o.node.childrenUL);
o.node.plus_img.className = 'arrow';
o.node.plus_img.innerHTML = ARROW_RIGHT;
const navSync = $('#nav-sync');
if (cachedLink()) {
showSyncOff(navSync,relpath);
navSync.removeClass('sync');
} else {
showSyncOn(navSync,relpath);
}
navSync.click(() => {
const navSync = $('#nav-sync');
if (navSync.hasClass('sync')) {
navSync.removeClass('sync');
showSyncOff(navSync,relpath);
storeLink(stripPath2(pathName())+hashUrl());
} else {
navSync.addClass('sync');
showSyncOn(navSync,relpath);
deleteLink();
}
});
navTo(o,toroot,hashUrl(),relpath);
showRoot();
$(window).bind('hashchange', () => {
if (!animationInProgress) {
if (window.location.hash && window.location.hash.length>1) {
let a;
if ($(location).attr('hash')) {
const clslink=stripPath(pathName())+':'+hashValue();
a=$('.item a[class$="'+clslink.replace(/</g,'\\3c ')+'"]');
}
if (a==null || !$(a).parent().parent().hasClass('selected')) {
$('.item').removeClass('selected');
$('.item').removeAttr('id');
}
const link=stripPath2(pathName());
navTo(o,link,hashUrl(),relpath);
} else {
$('#doc-content').scrollTop(0);
$('.item').removeClass('selected');
$('.item').removeAttr('id');
navTo(o,toroot,hashUrl(),relpath);
}
}
});
$("div.toc a[href]").click(function(e) {
e.preventDefault();
const aname = $(this).attr("href");
gotoAnchor($(aname),aname);
});
}
/* @license-end */

View File

@@ -0,0 +1,56 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
var NAVTREE =
[
[ "liblzma (XZ Utils)", "index.html", [
[ "Data Structures", "annotated.html", [
[ "Data Structures", "annotated.html", "annotated_dup" ],
[ "Data Fields", "functions.html", [
[ "All", "functions.html", null ],
[ "Variables", "functions_vars.html", null ]
] ]
] ],
[ "Files", "files.html", [
[ "File List", "files.html", "files_dup" ],
[ "Globals", "globals.html", [
[ "All", "globals.html", "globals_dup" ],
[ "Functions", "globals_func.html", null ],
[ "Typedefs", "globals_type.html", null ],
[ "Enumerations", "globals_enum.html", null ],
[ "Enumerator", "globals_eval.html", null ],
[ "Macros", "globals_defs.html", null ]
] ]
] ]
] ]
];
var NAVTREEINDEX =
[
"annotated.html",
"structlzma__index__iter.html#a426705df8dde4b094a42f91ea20a46ac"
];
var SYNCONMSG = 'click to disable panel synchronization';
var SYNCOFFMSG = 'click to enable panel synchronization';

View File

@@ -0,0 +1,253 @@
var NAVTREEINDEX0 =
{
"annotated.html":[0,0],
"base_8h.html":[1,0,0,0],
"base_8h.html#a05805a07754b2aa22f7d443eb7ece41a":[1,0,0,0,5],
"base_8h.html#a05805a07754b2aa22f7d443eb7ece41aa01aa8862db0188a8b3f15753daf7228e":[1,0,0,0,5,0],
"base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957":[1,0,0,0,8],
"base_8h.html#a418b210cf206782a73cd9de7dc27f670":[1,0,0,0,11],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6e":[1,0,0,0,6],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea2dac8d451cb38da8550653d0d7be4ec2":[1,0,0,0,6,11],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea3aa72729a844790e39b4e1101a731dfb":[1,0,0,0,6,9],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea567e1464feca03900a5425fb45b2f5b6":[1,0,0,0,6,5],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea61600315d14264e71b9d84c9e0dc8c2f":[1,0,0,0,6,14],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea63b7a58949854eb9307f8e351358d56c":[1,0,0,0,6,7],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea6cf28e5345851f13bd798a4eab8cc939":[1,0,0,0,6,12],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea8ef14e6224613ad41131f636680db548":[1,0,0,0,6,16],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea91ecc6fab14c13ad36224afbcb4e55c4":[1,0,0,0,6,1],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea989f393a1772d85bf545a9da48fc7ac2":[1,0,0,0,6,3],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea9ca0ecb62459bdc84d6af47d16b23ae5":[1,0,0,0,6,10],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6ea9d8db142d9eb52fd4144067960134bd7":[1,0,0,0,6,13],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa1d705effe6026f32c0fe9756b6326bc":[1,0,0,0,6,6],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa5b648c18da0f584f621cfdf7fef1bdb":[1,0,0,0,6,4],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa720d30092d504d7d138a320db1905ef":[1,0,0,0,6,2],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaa9ff6dfee36b7aba4fae60706d37425f":[1,0,0,0,6,8],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6eac003781ccb81bbd5578e29abed8a8cfe":[1,0,0,0,6,0],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6eae310792b4e549cf8710e0f3c945d7541":[1,0,0,0,6,19],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaecbf288ad566d7e9be964fe8aaae1f7b":[1,0,0,0,6,15],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaf08066ae531b78d7cd063de49759a7eb":[1,0,0,0,6,17],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6eaf509a2a300729012881f244e29c3e7b1":[1,0,0,0,6,18],
"base_8h.html#a8494e0457e1463d6d2b6836018d87b6eafc98304440d802c1d3f20cb027e19995":[1,0,0,0,6,20],
"base_8h.html#a854ff37464ae1225febf14db1af43308":[1,0,0,0,9],
"base_8h.html#aa92efcbf3cecfcac79c81fc645fce77e":[1,0,0,0,7],
"base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea14d75152afcda85d215e877fdd9c4170":[1,0,0,0,7,1],
"base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea7d24fb3c6c144d13bcb091195b8ebec1":[1,0,0,0,7,4],
"base_8h.html#aa92efcbf3cecfcac79c81fc645fce77ea868472b76492afcaef54020a481890b1":[1,0,0,0,7,0],
"base_8h.html#aa92efcbf3cecfcac79c81fc645fce77eaab46f0d7c721f1ec377e9575eab2586f":[1,0,0,0,7,2],
"base_8h.html#aa92efcbf3cecfcac79c81fc645fce77eaf7bf60e3555a4d10ffad3ecc3d2e01f1":[1,0,0,0,7,3],
"base_8h.html#ab1a60127c640135687a5bcc232cec906":[1,0,0,0,4],
"base_8h.html#ab6447cd68eeecbd6b88f21daeb8ce751":[1,0,0,0,10],
"base_8h.html#abbc819c74b484c846825ae1388a50a59":[1,0,0,0,3],
"base_8h.html#ac871bc2ead5d482c6d6b3d51bfec365c":[1,0,0,0,12],
"base_8h.html#af31f0c8b6f14359cd082b9559f7f3e01":[1,0,0,0,2],
"base_8h.html#afc49d4cf75b73128a167df3407505f7b":[1,0,0,0,13],
"bcj_8h.html":[1,0,0,1],
"bcj_8h.html#a01765158cd31cac21b272b180628fc4b":[1,0,0,1,7],
"bcj_8h.html#a2fe36218a38f400e1ce40820758f7427":[1,0,0,1,3],
"bcj_8h.html#a495a58f63ebc7a8b756099efba492f8b":[1,0,0,1,4],
"bcj_8h.html#a50941088e93ef659c6b000bbcaf58143":[1,0,0,1,6],
"bcj_8h.html#a5ec62e7e5e7df3d9af5b2ea3f857689a":[1,0,0,1,5],
"bcj_8h.html#a932e9d66e945f5601b8fad7445a9b40c":[1,0,0,1,8],
"bcj_8h.html#aa9eac1f580ddde3309518cd153d596b1":[1,0,0,1,1],
"bcj_8h.html#ab7f667d4a5d319f227f23163cbea086f":[1,0,0,1,2],
"block_8h.html":[1,0,0,2],
"block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f":[1,0,0,2,13],
"block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0":[1,0,0,2,3],
"block_8h.html#a2218a49025a0b44f9a6f9d6d24359359":[1,0,0,2,8],
"block_8h.html#a412d5605280fa29befae1b89e344bf30":[1,0,0,2,6],
"block_8h.html#a58ff73e2572b529f48cc590bfffe5b4f":[1,0,0,2,10],
"block_8h.html#a5a260f634ccd5f54fb98f570d8d92d8c":[1,0,0,2,12],
"block_8h.html#a694424f9dfdd5151e01debac1c501fa9":[1,0,0,2,7],
"block_8h.html#a6c3e102d76db06a07126a569abc6e2bc":[1,0,0,2,5],
"block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9":[1,0,0,2,4],
"block_8h.html#aa92c73b2a228efe921fa2376aa7adc92":[1,0,0,2,9],
"block_8h.html#ac025c940683a70f4c7f956bad814fd5f":[1,0,0,2,1],
"block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd":[1,0,0,2,2],
"block_8h.html#af415fa5130ab64e8760e9c39e856fa54":[1,0,0,2,11],
"check_8h.html":[1,0,0,3],
"check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3f":[1,0,0,3,2],
"check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa0be65014a40b5cb4ab32252b3709bef7":[1,0,0,3,2,1],
"check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa7b9851d75abfabc08d7fc5b4aaeb6f20":[1,0,0,3,2,0],
"check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3fa87b4b0697a1e1ccb6766dd5c2fa24afc":[1,0,0,3,2,2],
"check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3faf26a55ddd204a50ae87ec3432e7bc309":[1,0,0,3,2,3],
"check_8h.html#a379e931cf86351ab1d97896cda9abbe0":[1,0,0,3,1],
"check_8h.html#a760b569cce91bdd01e4ce9d78823c96d":[1,0,0,3,5],
"check_8h.html#a8d7c3ffabfd024485f03fa209536c746":[1,0,0,3,7],
"check_8h.html#acd221ababe30230d9647aab469ad80cb":[1,0,0,3,0],
"check_8h.html#ae9391ed2acfad0ce9357b68c608f07d8":[1,0,0,3,3],
"check_8h.html#afd3fda19575d9d4f864c626c02b7cb48":[1,0,0,3,4],
"check_8h.html#aff2e74ce671b9f82a96adb549c68cea2":[1,0,0,3,6],
"container_8h.html":[1,0,0,4],
"container_8h.html#a02b7683ef98d8049788961370a8b28c0":[1,0,0,4,22],
"container_8h.html#a0bdde702a77ff42b90a99c0bf4147b6b":[1,0,0,4,6],
"container_8h.html#a1289925ae1c63a8e86f69f3657118a4d":[1,0,0,4,7],
"container_8h.html#a1a97aec94c9fedd7646cfa51c4f4cd52":[1,0,0,4,14],
"container_8h.html#a21cbebf2771617bb1e956385cfb353e3":[1,0,0,4,24],
"container_8h.html#a26fcc5bccdf3f862caa4c992d01e1a72":[1,0,0,4,18],
"container_8h.html#a3562055d26c18fad067a7c7516eaddf5":[1,0,0,4,11],
"container_8h.html#a3f8793518711ee84d1abf12ea3aaba42":[1,0,0,4,16],
"container_8h.html#a563c84b5f368b3dd00d92ea903c5c33d":[1,0,0,4,8],
"container_8h.html#a5f43c3a1035e5a226dcd298f4162b861":[1,0,0,4,25],
"container_8h.html#a62c853cf7dbf008bdbd97b2685c3eabf":[1,0,0,4,10],
"container_8h.html#a66d4366a47b8332bff2a512f44f5c45e":[1,0,0,4,19],
"container_8h.html#a6e645ccaeace3b13a6981e03c6e190ad":[1,0,0,4,20],
"container_8h.html#a7179d178e6430c10e2006a467921e98e":[1,0,0,4,23],
"container_8h.html#a7eaeda1cb811ac1f5a6403691df8a894":[1,0,0,4,17],
"container_8h.html#a97689f5709e0db1e2dac450f5ce4e5eb":[1,0,0,4,26],
"container_8h.html#a97e40265e355a21bd2465aaa5b85f03d":[1,0,0,4,2],
"container_8h.html#aa1f469ed3d4b2eaf12f8081657efc9d5":[1,0,0,4,9],
"container_8h.html#aa58f237f6cea97ef0eb9bf5c37a3008d":[1,0,0,4,27],
"container_8h.html#aa8372dae3e7c907c36f7bb5426aeacdf":[1,0,0,4,28],
"container_8h.html#abfc8f11acf837b167aa94b7071b54c30":[1,0,0,4,21],
"container_8h.html#ac5e71f2711b57391186671967435faf2":[1,0,0,4,13],
"container_8h.html#acbdad999c544872f0f5d242f0d1a4ed4":[1,0,0,4,12],
"container_8h.html#ad7cf41496d77f4d346e006b26ed8e101":[1,0,0,4,15],
"container_8h.html#ada9cd20febb28b5ed6656de9184a86e9":[1,0,0,4,4],
"container_8h.html#ae21fb746037c82735d40d428c462e078":[1,0,0,4,5],
"container_8h.html#af3ca20ff228b363a82515c1aee9e27bc":[1,0,0,4,1],
"container_8h.html#af524fe9af5737820fdadcd40a2c26deb":[1,0,0,4,3],
"delta_8h.html":[1,0,0,5],
"delta_8h.html#a04d84d7fa6cefdc219b6e2e96ff36fe1":[1,0,0,5,4],
"delta_8h.html#a04d84d7fa6cefdc219b6e2e96ff36fe1afa749f8693200e0e82feef5f99815da4":[1,0,0,5,4,0],
"delta_8h.html#a466886d9d01392f61bdf267687a4f96e":[1,0,0,5,2],
"delta_8h.html#a7ced67235ad7a01ae31d32ecf1e634cb":[1,0,0,5,1],
"delta_8h.html#afdf8a5ce184ddf9f8070de637775da94":[1,0,0,5,3],
"dir_b17a1d403082bd69a703ed987cf158fb.html":[1,0,0],
"files.html":[1,0],
"filter_8h.html":[1,0,0,6],
"filter_8h.html#a09a775f6a78d28ca136acfb51ad5fa02":[1,0,0,6,4],
"filter_8h.html#a226724ab3391b410281fdf656cc7c432":[1,0,0,6,17],
"filter_8h.html#a2368e4129032345eb0738b0c6e085703":[1,0,0,6,14],
"filter_8h.html#a3b942df507e4f9a6d7525e5a4c6864e5":[1,0,0,6,18],
"filter_8h.html#a3db3c36cd6e57658a74c53e4daa2bef6":[1,0,0,6,8],
"filter_8h.html#a41aa51eeb53190404439c31d8e9c97cd":[1,0,0,6,2],
"filter_8h.html#a4a8fd969df001e449ebe4421ab33bba5":[1,0,0,6,16],
"filter_8h.html#a4cba9a4c658cce0ff01fd102b31ea1a7":[1,0,0,6,24],
"filter_8h.html#a58511249ae9206d7de7c5d1f05842297":[1,0,0,6,13],
"filter_8h.html#a611fe1176eeeda187b1bd8aef45040aa":[1,0,0,6,10],
"filter_8h.html#a730f9391e85a5979bcd1b32643ae7176":[1,0,0,6,12],
"filter_8h.html#a7deeb86ef59a9111b8033681290e0fb0":[1,0,0,6,26],
"filter_8h.html#a87e9ac4ae5829b092262223256141a29":[1,0,0,6,6],
"filter_8h.html#a88d2e864b2039ac82802cc202278d478":[1,0,0,6,21],
"filter_8h.html#a8a0f3fc03bdb84a294cdd53a98783104":[1,0,0,6,5],
"filter_8h.html#a8e00887086df5a44084ac22e48415de3":[1,0,0,6,20],
"filter_8h.html#a96f23309bc21398fece18c00ebe7db98":[1,0,0,6,23],
"filter_8h.html#a996c9c21840ed54e37bd1f664a79d940":[1,0,0,6,22],
"filter_8h.html#aa042cf11749bc2183b27de1c3142da30":[1,0,0,6,25],
"filter_8h.html#ab33c0cc1728bf390e5b84f8bce1928ba":[1,0,0,6,1],
"filter_8h.html#ab51585b68796ce0270f87e615b923809":[1,0,0,6,27],
"filter_8h.html#ac0113c47caf98a735db2297936c5e857":[1,0,0,6,7],
"filter_8h.html#acab0c67bf5b3a76f2b474c8e1da98938":[1,0,0,6,9],
"filter_8h.html#adc33f4c0c7b5d3ae36acc0437a904339":[1,0,0,6,3],
"filter_8h.html#ae06979d219897f5f4c29cbc7a96a8892":[1,0,0,6,11],
"filter_8h.html#ae77b3b6c5eccd9d77bbafef0a8a203c1":[1,0,0,6,15],
"filter_8h.html#aee038818cf7bbe044c3f7a7c86998c1b":[1,0,0,6,19],
"functions.html":[0,1,0],
"functions_vars.html":[0,1,1],
"globals.html":[1,1,0],
"globals.html":[1,1,0,0],
"globals_defs.html":[1,1,5],
"globals_enum.html":[1,1,3],
"globals_eval.html":[1,1,4],
"globals_func.html":[1,1,1],
"globals_type.html":[1,1,2],
"hardware_8h.html":[1,0,0,7],
"hardware_8h.html#a22f7a882b7a4b741a226abf62bdf46ca":[1,0,0,7,1],
"hardware_8h.html#a85363e453b34272a9f26c9fdffb041ee":[1,0,0,7,0],
"index.html":[],
"index_8h.html":[1,0,0,8],
"index_8h.html#a028b8b8d59a413f9682eea1269a6ae8b":[1,0,0,8,31],
"index_8h.html#a062a47783c17f64728d98b831411c5c3":[1,0,0,8,3],
"index_8h.html#a0850627d011111326d4278a3e2edec25":[1,0,0,8,9],
"index_8h.html#a0c2d0009f07fc315d5ac89e4bcd25abd":[1,0,0,8,10],
"index_8h.html#a2643014196abf129ddbb51ec2bd956d9":[1,0,0,8,1],
"index_8h.html#a3ed82f96c688f3c953f6509b6f4e2ef3":[1,0,0,8,14],
"index_8h.html#a4118805ac7be6618aca6d6d7e5e4dde7":[1,0,0,8,8],
"index_8h.html#a5161e3f67156577882e1d95dcb57e33e":[1,0,0,8,27],
"index_8h.html#a620fe6317f1f9d7af9cc27c748bf07d6":[1,0,0,8,21],
"index_8h.html#a669ed1a82b1941217cfbb07e7826afc2":[1,0,0,8,17],
"index_8h.html#a6800d70f3b2afca085496460cd03211d":[1,0,0,8,28],
"index_8h.html#a6812319b2f335df98fcf5e97c144e4ac":[1,0,0,8,2],
"index_8h.html#a712b43192d944bf2f767711343cd9ca8":[1,0,0,8,6],
"index_8h.html#a712b43192d944bf2f767711343cd9ca8a2702617d60d6fc15138a749e06ef3414":[1,0,0,8,6,2],
"index_8h.html#a712b43192d944bf2f767711343cd9ca8a5b31d985de1c823151acdd7e4a966fc9":[1,0,0,8,6,1],
"index_8h.html#a712b43192d944bf2f767711343cd9ca8aa49bf4d561d8f2c61d300edbb6c282c7":[1,0,0,8,6,3],
"index_8h.html#a712b43192d944bf2f767711343cd9ca8af46f6e5c414471c7c96586f380e48315":[1,0,0,8,6,0],
"index_8h.html#a7829942b83ee1fa5b6443cc248b81041":[1,0,0,8,19],
"index_8h.html#a79a19669237f19f0b11c9f3be80a62b4":[1,0,0,8,12],
"index_8h.html#a7c5d77cf8532d95977d4571a1eb0a222":[1,0,0,8,32],
"index_8h.html#a880def3727ecdd7f242807083d228fc5":[1,0,0,8,7],
"index_8h.html#aa78f02f18ed29d289a6ef37b8ea98a21":[1,0,0,8,22],
"index_8h.html#abb56fd1d5914f8900ece7b88b78e5e23":[1,0,0,8,29],
"index_8h.html#abc4db36b4bd67af01819be9dd045c34a":[1,0,0,8,26],
"index_8h.html#ac347747eb933c7c408e6c801b33becc3":[1,0,0,8,11],
"index_8h.html#ac4f56df9d210712e5d7add5502c9eb93":[1,0,0,8,25],
"index_8h.html#ac875ed47d35385e5dac461b25c5ea1c9":[1,0,0,8,20],
"index_8h.html#ad6540f1ecf60f186f7c0492937482169":[1,0,0,8,4],
"index_8h.html#add1a8c506f67dbc19cae6747107e3bec":[1,0,0,8,16],
"index_8h.html#add1ef06dec8a26d08ae8651cff0fd8d6":[1,0,0,8,30],
"index_8h.html#ae81438be8deff4894b104e65d8acdd24":[1,0,0,8,23],
"index_8h.html#af3630369b43c9ccc906065d759b49663":[1,0,0,8,18],
"index_8h.html#af428522e1b3eef137c65c5a01f766e0e":[1,0,0,8,24],
"index_8h.html#af8d6528a04241841bd0a4322b0c57eaa":[1,0,0,8,13],
"index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e":[1,0,0,8,5],
"index_8h.html#afd159a765b09b0cf79186069a848d07e":[1,0,0,8,15],
"index__hash_8h.html":[1,0,0,9],
"index__hash_8h.html#a0f8ab3b57b117f9547866156755c917f":[1,0,0,9,5],
"index__hash_8h.html#a2bdbe4f0b5fa2fadb7528447feaaa97f":[1,0,0,9,3],
"index__hash_8h.html#a2db9f438838c8ff72a8a6fd3fc856f8c":[1,0,0,9,0],
"index__hash_8h.html#a7dacb41b9ec1c8df5d33dfdae97743b3":[1,0,0,9,2],
"index__hash_8h.html#a891eb955284c9117155f92eb0ddba44c":[1,0,0,9,4],
"index__hash_8h.html#aaafae4967a4a266d97dc34a98bfcabfb":[1,0,0,9,1],
"lzma12_8h.html":[1,0,0,10],
"lzma12_8h.html#a04f9d9a018a47cc99491e6e94e92f96b":[1,0,0,10,3],
"lzma12_8h.html#a1032316e3075c2c8086fb17104b91866":[1,0,0,10,6],
"lzma12_8h.html#a1032316e3075c2c8086fb17104b91866ac8c0926a91b4f756e11121efd30648cc":[1,0,0,10,6,0],
"lzma12_8h.html#a1032316e3075c2c8086fb17104b91866ad37225f30d5cd21fc8bb3eaba283bbf9":[1,0,0,10,6,1],
"lzma12_8h.html#a73ed0293db4e59d73a702d66fef537c3":[1,0,0,10,4],
"lzma12_8h.html#a98a7fd42aa78a273a6b138629e46772d":[1,0,0,10,2],
"lzma12_8h.html#aa62c28944fe3575653a4c25780400d77":[1,0,0,10,9],
"lzma12_8h.html#accedd16abcb758e7f748bac1102abda9":[1,0,0,10,1],
"lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80":[1,0,0,10,5],
"lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a0944620f4949289c2ebde613cae12b04":[1,0,0,10,5,1],
"lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a468c32cdea9861d1ff98478364e6c547":[1,0,0,10,5,4],
"lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a6eb38f634021a192cada8a978b5de93b":[1,0,0,10,5,0],
"lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a7ab212446c3f6520f5c33ccfa4b3386a":[1,0,0,10,5,2],
"lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80a983ecc59bf3e07a7c43fea551ea11865":[1,0,0,10,5,3],
"lzma12_8h.html#ad1add1c2600fdbb3d737e4fb3465dfcb":[1,0,0,10,8],
"lzma12_8h.html#aefba1f7214ddcf8cd408a0702e8642b5":[1,0,0,10,7],
"lzma_8h.html":[1,0,1],
"pages.html":[],
"stream__flags_8h.html":[1,0,0,11],
"stream__flags_8h.html#a2e5e09010880f8caa6cd6539c7341239":[1,0,0,11,3],
"stream__flags_8h.html#a2ebb8d6dff23daeb3de398913b845eff":[1,0,0,11,4],
"stream__flags_8h.html#a3e25ca4205021302882a696283d45263":[1,0,0,11,8],
"stream__flags_8h.html#a438249a75ea8da952a7474b92bfe7b7a":[1,0,0,11,5],
"stream__flags_8h.html#aa92a383f85753bb79ee23227fa68186c":[1,0,0,11,7],
"stream__flags_8h.html#ada7e0a4f5e7146f547962cb9e9ef08ee":[1,0,0,11,1],
"stream__flags_8h.html#ae03198e464f0d296e601ff841e100805":[1,0,0,11,6],
"stream__flags_8h.html#ae8da8190f1396f66332073946bc45634":[1,0,0,11,2],
"structlzma__allocator.html":[0,0,0],
"structlzma__allocator.html#a3726deffd08393934263c04660208009":[0,0,0,1],
"structlzma__allocator.html#aab293a5007a93299cc97ee8b5fb81268":[0,0,0,2],
"structlzma__allocator.html#aba5c4369af94cc9943423b49171462ec":[0,0,0,0],
"structlzma__block.html":[0,0,1],
"structlzma__block.html#a17362d38d1946dd16a9686557ec19a94":[0,0,1,4],
"structlzma__block.html#a25e9bf1bb1699017694b18ca24f965d2":[0,0,1,6],
"structlzma__block.html#a516ac9cc63bc1a4fadd9fbfc189a206b":[0,0,1,7],
"structlzma__block.html#a5900e517e6e0a473a3184074ae7defd1":[0,0,1,5],
"structlzma__block.html#a6689c4f7524b2c05772a2d6151138610":[0,0,1,1],
"structlzma__block.html#a80cd9d3025991db4a476ce7588f853e6":[0,0,1,2],
"structlzma__block.html#a8383d489c9ffea8af390669a105c74e5":[0,0,1,3],
"structlzma__block.html#ac3936a5b0ec3f9b8f9c7ad68e7d149a5":[0,0,1,0],
"structlzma__filter.html":[0,0,2],
"structlzma__filter.html#a10dfbaa1601793657d12320bef933ee6":[0,0,2,1],
"structlzma__filter.html#aef1d9709759f39e61db77547b2326929":[0,0,2,0],
"structlzma__index__iter.html":[0,0,3],
"structlzma__index__iter.html#a0fc4959fab08e1a6a4902c728c735a99":[0,0,3,13],
"structlzma__index__iter.html#a115a307dbc778a9de296376dc39c7b23":[0,0,3,1],
"structlzma__index__iter.html#a223a046bcf09077a6e720967682deeae":[0,0,3,0],
"structlzma__index__iter.html#a26436e75d4c2b5dd8d1de24140d8003e":[0,0,3,9],
"structlzma__index__iter.html#a2f3ecf341b5dc043e9673759b8ff47b9":[0,0,3,10],
"structlzma__index__iter.html#a35a752d344ff5d35d2a858a20bd6e5e8":[0,0,3,11]
};

View File

@@ -0,0 +1,76 @@
var NAVTREEINDEX1 =
{
"structlzma__index__iter.html#a426705df8dde4b094a42f91ea20a46ac":[0,0,3,3],
"structlzma__index__iter.html#a48cfc856f283fe00b0df37402e012818":[0,0,3,7],
"structlzma__index__iter.html#a578bba553c43dc59a5e4032d4f6c89a3":[0,0,3,12],
"structlzma__index__iter.html#a6e73b1f37e3fcf1e9491e4a53b2c52c7":[0,0,3,5],
"structlzma__index__iter.html#a9f4e405b9884be08e3a35bc06e3e15df":[0,0,3,14],
"structlzma__index__iter.html#aafc48408ed40060a84ecd66bae5e1b23":[0,0,3,6],
"structlzma__index__iter.html#abc6ee9be23e54f31aed07382c8caaf7c":[0,0,3,2],
"structlzma__index__iter.html#abd374b748b4a42e122b90841709609bc":[0,0,3,4],
"structlzma__index__iter.html#abe5333de53562189012d5ed084c0ef98":[0,0,3,8],
"structlzma__index__iter.html#ae164ca3d7492dcf5883769c38baac30e":[0,0,3,15],
"structlzma__mt.html":[0,0,4],
"structlzma__mt.html#a1c2fe028f547bf58b48b5199557d9a9f":[0,0,4,0],
"structlzma__mt.html#a20cdc7865266ccb88da36a6e68f84d15":[0,0,4,2],
"structlzma__mt.html#a298992bf7d2154d8dd814560219d10c2":[0,0,4,3],
"structlzma__mt.html#a5a7fb0c7c2db350e09e77477bc3c9509":[0,0,4,7],
"structlzma__mt.html#a881761f858dbda33c697e74acde0be70":[0,0,4,1],
"structlzma__mt.html#ab3883b5644752cdd15f01387d58dd050":[0,0,4,4],
"structlzma__mt.html#ab5e0b530d4c572c7a2361aabbad656aa":[0,0,4,8],
"structlzma__mt.html#ad43a62ef2178c76405e5be0ece7a98b4":[0,0,4,5],
"structlzma__mt.html#ae38846e8aca5b20d2a86a2364283b730":[0,0,4,6],
"structlzma__options__bcj.html":[0,0,5],
"structlzma__options__bcj.html#a3f5a3c62cd82ce89433684f12ed096ac":[0,0,5,0],
"structlzma__options__delta.html":[0,0,6],
"structlzma__options__delta.html#a31b4b0b5a2462cb9433c2663b8a62790":[0,0,6,1],
"structlzma__options__delta.html#af3f1ece7f8c472f4a794953b414c7cd7":[0,0,6,0],
"structlzma__options__lzma.html":[0,0,7],
"structlzma__options__lzma.html#a0352ea7f8b6a43b745a44f6cb4e2d263":[0,0,7,7],
"structlzma__options__lzma.html#a0fe9c54e808fce3090b6994d95fe41fe":[0,0,7,4],
"structlzma__options__lzma.html#a16a58c1ee3ec18c820d5cb03dde3739a":[0,0,7,1],
"structlzma__options__lzma.html#a1d711df9bda046fd3899abf21fa250d5":[0,0,7,6],
"structlzma__options__lzma.html#a4226f686e8c9f6288595fe23d0e15713":[0,0,7,9],
"structlzma__options__lzma.html#a655ad4cce9e4dac9cf2a5c8daaa629e0":[0,0,7,2],
"structlzma__options__lzma.html#a95f6188e5b5f05c50ec463a315df3585":[0,0,7,3],
"structlzma__options__lzma.html#a971da8385dcebd01e60235afb3b717f9":[0,0,7,11],
"structlzma__options__lzma.html#aa99612cd52259093007f33513882dcd0":[0,0,7,8],
"structlzma__options__lzma.html#acae107b3d3e9d0d4fe16103be22f4408":[0,0,7,5],
"structlzma__options__lzma.html#ade251d13ef46bcacb4e052b83693878c":[0,0,7,10],
"structlzma__options__lzma.html#ae5b3c2375c43ddfacf093980385fb9e3":[0,0,7,12],
"structlzma__options__lzma.html#aeb3f86002405a1191af86def46fca5ad":[0,0,7,0],
"structlzma__stream.html":[0,0,8],
"structlzma__stream.html#a14ee64ed636ddcb775edf87e2b9f42ec":[0,0,8,3],
"structlzma__stream.html#a1a411e1755d6185756caefabc3932c7b":[0,0,8,2],
"structlzma__stream.html#a209da54c2fb5dea40ad011c8408300d0":[0,0,8,7],
"structlzma__stream.html#a4eb2f3e87e32cc4bea613898b0bd353f":[0,0,8,6],
"structlzma__stream.html#a5ff28ea4e39148723c19f59811627904":[0,0,8,4],
"structlzma__stream.html#a72fdc738c793f07a5c29715aa57802cf":[0,0,8,0],
"structlzma__stream.html#a80d703ffdfd7661e344fe7b61ff737fa":[0,0,8,5],
"structlzma__stream.html#abb680ecea31910cbda1d7a6ad4f191c0":[0,0,8,1],
"structlzma__stream.html#af7c43a61f3dfeb0b9c8487b7f275054e":[0,0,8,8],
"structlzma__stream__flags.html":[0,0,9],
"structlzma__stream__flags.html#a61e9151869d5b77c868aaa4958e74d10":[0,0,9,0],
"structlzma__stream__flags.html#aaa65ed7a55a098f829f04dba25d0f212":[0,0,9,1],
"structlzma__stream__flags.html#ab1052ea7047c8d67f127f33278166647":[0,0,9,2],
"version_8h.html":[1,0,0,12],
"version_8h.html#a156c47ff34aa0c2b726d0daf799f10a0":[1,0,0,12,5],
"version_8h.html#a57bb143c993c305a53e9aade831a546c":[1,0,0,12,6],
"version_8h.html#a72f929c9b9e8e730b790b3f8c80c3c80":[1,0,0,12,7],
"version_8h.html#a7fd6169ff15ac7f01f94970359a331ea":[1,0,0,12,4],
"version_8h.html#a8998c1d8b4b5c2c1218bdfd58fdb1baa":[1,0,0,12,8],
"version_8h.html#a8b550373cbff381f15d4308b852a3c2a":[1,0,0,12,2],
"version_8h.html#aa0f450c9d3b0ff5f88b55888ed55701f":[1,0,0,12,0],
"version_8h.html#ae289abe5dcc203c7cda9f6a9a2f36b3a":[1,0,0,12,3],
"version_8h.html#af8fd295cf8aa349b0731423ad7a56134":[1,0,0,12,1],
"vli_8h.html":[1,0,0,13],
"vli_8h.html#a063ecff4133aa2f8899b9fa3fdefd310":[1,0,0,13,2],
"vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272":[1,0,0,13,5],
"vli_8h.html#a2d8bf5322898bfa11945848420585881":[1,0,0,13,3],
"vli_8h.html#a4f67ed698215d865a2b87a95ab1320dd":[1,0,0,13,4],
"vli_8h.html#a50bbb77e9ec3b72c25586aa700c20970":[1,0,0,13,6],
"vli_8h.html#a5a4b28254a30c859018b896ed371d69a":[1,0,0,13,1],
"vli_8h.html#a7b782528bd1934db7c020adbedb20ec9":[1,0,0,13,0],
"vli_8h.html#a7b7d50e1074e0e2bcd81c29a5f7461c7":[1,0,0,13,7],
"vli_8h.html#a8d53e0b69934b43da8721fa6f1e8cc4f":[1,0,0,13,8]
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#fcfcfc;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
<rect style="fill:#808080;stroke-width:0" width="15.874998" height="52.916668" x="44.979168" y="26.458332" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 696 B

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#000000;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
<rect style="fill:#808080;stroke-width:0" width="15.874998" height="52.916668" x="44.979168" y="26.458332" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 696 B

View File

@@ -0,0 +1,147 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function initResizable(treeview) {
let sidenav,navtree,content,header,footer,barWidth=6;
const RESIZE_COOKIE_NAME = ''+'width';
function resizeWidth() {
const sidenavWidth = $(sidenav).outerWidth();
content.css({marginLeft:parseInt(sidenavWidth)+"px"});
if (typeof page_layout!=='undefined' && page_layout==1) {
footer.css({marginLeft:parseInt(sidenavWidth)+"px"});
}
Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth);
}
function restoreWidth(navWidth) {
content.css({marginLeft:parseInt(navWidth)+barWidth+"px"});
if (typeof page_layout!=='undefined' && page_layout==1) {
footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"});
}
sidenav.css({width:navWidth + "px"});
}
function resizeHeight(treeview) {
const headerHeight = header.outerHeight();
const windowHeight = $(window).height();
let contentHeight;
if (treeview)
{
const footerHeight = footer.outerHeight();
let navtreeHeight,sideNavHeight;
if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */
contentHeight = windowHeight - headerHeight - footerHeight;
navtreeHeight = contentHeight;
sideNavHeight = contentHeight;
} else if (page_layout==1) { /* DISABLE_INDEX=YES */
contentHeight = windowHeight - footerHeight;
navtreeHeight = windowHeight - headerHeight;
sideNavHeight = windowHeight;
}
navtree.css({height:navtreeHeight + "px"});
sidenav.css({height:sideNavHeight + "px"});
}
else
{
contentHeight = windowHeight - headerHeight;
}
content.css({height:contentHeight + "px"});
if (location.hash.slice(1)) {
(document.getElementById(location.hash.slice(1))||document.body).scrollIntoView();
}
}
function collapseExpand() {
let newWidth;
if (sidenav.width()>0) {
newWidth=0;
} else {
const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250);
newWidth = (width>250 && width<$(window).width()) ? width : 250;
}
restoreWidth(newWidth);
const sidenavWidth = $(sidenav).outerWidth();
Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth);
}
header = $("#top");
content = $("#doc-content");
footer = $("#nav-path");
sidenav = $("#side-nav");
if (!treeview) {
// title = $("#titlearea");
// titleH = $(title).height();
// let animating = false;
// content.on("scroll", function() {
// slideOpts = { duration: 200,
// step: function() {
// contentHeight = $(window).height() - header.outerHeight();
// content.css({ height : contentHeight + "px" });
// },
// done: function() { animating=false; }
// };
// if (content.scrollTop()>titleH && title.css('display')!='none' && !animating) {
// title.slideUp(slideOpts);
// animating=true;
// } else if (content.scrollTop()<=titleH && title.css('display')=='none' && !animating) {
// title.slideDown(slideOpts);
// animating=true;
// }
// });
} else {
navtree = $("#nav-tree");
$(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
$(sidenav).resizable({ minWidth: 0 });
}
$(window).resize(function() { resizeHeight(treeview); });
if (treeview)
{
const device = navigator.userAgent.toLowerCase();
const touch_device = device.match(/(iphone|ipod|ipad|android)/);
if (touch_device) { /* wider split bar for touch only devices */
$(sidenav).css({ paddingRight:'20px' });
$('.ui-resizable-e').css({ width:'20px' });
$('#nav-sync').css({ right:'34px' });
barWidth=20;
}
const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250);
if (width) { restoreWidth(width); } else { resizeWidth(); }
}
resizeHeight(treeview);
const url = location.href;
const i=url.indexOf("#");
if (i>=0) window.location.hash=url.substr(i);
const _preventDefault = function(evt) { evt.preventDefault(); };
if (treeview)
{
$("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
$(".ui-resizable-handle").dblclick(collapseExpand);
// workaround for firefox
$("body").css({overflow: "hidden"});
}
$(window).on('load',function() { resizeHeight(treeview); });
}
/* @license-end */

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

View File

@@ -0,0 +1,367 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma/stream_flags.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('stream__flags_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">stream_flags.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>.xz Stream Header and Stream Footer encoder and decoder
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options for encoding/decoding Stream Header and Stream Footer. <a href="structlzma__stream__flags.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ada7e0a4f5e7146f547962cb9e9ef08ee" id="r_ada7e0a4f5e7146f547962cb9e9ef08ee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ada7e0a4f5e7146f547962cb9e9ef08ee">LZMA_STREAM_HEADER_SIZE</a>&#160;&#160;&#160;12</td></tr>
<tr class="memdesc:ada7e0a4f5e7146f547962cb9e9ef08ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of Stream Header and Stream Footer. <br /></td></tr>
<tr class="separator:ada7e0a4f5e7146f547962cb9e9ef08ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8da8190f1396f66332073946bc45634" id="r_ae8da8190f1396f66332073946bc45634"><td class="memItemLeft" align="right" valign="top"><a id="ae8da8190f1396f66332073946bc45634" name="ae8da8190f1396f66332073946bc45634"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_BACKWARD_SIZE_MIN</b>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:ae8da8190f1396f66332073946bc45634"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum value for <a class="el" href="structlzma__stream__flags.html#aaa65ed7a55a098f829f04dba25d0f212" title="Backward Size.">lzma_stream_flags.backward_size</a>. <br /></td></tr>
<tr class="separator:ae8da8190f1396f66332073946bc45634"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e5e09010880f8caa6cd6539c7341239" id="r_a2e5e09010880f8caa6cd6539c7341239"><td class="memItemLeft" align="right" valign="top"><a id="a2e5e09010880f8caa6cd6539c7341239" name="a2e5e09010880f8caa6cd6539c7341239"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LZMA_BACKWARD_SIZE_MAX</b>&#160;&#160;&#160;(<a class="el" href="vli_8h.html#a2d8bf5322898bfa11945848420585881">LZMA_VLI_C</a>(1) &lt;&lt; 34)</td></tr>
<tr class="memdesc:a2e5e09010880f8caa6cd6539c7341239"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum value for <a class="el" href="structlzma__stream__flags.html#aaa65ed7a55a098f829f04dba25d0f212" title="Backward Size.">lzma_stream_flags.backward_size</a>. <br /></td></tr>
<tr class="separator:a2e5e09010880f8caa6cd6539c7341239"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a2ebb8d6dff23daeb3de398913b845eff" id="r_a2ebb8d6dff23daeb3de398913b845eff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2ebb8d6dff23daeb3de398913b845eff">lzma_stream_header_encode</a> (const <a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *options, uint8_t *out) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:a2ebb8d6dff23daeb3de398913b845eff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode Stream Header. <br /></td></tr>
<tr class="separator:a2ebb8d6dff23daeb3de398913b845eff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a438249a75ea8da952a7474b92bfe7b7a" id="r_a438249a75ea8da952a7474b92bfe7b7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a438249a75ea8da952a7474b92bfe7b7a">lzma_stream_footer_encode</a> (const <a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *options, uint8_t *out) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:a438249a75ea8da952a7474b92bfe7b7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode Stream Footer. <br /></td></tr>
<tr class="separator:a438249a75ea8da952a7474b92bfe7b7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae03198e464f0d296e601ff841e100805" id="r_ae03198e464f0d296e601ff841e100805"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae03198e464f0d296e601ff841e100805">lzma_stream_header_decode</a> (<a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *options, const uint8_t *in) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:ae03198e464f0d296e601ff841e100805"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode Stream Header. <br /></td></tr>
<tr class="separator:ae03198e464f0d296e601ff841e100805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa92a383f85753bb79ee23227fa68186c" id="r_aa92a383f85753bb79ee23227fa68186c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa92a383f85753bb79ee23227fa68186c">lzma_stream_footer_decode</a> (<a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *options, const uint8_t *in) lzma_nothrow lzma_attr_warn_unused_result</td></tr>
<tr class="memdesc:aa92a383f85753bb79ee23227fa68186c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode Stream Footer. <br /></td></tr>
<tr class="separator:aa92a383f85753bb79ee23227fa68186c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e25ca4205021302882a696283d45263" id="r_a3e25ca4205021302882a696283d45263"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3e25ca4205021302882a696283d45263">lzma_stream_flags_compare</a> (const <a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *a, const <a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *b) lzma_nothrow lzma_attr_pure</td></tr>
<tr class="memdesc:a3e25ca4205021302882a696283d45263"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two <a class="el" href="structlzma__stream__flags.html" title="Options for encoding/decoding Stream Header and Stream Footer.">lzma_stream_flags</a> structures. <br /></td></tr>
<tr class="separator:a3e25ca4205021302882a696283d45263"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>.xz Stream Header and Stream Footer encoder and decoder </p>
<dl class="section note"><dt>Note</dt><dd>Never include this file directly. Use &lt;<a class="el" href="lzma_8h.html" title="The public API of liblzma data compression library.">lzma.h</a>&gt; instead. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ada7e0a4f5e7146f547962cb9e9ef08ee" name="ada7e0a4f5e7146f547962cb9e9ef08ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada7e0a4f5e7146f547962cb9e9ef08ee">&#9670;&#160;</a></span>LZMA_STREAM_HEADER_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LZMA_STREAM_HEADER_SIZE&#160;&#160;&#160;12</td>
</tr>
</table>
</div><div class="memdoc">
<p>Size of Stream Header and Stream Footer. </p>
<p>Stream Header and Stream Footer have the same size and they are not going to change even if a newer version of the .xz file format is developed in future. </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a2ebb8d6dff23daeb3de398913b845eff" name="a2ebb8d6dff23daeb3de398913b845eff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ebb8d6dff23daeb3de398913b845eff">&#9670;&#160;</a></span>lzma_stream_header_encode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_stream_header_encode </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *</td> <td class="paramname"><span class="paramname"><em>options</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *</td> <td class="paramname"><span class="paramname"><em>out</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode Stream Header. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">options</td><td>Stream Header options to be encoded. options-&gt;backward_size is ignored and doesn't need to be initialized. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Beginning of the output buffer of LZMA_STREAM_HEADER_SIZE bytes.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Encoding was successful.</li>
<li>LZMA_OPTIONS_ERROR: options-&gt;version is not supported by this liblzma version.</li>
<li>LZMA_PROG_ERROR: Invalid options. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a438249a75ea8da952a7474b92bfe7b7a" name="a438249a75ea8da952a7474b92bfe7b7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a438249a75ea8da952a7474b92bfe7b7a">&#9670;&#160;</a></span>lzma_stream_footer_encode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_stream_footer_encode </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *</td> <td class="paramname"><span class="paramname"><em>options</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *</td> <td class="paramname"><span class="paramname"><em>out</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode Stream Footer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">options</td><td>Stream Footer options to be encoded. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Beginning of the output buffer of LZMA_STREAM_HEADER_SIZE bytes.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Encoding was successful.</li>
<li>LZMA_OPTIONS_ERROR: options-&gt;version is not supported by this liblzma version.</li>
<li>LZMA_PROG_ERROR: Invalid options. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ae03198e464f0d296e601ff841e100805" name="ae03198e464f0d296e601ff841e100805"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae03198e464f0d296e601ff841e100805">&#9670;&#160;</a></span>lzma_stream_header_decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_stream_header_decode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *</td> <td class="paramname"><span class="paramname"><em>options</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *</td> <td class="paramname"><span class="paramname"><em>in</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Decode Stream Header. </p>
<p>options-&gt;backward_size is always set to LZMA_VLI_UNKNOWN. This is to help comparing Stream Flags from Stream Header and Stream Footer with <a class="el" href="#a3e25ca4205021302882a696283d45263" title="Compare two lzma_stream_flags structures.">lzma_stream_flags_compare()</a>.</p>
<dl class="section note"><dt>Note</dt><dd>When decoding .xz files that contain multiple Streams, it may make sense to print "file format not recognized" only if decoding of the Stream Header of the <em class="arg">first</em> Stream gives LZMA_FORMAT_ERROR. If non-first Stream Header gives LZMA_FORMAT_ERROR, the message used for LZMA_DATA_ERROR is probably more appropriate. For example, the Stream decoder in liblzma uses LZMA_DATA_ERROR if LZMA_FORMAT_ERROR is returned by <a class="el" href="#ae03198e464f0d296e601ff841e100805" title="Decode Stream Header.">lzma_stream_header_decode()</a> when decoding non-first Stream.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">options</td><td>Target for the decoded Stream Header options. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in</td><td>Beginning of the input buffer of LZMA_STREAM_HEADER_SIZE bytes.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Decoding was successful.</li>
<li>LZMA_FORMAT_ERROR: Magic bytes don't match, thus the given buffer cannot be Stream Header.</li>
<li>LZMA_DATA_ERROR: CRC32 doesn't match, thus the header is corrupt.</li>
<li>LZMA_OPTIONS_ERROR: Unsupported options are present in the header. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="aa92a383f85753bb79ee23227fa68186c" name="aa92a383f85753bb79ee23227fa68186c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa92a383f85753bb79ee23227fa68186c">&#9670;&#160;</a></span>lzma_stream_footer_decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_stream_footer_decode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *</td> <td class="paramname"><span class="paramname"><em>options</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *</td> <td class="paramname"><span class="paramname"><em>in</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Decode Stream Footer. </p>
<dl class="section note"><dt>Note</dt><dd>If Stream Header was already decoded successfully, but decoding Stream Footer returns LZMA_FORMAT_ERROR, the application should probably report some other error message than "file format not recognized". The file likely is corrupt (possibly truncated). The Stream decoder in liblzma uses LZMA_DATA_ERROR in this situation.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">options</td><td>Target for the decoded Stream Footer options. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">in</td><td>Beginning of the input buffer of LZMA_STREAM_HEADER_SIZE bytes.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Decoding was successful.</li>
<li>LZMA_FORMAT_ERROR: Magic bytes don't match, thus the given buffer cannot be Stream Footer.</li>
<li>LZMA_DATA_ERROR: CRC32 doesn't match, thus the Stream Footer is corrupt.</li>
<li>LZMA_OPTIONS_ERROR: Unsupported options are present in Stream Footer. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="a3e25ca4205021302882a696283d45263" name="a3e25ca4205021302882a696283d45263"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e25ca4205021302882a696283d45263">&#9670;&#160;</a></span>lzma_stream_flags_compare()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e">lzma_ret</a> lzma_stream_flags_compare </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *</td> <td class="paramname"><span class="paramname"><em>a</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *</td> <td class="paramname"><span class="paramname"><em>b</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel extern">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compare two <a class="el" href="structlzma__stream__flags.html" title="Options for encoding/decoding Stream Header and Stream Footer.">lzma_stream_flags</a> structures. </p>
<p>backward_size values are compared only if both are not LZMA_VLI_UNKNOWN.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td>Pointer to <a class="el" href="structlzma__stream__flags.html" title="Options for encoding/decoding Stream Header and Stream Footer.">lzma_stream_flags</a> structure </td></tr>
<tr><td class="paramname">b</td><td>Pointer to <a class="el" href="structlzma__stream__flags.html" title="Options for encoding/decoding Stream Header and Stream Footer.">lzma_stream_flags</a> structure</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Possible <a class="el" href="base_8h.html#a8494e0457e1463d6d2b6836018d87b6e" title="Return values used by several functions in liblzma.">lzma_ret</a> values:<ul>
<li>LZMA_OK: Both are equal. If either had backward_size set to LZMA_VLI_UNKNOWN, backward_size values were not compared or validated.</li>
<li>LZMA_DATA_ERROR: The structures differ.</li>
<li>LZMA_OPTIONS_ERROR: version in either structure is greater than the maximum supported version (currently zero).</li>
<li>LZMA_PROG_ERROR: Invalid value, e.g. invalid check or backward_size. </li>
</ul>
</dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_b17a1d403082bd69a703ed987cf158fb.html">lzma</a></li><li class="navelem"><a class="el" href="stream__flags_8h.html">stream_flags.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,12 @@
var stream__flags_8h =
[
[ "lzma_stream_flags", "structlzma__stream__flags.html", "structlzma__stream__flags" ],
[ "LZMA_STREAM_HEADER_SIZE", "stream__flags_8h.html#ada7e0a4f5e7146f547962cb9e9ef08ee", null ],
[ "LZMA_BACKWARD_SIZE_MIN", "stream__flags_8h.html#ae8da8190f1396f66332073946bc45634", null ],
[ "LZMA_BACKWARD_SIZE_MAX", "stream__flags_8h.html#a2e5e09010880f8caa6cd6539c7341239", null ],
[ "lzma_stream_header_encode", "stream__flags_8h.html#a2ebb8d6dff23daeb3de398913b845eff", null ],
[ "lzma_stream_footer_encode", "stream__flags_8h.html#a438249a75ea8da952a7474b92bfe7b7a", null ],
[ "lzma_stream_header_decode", "stream__flags_8h.html#ae03198e464f0d296e601ff841e100805", null ],
[ "lzma_stream_footer_decode", "stream__flags_8h.html#aa92a383f85753bb79ee23227fa68186c", null ],
[ "lzma_stream_flags_compare", "stream__flags_8h.html#a3e25ca4205021302882a696283d45263", null ]
];

View File

@@ -0,0 +1,171 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma_allocator Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('structlzma__allocator.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle"><div class="title">lzma_allocator Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Custom functions for memory handling.
<a href="#details">More...</a></p>
<p><code>#include &lt;base.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:aba5c4369af94cc9943423b49171462ec" id="r_aba5c4369af94cc9943423b49171462ec"><td class="memItemLeft" align="right" valign="top">void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aba5c4369af94cc9943423b49171462ec">alloc</a> )(void *<a class="el" href="#aab293a5007a93299cc97ee8b5fb81268">opaque</a>, size_t nmemb, size_t size)</td></tr>
<tr class="memdesc:aba5c4369af94cc9943423b49171462ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a custom memory allocation function. <br /></td></tr>
<tr class="separator:aba5c4369af94cc9943423b49171462ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3726deffd08393934263c04660208009" id="r_a3726deffd08393934263c04660208009"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3726deffd08393934263c04660208009">free</a> )(void *<a class="el" href="#aab293a5007a93299cc97ee8b5fb81268">opaque</a>, void *ptr)</td></tr>
<tr class="memdesc:a3726deffd08393934263c04660208009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to a custom memory freeing function. <br /></td></tr>
<tr class="separator:a3726deffd08393934263c04660208009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab293a5007a93299cc97ee8b5fb81268" id="r_aab293a5007a93299cc97ee8b5fb81268"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aab293a5007a93299cc97ee8b5fb81268">opaque</a></td></tr>
<tr class="memdesc:aab293a5007a93299cc97ee8b5fb81268"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer passed to .<a class="el" href="#aba5c4369af94cc9943423b49171462ec" title="Pointer to a custom memory allocation function.">alloc()</a> and .<a class="el" href="#a3726deffd08393934263c04660208009" title="Pointer to a custom memory freeing function.">free()</a> <br /></td></tr>
<tr class="separator:aab293a5007a93299cc97ee8b5fb81268"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Custom functions for memory handling. </p>
<p>A pointer to <a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> may be passed via <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> structure to liblzma, and some advanced functions take a pointer to <a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> as a separate function argument. The library will use the functions specified in <a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> for memory handling instead of the default malloc() and <a class="el" href="#a3726deffd08393934263c04660208009" title="Pointer to a custom memory freeing function.">free()</a>. C++ users should note that the custom memory handling functions must not throw exceptions.</p>
<p>Single-threaded mode only: liblzma doesn't make an internal copy of <a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a>. Thus, it is OK to change these function pointers in the middle of the coding process, but obviously it must be done carefully to make sure that the replacement 'free' can deallocate memory allocated by the earlier 'alloc' function(s).</p>
<p>Multithreaded mode: liblzma might internally store pointers to the <a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> given via the <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> structure. The application must not change the allocator pointer in <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> or the contents of the pointed <a class="el" href="structlzma__allocator.html" title="Custom functions for memory handling.">lzma_allocator</a> structure until <a class="el" href="base_8h.html#a854ff37464ae1225febf14db1af43308" title="Free memory allocated for the coder data structures.">lzma_end()</a> has been used to free the memory associated with that <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a>. The allocation functions might be called simultaneously from multiple threads, and thus they must be thread safe. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="aba5c4369af94cc9943423b49171462ec" name="aba5c4369af94cc9943423b49171462ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba5c4369af94cc9943423b49171462ec">&#9670;&#160;</a></span>alloc</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void *(* lzma_allocator::alloc) (void *<a class="el" href="#aab293a5007a93299cc97ee8b5fb81268">opaque</a>, size_t nmemb, size_t size)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to a custom memory allocation function. </p>
<p>If you don't want a custom allocator, but still want custom <a class="el" href="#a3726deffd08393934263c04660208009" title="Pointer to a custom memory freeing function.">free()</a>, set this to NULL and liblzma will use the standard malloc().</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">opaque</td><td><a class="el" href="#aab293a5007a93299cc97ee8b5fb81268" title="Pointer passed to .alloc() and .free()">lzma_allocator.opaque</a> (see below) </td></tr>
<tr><td class="paramname">nmemb</td><td>Number of elements like in calloc(). liblzma will always set nmemb to 1, so it is safe to ignore nmemb in a custom allocator if you like. The nmemb argument exists only for compatibility with zlib and libbzip2. </td></tr>
<tr><td class="paramname">size</td><td>Size of an element in bytes. liblzma never sets this to zero.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the beginning of a memory block of 'size' bytes, or NULL if allocation fails for some reason. When allocation fails, functions of liblzma return LZMA_MEM_ERROR.</dd></dl>
<p>The allocator should not waste time zeroing the allocated buffers. This is not only about speed, but also memory usage, since the operating system kernel doesn't necessarily allocate the requested memory in physical memory until it is actually used. With small input files, liblzma may actually need only a fraction of the memory that it requested for allocation.</p>
<dl class="section note"><dt>Note</dt><dd>LZMA_MEM_ERROR is also used when the size of the allocation would be greater than SIZE_MAX. Thus, don't assume that the custom allocator must have returned NULL if some function from liblzma returns LZMA_MEM_ERROR. </dd></dl>
</div>
</div>
<a id="a3726deffd08393934263c04660208009" name="a3726deffd08393934263c04660208009"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3726deffd08393934263c04660208009">&#9670;&#160;</a></span>free</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void(* lzma_allocator::free) (void *<a class="el" href="#aab293a5007a93299cc97ee8b5fb81268">opaque</a>, void *ptr)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to a custom memory freeing function. </p>
<p>If you don't want a custom freeing function, but still want a custom allocator, set this to NULL and liblzma will use the standard <a class="el" href="#a3726deffd08393934263c04660208009" title="Pointer to a custom memory freeing function.">free()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">opaque</td><td><a class="el" href="#aab293a5007a93299cc97ee8b5fb81268" title="Pointer passed to .alloc() and .free()">lzma_allocator.opaque</a> (see below) </td></tr>
<tr><td class="paramname">ptr</td><td>Pointer returned by <a class="el" href="#aba5c4369af94cc9943423b49171462ec" title="Pointer to a custom memory allocation function.">lzma_allocator.alloc()</a>, or when it is set to NULL, a pointer returned by the standard malloc(). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aab293a5007a93299cc97ee8b5fb81268" name="aab293a5007a93299cc97ee8b5fb81268"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab293a5007a93299cc97ee8b5fb81268">&#9670;&#160;</a></span>opaque</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* lzma_allocator::opaque</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer passed to .<a class="el" href="#aba5c4369af94cc9943423b49171462ec" title="Pointer to a custom memory allocation function.">alloc()</a> and .<a class="el" href="#a3726deffd08393934263c04660208009" title="Pointer to a custom memory freeing function.">free()</a> </p>
<p>opaque is passed as the first argument to <a class="el" href="#aba5c4369af94cc9943423b49171462ec" title="Pointer to a custom memory allocation function.">lzma_allocator.alloc()</a> and <a class="el" href="#a3726deffd08393934263c04660208009" title="Pointer to a custom memory freeing function.">lzma_allocator.free()</a>. This intended to ease implementing custom memory allocation functions for use with liblzma.</p>
<p>If you don't need this, you should set this to NULL. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lzma/<a class="el" href="base_8h.html">base.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structlzma__allocator.html">lzma_allocator</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,6 @@
var structlzma__allocator =
[
[ "alloc", "structlzma__allocator.html#aba5c4369af94cc9943423b49171462ec", null ],
[ "free", "structlzma__allocator.html#a3726deffd08393934263c04660208009", null ],
[ "opaque", "structlzma__allocator.html#aab293a5007a93299cc97ee8b5fb81268", null ]
];

View File

@@ -0,0 +1,365 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma_block Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('structlzma__block.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle"><div class="title">lzma_block Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Options for the Block and Block Header encoders and decoders.
<a href="#details">More...</a></p>
<p><code>#include &lt;block.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:ac3936a5b0ec3f9b8f9c7ad68e7d149a5" id="r_ac3936a5b0ec3f9b8f9c7ad68e7d149a5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac3936a5b0ec3f9b8f9c7ad68e7d149a5">version</a></td></tr>
<tr class="memdesc:ac3936a5b0ec3f9b8f9c7ad68e7d149a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Block format version. <br /></td></tr>
<tr class="separator:ac3936a5b0ec3f9b8f9c7ad68e7d149a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6689c4f7524b2c05772a2d6151138610" id="r_a6689c4f7524b2c05772a2d6151138610"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6689c4f7524b2c05772a2d6151138610">header_size</a></td></tr>
<tr class="memdesc:a6689c4f7524b2c05772a2d6151138610"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the Block Header field in bytes. <br /></td></tr>
<tr class="separator:a6689c4f7524b2c05772a2d6151138610"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80cd9d3025991db4a476ce7588f853e6" id="r_a80cd9d3025991db4a476ce7588f853e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a80cd9d3025991db4a476ce7588f853e6">check</a></td></tr>
<tr class="memdesc:a80cd9d3025991db4a476ce7588f853e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of integrity Check. <br /></td></tr>
<tr class="separator:a80cd9d3025991db4a476ce7588f853e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8383d489c9ffea8af390669a105c74e5" id="r_a8383d489c9ffea8af390669a105c74e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8383d489c9ffea8af390669a105c74e5">compressed_size</a></td></tr>
<tr class="memdesc:a8383d489c9ffea8af390669a105c74e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the Compressed Data in bytes. <br /></td></tr>
<tr class="separator:a8383d489c9ffea8af390669a105c74e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17362d38d1946dd16a9686557ec19a94" id="r_a17362d38d1946dd16a9686557ec19a94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a17362d38d1946dd16a9686557ec19a94">uncompressed_size</a></td></tr>
<tr class="memdesc:a17362d38d1946dd16a9686557ec19a94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uncompressed Size in bytes. <br /></td></tr>
<tr class="separator:a17362d38d1946dd16a9686557ec19a94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5900e517e6e0a473a3184074ae7defd1" id="r_a5900e517e6e0a473a3184074ae7defd1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structlzma__filter.html">lzma_filter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5900e517e6e0a473a3184074ae7defd1">filters</a></td></tr>
<tr class="memdesc:a5900e517e6e0a473a3184074ae7defd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of filters. <br /></td></tr>
<tr class="separator:a5900e517e6e0a473a3184074ae7defd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25e9bf1bb1699017694b18ca24f965d2" id="r_a25e9bf1bb1699017694b18ca24f965d2"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a25e9bf1bb1699017694b18ca24f965d2">raw_check</a> [<a class="el" href="check_8h.html#a379e931cf86351ab1d97896cda9abbe0">LZMA_CHECK_SIZE_MAX</a>]</td></tr>
<tr class="memdesc:a25e9bf1bb1699017694b18ca24f965d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raw value stored in the Check field. <br /></td></tr>
<tr class="separator:a25e9bf1bb1699017694b18ca24f965d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a516ac9cc63bc1a4fadd9fbfc189a206b" id="r_a516ac9cc63bc1a4fadd9fbfc189a206b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">lzma_bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a516ac9cc63bc1a4fadd9fbfc189a206b">ignore_check</a></td></tr>
<tr class="memdesc:a516ac9cc63bc1a4fadd9fbfc189a206b"><td class="mdescLeft">&#160;</td><td class="mdescRight">A flag to Block decoder to not verify the Check field. <br /></td></tr>
<tr class="separator:a516ac9cc63bc1a4fadd9fbfc189a206b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Options for the Block and Block Header encoders and decoders. </p>
<p>Different Block handling functions use different parts of this structure. Some read some members, other functions write, and some do both. Only the members listed for reading need to be initialized when the specified functions are called. The members marked for writing will be assigned new values at some point either by calling the given function or by later calls to <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a>. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="ac3936a5b0ec3f9b8f9c7ad68e7d149a5" name="ac3936a5b0ec3f9b8f9c7ad68e7d149a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3936a5b0ec3f9b8f9c7ad68e7d149a5">&#9670;&#160;</a></span>version</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_block::version</td>
</tr>
</table>
</div><div class="memdoc">
<p>Block format version. </p>
<p>To prevent API and ABI breakages when new features are needed, a version number is used to indicate which members in this structure are in use:</p><ul>
<li>liblzma &gt;= 5.0.0: version = 0 is supported.</li>
<li>liblzma &gt;= 5.1.4beta: Support for version = 1 was added, which adds the ignore_check member.</li>
</ul>
<p>If version is greater than one, most Block related functions will return LZMA_OPTIONS_ERROR (<a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a> works with any version value).</p>
<p>Read by:</p><ul>
<li><a class="el" href="block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a></li>
<li><a class="el" href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a></li>
<li><a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a></li>
<li><a class="el" href="block_8h.html#a6c3e102d76db06a07126a569abc6e2bc" title="Validate and set Compressed Size according to Unpadded Size.">lzma_block_compressed_size()</a></li>
<li><a class="el" href="block_8h.html#a412d5605280fa29befae1b89e344bf30" title="Calculate Unpadded Size.">lzma_block_unpadded_size()</a></li>
<li><a class="el" href="block_8h.html#a694424f9dfdd5151e01debac1c501fa9" title="Calculate the total encoded size of a Block.">lzma_block_total_size()</a></li>
<li><a class="el" href="block_8h.html#a2218a49025a0b44f9a6f9d6d24359359" title="Initialize .xz Block encoder.">lzma_block_encoder()</a></li>
<li><a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a></li>
<li><a class="el" href="block_8h.html#af415fa5130ab64e8760e9c39e856fa54" title="Single-call .xz Block encoder.">lzma_block_buffer_encode()</a></li>
<li><a class="el" href="block_8h.html#a5a260f634ccd5f54fb98f570d8d92d8c" title="Single-call uncompressed .xz Block encoder.">lzma_block_uncomp_encode()</a></li>
<li><a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f" title="Single-call .xz Block decoder.">lzma_block_buffer_decode()</a></li>
</ul>
<p>Written by:</p><ul>
<li><a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a> </li>
</ul>
</div>
</div>
<a id="a6689c4f7524b2c05772a2d6151138610" name="a6689c4f7524b2c05772a2d6151138610"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6689c4f7524b2c05772a2d6151138610">&#9670;&#160;</a></span>header_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_block::header_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Size of the Block Header field in bytes. </p>
<p>This is always a multiple of four.</p>
<p>Read by:</p><ul>
<li><a class="el" href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a></li>
<li><a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a></li>
<li><a class="el" href="block_8h.html#a6c3e102d76db06a07126a569abc6e2bc" title="Validate and set Compressed Size according to Unpadded Size.">lzma_block_compressed_size()</a></li>
<li><a class="el" href="block_8h.html#a412d5605280fa29befae1b89e344bf30" title="Calculate Unpadded Size.">lzma_block_unpadded_size()</a></li>
<li><a class="el" href="block_8h.html#a694424f9dfdd5151e01debac1c501fa9" title="Calculate the total encoded size of a Block.">lzma_block_total_size()</a></li>
<li><a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a></li>
<li><a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f" title="Single-call .xz Block decoder.">lzma_block_buffer_decode()</a></li>
</ul>
<p>Written by:</p><ul>
<li><a class="el" href="block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a></li>
<li><a class="el" href="block_8h.html#af415fa5130ab64e8760e9c39e856fa54" title="Single-call .xz Block encoder.">lzma_block_buffer_encode()</a></li>
<li><a class="el" href="block_8h.html#a5a260f634ccd5f54fb98f570d8d92d8c" title="Single-call uncompressed .xz Block encoder.">lzma_block_uncomp_encode()</a> </li>
</ul>
</div>
</div>
<a id="a80cd9d3025991db4a476ce7588f853e6" name="a80cd9d3025991db4a476ce7588f853e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80cd9d3025991db4a476ce7588f853e6">&#9670;&#160;</a></span>check</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a> lzma_block::check</td>
</tr>
</table>
</div><div class="memdoc">
<p>Type of integrity Check. </p>
<p>The Check ID is not stored into the Block Header, thus its value must be provided also when decoding.</p>
<p>Read by:</p><ul>
<li><a class="el" href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a></li>
<li><a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a></li>
<li><a class="el" href="block_8h.html#a6c3e102d76db06a07126a569abc6e2bc" title="Validate and set Compressed Size according to Unpadded Size.">lzma_block_compressed_size()</a></li>
<li><a class="el" href="block_8h.html#a412d5605280fa29befae1b89e344bf30" title="Calculate Unpadded Size.">lzma_block_unpadded_size()</a></li>
<li><a class="el" href="block_8h.html#a694424f9dfdd5151e01debac1c501fa9" title="Calculate the total encoded size of a Block.">lzma_block_total_size()</a></li>
<li><a class="el" href="block_8h.html#a2218a49025a0b44f9a6f9d6d24359359" title="Initialize .xz Block encoder.">lzma_block_encoder()</a></li>
<li><a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a></li>
<li><a class="el" href="block_8h.html#af415fa5130ab64e8760e9c39e856fa54" title="Single-call .xz Block encoder.">lzma_block_buffer_encode()</a></li>
<li><a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f" title="Single-call .xz Block decoder.">lzma_block_buffer_decode()</a> </li>
</ul>
</div>
</div>
<a id="a8383d489c9ffea8af390669a105c74e5" name="a8383d489c9ffea8af390669a105c74e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8383d489c9ffea8af390669a105c74e5">&#9670;&#160;</a></span>compressed_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_block::compressed_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Size of the Compressed Data in bytes. </p>
<p>Encoding: If this is not LZMA_VLI_UNKNOWN, Block Header encoder will store this value to the Block Header. Block encoder doesn't care about this value, but will set it once the encoding has been finished.</p>
<p>Decoding: If this is not LZMA_VLI_UNKNOWN, Block decoder will verify that the size of the Compressed Data field matches compressed_size.</p>
<p>Usually you don't know this value when encoding in streamed mode, and thus cannot write this field into the Block Header.</p>
<p>In non-streamed mode you can reserve space for this field before encoding the actual Block. After encoding the data, finish the Block by encoding the Block Header. Steps in detail:</p>
<ul>
<li>Set compressed_size to some big enough value. If you don't know better, use LZMA_VLI_MAX, but remember that bigger values take more space in Block Header.</li>
<li>Call <a class="el" href="block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a> to see how much space you need to reserve for the Block Header.</li>
<li>Encode the Block using <a class="el" href="block_8h.html#a2218a49025a0b44f9a6f9d6d24359359" title="Initialize .xz Block encoder.">lzma_block_encoder()</a> and <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a>. It sets compressed_size to the correct value.</li>
<li>Use <a class="el" href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a> to encode the Block Header. Because space was reserved in the first step, you don't need to call <a class="el" href="block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a> anymore, because due to reserving, header_size has to be big enough. If it is "too big", <a class="el" href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a> will add enough Header Padding to make Block Header to match the size specified by header_size.</li>
</ul>
<p>Read by:</p><ul>
<li><a class="el" href="block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a></li>
<li><a class="el" href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a></li>
<li><a class="el" href="block_8h.html#a6c3e102d76db06a07126a569abc6e2bc" title="Validate and set Compressed Size according to Unpadded Size.">lzma_block_compressed_size()</a></li>
<li><a class="el" href="block_8h.html#a412d5605280fa29befae1b89e344bf30" title="Calculate Unpadded Size.">lzma_block_unpadded_size()</a></li>
<li><a class="el" href="block_8h.html#a694424f9dfdd5151e01debac1c501fa9" title="Calculate the total encoded size of a Block.">lzma_block_total_size()</a></li>
<li><a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a></li>
<li><a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f" title="Single-call .xz Block decoder.">lzma_block_buffer_decode()</a></li>
</ul>
<p>Written by:</p><ul>
<li><a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a></li>
<li><a class="el" href="block_8h.html#a6c3e102d76db06a07126a569abc6e2bc" title="Validate and set Compressed Size according to Unpadded Size.">lzma_block_compressed_size()</a></li>
<li><a class="el" href="block_8h.html#a2218a49025a0b44f9a6f9d6d24359359" title="Initialize .xz Block encoder.">lzma_block_encoder()</a></li>
<li><a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a></li>
<li><a class="el" href="block_8h.html#af415fa5130ab64e8760e9c39e856fa54" title="Single-call .xz Block encoder.">lzma_block_buffer_encode()</a></li>
<li><a class="el" href="block_8h.html#a5a260f634ccd5f54fb98f570d8d92d8c" title="Single-call uncompressed .xz Block encoder.">lzma_block_uncomp_encode()</a></li>
<li><a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f" title="Single-call .xz Block decoder.">lzma_block_buffer_decode()</a> </li>
</ul>
</div>
</div>
<a id="a17362d38d1946dd16a9686557ec19a94" name="a17362d38d1946dd16a9686557ec19a94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17362d38d1946dd16a9686557ec19a94">&#9670;&#160;</a></span>uncompressed_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_block::uncompressed_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Uncompressed Size in bytes. </p>
<p>This is handled very similarly to compressed_size above.</p>
<p>uncompressed_size is needed by fewer functions than compressed_size. This is because uncompressed_size isn't needed to validate that Block stays within proper limits.</p>
<p>Read by:</p><ul>
<li><a class="el" href="block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a></li>
<li><a class="el" href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a></li>
<li><a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a></li>
<li><a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f" title="Single-call .xz Block decoder.">lzma_block_buffer_decode()</a></li>
</ul>
<p>Written by:</p><ul>
<li><a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a></li>
<li><a class="el" href="block_8h.html#a2218a49025a0b44f9a6f9d6d24359359" title="Initialize .xz Block encoder.">lzma_block_encoder()</a></li>
<li><a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a></li>
<li><a class="el" href="block_8h.html#af415fa5130ab64e8760e9c39e856fa54" title="Single-call .xz Block encoder.">lzma_block_buffer_encode()</a></li>
<li><a class="el" href="block_8h.html#a5a260f634ccd5f54fb98f570d8d92d8c" title="Single-call uncompressed .xz Block encoder.">lzma_block_uncomp_encode()</a></li>
<li><a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f" title="Single-call .xz Block decoder.">lzma_block_buffer_decode()</a> </li>
</ul>
</div>
</div>
<a id="a5900e517e6e0a473a3184074ae7defd1" name="a5900e517e6e0a473a3184074ae7defd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5900e517e6e0a473a3184074ae7defd1">&#9670;&#160;</a></span>filters</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structlzma__filter.html">lzma_filter</a>* lzma_block::filters</td>
</tr>
</table>
</div><div class="memdoc">
<p>Array of filters. </p>
<p>There can be 1-4 filters. The end of the array is marked with .id = LZMA_VLI_UNKNOWN.</p>
<p>Read by:</p><ul>
<li><a class="el" href="block_8h.html#ae9b47abc872d0b02c2da9d3fa5a7dacd" title="Calculate Block Header Size.">lzma_block_header_size()</a></li>
<li><a class="el" href="block_8h.html#a0eedbd6331d5708ea963260e6f2a92d0" title="Encode Block Header.">lzma_block_header_encode()</a></li>
<li><a class="el" href="block_8h.html#a2218a49025a0b44f9a6f9d6d24359359" title="Initialize .xz Block encoder.">lzma_block_encoder()</a></li>
<li><a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a></li>
<li><a class="el" href="block_8h.html#af415fa5130ab64e8760e9c39e856fa54" title="Single-call .xz Block encoder.">lzma_block_buffer_encode()</a></li>
<li><a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f" title="Single-call .xz Block decoder.">lzma_block_buffer_decode()</a></li>
</ul>
<p>Written by:</p><ul>
<li><a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a>: Note that this does NOT free() the old filter options structures. All unused filters[] will have .id == LZMA_VLI_UNKNOWN and .options == NULL. If decoding fails, all filters[] are guaranteed to be LZMA_VLI_UNKNOWN and NULL.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>Because of the array is terminated with .id = LZMA_VLI_UNKNOWN, the actual array must have LZMA_FILTERS_MAX + 1 members or the Block Header decoder will overflow the buffer. </dd></dl>
</div>
</div>
<a id="a25e9bf1bb1699017694b18ca24f965d2" name="a25e9bf1bb1699017694b18ca24f965d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25e9bf1bb1699017694b18ca24f965d2">&#9670;&#160;</a></span>raw_check</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t lzma_block::raw_check[<a class="el" href="check_8h.html#a379e931cf86351ab1d97896cda9abbe0">LZMA_CHECK_SIZE_MAX</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Raw value stored in the Check field. </p>
<p>After successful coding, the first lzma_check_size(check) bytes of this array contain the raw value stored in the Check field.</p>
<p>Note that CRC32 and CRC64 are stored in little endian byte order. Take it into account if you display the Check values to the user.</p>
<p>Written by:</p><ul>
<li><a class="el" href="block_8h.html#a2218a49025a0b44f9a6f9d6d24359359" title="Initialize .xz Block encoder.">lzma_block_encoder()</a></li>
<li><a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a></li>
<li><a class="el" href="block_8h.html#af415fa5130ab64e8760e9c39e856fa54" title="Single-call .xz Block encoder.">lzma_block_buffer_encode()</a></li>
<li><a class="el" href="block_8h.html#a5a260f634ccd5f54fb98f570d8d92d8c" title="Single-call uncompressed .xz Block encoder.">lzma_block_uncomp_encode()</a></li>
<li><a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f" title="Single-call .xz Block decoder.">lzma_block_buffer_decode()</a> </li>
</ul>
</div>
</div>
<a id="a516ac9cc63bc1a4fadd9fbfc189a206b" name="a516ac9cc63bc1a4fadd9fbfc189a206b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a516ac9cc63bc1a4fadd9fbfc189a206b">&#9670;&#160;</a></span>ignore_check</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#abbc819c74b484c846825ae1388a50a59">lzma_bool</a> lzma_block::ignore_check</td>
</tr>
</table>
</div><div class="memdoc">
<p>A flag to Block decoder to not verify the Check field. </p>
<p>This member is supported by liblzma &gt;= 5.1.4beta if .version &gt;= 1.</p>
<p>If this is set to true, the integrity check won't be calculated and verified. Unless you know what you are doing, you should leave this to false. (A reason to set this to true is when the file integrity is verified externally anyway and you want to speed up the decompression, which matters mostly when using SHA-256 as the integrity check.)</p>
<p>If .version &gt;= 1, read by:</p><ul>
<li><a class="el" href="block_8h.html#aa92c73b2a228efe921fa2376aa7adc92" title="Initialize .xz Block decoder.">lzma_block_decoder()</a></li>
<li><a class="el" href="block_8h.html#a0c6eb869d91b08f68648b1aa7a32ee9f" title="Single-call .xz Block decoder.">lzma_block_buffer_decode()</a></li>
</ul>
<p>Written by (.version is ignored):</p><ul>
<li><a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a> always sets this to false </li>
</ul>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lzma/<a class="el" href="block_8h.html">block.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structlzma__block.html">lzma_block</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,11 @@
var structlzma__block =
[
[ "version", "structlzma__block.html#ac3936a5b0ec3f9b8f9c7ad68e7d149a5", null ],
[ "header_size", "structlzma__block.html#a6689c4f7524b2c05772a2d6151138610", null ],
[ "check", "structlzma__block.html#a80cd9d3025991db4a476ce7588f853e6", null ],
[ "compressed_size", "structlzma__block.html#a8383d489c9ffea8af390669a105c74e5", null ],
[ "uncompressed_size", "structlzma__block.html#a17362d38d1946dd16a9686557ec19a94", null ],
[ "filters", "structlzma__block.html#a5900e517e6e0a473a3184074ae7defd1", null ],
[ "raw_check", "structlzma__block.html#a25e9bf1bb1699017694b18ca24f965d2", null ],
[ "ignore_check", "structlzma__block.html#a516ac9cc63bc1a4fadd9fbfc189a206b", null ]
];

View File

@@ -0,0 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma_filter Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('structlzma__filter.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle"><div class="title">lzma_filter Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Filter options.
<a href="#details">More...</a></p>
<p><code>#include &lt;filter.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:aef1d9709759f39e61db77547b2326929" id="r_aef1d9709759f39e61db77547b2326929"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aef1d9709759f39e61db77547b2326929">id</a></td></tr>
<tr class="memdesc:aef1d9709759f39e61db77547b2326929"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter ID. <br /></td></tr>
<tr class="separator:aef1d9709759f39e61db77547b2326929"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10dfbaa1601793657d12320bef933ee6" id="r_a10dfbaa1601793657d12320bef933ee6"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a10dfbaa1601793657d12320bef933ee6">options</a></td></tr>
<tr class="memdesc:a10dfbaa1601793657d12320bef933ee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to filter-specific options structure. <br /></td></tr>
<tr class="separator:a10dfbaa1601793657d12320bef933ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Filter options. </p>
<p>This structure is used to pass a Filter ID and a pointer to the filter's options to liblzma. A few functions work with a single <a class="el" href="structlzma__filter.html" title="Filter options.">lzma_filter</a> structure, while most functions expect a filter chain.</p>
<p>A filter chain is indicated with an array of <a class="el" href="structlzma__filter.html" title="Filter options.">lzma_filter</a> structures. The array is terminated with .id = LZMA_VLI_UNKNOWN. Thus, the filter array must have LZMA_FILTERS_MAX + 1 elements (that is, five) to be able to hold any arbitrary filter chain. This is important when using <a class="el" href="block_8h.html#a7f5487c21a7b36a8bd17be36074d43c9" title="Decode Block Header.">lzma_block_header_decode()</a> from <a class="el" href="block_8h.html" title=".xz Block handling">block.h</a>, because a filter array that is too small would make liblzma write past the end of the array. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="aef1d9709759f39e61db77547b2326929" name="aef1d9709759f39e61db77547b2326929"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef1d9709759f39e61db77547b2326929">&#9670;&#160;</a></span>id</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_filter::id</td>
</tr>
</table>
</div><div class="memdoc">
<p>Filter ID. </p>
<p>Use constants whose name begin with 'LZMA_FILTER_' to specify different filters. In an array of <a class="el" href="structlzma__filter.html" title="Filter options.">lzma_filter</a> structures, use LZMA_VLI_UNKNOWN to indicate end of filters.</p>
<dl class="section note"><dt>Note</dt><dd>This is not an enum, because on some systems enums cannot be 64-bit. </dd></dl>
</div>
</div>
<a id="a10dfbaa1601793657d12320bef933ee6" name="a10dfbaa1601793657d12320bef933ee6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10dfbaa1601793657d12320bef933ee6">&#9670;&#160;</a></span>options</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* lzma_filter::options</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to filter-specific options structure. </p>
<p>If the filter doesn't need options, set this to NULL. If id is set to LZMA_VLI_UNKNOWN, options is ignored, and thus doesn't need be initialized. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lzma/<a class="el" href="filter_8h.html">filter.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structlzma__filter.html">lzma_filter</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,5 @@
var structlzma__filter =
[
[ "id", "structlzma__filter.html#aef1d9709759f39e61db77547b2326929", null ],
[ "options", "structlzma__filter.html#a10dfbaa1601793657d12320bef933ee6", null ]
];

View File

@@ -0,0 +1,425 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma_index_iter Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('structlzma__index__iter.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle"><div class="title">lzma_index_iter Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Iterator to get information about Blocks and Streams.
<a href="#details">More...</a></p>
<p><code>#include &lt;index.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:aed9846e926101116b7624c8c7b8fe1ce" id="r_aed9846e926101116b7624c8c7b8fe1ce"><td class="memItemLeft" ><a id="aed9846e926101116b7624c8c7b8fe1ce" name="aed9846e926101116b7624c8c7b8fe1ce"></a>
struct {&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49c88963c2c0ba4ef2f4e7795308abe0" id="r_a49c88963c2c0ba4ef2f4e7795308abe0"><td class="memItemLeft" >&#160;&#160;&#160;const <a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a> *&#160;&#160;&#160;<a class="el" href="#a223a046bcf09077a6e720967682deeae">flags</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:a49c88963c2c0ba4ef2f4e7795308abe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to Stream Flags. <a href="#a223a046bcf09077a6e720967682deeae">More...</a><br /></td></tr>
<tr class="separator:a49c88963c2c0ba4ef2f4e7795308abe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616c9d1817f95f3c6c7c4569de80f132" id="r_a616c9d1817f95f3c6c7c4569de80f132"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#a115a307dbc778a9de296376dc39c7b23">number</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:a616c9d1817f95f3c6c7c4569de80f132"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stream number in the <a class="el" href="index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e" title="Opaque data type to hold the Index(es) and other information.">lzma_index</a>. <a href="#a115a307dbc778a9de296376dc39c7b23">More...</a><br /></td></tr>
<tr class="separator:a616c9d1817f95f3c6c7c4569de80f132"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a450877e2fe0c3eebd2a3adf695db507b" id="r_a450877e2fe0c3eebd2a3adf695db507b"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#abc6ee9be23e54f31aed07382c8caaf7c">block_count</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:a450877e2fe0c3eebd2a3adf695db507b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of Blocks in the Stream. <a href="#abc6ee9be23e54f31aed07382c8caaf7c">More...</a><br /></td></tr>
<tr class="separator:a450877e2fe0c3eebd2a3adf695db507b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60c51b8a0f7fc8f617616c1d8f546524" id="r_a60c51b8a0f7fc8f617616c1d8f546524"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#a426705df8dde4b094a42f91ea20a46ac">compressed_offset</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:a60c51b8a0f7fc8f617616c1d8f546524"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compressed start offset of this Stream. <a href="#a426705df8dde4b094a42f91ea20a46ac">More...</a><br /></td></tr>
<tr class="separator:a60c51b8a0f7fc8f617616c1d8f546524"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afeafead802a2473450229b3a10d4805f" id="r_afeafead802a2473450229b3a10d4805f"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#abd374b748b4a42e122b90841709609bc">uncompressed_offset</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:afeafead802a2473450229b3a10d4805f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uncompressed start offset of this Stream. <a href="#abd374b748b4a42e122b90841709609bc">More...</a><br /></td></tr>
<tr class="separator:afeafead802a2473450229b3a10d4805f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9555a5934bae876ccb8af3a00e5d009e" id="r_a9555a5934bae876ccb8af3a00e5d009e"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#a6e73b1f37e3fcf1e9491e4a53b2c52c7">compressed_size</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:a9555a5934bae876ccb8af3a00e5d009e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compressed size of this Stream. <a href="#a6e73b1f37e3fcf1e9491e4a53b2c52c7">More...</a><br /></td></tr>
<tr class="separator:a9555a5934bae876ccb8af3a00e5d009e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af026c20125e34a441407a165c2c2a03a" id="r_af026c20125e34a441407a165c2c2a03a"><td class="memItemLeft" >
&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<b>uncompressed_size</b>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:af026c20125e34a441407a165c2c2a03a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uncompressed size of this Stream. <br /></td></tr>
<tr class="separator:af026c20125e34a441407a165c2c2a03a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac148088d200ef412bf6cbbc781a98800" id="r_ac148088d200ef412bf6cbbc781a98800"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#a48cfc856f283fe00b0df37402e012818">padding</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:ac148088d200ef412bf6cbbc781a98800"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of Stream Padding after this Stream. <a href="#a48cfc856f283fe00b0df37402e012818">More...</a><br /></td></tr>
<tr class="separator:ac148088d200ef412bf6cbbc781a98800"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed9846e926101116b7624c8c7b8fe1ce" id="r_aed9846e926101116b7624c8c7b8fe1ce"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><b>stream</b>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="separator:aed9846e926101116b7624c8c7b8fe1ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a512428bded08c399908eb085ebdeb232" id="r_a512428bded08c399908eb085ebdeb232"><td class="memItemLeft" ><a id="a512428bded08c399908eb085ebdeb232" name="a512428bded08c399908eb085ebdeb232"></a>
struct {&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa66ef188fc3954390215a46d99ce57df" id="r_aa66ef188fc3954390215a46d99ce57df"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#abe5333de53562189012d5ed084c0ef98">number_in_file</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:aa66ef188fc3954390215a46d99ce57df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Block number in the file. <a href="#abe5333de53562189012d5ed084c0ef98">More...</a><br /></td></tr>
<tr class="separator:aa66ef188fc3954390215a46d99ce57df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad518aa1391625d486745f77280ef3b0f" id="r_ad518aa1391625d486745f77280ef3b0f"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#a26436e75d4c2b5dd8d1de24140d8003e">compressed_file_offset</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:ad518aa1391625d486745f77280ef3b0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compressed start offset of this Block. <a href="#a26436e75d4c2b5dd8d1de24140d8003e">More...</a><br /></td></tr>
<tr class="separator:ad518aa1391625d486745f77280ef3b0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d4724bc4a6d1e91fd09470823c8ef03" id="r_a4d4724bc4a6d1e91fd09470823c8ef03"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#a2f3ecf341b5dc043e9673759b8ff47b9">uncompressed_file_offset</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:a4d4724bc4a6d1e91fd09470823c8ef03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uncompressed start offset of this Block. <a href="#a2f3ecf341b5dc043e9673759b8ff47b9">More...</a><br /></td></tr>
<tr class="separator:a4d4724bc4a6d1e91fd09470823c8ef03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64c3b47a0db8aad7742ce52e5f2be377" id="r_a64c3b47a0db8aad7742ce52e5f2be377"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#a35a752d344ff5d35d2a858a20bd6e5e8">number_in_stream</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:a64c3b47a0db8aad7742ce52e5f2be377"><td class="mdescLeft">&#160;</td><td class="mdescRight">Block number in this Stream. <a href="#a35a752d344ff5d35d2a858a20bd6e5e8">More...</a><br /></td></tr>
<tr class="separator:a64c3b47a0db8aad7742ce52e5f2be377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88ba8db60fd521bc3c5e5c65500d3955" id="r_a88ba8db60fd521bc3c5e5c65500d3955"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#a578bba553c43dc59a5e4032d4f6c89a3">compressed_stream_offset</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:a88ba8db60fd521bc3c5e5c65500d3955"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compressed start offset of this Block. <a href="#a578bba553c43dc59a5e4032d4f6c89a3">More...</a><br /></td></tr>
<tr class="separator:a88ba8db60fd521bc3c5e5c65500d3955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae845a2d1573d9c633bae9966451cf187" id="r_ae845a2d1573d9c633bae9966451cf187"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#a0fc4959fab08e1a6a4902c728c735a99">uncompressed_stream_offset</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:ae845a2d1573d9c633bae9966451cf187"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uncompressed start offset of this Block. <a href="#a0fc4959fab08e1a6a4902c728c735a99">More...</a><br /></td></tr>
<tr class="separator:ae845a2d1573d9c633bae9966451cf187"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad841358ab36d4b3fc3b7cbc03d03be73" id="r_ad841358ab36d4b3fc3b7cbc03d03be73"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#aafc48408ed40060a84ecd66bae5e1b23">uncompressed_size</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:ad841358ab36d4b3fc3b7cbc03d03be73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uncompressed size of this Block. <a href="#aafc48408ed40060a84ecd66bae5e1b23">More...</a><br /></td></tr>
<tr class="separator:ad841358ab36d4b3fc3b7cbc03d03be73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a738809ba50bf04973ec2b9af7160efbf" id="r_a738809ba50bf04973ec2b9af7160efbf"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#a9f4e405b9884be08e3a35bc06e3e15df">unpadded_size</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:a738809ba50bf04973ec2b9af7160efbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unpadded size of this Block. <a href="#a9f4e405b9884be08e3a35bc06e3e15df">More...</a><br /></td></tr>
<tr class="separator:a738809ba50bf04973ec2b9af7160efbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a459a9f1053c76be135f298e64623b414" id="r_a459a9f1053c76be135f298e64623b414"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a>&#160;&#160;&#160;<a class="el" href="#ae164ca3d7492dcf5883769c38baac30e">total_size</a>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="memdesc:a459a9f1053c76be135f298e64623b414"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total compressed size. <a href="#ae164ca3d7492dcf5883769c38baac30e">More...</a><br /></td></tr>
<tr class="separator:a459a9f1053c76be135f298e64623b414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a512428bded08c399908eb085ebdeb232" id="r_a512428bded08c399908eb085ebdeb232"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><b>block</b>&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr class="separator:a512428bded08c399908eb085ebdeb232"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Iterator to get information about Blocks and Streams. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a223a046bcf09077a6e720967682deeae" name="a223a046bcf09077a6e720967682deeae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a223a046bcf09077a6e720967682deeae">&#9670;&#160;</a></span>flags</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structlzma__stream__flags.html">lzma_stream_flags</a>* lzma_index_iter::flags</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to Stream Flags. </p>
<p>This is NULL if Stream Flags have not been set for this Stream with <a class="el" href="index_8h.html#a79a19669237f19f0b11c9f3be80a62b4" title="Set the Stream Flags.">lzma_index_stream_flags()</a>. </p>
</div>
</div>
<a id="a115a307dbc778a9de296376dc39c7b23" name="a115a307dbc778a9de296376dc39c7b23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a115a307dbc778a9de296376dc39c7b23">&#9670;&#160;</a></span>number</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::number</td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream number in the <a class="el" href="index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e" title="Opaque data type to hold the Index(es) and other information.">lzma_index</a>. </p>
<p>The first Stream is 1. </p>
</div>
</div>
<a id="abc6ee9be23e54f31aed07382c8caaf7c" name="abc6ee9be23e54f31aed07382c8caaf7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc6ee9be23e54f31aed07382c8caaf7c">&#9670;&#160;</a></span>block_count</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::block_count</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of Blocks in the Stream. </p>
<p>If this is zero, the block structure below has undefined values. </p>
</div>
</div>
<a id="a426705df8dde4b094a42f91ea20a46ac" name="a426705df8dde4b094a42f91ea20a46ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a426705df8dde4b094a42f91ea20a46ac">&#9670;&#160;</a></span>compressed_offset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::compressed_offset</td>
</tr>
</table>
</div><div class="memdoc">
<p>Compressed start offset of this Stream. </p>
<p>The offset is relative to the beginning of the <a class="el" href="index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e" title="Opaque data type to hold the Index(es) and other information.">lzma_index</a> (i.e. usually the beginning of the .xz file). </p>
</div>
</div>
<a id="abd374b748b4a42e122b90841709609bc" name="abd374b748b4a42e122b90841709609bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd374b748b4a42e122b90841709609bc">&#9670;&#160;</a></span>uncompressed_offset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::uncompressed_offset</td>
</tr>
</table>
</div><div class="memdoc">
<p>Uncompressed start offset of this Stream. </p>
<p>The offset is relative to the beginning of the <a class="el" href="index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e" title="Opaque data type to hold the Index(es) and other information.">lzma_index</a> (i.e. usually the beginning of the .xz file). </p>
</div>
</div>
<a id="a6e73b1f37e3fcf1e9491e4a53b2c52c7" name="a6e73b1f37e3fcf1e9491e4a53b2c52c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e73b1f37e3fcf1e9491e4a53b2c52c7">&#9670;&#160;</a></span>compressed_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::compressed_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Compressed size of this Stream. </p>
<p>This includes all headers except the possible Stream Padding after this Stream. </p>
</div>
</div>
<a id="aafc48408ed40060a84ecd66bae5e1b23" name="aafc48408ed40060a84ecd66bae5e1b23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafc48408ed40060a84ecd66bae5e1b23">&#9670;&#160;</a></span>uncompressed_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::uncompressed_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Uncompressed size of this Stream. </p>
<p>Uncompressed size of this Block.</p>
<p>You should pass this to the Block decoder if you will decode this Block. It will allow the Block decoder to validate the uncompressed size. </p>
</div>
</div>
<a id="a48cfc856f283fe00b0df37402e012818" name="a48cfc856f283fe00b0df37402e012818"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48cfc856f283fe00b0df37402e012818">&#9670;&#160;</a></span>padding</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::padding</td>
</tr>
</table>
</div><div class="memdoc">
<p>Size of Stream Padding after this Stream. </p>
<p>If it hasn't been set with <a class="el" href="index_8h.html#a3ed82f96c688f3c953f6509b6f4e2ef3" title="Set the amount of Stream Padding.">lzma_index_stream_padding()</a>, this defaults to zero. Stream Padding is always a multiple of four bytes. </p>
</div>
</div>
<a id="abe5333de53562189012d5ed084c0ef98" name="abe5333de53562189012d5ed084c0ef98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe5333de53562189012d5ed084c0ef98">&#9670;&#160;</a></span>number_in_file</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::number_in_file</td>
</tr>
</table>
</div><div class="memdoc">
<p>Block number in the file. </p>
<p>The first Block is 1. </p>
</div>
</div>
<a id="a26436e75d4c2b5dd8d1de24140d8003e" name="a26436e75d4c2b5dd8d1de24140d8003e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26436e75d4c2b5dd8d1de24140d8003e">&#9670;&#160;</a></span>compressed_file_offset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::compressed_file_offset</td>
</tr>
</table>
</div><div class="memdoc">
<p>Compressed start offset of this Block. </p>
<p>This offset is relative to the beginning of the <a class="el" href="index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e" title="Opaque data type to hold the Index(es) and other information.">lzma_index</a> (i.e. usually the beginning of the .xz file). Normally this is where you should seek in the .xz file to start decompressing this Block. </p>
</div>
</div>
<a id="a2f3ecf341b5dc043e9673759b8ff47b9" name="a2f3ecf341b5dc043e9673759b8ff47b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f3ecf341b5dc043e9673759b8ff47b9">&#9670;&#160;</a></span>uncompressed_file_offset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::uncompressed_file_offset</td>
</tr>
</table>
</div><div class="memdoc">
<p>Uncompressed start offset of this Block. </p>
<p>This offset is relative to the beginning of the <a class="el" href="index_8h.html#afc18c1443b3b9aa0d146b44e8755b62e" title="Opaque data type to hold the Index(es) and other information.">lzma_index</a> (i.e. usually the beginning of the .xz file).</p>
<p>When doing random-access reading, it is possible that the target offset is not exactly at Block boundary. One will need to compare the target offset against uncompressed_file_offset or uncompressed_stream_offset, and possibly decode and throw away some amount of data before reaching the target offset. </p>
</div>
</div>
<a id="a35a752d344ff5d35d2a858a20bd6e5e8" name="a35a752d344ff5d35d2a858a20bd6e5e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35a752d344ff5d35d2a858a20bd6e5e8">&#9670;&#160;</a></span>number_in_stream</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::number_in_stream</td>
</tr>
</table>
</div><div class="memdoc">
<p>Block number in this Stream. </p>
<p>The first Block is 1. </p>
</div>
</div>
<a id="a578bba553c43dc59a5e4032d4f6c89a3" name="a578bba553c43dc59a5e4032d4f6c89a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a578bba553c43dc59a5e4032d4f6c89a3">&#9670;&#160;</a></span>compressed_stream_offset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::compressed_stream_offset</td>
</tr>
</table>
</div><div class="memdoc">
<p>Compressed start offset of this Block. </p>
<p>This offset is relative to the beginning of the Stream containing this Block. </p>
</div>
</div>
<a id="a0fc4959fab08e1a6a4902c728c735a99" name="a0fc4959fab08e1a6a4902c728c735a99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fc4959fab08e1a6a4902c728c735a99">&#9670;&#160;</a></span>uncompressed_stream_offset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::uncompressed_stream_offset</td>
</tr>
</table>
</div><div class="memdoc">
<p>Uncompressed start offset of this Block. </p>
<p>This offset is relative to the beginning of the Stream containing this Block. </p>
</div>
</div>
<a id="a9f4e405b9884be08e3a35bc06e3e15df" name="a9f4e405b9884be08e3a35bc06e3e15df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f4e405b9884be08e3a35bc06e3e15df">&#9670;&#160;</a></span>unpadded_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::unpadded_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Unpadded size of this Block. </p>
<p>You should pass this to the Block decoder if you will decode this Block. It will allow the Block decoder to validate the unpadded size. </p>
</div>
</div>
<a id="ae164ca3d7492dcf5883769c38baac30e" name="ae164ca3d7492dcf5883769c38baac30e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae164ca3d7492dcf5883769c38baac30e">&#9670;&#160;</a></span>total_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vli_8h.html#a1dbc0ffc3e72748f64df8f7f71898272">lzma_vli</a> lzma_index_iter::total_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Total compressed size. </p>
<p>This includes all headers and padding in this Block. This is useful if you need to know how many bytes the Block decoder will actually read. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lzma/<a class="el" href="index_8h.html">index.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structlzma__index__iter.html">lzma_index_iter</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,19 @@
var structlzma__index__iter =
[
[ "flags", "structlzma__index__iter.html#a223a046bcf09077a6e720967682deeae", null ],
[ "number", "structlzma__index__iter.html#a115a307dbc778a9de296376dc39c7b23", null ],
[ "block_count", "structlzma__index__iter.html#abc6ee9be23e54f31aed07382c8caaf7c", null ],
[ "compressed_offset", "structlzma__index__iter.html#a426705df8dde4b094a42f91ea20a46ac", null ],
[ "uncompressed_offset", "structlzma__index__iter.html#abd374b748b4a42e122b90841709609bc", null ],
[ "compressed_size", "structlzma__index__iter.html#a6e73b1f37e3fcf1e9491e4a53b2c52c7", null ],
[ "uncompressed_size", "structlzma__index__iter.html#aafc48408ed40060a84ecd66bae5e1b23", null ],
[ "padding", "structlzma__index__iter.html#a48cfc856f283fe00b0df37402e012818", null ],
[ "number_in_file", "structlzma__index__iter.html#abe5333de53562189012d5ed084c0ef98", null ],
[ "compressed_file_offset", "structlzma__index__iter.html#a26436e75d4c2b5dd8d1de24140d8003e", null ],
[ "uncompressed_file_offset", "structlzma__index__iter.html#a2f3ecf341b5dc043e9673759b8ff47b9", null ],
[ "number_in_stream", "structlzma__index__iter.html#a35a752d344ff5d35d2a858a20bd6e5e8", null ],
[ "compressed_stream_offset", "structlzma__index__iter.html#a578bba553c43dc59a5e4032d4f6c89a3", null ],
[ "uncompressed_stream_offset", "structlzma__index__iter.html#a0fc4959fab08e1a6a4902c728c735a99", null ],
[ "unpadded_size", "structlzma__index__iter.html#a9f4e405b9884be08e3a35bc06e3e15df", null ],
[ "total_size", "structlzma__index__iter.html#ae164ca3d7492dcf5883769c38baac30e", null ]
];

View File

@@ -0,0 +1,274 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma_mt Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('structlzma__mt.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle"><div class="title">lzma_mt Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Multithreading options.
<a href="#details">More...</a></p>
<p><code>#include &lt;container.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a1c2fe028f547bf58b48b5199557d9a9f" id="r_a1c2fe028f547bf58b48b5199557d9a9f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1c2fe028f547bf58b48b5199557d9a9f">flags</a></td></tr>
<tr class="memdesc:a1c2fe028f547bf58b48b5199557d9a9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags. <br /></td></tr>
<tr class="separator:a1c2fe028f547bf58b48b5199557d9a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a881761f858dbda33c697e74acde0be70" id="r_a881761f858dbda33c697e74acde0be70"><td class="memItemLeft" align="right" valign="top"><a id="a881761f858dbda33c697e74acde0be70" name="a881761f858dbda33c697e74acde0be70"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>threads</b></td></tr>
<tr class="memdesc:a881761f858dbda33c697e74acde0be70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of worker threads to use. <br /></td></tr>
<tr class="separator:a881761f858dbda33c697e74acde0be70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20cdc7865266ccb88da36a6e68f84d15" id="r_a20cdc7865266ccb88da36a6e68f84d15"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a20cdc7865266ccb88da36a6e68f84d15">block_size</a></td></tr>
<tr class="memdesc:a20cdc7865266ccb88da36a6e68f84d15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encoder only: Maximum uncompressed size of a Block. <br /></td></tr>
<tr class="separator:a20cdc7865266ccb88da36a6e68f84d15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a298992bf7d2154d8dd814560219d10c2" id="r_a298992bf7d2154d8dd814560219d10c2"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a298992bf7d2154d8dd814560219d10c2">timeout</a></td></tr>
<tr class="memdesc:a298992bf7d2154d8dd814560219d10c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timeout to allow <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> to return early. <br /></td></tr>
<tr class="separator:a298992bf7d2154d8dd814560219d10c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3883b5644752cdd15f01387d58dd050" id="r_ab3883b5644752cdd15f01387d58dd050"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab3883b5644752cdd15f01387d58dd050">preset</a></td></tr>
<tr class="memdesc:ab3883b5644752cdd15f01387d58dd050"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encoder only: Compression preset. <br /></td></tr>
<tr class="separator:ab3883b5644752cdd15f01387d58dd050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad43a62ef2178c76405e5be0ece7a98b4" id="r_ad43a62ef2178c76405e5be0ece7a98b4"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structlzma__filter.html">lzma_filter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad43a62ef2178c76405e5be0ece7a98b4">filters</a></td></tr>
<tr class="memdesc:ad43a62ef2178c76405e5be0ece7a98b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encoder only: Filter chain (alternative to a preset) <br /></td></tr>
<tr class="separator:ad43a62ef2178c76405e5be0ece7a98b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae38846e8aca5b20d2a86a2364283b730" id="r_ae38846e8aca5b20d2a86a2364283b730"><td class="memItemLeft" align="right" valign="top"><a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae38846e8aca5b20d2a86a2364283b730">check</a></td></tr>
<tr class="memdesc:ae38846e8aca5b20d2a86a2364283b730"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encoder only: Integrity check type. <br /></td></tr>
<tr class="separator:ae38846e8aca5b20d2a86a2364283b730"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a7fb0c7c2db350e09e77477bc3c9509" id="r_a5a7fb0c7c2db350e09e77477bc3c9509"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5a7fb0c7c2db350e09e77477bc3c9509">memlimit_threading</a></td></tr>
<tr class="memdesc:a5a7fb0c7c2db350e09e77477bc3c9509"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory usage limit to reduce the number of threads. <br /></td></tr>
<tr class="separator:a5a7fb0c7c2db350e09e77477bc3c9509"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5e0b530d4c572c7a2361aabbad656aa" id="r_ab5e0b530d4c572c7a2361aabbad656aa"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab5e0b530d4c572c7a2361aabbad656aa">memlimit_stop</a></td></tr>
<tr class="memdesc:ab5e0b530d4c572c7a2361aabbad656aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory usage limit that should never be exceeded. <br /></td></tr>
<tr class="separator:ab5e0b530d4c572c7a2361aabbad656aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Multithreading options. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a1c2fe028f547bf58b48b5199557d9a9f" name="a1c2fe028f547bf58b48b5199557d9a9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c2fe028f547bf58b48b5199557d9a9f">&#9670;&#160;</a></span>flags</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_mt::flags</td>
</tr>
</table>
</div><div class="memdoc">
<p>Flags. </p>
<p>Set this to zero if no flags are wanted.</p>
<p>Encoder: No flags are currently supported.</p>
<p>Decoder: Bitwise-or of zero or more of the decoder flags:</p><ul>
<li>LZMA_TELL_NO_CHECK</li>
<li>LZMA_TELL_UNSUPPORTED_CHECK</li>
<li>LZMA_TELL_ANY_CHECK</li>
<li>LZMA_IGNORE_CHECK</li>
<li>LZMA_CONCATENATED</li>
<li>LZMA_FAIL_FAST </li>
</ul>
</div>
</div>
<a id="a20cdc7865266ccb88da36a6e68f84d15" name="a20cdc7865266ccb88da36a6e68f84d15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20cdc7865266ccb88da36a6e68f84d15">&#9670;&#160;</a></span>block_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t lzma_mt::block_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Encoder only: Maximum uncompressed size of a Block. </p>
<p>The encoder will start a new .xz Block every block_size bytes. Using LZMA_FULL_FLUSH or LZMA_FULL_BARRIER with <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> the caller may tell liblzma to start a new Block earlier.</p>
<p>With LZMA2, a recommended block size is 2-4 times the LZMA2 dictionary size. With very small dictionaries, it is recommended to use at least 1 MiB block size for good compression ratio, even if this is more than four times the dictionary size. Note that these are only recommendations for typical use cases; feel free to use other values. Just keep in mind that using a block size less than the LZMA2 dictionary size is waste of RAM.</p>
<p>Set this to 0 to let liblzma choose the block size depending on the compression options. For LZMA2 it will be 3*dict_size or 1 MiB, whichever is more.</p>
<p>For each thread, about 3 * block_size bytes of memory will be allocated. This may change in later liblzma versions. If so, the memory usage will probably be reduced, not increased. </p>
</div>
</div>
<a id="a298992bf7d2154d8dd814560219d10c2" name="a298992bf7d2154d8dd814560219d10c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a298992bf7d2154d8dd814560219d10c2">&#9670;&#160;</a></span>timeout</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_mt::timeout</td>
</tr>
</table>
</div><div class="memdoc">
<p>Timeout to allow <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> to return early. </p>
<p>Multithreading can make liblzma consume input and produce output in a very bursty way: it may first read a lot of input to fill internal buffers, then no input or output occurs for a while.</p>
<p>In single-threaded mode, <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> won't return until it has either consumed all the input or filled the output buffer. If this is done in multithreaded mode, it may cause a call <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> to take even tens of seconds, which isn't acceptable in all applications.</p>
<p>To avoid very long blocking times in <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a>, a timeout (in milliseconds) may be set here. If <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> would block longer than this number of milliseconds, it will return with LZMA_OK. Reasonable values are 100 ms or more. The xz command line tool uses 300 ms.</p>
<p>If long blocking times are acceptable, set timeout to a special value of 0. This will disable the timeout mechanism and will make <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> block until all the input is consumed or the output buffer has been filled.</p>
<dl class="section note"><dt>Note</dt><dd>Even with a timeout, <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> might sometimes take a long time to return. No timing guarantees are made. </dd></dl>
</div>
</div>
<a id="ab3883b5644752cdd15f01387d58dd050" name="ab3883b5644752cdd15f01387d58dd050"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3883b5644752cdd15f01387d58dd050">&#9670;&#160;</a></span>preset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_mt::preset</td>
</tr>
</table>
</div><div class="memdoc">
<p>Encoder only: Compression preset. </p>
<p>The preset is set just like with <a class="el" href="container_8h.html#acbdad999c544872f0f5d242f0d1a4ed4" title="Initialize .xz Stream encoder using a preset number.">lzma_easy_encoder()</a>. The preset is ignored if filters below is non-NULL. </p>
</div>
</div>
<a id="ad43a62ef2178c76405e5be0ece7a98b4" name="ad43a62ef2178c76405e5be0ece7a98b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad43a62ef2178c76405e5be0ece7a98b4">&#9670;&#160;</a></span>filters</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structlzma__filter.html">lzma_filter</a>* lzma_mt::filters</td>
</tr>
</table>
</div><div class="memdoc">
<p>Encoder only: Filter chain (alternative to a preset) </p>
<p>If this is NULL, the preset above is used. Otherwise the preset is ignored and the filter chain specified here is used. </p>
</div>
</div>
<a id="ae38846e8aca5b20d2a86a2364283b730" name="ae38846e8aca5b20d2a86a2364283b730"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae38846e8aca5b20d2a86a2364283b730">&#9670;&#160;</a></span>check</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="check_8h.html#a0a6100c719ac9aa49be3fdf7519e8c3f">lzma_check</a> lzma_mt::check</td>
</tr>
</table>
</div><div class="memdoc">
<p>Encoder only: Integrity check type. </p>
<p>See <a class="el" href="check_8h.html" title="Integrity checks.">check.h</a> for available checks. The xz command line tool defaults to LZMA_CHECK_CRC64, which is a good choice if you are unsure. </p>
</div>
</div>
<a id="a5a7fb0c7c2db350e09e77477bc3c9509" name="a5a7fb0c7c2db350e09e77477bc3c9509"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a7fb0c7c2db350e09e77477bc3c9509">&#9670;&#160;</a></span>memlimit_threading</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t lzma_mt::memlimit_threading</td>
</tr>
</table>
</div><div class="memdoc">
<p>Memory usage limit to reduce the number of threads. </p>
<p>Encoder: Ignored.</p>
<p>Decoder:</p>
<p>If the number of threads has been set so high that more than memlimit_threading bytes of memory would be needed, the number of threads will be reduced so that the memory usage will not exceed memlimit_threading bytes. However, if memlimit_threading cannot be met even in single-threaded mode, then decoding will continue in single-threaded mode and memlimit_threading may be exceeded even by a large amount. That is, memlimit_threading will never make <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> return LZMA_MEMLIMIT_ERROR. To truly cap the memory usage, see memlimit_stop below.</p>
<p>Setting memlimit_threading to UINT64_MAX or a similar huge value means that liblzma is allowed to keep the whole compressed file and the whole uncompressed file in memory in addition to the memory needed by the decompressor data structures used by each thread! In other words, a reasonable value limit must be set here or it will cause problems sooner or later. If you have no idea what a reasonable value could be, try <a class="el" href="hardware_8h.html#a85363e453b34272a9f26c9fdffb041ee" title="Get the total amount of physical memory (RAM) in bytes.">lzma_physmem()</a> / 4 as a starting point. Setting this limit will never prevent decompression of a file; this will only reduce the number of threads.</p>
<p>If memlimit_threading is greater than memlimit_stop, then the value of memlimit_stop will be used for both. </p>
</div>
</div>
<a id="ab5e0b530d4c572c7a2361aabbad656aa" name="ab5e0b530d4c572c7a2361aabbad656aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5e0b530d4c572c7a2361aabbad656aa">&#9670;&#160;</a></span>memlimit_stop</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t lzma_mt::memlimit_stop</td>
</tr>
</table>
</div><div class="memdoc">
<p>Memory usage limit that should never be exceeded. </p>
<p>Encoder: Ignored.</p>
<p>Decoder: If decompressing will need more than this amount of memory even in the single-threaded mode, then <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> will return LZMA_MEMLIMIT_ERROR. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lzma/<a class="el" href="container_8h.html">container.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structlzma__mt.html">lzma_mt</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,12 @@
var structlzma__mt =
[
[ "flags", "structlzma__mt.html#a1c2fe028f547bf58b48b5199557d9a9f", null ],
[ "threads", "structlzma__mt.html#a881761f858dbda33c697e74acde0be70", null ],
[ "block_size", "structlzma__mt.html#a20cdc7865266ccb88da36a6e68f84d15", null ],
[ "timeout", "structlzma__mt.html#a298992bf7d2154d8dd814560219d10c2", null ],
[ "preset", "structlzma__mt.html#ab3883b5644752cdd15f01387d58dd050", null ],
[ "filters", "structlzma__mt.html#ad43a62ef2178c76405e5be0ece7a98b4", null ],
[ "check", "structlzma__mt.html#ae38846e8aca5b20d2a86a2364283b730", null ],
[ "memlimit_threading", "structlzma__mt.html#a5a7fb0c7c2db350e09e77477bc3c9509", null ],
[ "memlimit_stop", "structlzma__mt.html#ab5e0b530d4c572c7a2361aabbad656aa", null ]
];

View File

@@ -0,0 +1,113 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma_options_bcj Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('structlzma__options__bcj.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle"><div class="title">lzma_options_bcj Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Options for BCJ filters.
<a href="#details">More...</a></p>
<p><code>#include &lt;bcj.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a3f5a3c62cd82ce89433684f12ed096ac" id="r_a3f5a3c62cd82ce89433684f12ed096ac"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3f5a3c62cd82ce89433684f12ed096ac">start_offset</a></td></tr>
<tr class="memdesc:a3f5a3c62cd82ce89433684f12ed096ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start offset for conversions. <br /></td></tr>
<tr class="separator:a3f5a3c62cd82ce89433684f12ed096ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Options for BCJ filters. </p>
<p>The BCJ filters never change the size of the data. Specifying options for them is optional: if pointer to options is NULL, default value is used. You probably never need to specify options to BCJ filters, so just set the options pointer to NULL and be happy.</p>
<p>If options with non-default values have been specified when encoding, the same options must also be specified when decoding.</p>
<dl class="section note"><dt>Note</dt><dd>At the moment, none of the BCJ filters support LZMA_SYNC_FLUSH. If LZMA_SYNC_FLUSH is specified, LZMA_OPTIONS_ERROR will be returned. If there is need, partial support for LZMA_SYNC_FLUSH can be added in future. Partial means that flushing would be possible only at offsets that are multiple of 2, 4, or 16 depending on the filter, except x86 which cannot be made to support LZMA_SYNC_FLUSH predictably. </dd></dl>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a3f5a3c62cd82ce89433684f12ed096ac" name="a3f5a3c62cd82ce89433684f12ed096ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f5a3c62cd82ce89433684f12ed096ac">&#9670;&#160;</a></span>start_offset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_bcj::start_offset</td>
</tr>
</table>
</div><div class="memdoc">
<p>Start offset for conversions. </p>
<p>This setting is useful only when the same filter is used <em>separately</em> for multiple sections of the same executable file, and the sections contain cross-section branch/call/jump instructions. In that case it is beneficial to set the start offset of the non-first sections so that the relative addresses of the cross-section branch/call/jump instructions will use the same absolute addresses as in the first section.</p>
<p>When the pointer to options is NULL, the default value (zero) is used. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lzma/<a class="el" href="bcj_8h.html">bcj.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structlzma__options__bcj.html">lzma_options_bcj</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,4 @@
var structlzma__options__bcj =
[
[ "start_offset", "structlzma__options__bcj.html#a3f5a3c62cd82ce89433684f12ed096ac", null ]
];

View File

@@ -0,0 +1,131 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma_options_delta Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('structlzma__options__delta.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle"><div class="title">lzma_options_delta Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Options for the Delta filter.
<a href="#details">More...</a></p>
<p><code>#include &lt;delta.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:af3f1ece7f8c472f4a794953b414c7cd7" id="r_af3f1ece7f8c472f4a794953b414c7cd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="delta_8h.html#a04d84d7fa6cefdc219b6e2e96ff36fe1">lzma_delta_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af3f1ece7f8c472f4a794953b414c7cd7">type</a></td></tr>
<tr class="separator:af3f1ece7f8c472f4a794953b414c7cd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31b4b0b5a2462cb9433c2663b8a62790" id="r_a31b4b0b5a2462cb9433c2663b8a62790"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a31b4b0b5a2462cb9433c2663b8a62790">dist</a></td></tr>
<tr class="memdesc:a31b4b0b5a2462cb9433c2663b8a62790"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delta distance. <br /></td></tr>
<tr class="separator:a31b4b0b5a2462cb9433c2663b8a62790"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Options for the Delta filter. </p>
<p>These options are needed by both encoder and decoder. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="af3f1ece7f8c472f4a794953b414c7cd7" name="af3f1ece7f8c472f4a794953b414c7cd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3f1ece7f8c472f4a794953b414c7cd7">&#9670;&#160;</a></span>type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="delta_8h.html#a04d84d7fa6cefdc219b6e2e96ff36fe1">lzma_delta_type</a> lzma_options_delta::type</td>
</tr>
</table>
</div><div class="memdoc">
<p>For now, this must always be LZMA_DELTA_TYPE_BYTE. </p>
</div>
</div>
<a id="a31b4b0b5a2462cb9433c2663b8a62790" name="a31b4b0b5a2462cb9433c2663b8a62790"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31b4b0b5a2462cb9433c2663b8a62790">&#9670;&#160;</a></span>dist</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_delta::dist</td>
</tr>
</table>
</div><div class="memdoc">
<p>Delta distance. </p>
<p>With the only currently supported type, LZMA_DELTA_TYPE_BYTE, the distance is as bytes.</p>
<p>Examples:</p><ul>
<li>16-bit stereo audio: distance = 4 bytes</li>
<li>24-bit RGB image data: distance = 3 bytes </li>
</ul>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lzma/<a class="el" href="delta_8h.html">delta.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structlzma__options__delta.html">lzma_options_delta</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,5 @@
var structlzma__options__delta =
[
[ "type", "structlzma__options__delta.html#af3f1ece7f8c472f4a794953b414c7cd7", null ],
[ "dist", "structlzma__options__delta.html#a31b4b0b5a2462cb9433c2663b8a62790", null ]
];

View File

@@ -0,0 +1,381 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma_options_lzma Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('structlzma__options__lzma.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle"><div class="title">lzma_options_lzma Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Options specific to the LZMA1 and LZMA2 filters.
<a href="#details">More...</a></p>
<p><code>#include &lt;lzma12.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:aeb3f86002405a1191af86def46fca5ad" id="r_aeb3f86002405a1191af86def46fca5ad"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeb3f86002405a1191af86def46fca5ad">dict_size</a></td></tr>
<tr class="memdesc:aeb3f86002405a1191af86def46fca5ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dictionary size in bytes. <br /></td></tr>
<tr class="separator:aeb3f86002405a1191af86def46fca5ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16a58c1ee3ec18c820d5cb03dde3739a" id="r_a16a58c1ee3ec18c820d5cb03dde3739a"><td class="memItemLeft" align="right" valign="top">const uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a16a58c1ee3ec18c820d5cb03dde3739a">preset_dict</a></td></tr>
<tr class="memdesc:a16a58c1ee3ec18c820d5cb03dde3739a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to an initial dictionary. <br /></td></tr>
<tr class="separator:a16a58c1ee3ec18c820d5cb03dde3739a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a655ad4cce9e4dac9cf2a5c8daaa629e0" id="r_a655ad4cce9e4dac9cf2a5c8daaa629e0"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a655ad4cce9e4dac9cf2a5c8daaa629e0">preset_dict_size</a></td></tr>
<tr class="memdesc:a655ad4cce9e4dac9cf2a5c8daaa629e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the preset dictionary. <br /></td></tr>
<tr class="separator:a655ad4cce9e4dac9cf2a5c8daaa629e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95f6188e5b5f05c50ec463a315df3585" id="r_a95f6188e5b5f05c50ec463a315df3585"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a95f6188e5b5f05c50ec463a315df3585">lc</a></td></tr>
<tr class="memdesc:a95f6188e5b5f05c50ec463a315df3585"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of literal context bits. <br /></td></tr>
<tr class="separator:a95f6188e5b5f05c50ec463a315df3585"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fe9c54e808fce3090b6994d95fe41fe" id="r_a0fe9c54e808fce3090b6994d95fe41fe"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0fe9c54e808fce3090b6994d95fe41fe">lp</a></td></tr>
<tr class="memdesc:a0fe9c54e808fce3090b6994d95fe41fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of literal position bits. <br /></td></tr>
<tr class="separator:a0fe9c54e808fce3090b6994d95fe41fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acae107b3d3e9d0d4fe16103be22f4408" id="r_acae107b3d3e9d0d4fe16103be22f4408"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acae107b3d3e9d0d4fe16103be22f4408">pb</a></td></tr>
<tr class="memdesc:acae107b3d3e9d0d4fe16103be22f4408"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of position bits. <br /></td></tr>
<tr class="separator:acae107b3d3e9d0d4fe16103be22f4408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d711df9bda046fd3899abf21fa250d5" id="r_a1d711df9bda046fd3899abf21fa250d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866">lzma_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1d711df9bda046fd3899abf21fa250d5">mode</a></td></tr>
<tr class="separator:a1d711df9bda046fd3899abf21fa250d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0352ea7f8b6a43b745a44f6cb4e2d263" id="r_a0352ea7f8b6a43b745a44f6cb4e2d263"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0352ea7f8b6a43b745a44f6cb4e2d263">nice_len</a></td></tr>
<tr class="memdesc:a0352ea7f8b6a43b745a44f6cb4e2d263"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nice length of a match. <br /></td></tr>
<tr class="separator:a0352ea7f8b6a43b745a44f6cb4e2d263"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa99612cd52259093007f33513882dcd0" id="r_aa99612cd52259093007f33513882dcd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80">lzma_match_finder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa99612cd52259093007f33513882dcd0">mf</a></td></tr>
<tr class="separator:aa99612cd52259093007f33513882dcd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4226f686e8c9f6288595fe23d0e15713" id="r_a4226f686e8c9f6288595fe23d0e15713"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4226f686e8c9f6288595fe23d0e15713">depth</a></td></tr>
<tr class="memdesc:a4226f686e8c9f6288595fe23d0e15713"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum search depth in the match finder. <br /></td></tr>
<tr class="separator:a4226f686e8c9f6288595fe23d0e15713"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade251d13ef46bcacb4e052b83693878c" id="r_ade251d13ef46bcacb4e052b83693878c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ade251d13ef46bcacb4e052b83693878c">ext_flags</a></td></tr>
<tr class="memdesc:ade251d13ef46bcacb4e052b83693878c"><td class="mdescLeft">&#160;</td><td class="mdescRight">For LZMA_FILTER_LZMA1EXT: Extended flags. <br /></td></tr>
<tr class="separator:ade251d13ef46bcacb4e052b83693878c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a971da8385dcebd01e60235afb3b717f9" id="r_a971da8385dcebd01e60235afb3b717f9"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a971da8385dcebd01e60235afb3b717f9">ext_size_low</a></td></tr>
<tr class="memdesc:a971da8385dcebd01e60235afb3b717f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">For LZMA_FILTER_LZMA1EXT: Uncompressed size (low bits) <br /></td></tr>
<tr class="separator:a971da8385dcebd01e60235afb3b717f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5b3c2375c43ddfacf093980385fb9e3" id="r_ae5b3c2375c43ddfacf093980385fb9e3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae5b3c2375c43ddfacf093980385fb9e3">ext_size_high</a></td></tr>
<tr class="memdesc:ae5b3c2375c43ddfacf093980385fb9e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">For LZMA_FILTER_LZMA1EXT: Uncompressed size (high bits) <br /></td></tr>
<tr class="separator:ae5b3c2375c43ddfacf093980385fb9e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Options specific to the LZMA1 and LZMA2 filters. </p>
<p>Since LZMA1 and LZMA2 share most of the code, it's simplest to share the options structure too. For encoding, all but the reserved variables need to be initialized unless specifically mentioned otherwise. <a class="el" href="lzma12_8h.html#aa62c28944fe3575653a4c25780400d77" title="Set a compression preset to lzma_options_lzma structure.">lzma_lzma_preset()</a> can be used to get a good starting point.</p>
<p>For raw decoding, both LZMA1 and LZMA2 need dict_size, preset_dict, and preset_dict_size (if preset_dict != NULL). LZMA1 needs also lc, lp, and pb. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="aeb3f86002405a1191af86def46fca5ad" name="aeb3f86002405a1191af86def46fca5ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb3f86002405a1191af86def46fca5ad">&#9670;&#160;</a></span>dict_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_lzma::dict_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Dictionary size in bytes. </p>
<p>Dictionary size indicates how many bytes of the recently processed uncompressed data is kept in memory. One method to reduce size of the uncompressed data is to store distance-length pairs, which indicate what data to repeat from the dictionary buffer. Thus, the bigger the dictionary, the better the compression ratio usually is.</p>
<p>Maximum size of the dictionary depends on multiple things:</p><ul>
<li>Memory usage limit</li>
<li>Available address space (not a problem on 64-bit systems)</li>
<li>Selected match finder (encoder only)</li>
</ul>
<p>Currently the maximum dictionary size for encoding is 1.5 GiB (i.e. (UINT32_C(1) &lt;&lt; 30) + (UINT32_C(1) &lt;&lt; 29)) even on 64-bit systems for certain match finder implementation reasons. In the future, there may be match finders that support bigger dictionaries.</p>
<p>Decoder already supports dictionaries up to 4 GiB - 1 B (i.e. UINT32_MAX), so increasing the maximum dictionary size of the encoder won't cause problems for old decoders.</p>
<p>Because extremely small dictionaries sizes would have unneeded overhead in the decoder, the minimum dictionary size is 4096 bytes.</p>
<dl class="section note"><dt>Note</dt><dd>When decoding, too big dictionary does no other harm than wasting memory. </dd></dl>
</div>
</div>
<a id="a16a58c1ee3ec18c820d5cb03dde3739a" name="a16a58c1ee3ec18c820d5cb03dde3739a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16a58c1ee3ec18c820d5cb03dde3739a">&#9670;&#160;</a></span>preset_dict</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const uint8_t* lzma_options_lzma::preset_dict</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to an initial dictionary. </p>
<p>It is possible to initialize the LZ77 history window using a preset dictionary. It is useful when compressing many similar, relatively small chunks of data independently from each other. The preset dictionary should contain typical strings that occur in the files being compressed. The most probable strings should be near the end of the preset dictionary.</p>
<p>This feature should be used only in special situations. For now, it works correctly only with raw encoding and decoding. Currently none of the container formats supported by liblzma allow preset dictionary when decoding, thus if you create a .xz or .lzma file with preset dictionary, it cannot be decoded with the regular decoder functions. In the future, the .xz format will likely get support for preset dictionary though. </p>
</div>
</div>
<a id="a655ad4cce9e4dac9cf2a5c8daaa629e0" name="a655ad4cce9e4dac9cf2a5c8daaa629e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a655ad4cce9e4dac9cf2a5c8daaa629e0">&#9670;&#160;</a></span>preset_dict_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_lzma::preset_dict_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>Size of the preset dictionary. </p>
<p>Specifies the size of the preset dictionary. If the size is bigger than dict_size, only the last dict_size bytes are processed.</p>
<p>This variable is read only when preset_dict is not NULL. If preset_dict is not NULL but preset_dict_size is zero, no preset dictionary is used (identical to only setting preset_dict to NULL). </p>
</div>
</div>
<a id="a95f6188e5b5f05c50ec463a315df3585" name="a95f6188e5b5f05c50ec463a315df3585"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95f6188e5b5f05c50ec463a315df3585">&#9670;&#160;</a></span>lc</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_lzma::lc</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of literal context bits. </p>
<p>How many of the highest bits of the previous uncompressed eight-bit byte (also known as 'literal') are taken into account when predicting the bits of the next literal.</p>
<p>E.g. in typical English text, an upper-case letter is often followed by a lower-case letter, and a lower-case letter is usually followed by another lower-case letter. In the US-ASCII character set, the highest three bits are 010 for upper-case letters and 011 for lower-case letters. When lc is at least 3, the literal coding can take advantage of this property in the uncompressed data.</p>
<p>There is a limit that applies to literal context bits and literal position bits together: lc + lp &lt;= 4. Without this limit the decoding could become very slow, which could have security related results in some cases like email servers doing virus scanning. This limit also simplifies the internal implementation in liblzma.</p>
<p>There may be LZMA1 streams that have lc + lp &gt; 4 (maximum possible lc would be 8). It is not possible to decode such streams with liblzma. </p>
</div>
</div>
<a id="a0fe9c54e808fce3090b6994d95fe41fe" name="a0fe9c54e808fce3090b6994d95fe41fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fe9c54e808fce3090b6994d95fe41fe">&#9670;&#160;</a></span>lp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_lzma::lp</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of literal position bits. </p>
<p>lp affects what kind of alignment in the uncompressed data is assumed when encoding literals. A literal is a single 8-bit byte. See pb below for more information about alignment. </p>
</div>
</div>
<a id="acae107b3d3e9d0d4fe16103be22f4408" name="acae107b3d3e9d0d4fe16103be22f4408"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acae107b3d3e9d0d4fe16103be22f4408">&#9670;&#160;</a></span>pb</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_lzma::pb</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of position bits. </p>
<p>pb affects what kind of alignment in the uncompressed data is assumed in general. The default means four-byte alignment (2^ pb =2^2=4), which is often a good choice when there's no better guess.</p>
<p>When the alignment is known, setting pb accordingly may reduce the file size a little. E.g. with text files having one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can improve compression slightly. For UTF-16 text, pb=1 is a good choice. If the alignment is an odd number like 3 bytes, pb=0 might be the best choice.</p>
<p>Even though the assumed alignment can be adjusted with pb and lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment. It might be worth taking into account when designing file formats that are likely to be often compressed with LZMA1 or LZMA2. </p>
</div>
</div>
<a id="a1d711df9bda046fd3899abf21fa250d5" name="a1d711df9bda046fd3899abf21fa250d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d711df9bda046fd3899abf21fa250d5">&#9670;&#160;</a></span>mode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lzma12_8h.html#a1032316e3075c2c8086fb17104b91866">lzma_mode</a> lzma_options_lzma::mode</td>
</tr>
</table>
</div><div class="memdoc">
<p>Compression mode </p>
</div>
</div>
<a id="a0352ea7f8b6a43b745a44f6cb4e2d263" name="a0352ea7f8b6a43b745a44f6cb4e2d263"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0352ea7f8b6a43b745a44f6cb4e2d263">&#9670;&#160;</a></span>nice_len</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_lzma::nice_len</td>
</tr>
</table>
</div><div class="memdoc">
<p>Nice length of a match. </p>
<p>This determines how many bytes the encoder compares from the match candidates when looking for the best match. Once a match of at least nice_len bytes long is found, the encoder stops looking for better candidates and encodes the match. (Naturally, if the found match is actually longer than nice_len, the actual length is encoded; it's not truncated to nice_len.)</p>
<p>Bigger values usually increase the compression ratio and compression time. For most files, 32 to 128 is a good value, which gives very good compression ratio at good speed.</p>
<p>The exact minimum value depends on the match finder. The maximum is 273, which is the maximum length of a match that LZMA1 and LZMA2 can encode. </p>
</div>
</div>
<a id="aa99612cd52259093007f33513882dcd0" name="aa99612cd52259093007f33513882dcd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa99612cd52259093007f33513882dcd0">&#9670;&#160;</a></span>mf</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lzma12_8h.html#acf740075f86fa61dc408d6d0dbf8fa80">lzma_match_finder</a> lzma_options_lzma::mf</td>
</tr>
</table>
</div><div class="memdoc">
<p>Match finder ID </p>
</div>
</div>
<a id="a4226f686e8c9f6288595fe23d0e15713" name="a4226f686e8c9f6288595fe23d0e15713"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4226f686e8c9f6288595fe23d0e15713">&#9670;&#160;</a></span>depth</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_lzma::depth</td>
</tr>
</table>
</div><div class="memdoc">
<p>Maximum search depth in the match finder. </p>
<p>For every input byte, match finder searches through the hash chain or binary tree in a loop, each iteration going one step deeper in the chain or tree. The searching stops if</p><ul>
<li>a match of at least nice_len bytes long is found;</li>
<li>all match candidates from the hash chain or binary tree have been checked; or</li>
<li>maximum search depth is reached.</li>
</ul>
<p>Maximum search depth is needed to prevent the match finder from wasting too much time in case there are lots of short match candidates. On the other hand, stopping the search before all candidates have been checked can reduce compression ratio.</p>
<p>Setting depth to zero tells liblzma to use an automatic default value, that depends on the selected match finder and nice_len. The default is in the range [4, 200] or so (it may vary between liblzma versions).</p>
<p>Using a bigger depth value than the default can increase compression ratio in some cases. There is no strict maximum value, but high values (thousands or millions) should be used with care: the encoder could remain fast enough with typical input, but malicious input could cause the match finder to slow down dramatically, possibly creating a denial of service attack. </p>
</div>
</div>
<a id="ade251d13ef46bcacb4e052b83693878c" name="ade251d13ef46bcacb4e052b83693878c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade251d13ef46bcacb4e052b83693878c">&#9670;&#160;</a></span>ext_flags</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_lzma::ext_flags</td>
</tr>
</table>
</div><div class="memdoc">
<p>For LZMA_FILTER_LZMA1EXT: Extended flags. </p>
<p>This is used only with LZMA_FILTER_LZMA1EXT.</p>
<p>Currently only one flag is supported, LZMA_LZMA1EXT_ALLOW_EOPM:</p>
<ul>
<li>Encoder: If the flag is set, then end marker is written just like it is with LZMA_FILTER_LZMA1. Without this flag the end marker isn't written and the application has to store the uncompressed size somewhere outside the compressed stream. To decompress streams without the end marker, the application has to set the correct uncompressed size in ext_size_low and ext_size_high.</li>
<li><p class="startli">Decoder: If the uncompressed size in ext_size_low and ext_size_high is set to the special value UINT64_MAX (indicating unknown uncompressed size) then this flag is ignored and the end marker must always be present, that is, the behavior is identical to LZMA_FILTER_LZMA1.</p>
<p class="startli">Otherwise, if this flag isn't set, then the input stream must not have the end marker; if the end marker is detected then it will result in LZMA_DATA_ERROR. This is useful when it is known that the stream must not have the end marker and strict validation is wanted.</p>
<p class="startli">If this flag is set, then it is autodetected if the end marker is present after the specified number of uncompressed bytes has been decompressed (ext_size_low and ext_size_high). The end marker isn't allowed in any other position. This behavior is useful when uncompressed size is known but the end marker may or may not be present. This is the case, for example, in .7z files (valid .7z files that have the end marker in LZMA1 streams are rare but they do exist). </p>
</li>
</ul>
</div>
</div>
<a id="a971da8385dcebd01e60235afb3b717f9" name="a971da8385dcebd01e60235afb3b717f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a971da8385dcebd01e60235afb3b717f9">&#9670;&#160;</a></span>ext_size_low</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_lzma::ext_size_low</td>
</tr>
</table>
</div><div class="memdoc">
<p>For LZMA_FILTER_LZMA1EXT: Uncompressed size (low bits) </p>
<p>The 64-bit uncompressed size is needed for decompression with LZMA_FILTER_LZMA1EXT. The size is ignored by the encoder.</p>
<p>The special value UINT64_MAX indicates that the uncompressed size is unknown and that the end of payload marker (also known as end of stream marker) must be present to indicate the end of the LZMA1 stream. Any other value indicates the expected uncompressed size of the LZMA1 stream. (If LZMA1 was used together with filters that change the size of the data then the uncompressed size of the LZMA1 stream could be different than the final uncompressed size of the filtered stream.)</p>
<p>ext_size_low holds the least significant 32 bits of the uncompressed size. The most significant 32 bits must be set in ext_size_high. The macro <a class="el" href="lzma12_8h.html#a73ed0293db4e59d73a702d66fef537c3" title="Macro to set the 64-bit uncompressed size in ext_size_*.">lzma_set_ext_size(opt_lzma, u64size)</a> can be used to set these members.</p>
<p>The 64-bit uncompressed size is split into two uint32_t variables because there were no reserved uint64_t members and using the same options structure for LZMA_FILTER_LZMA1, LZMA_FILTER_LZMA1EXT, and LZMA_FILTER_LZMA2 was otherwise more convenient than having a new options structure for LZMA_FILTER_LZMA1EXT. (Replacing two uint32_t members with one uint64_t changes the ABI on some systems as the alignment of this struct can increase from 4 bytes to 8.) </p>
</div>
</div>
<a id="ae5b3c2375c43ddfacf093980385fb9e3" name="ae5b3c2375c43ddfacf093980385fb9e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5b3c2375c43ddfacf093980385fb9e3">&#9670;&#160;</a></span>ext_size_high</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lzma_options_lzma::ext_size_high</td>
</tr>
</table>
</div><div class="memdoc">
<p>For LZMA_FILTER_LZMA1EXT: Uncompressed size (high bits) </p>
<p>This holds the most significant 32 bits of the uncompressed size. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lzma/<a class="el" href="lzma12_8h.html">lzma12.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structlzma__options__lzma.html">lzma_options_lzma</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,16 @@
var structlzma__options__lzma =
[
[ "dict_size", "structlzma__options__lzma.html#aeb3f86002405a1191af86def46fca5ad", null ],
[ "preset_dict", "structlzma__options__lzma.html#a16a58c1ee3ec18c820d5cb03dde3739a", null ],
[ "preset_dict_size", "structlzma__options__lzma.html#a655ad4cce9e4dac9cf2a5c8daaa629e0", null ],
[ "lc", "structlzma__options__lzma.html#a95f6188e5b5f05c50ec463a315df3585", null ],
[ "lp", "structlzma__options__lzma.html#a0fe9c54e808fce3090b6994d95fe41fe", null ],
[ "pb", "structlzma__options__lzma.html#acae107b3d3e9d0d4fe16103be22f4408", null ],
[ "mode", "structlzma__options__lzma.html#a1d711df9bda046fd3899abf21fa250d5", null ],
[ "nice_len", "structlzma__options__lzma.html#a0352ea7f8b6a43b745a44f6cb4e2d263", null ],
[ "mf", "structlzma__options__lzma.html#aa99612cd52259093007f33513882dcd0", null ],
[ "depth", "structlzma__options__lzma.html#a4226f686e8c9f6288595fe23d0e15713", null ],
[ "ext_flags", "structlzma__options__lzma.html#ade251d13ef46bcacb4e052b83693878c", null ],
[ "ext_size_low", "structlzma__options__lzma.html#a971da8385dcebd01e60235afb3b717f9", null ],
[ "ext_size_high", "structlzma__options__lzma.html#ae5b3c2375c43ddfacf093980385fb9e3", null ]
];

View File

@@ -0,0 +1,269 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>liblzma (XZ Utils): lzma_stream Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">liblzma (XZ Utils)<span id="projectnumber">&#160;5.6.4</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('structlzma__stream.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle"><div class="title">lzma_stream Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Passing data to and from liblzma.
<a href="#details">More...</a></p>
<p><code>#include &lt;base.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a72fdc738c793f07a5c29715aa57802cf" id="r_a72fdc738c793f07a5c29715aa57802cf"><td class="memItemLeft" align="right" valign="top">const uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a72fdc738c793f07a5c29715aa57802cf">next_in</a></td></tr>
<tr class="separator:a72fdc738c793f07a5c29715aa57802cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb680ecea31910cbda1d7a6ad4f191c0" id="r_abb680ecea31910cbda1d7a6ad4f191c0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abb680ecea31910cbda1d7a6ad4f191c0">avail_in</a></td></tr>
<tr class="separator:abb680ecea31910cbda1d7a6ad4f191c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a411e1755d6185756caefabc3932c7b" id="r_a1a411e1755d6185756caefabc3932c7b"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1a411e1755d6185756caefabc3932c7b">total_in</a></td></tr>
<tr class="separator:a1a411e1755d6185756caefabc3932c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14ee64ed636ddcb775edf87e2b9f42ec" id="r_a14ee64ed636ddcb775edf87e2b9f42ec"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a14ee64ed636ddcb775edf87e2b9f42ec">next_out</a></td></tr>
<tr class="separator:a14ee64ed636ddcb775edf87e2b9f42ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ff28ea4e39148723c19f59811627904" id="r_a5ff28ea4e39148723c19f59811627904"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5ff28ea4e39148723c19f59811627904">avail_out</a></td></tr>
<tr class="separator:a5ff28ea4e39148723c19f59811627904"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80d703ffdfd7661e344fe7b61ff737fa" id="r_a80d703ffdfd7661e344fe7b61ff737fa"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a80d703ffdfd7661e344fe7b61ff737fa">total_out</a></td></tr>
<tr class="separator:a80d703ffdfd7661e344fe7b61ff737fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eb2f3e87e32cc4bea613898b0bd353f" id="r_a4eb2f3e87e32cc4bea613898b0bd353f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structlzma__allocator.html">lzma_allocator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4eb2f3e87e32cc4bea613898b0bd353f">allocator</a></td></tr>
<tr class="memdesc:a4eb2f3e87e32cc4bea613898b0bd353f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom memory allocation functions. <br /></td></tr>
<tr class="separator:a4eb2f3e87e32cc4bea613898b0bd353f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a209da54c2fb5dea40ad011c8408300d0" id="r_a209da54c2fb5dea40ad011c8408300d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#ab1a60127c640135687a5bcc232cec906">lzma_internal</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a209da54c2fb5dea40ad011c8408300d0">internal</a></td></tr>
<tr class="separator:a209da54c2fb5dea40ad011c8408300d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7c43a61f3dfeb0b9c8487b7f275054e" id="r_af7c43a61f3dfeb0b9c8487b7f275054e"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af7c43a61f3dfeb0b9c8487b7f275054e">seek_pos</a></td></tr>
<tr class="memdesc:af7c43a61f3dfeb0b9c8487b7f275054e"><td class="mdescLeft">&#160;</td><td class="mdescRight">New seek input position for LZMA_SEEK_NEEDED. <br /></td></tr>
<tr class="separator:af7c43a61f3dfeb0b9c8487b7f275054e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Passing data to and from liblzma. </p>
<p>The <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> structure is used for</p><ul>
<li>passing pointers to input and output buffers to liblzma;</li>
<li>defining custom memory handler functions; and</li>
<li>holding a pointer to coder-specific internal data structures.</li>
</ul>
<p>Typical usage:</p>
<ul>
<li>After allocating <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> (on stack or with malloc()), it must be initialized to LZMA_STREAM_INIT (see LZMA_STREAM_INIT for details).</li>
<li>Initialize a coder to the <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a>, for example by using <a class="el" href="container_8h.html#acbdad999c544872f0f5d242f0d1a4ed4" title="Initialize .xz Stream encoder using a preset number.">lzma_easy_encoder()</a> or <a class="el" href="container_8h.html#a21cbebf2771617bb1e956385cfb353e3" title="Decode .xz, .lzma, and .lz (lzip) files with autodetection.">lzma_auto_decoder()</a>. Some notes:<ul>
<li>In contrast to zlib, strm-&gt;next_in and strm-&gt;next_out are ignored by all initialization functions, thus it is safe to not initialize them yet.</li>
<li>The initialization functions always set strm-&gt;total_in and strm-&gt;total_out to zero.</li>
<li>If the initialization function fails, no memory is left allocated that would require freeing with <a class="el" href="base_8h.html#a854ff37464ae1225febf14db1af43308" title="Free memory allocated for the coder data structures.">lzma_end()</a> even if some memory was associated with the <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> structure when the initialization function was called.</li>
</ul>
</li>
<li>Use <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> to do the actual work.</li>
<li>Once the coding has been finished, the existing <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> can be reused. It is OK to reuse <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> with different initialization function without calling <a class="el" href="base_8h.html#a854ff37464ae1225febf14db1af43308" title="Free memory allocated for the coder data structures.">lzma_end()</a> first. Old allocations are automatically freed.</li>
<li>Finally, use <a class="el" href="base_8h.html#a854ff37464ae1225febf14db1af43308" title="Free memory allocated for the coder data structures.">lzma_end()</a> to free the allocated memory. <a class="el" href="base_8h.html#a854ff37464ae1225febf14db1af43308" title="Free memory allocated for the coder data structures.">lzma_end()</a> never frees the <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> structure itself.</li>
</ul>
<p>Application may modify the values of total_in and total_out as it wants. They are updated by liblzma to match the amount of data read and written but aren't used for anything else except as a possible return values from <a class="el" href="base_8h.html#ab6447cd68eeecbd6b88f21daeb8ce751" title="Get progress information.">lzma_get_progress()</a>. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a72fdc738c793f07a5c29715aa57802cf" name="a72fdc738c793f07a5c29715aa57802cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72fdc738c793f07a5c29715aa57802cf">&#9670;&#160;</a></span>next_in</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const uint8_t* lzma_stream::next_in</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to the next input byte. </p>
</div>
</div>
<a id="abb680ecea31910cbda1d7a6ad4f191c0" name="abb680ecea31910cbda1d7a6ad4f191c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb680ecea31910cbda1d7a6ad4f191c0">&#9670;&#160;</a></span>avail_in</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t lzma_stream::avail_in</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of available input bytes in next_in. </p>
</div>
</div>
<a id="a1a411e1755d6185756caefabc3932c7b" name="a1a411e1755d6185756caefabc3932c7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a411e1755d6185756caefabc3932c7b">&#9670;&#160;</a></span>total_in</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t lzma_stream::total_in</td>
</tr>
</table>
</div><div class="memdoc">
<p>Total number of bytes read by liblzma. </p>
</div>
</div>
<a id="a14ee64ed636ddcb775edf87e2b9f42ec" name="a14ee64ed636ddcb775edf87e2b9f42ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14ee64ed636ddcb775edf87e2b9f42ec">&#9670;&#160;</a></span>next_out</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* lzma_stream::next_out</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to the next output position. </p>
</div>
</div>
<a id="a5ff28ea4e39148723c19f59811627904" name="a5ff28ea4e39148723c19f59811627904"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ff28ea4e39148723c19f59811627904">&#9670;&#160;</a></span>avail_out</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t lzma_stream::avail_out</td>
</tr>
</table>
</div><div class="memdoc">
<p>Amount of free space in next_out. </p>
</div>
</div>
<a id="a80d703ffdfd7661e344fe7b61ff737fa" name="a80d703ffdfd7661e344fe7b61ff737fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80d703ffdfd7661e344fe7b61ff737fa">&#9670;&#160;</a></span>total_out</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t lzma_stream::total_out</td>
</tr>
</table>
</div><div class="memdoc">
<p>Total number of bytes written by liblzma. </p>
</div>
</div>
<a id="a4eb2f3e87e32cc4bea613898b0bd353f" name="a4eb2f3e87e32cc4bea613898b0bd353f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eb2f3e87e32cc4bea613898b0bd353f">&#9670;&#160;</a></span>allocator</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structlzma__allocator.html">lzma_allocator</a>* lzma_stream::allocator</td>
</tr>
</table>
</div><div class="memdoc">
<p>Custom memory allocation functions. </p>
<p>In most cases this is NULL which makes liblzma use the standard malloc() and free().</p>
<dl class="section note"><dt>Note</dt><dd>In 5.0.x this is not a const pointer. </dd></dl>
</div>
</div>
<a id="a209da54c2fb5dea40ad011c8408300d0" name="a209da54c2fb5dea40ad011c8408300d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a209da54c2fb5dea40ad011c8408300d0">&#9670;&#160;</a></span>internal</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="base_8h.html#ab1a60127c640135687a5bcc232cec906">lzma_internal</a>* lzma_stream::internal</td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal state is not visible to applications. </p>
</div>
</div>
<a id="af7c43a61f3dfeb0b9c8487b7f275054e" name="af7c43a61f3dfeb0b9c8487b7f275054e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7c43a61f3dfeb0b9c8487b7f275054e">&#9670;&#160;</a></span>seek_pos</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t lzma_stream::seek_pos</td>
</tr>
</table>
</div><div class="memdoc">
<p>New seek input position for LZMA_SEEK_NEEDED. </p>
<p>When <a class="el" href="base_8h.html#a28cc09bc422d5ba1e0187c9f2af5d957" title="Encode or decode data.">lzma_code()</a> returns LZMA_SEEK_NEEDED, the new input position needed by liblzma will be available seek_pos. The value is guaranteed to not exceed the file size that was specified when this <a class="el" href="structlzma__stream.html" title="Passing data to and from liblzma.">lzma_stream</a> was initialized.</p>
<p>In all other situations the value of this variable is undefined. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lzma/<a class="el" href="base_8h.html">base.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structlzma__stream.html">lzma_stream</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1 </li>
</ul>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More