aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/api/lzma/lzma12.h (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2023-03-17liblzma: Add set lzma.h as the main page for Doxygen documentation.Jia Tan1-2/+0
The \mainpage command is used in the first block of comments in lzma.h. This changes the previously nearly empty index.html to use the first comment block in lzma.h for its contents. lzma.h is no longer documented separately, but this is for the better since lzma.h only defined a few macros that users do not need to use. The individual API header files all have a disclaimer that they should not be #included directly, so there should be no confusion on the fact that lzma.h should be the only header used by applications. Additionally, the note "See ../lzma.h for information about liblzma as a whole." was removed since lzma.h is now the main page of the generated HTML and does not have its own page anymore. So it would be confusing in the HTML version and was only a "nice to have" when browsing the source files.
2023-03-07liblzma: Clarify lzma_lzma_preset() documentation in lzma12.h.Jia Tan1-0/+5
lzma_lzma_preset() does not guarentee that the lzma_options_lzma are usable in an encoder even if it returns false (success). If liblzma is built with default configurations, then the options will always be usable. However if the match finders hc3, hc4, or bt4 are disabled, then the options may not be usable depending on the preset level requested. The documentation was updated to reflect this complexity, since this behavior was unclear before.
2023-03-07liblzma: Rename field => member in documentation.Jia Tan1-14/+14
Also adjusted preset value => preset level.
2023-02-15liblzma: Improve documentation in lzma12.h.Jia Tan1-9/+23
All functions now explicitly specify parameter and return values.
2023-02-03liblzma: Set documentation on all reserved fields to private.Jia Tan1-0/+22
This prevents the reserved fields from being part of the generated Doxygen documentation.
2023-02-03liblzma: Highlight liblzma API headers should not be included directly.Jia Tan1-2/+3
This improves the generated Doxygen HTML files to better highlight how to properly use the liblzma API header files.
2022-11-27liblzma: Add LZMA_FILTER_LZMA1EXT to support LZMA1 without end marker.Lasse Collin1-7/+116
Some file formats need support for LZMA1 streams that don't use the end of payload marker (EOPM) alias end of stream (EOS) marker. So far liblzma API has supported decompressing such streams via lzma_alone_decoder() when .lzma header specifies a known uncompressed size. Encoding support hasn't been available in the API. Instead of adding a new LZMA1-only API for this purpose, this commit adds a new filter ID for use with raw encoder and decoder. The main benefit of this approach is that then also filter chains are possible, for example, if someone wants to implement support for .7z files that use the x86 BCJ filter with LZMA1 (not BCJ2 as that isn't supported in liblzma).
2019-05-11spellingAntoine Cœur1-1/+1
2014-05-04liblzma: Rename the private API header lzma/lzma.h to lzma/lzma12.h.Lasse Collin1-1/+1
It can be confusing that two header files have the same name. The public API file is still lzma.h.
2010-11-15liblzma: Document the return value of lzma_lzma_preset().Lasse Collin1-0/+3
2010-10-23liblzma: A few ABI tweaks to reserve space in structures.Lasse Collin1-2/+2
2010-10-21liblzma: Update the comments in the API headers.Lasse Collin1-15/+31
Adding support for LZMA_FINISH for Index encoding and decoding needed tiny additions to the relevant .c files too.
2010-10-02liblzma: Small fixes to comments in the API headers.Lasse Collin1-3/+7
2010-02-12Collection of language fixes to comments and docs.Lasse Collin1-1/+1
Thanks to Jonathan Nieder.
2009-11-14Fix a design error in liblzma API.Lasse Collin1-13/+0
Originally the idea was that using LZMA_FULL_FLUSH with Stream encoder would read the filter chain from the same array that was used to intialize the Stream encoder. Since most apps wouldn't use LZMA_FULL_FLUSH, most apps wouldn't need to keep the filter chain available after initializing the Stream encoder. However, due to my mistake, it actually required keeping the array always available. Since setting the new filter chain via the array used at initialization time is not a nice way to do it for a couple of reasons, this commit ditches it and introduces lzma_filters_update(). This new function replaces also the "persistent" flag used by LZMA2 (and to-be-designed Subblock filter), which was also an ugly thing to do. Thanks to Alexey Tourbin for reminding me about the problem that Stream encoder used to require keeping the filter chain allocated.
2009-08-27Updates to liblzma API headers.Lasse Collin1-42/+45
Added lzma_nothrow for every function. It adds throw() when the header is used in C++ code. Some lzma_attrs were added or removed. Lots of comments were improved.
2009-04-13Put the interesting parts of XZ Utils into the public domain.Lasse Collin1-11/+7
Some minor documentation cleanups were made at the same time.
2009-02-02Modify LZMA_API macro so that it works on Windows withLasse Collin1-3/+3
other compilers than MinGW. This may hurt readability of the API headers slightly, but I don't know any better way to do this.
2009-01-31Add LZMA_API to liblzma API headers. It's useful at leastLasse Collin1-3/+5
on Windows. sysdefs.h no longer #includes lzma.h, so lzma.h has to be #included separately where needed.
2008-12-27Bunch of liblzma tweaks, including some API changes.Lasse Collin1-18/+23
The API and ABI should now be very close to stable, although the code behind it isn't yet.
2008-12-15Bunch of liblzma API cleanups and fixes.Lasse Collin1-6/+6
2008-10-07Made the preset numbering more logical in liblzma API.Lasse Collin1-1/+1
2008-09-27Some API changes, bug fixes, cleanups etc.Lasse Collin1-86/+144
2008-09-17Miscellaneous LZ and LZMA encoder cleanupsLasse Collin1-14/+0
2008-09-13Renamed constants:Lasse Collin1-2/+2
- LZMA_VLI_VALUE_MAX -> LZMA_VLI_MAX - LZMA_VLI_VALUE_UNKNOWN -> LZMA_VLI_UNKNOWN - LZMA_HEADER_ERRRO -> LZMA_OPTIONS_ERROR
2008-09-07Changed Filter ID of LZMA to 0x20.Lasse Collin1-1/+1
2008-08-28Sort of garbage collection commit. :-| Many things are stillLasse Collin1-91/+131
broken. API has changed a lot and it will still change a little more here and there. The command line tool doesn't have all the required changes to reflect the API changes, so it's easy to get "internal error" or trigger assertions.
2008-06-19Add limit of lc + lp <= 4. Now we can allocate theLasse Collin1-1/+9
literal coder as part of the main LZMA encoder or decoder structure. Make the LZMA decoder to rely on the current internal API to free the allocated memory in case an error occurs.
2008-06-18Update the code to mostly match the new simpler file formatLasse Collin1-1/+1
specification. Simplify things by removing most of the support for known uncompressed size in most places. There are some miscellaneous changes here and there too. The API of liblzma has got many changes and still some more will be done soon. While most of the code has been updated, some things are not fixed (the command line tool will choke with invalid filter chain, if nothing else). Subblock filter is somewhat broken for now. It will be updated once the encoded format of the Subblock filter has been decided.
2008-03-14Fix a comment API header.Lasse Collin1-1/+1