Rizin
unix-like reverse engineering framework and cli tools
filter.h
Go to the documentation of this file.
1 
6 /*
7  * Author: Lasse Collin
8  *
9  * This file has been put into the public domain.
10  * You can do whatever you want with this file.
11  *
12  * See ../lzma.h for information about liblzma as a whole.
13  */
14 
15 #ifndef LZMA_H_INTERNAL
16 # error Never include this file directly. Use <lzma.h> instead.
17 #endif
18 
19 
26 #define LZMA_FILTERS_MAX 4
27 
28 
43 typedef struct {
55 
63  void *options;
64 
65 } lzma_filter;
66 
67 
78 extern LZMA_API(lzma_bool) lzma_filter_encoder_is_supported(lzma_vli id)
80 
81 
88 extern LZMA_API(lzma_bool) lzma_filter_decoder_is_supported(lzma_vli id)
90 
91 
119 extern LZMA_API(lzma_ret) lzma_filters_copy(
122 
123 
139 extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters)
141 
142 
158 extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters)
160 
161 
179 extern LZMA_API(lzma_ret) lzma_raw_encoder(
182 
183 
197 extern LZMA_API(lzma_ret) lzma_raw_decoder(
200 
201 
228 extern LZMA_API(lzma_ret) lzma_filters_update(
230 
231 
259 extern LZMA_API(lzma_ret) lzma_raw_buffer_encode(
262  size_t *out_pos, size_t out_size) lzma_nothrow;
263 
264 
283 extern LZMA_API(lzma_ret) lzma_raw_buffer_decode(
285  const uint8_t *in, size_t *in_pos, size_t in_size,
286  uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow;
287 
288 
308 extern LZMA_API(lzma_ret) lzma_properties_size(
310 
311 
334 extern LZMA_API(lzma_ret) lzma_properties_encode(
336 
337 
360 extern LZMA_API(lzma_ret) lzma_properties_decode(
362  const uint8_t *props, size_t props_size) lzma_nothrow;
363 
364 
384 extern LZMA_API(lzma_ret) lzma_filter_flags_size(
387 
388 
407 extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filter,
408  uint8_t *out, size_t *out_pos, size_t out_size)
410 
411 
423 extern LZMA_API(lzma_ret) lzma_filter_flags_decode(
425  const uint8_t *in, size_t *in_pos, size_t in_size)
lzma_index * src
Definition: index.h:567
const lzma_filter * filters
Definition: container.h:315
const lzma_allocator * allocator
Definition: filter.h:260
const lzma_allocator const uint8_t * props
Definition: filter.h:362
const lzma_allocator const uint8_t size_t in_size
Definition: filter.h:261
const lzma_allocator const uint8_t size_t uint8_t size_t * out_pos
Definition: filter.h:262
LZMA_API(lzma_bool) lzma_filter_encoder_is_supported(lzma_vli id) lzma_nothrow lzma_attr_const
Test if the given Filter ID is supported for encoding.
Definition: index.c:1209
lzma_filter * dest
Definition: filter.h:120
lzma_filter const lzma_allocator *allocator lzma_nothrow
Definition: filter.h:121
const lzma_allocator const uint8_t * in
Definition: filter.h:261
const lzma_allocator const uint8_t size_t * in_pos
Definition: filter.h:285
const lzma_filter *filters lzma_nothrow lzma_attr_warn_unused_result
Definition: filter.h:181
const lzma_allocator const uint8_t size_t uint8_t * out
Definition: filter.h:261
static lzma_stream strm
Definition: full_flush.c:20
voidpf void uLong size
Definition: ioapi.h:138
#define const
Definition: ansidecl.h:240
#define lzma_attr_const
Definition: lzma.h:269
#define lzma_attr_pure
Definition: lzma.h:265
unsigned int uint32_t
Definition: sftypes.h:29
unsigned long uint64_t
Definition: sftypes.h:28
unsigned char uint8_t
Definition: sftypes.h:31
Custom functions for memory handling.
Definition: base.h:372
Filter options.
Definition: filter.h:43
void * options
Pointer to filter-specific options structure.
Definition: filter.h:63
lzma_vli id
Filter ID.
Definition: filter.h:54
Passing data to and from liblzma.
Definition: base.h:485
uint64_t lzma_vli
Variable-length integer type.
Definition: vli.h:63
lzma_ret
Return values used by several functions in liblzma.
Definition: base.h:57
unsigned char lzma_bool
Boolean.
Definition: base.h:29