xref: /freebsd/contrib/xz/src/liblzma/common/easy_preset.h (revision 59c8e88e72633afbc47a4ace0d2170d00d51f7dc)
1 // SPDX-License-Identifier: 0BSD
2 
3 ///////////////////////////////////////////////////////////////////////////////
4 //
5 /// \file       easy_preset.h
6 /// \brief      Preset handling for easy encoder and decoder
7 //
8 //  Author:     Lasse Collin
9 //
10 ///////////////////////////////////////////////////////////////////////////////
11 
12 #include "common.h"
13 
14 
15 typedef struct {
16 	/// We need to keep the filters array available in case
17 	/// LZMA_FULL_FLUSH is used.
18 	lzma_filter filters[LZMA_FILTERS_MAX + 1];
19 
20 	/// Options for LZMA2
21 	lzma_options_lzma opt_lzma;
22 
23 	// Options for more filters can be added later, so this struct
24 	// is not ready to be put into the public API.
25 
26 } lzma_options_easy;
27 
28 
29 /// Set *easy to the settings given by the preset. Returns true on error,
30 /// false on success.
31 extern bool lzma_easy_preset(lzma_options_easy *easy, uint32_t preset);
32