Lines Matching +full:input +full:- +full:mode
5 * Igor Pavlov <https://7-zip.org/>
28 * enum xz_mode - Operation mode
30 * @XZ_SINGLE: Single-call mode. This uses less RAM than
31 * multi-call modes, because the LZMA2
36 * @XZ_PREALLOC: Multi-call mode with preallocated LZMA2
40 * @XZ_DYNALLOC: Multi-call mode. The LZMA2 dictionary is
59 * enum xz_ret - Return codes
60 * @XZ_OK: Everything is OK so far. More input or more
62 * return code is possible only in multi-call mode
66 * is still possible in multi-call mode by simply
81 * only in multi-call mode (XZ_PREALLOC or
82 * XZ_DYNALLOC); the single-call mode (XZ_SINGLE)
92 * different between multi-call and single-call
93 * mode; more information below.
95 * In multi-call mode, XZ_BUF_ERROR is returned when two consecutive calls
96 * to XZ code cannot consume any input and cannot produce any new output.
97 * This happens when there is no new input available, or the output buffer
102 * In single-call mode, XZ_BUF_ERROR is returned only when the output buffer
103 * is too small or the compressed input is corrupt in a way that makes the
105 * (relatively) clear that the compressed input is truncated, XZ_DATA_ERROR
121 * struct xz_buf - Passing input and output buffers to XZ code
122 * @in: Beginning of the input buffer. This may be NULL if and only
124 * @in_pos: Current position in the input buffer. This must not exceed
126 * @in_size: Size of the input buffer
147 * struct xz_dec - Opaque type to hold the XZ decoder state
152 * xz_dec_init() - Allocate and initialize a XZ decoder state
153 * @mode: Operation mode
155 * multi-call decoding. This is ignored in single-call mode
156 * (mode == XZ_SINGLE). LZMA2 dictionary is always 2^n bytes
157 * or 2^n + 2^(n-1) bytes (the latter sizes are less common
164 * Single-call mode (XZ_SINGLE): xz_dec_run() decodes the whole stream at
171 * a big dictionary are not a problem in single-call mode. It is enough that
175 * Multi-call mode with preallocated dictionary (XZ_PREALLOC): dict_max bytes
179 * small for decoding the given input stream, xz_dec_run() will return
183 * Multi-call mode with dynamically allocated dictionary (XZ_DYNALLOC):
194 XZ_EXTERN struct xz_dec *xz_dec_init(enum xz_mode mode, uint32_t dict_max);
197 * xz_dec_run() - Run the XZ decoder
199 * @b: Input and output buffers
201 * The possible return values depend on build options and operation mode.
204 * Note that if an error occurs in single-call mode (return value is not
205 * XZ_STREAM_END), b->in_pos and b->out_pos are not modified and the
206 * contents of the output buffer from b->out[b->out_pos] onward are
210 * cannot give the single-call decoder a too small buffer and then expect to
212 * the multi-call decoder if you don't want to uncompress the whole stream.
217 * xz_dec_reset() - Reset an already allocated decoder state
220 * This function can be used to reset the multi-call decoder state without
223 * In single-call mode, xz_dec_reset() is always called in the beginning of
225 * multi-call mode.
230 * xz_dec_end() - Free the memory allocated for the decoder state
245 * struct xz_dec_microlzma - Opaque type to hold the MicroLZMA decoder state
250 * xz_dec_microlzma_alloc() - Allocate memory for the MicroLZMA decoder
251 * @mode XZ_SINGLE or XZ_PREALLOC
267 * whose first byte (always 0x00) has been replaced with bitwise-negation
270 * Just like with LZMA2, lc + lp <= 4 must be true. The LZMA end-of-stream
275 extern struct xz_dec_microlzma *xz_dec_microlzma_alloc(enum xz_mode mode,
279 * xz_dec_microlzma_reset() - Reset the MicroLZMA decoder state
281 * @comp_size Compressed size of the input stream
282 * @uncomp_size Uncompressed size of the input stream. A value smaller
283 * than the real uncompressed size of the input stream can
297 * xz_dec_microlzma_run() - Run the MicroLZMA decoder
299 * @b: Input and output buffers
306 * is possible due to lack of input data or output space, this function will
308 * will eventually provide input and output space matching (or exceeding)
310 * If the caller cannot do this (for example, if the input file is truncated
318 * With XZ_PREALLOC only: As an extra feature, b->out may be NULL to skip over
323 * is also possible and thus XZ_SINGLE is actually a limited multi-call mode.
325 * It is possible to continue decoding but the variables b->out and b->out_pos
326 * MUST NOT be changed by the caller. Increasing the value of b->out_size is
328 * space for the whole uncompressed data on the first call. The input buffer
329 * may be changed normally like with XZ_PREALLOC. This way input data can be
330 * provided from non-contiguous memory.
336 * xz_dec_microlzma_end() - Free the memory allocated for the decoder state
343 * Standalone build (userspace build or in-kernel build for boot time use)
344 * needs a CRC32 implementation. For normal in-kernel use, kernel's own
364 * Update CRC32 value using the polynomial from IEEE-802.3. To start a new