VirtualBox

source: vbox/trunk/src/libs/liblzma-5.4.1/common/filter_common.h

Last change on this file was 98730, checked in by vboxsync, 15 months ago

libs/liblzma-5.4.1: Export to OSE, bugref:10254

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.3 KB
Line 
1///////////////////////////////////////////////////////////////////////////////
2//
3/// \file filter_common.h
4/// \brief Filter-specific stuff common for both encoder and decoder
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#ifndef LZMA_FILTER_COMMON_H
14#define LZMA_FILTER_COMMON_H
15
16#include "common.h"
17
18
19/// Both lzma_filter_encoder and lzma_filter_decoder begin with these members.
20typedef struct {
21 /// Filter ID
22 lzma_vli id;
23
24 /// Initializes the filter encoder and calls lzma_next_filter_init()
25 /// for filters + 1.
26 lzma_init_function init;
27
28 /// Calculates memory usage of the encoder. If the options are
29 /// invalid, UINT64_MAX is returned.
30 uint64_t (*memusage)(const void *options);
31
32} lzma_filter_coder;
33
34
35typedef const lzma_filter_coder *(*lzma_filter_find)(lzma_vli id);
36
37
38extern lzma_ret lzma_validate_chain(const lzma_filter *filters, size_t *count);
39
40
41extern lzma_ret lzma_raw_coder_init(
42 lzma_next_coder *next, const lzma_allocator *allocator,
43 const lzma_filter *filters,
44 lzma_filter_find coder_find, bool is_encoder);
45
46
47extern uint64_t lzma_raw_coder_memusage(lzma_filter_find coder_find,
48 const lzma_filter *filters);
49
50
51#endif
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use