xref: /freebsd/contrib/xz/src/liblzma/common/easy_buffer_encoder.c (revision 5ca8e32633c4ffbbcd6762e5888b6a4ba0708c6c)
1 // SPDX-License-Identifier: 0BSD
2 
3 ///////////////////////////////////////////////////////////////////////////////
4 //
5 /// \file       easy_buffer_encoder.c
6 /// \brief      Easy single-call .xz Stream encoder
7 //
8 //  Author:     Lasse Collin
9 //
10 ///////////////////////////////////////////////////////////////////////////////
11 
12 #include "easy_preset.h"
13 
14 
15 extern LZMA_API(lzma_ret)
16 lzma_easy_buffer_encode(uint32_t preset, lzma_check check,
17 		const lzma_allocator *allocator, const uint8_t *in,
18 		size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size)
19 {
20 	lzma_options_easy opt_easy;
21 	if (lzma_easy_preset(&opt_easy, preset))
22 		return LZMA_OPTIONS_ERROR;
23 
24 	return lzma_stream_buffer_encode(opt_easy.filters, check,
25 			allocator, in, in_size, out, out_pos, out_size);
26 }
27