VirtualBox

source: vbox/trunk/src/libs/liblzma-5.8.1/lzma/lzma_encoder.h

Last change on this file was 108913, checked in by vboxsync, 6 weeks ago

libs/liblzma: Liblzma ose fix. jiraref:VBP-1635

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.5 KB
Line 
1// SPDX-License-Identifier: 0BSD
2
3///////////////////////////////////////////////////////////////////////////////
4//
5/// \file lzma_encoder.h
6/// \brief LZMA encoder API
7///
8// Authors: Igor Pavlov
9// Lasse Collin
10//
11///////////////////////////////////////////////////////////////////////////////
12
13#ifndef LZMA_LZMA_ENCODER_H
14#define LZMA_LZMA_ENCODER_H
15
16#include "common.h"
17
18
19typedef struct lzma_lzma1_encoder_s lzma_lzma1_encoder;
20
21
22extern lzma_ret lzma_lzma_encoder_init(lzma_next_coder *next,
23 const lzma_allocator *allocator,
24 const lzma_filter_info *filters);
25
26
27extern uint64_t lzma_lzma_encoder_memusage(const void *options);
28
29extern lzma_ret lzma_lzma_props_encode(const void *options, uint8_t *out);
30
31
32/// Encodes lc/lp/pb into one byte. Returns false on success and true on error.
33extern bool lzma_lzma_lclppb_encode(
34 const lzma_options_lzma *options, uint8_t *byte);
35
36
37#ifdef LZMA_LZ_ENCODER_H
38
39/// Initializes raw LZMA encoder; this is used by LZMA2.
40extern lzma_ret lzma_lzma_encoder_create(
41 void **coder_ptr, const lzma_allocator *allocator,
42 lzma_vli id, const lzma_options_lzma *options,
43 lzma_lz_options *lz_options);
44
45
46/// Resets an already initialized LZMA encoder; this is used by LZMA2.
47extern lzma_ret lzma_lzma_encoder_reset(
48 lzma_lzma1_encoder *coder, const lzma_options_lzma *options);
49
50
51extern lzma_ret lzma_lzma_encode(lzma_lzma1_encoder *restrict coder,
52 lzma_mf *restrict mf, uint8_t *restrict out,
53 size_t *restrict out_pos, size_t out_size,
54 uint32_t read_limit);
55
56#endif
57
58#endif
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette