xref: /freebsd/contrib/xz/src/liblzma/common/easy_buffer_encoder.c (revision 53f2fbcab4ca497c4bed5e5728534468e2b9e992)
1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 /// \file       easy_buffer_encoder.c
4 /// \brief      Easy single-call .xz Stream encoder
5 //
6 //  Author:     Lasse Collin
7 //
8 //  This file has been put into the public domain.
9 //  You can do whatever you want with this file.
10 //
11 ///////////////////////////////////////////////////////////////////////////////
12 
13 #include "easy_preset.h"
14 
15 
16 extern LZMA_API(lzma_ret)
17 lzma_easy_buffer_encode(uint32_t preset, lzma_check check,
18 		const lzma_allocator *allocator, const uint8_t *in,
19 		size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size)
20 {
21 	lzma_options_easy opt_easy;
22 	if (lzma_easy_preset(&opt_easy, preset))
23 		return LZMA_OPTIONS_ERROR;
24 
25 	return lzma_stream_buffer_encode(opt_easy.filters, check,
26 			allocator, in, in_size, out, out_pos, out_size);
27 }
28