Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
container.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
20/************
21 * Encoding *
22 ************/
23
31#define LZMA_PRESET_DEFAULT UINT32_C(6)
32
33
40#define LZMA_PRESET_LEVEL_MASK UINT32_C(0x1F)
41
42
43/*
44 * Preset flags
45 *
46 * Currently only one flag is defined.
47 */
48
60#define LZMA_PRESET_EXTREME (UINT32_C(1) << 31)
61
62
66typedef struct {
79 uint32_t flags;
80
84 uint32_t threads;
85
109 uint64_t block_size;
110
140 uint32_t timeout;
141
148 uint32_t preset;
149
156 const lzma_filter *filters;
157
166
167 /*
168 * Reserved space to allow possible future extensions without
169 * breaking the ABI. You should not touch these, because the names
170 * of these variables may change. These are and will never be used
171 * with the currently supported options, so it is safe to leave these
172 * uninitialized.
173 */
174 lzma_reserved_enum reserved_enum1;
175 lzma_reserved_enum reserved_enum2;
176 lzma_reserved_enum reserved_enum3;
177 uint32_t reserved_int1;
178 uint32_t reserved_int2;
179 uint32_t reserved_int3;
180 uint32_t reserved_int4;
181
212 uint64_t memlimit_threading;
213
223 uint64_t memlimit_stop;
224
225 uint64_t reserved_int7;
226 uint64_t reserved_int8;
227 void *reserved_ptr1;
228 void *reserved_ptr2;
229 void *reserved_ptr3;
230 void *reserved_ptr4;
231
232} lzma_mt;
233
234
246extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset)
248
249
262extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset)
264
265
305extern LZMA_API(lzma_ret) lzma_easy_encoder(
308
309
338extern LZMA_API(lzma_ret) lzma_easy_buffer_encode(
341 const uint8_t *in, size_t in_size,
342 uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow;
343
344
361extern LZMA_API(lzma_ret) lzma_stream_encoder(lzma_stream *strm,
364
365
381extern LZMA_API(uint64_t) lzma_stream_encoder_mt_memusage(
383
384
404extern LZMA_API(lzma_ret) lzma_stream_encoder_mt(
407
408
429extern LZMA_API(lzma_ret) lzma_alone_encoder(
432
433
456extern LZMA_API(size_t) lzma_stream_buffer_bound(size_t uncompressed_size)
458
459
486extern LZMA_API(lzma_ret) lzma_stream_buffer_encode(
489 const uint8_t *in, size_t in_size,
490 uint8_t *out, size_t *out_pos, size_t out_size)
492
493
544extern LZMA_API(lzma_ret) lzma_microlzma_encoder(
546
547
548/************
549 * Decoding *
550 ************/
551
558#define LZMA_TELL_NO_CHECK UINT32_C(0x01)
559
560
567#define LZMA_TELL_UNSUPPORTED_CHECK UINT32_C(0x02)
568
569
575#define LZMA_TELL_ANY_CHECK UINT32_C(0x04)
576
577
599#define LZMA_IGNORE_CHECK UINT32_C(0x10)
600
601
616#define LZMA_CONCATENATED UINT32_C(0x08)
617
618
645#define LZMA_FAIL_FAST UINT32_C(0x20)
646
647
667extern LZMA_API(lzma_ret) lzma_stream_decoder(
668 lzma_stream *strm, uint64_t memlimit, uint32_t flags)
670
671
697extern LZMA_API(lzma_ret) lzma_stream_decoder_mt(
698 lzma_stream *strm, const lzma_mt *options)
700
701
734extern LZMA_API(lzma_ret) lzma_auto_decoder(
735 lzma_stream *strm, uint64_t memlimit, uint32_t flags)
737
738
757extern LZMA_API(lzma_ret) lzma_alone_decoder(
758 lzma_stream *strm, uint64_t memlimit)
760
761
815extern LZMA_API(lzma_ret) lzma_lzip_decoder(
816 lzma_stream *strm, uint64_t memlimit, uint32_t flags)
818
819
859extern LZMA_API(lzma_ret) lzma_stream_buffer_decode(
860 uint64_t *memlimit, uint32_t flags,
862 const uint8_t *in, size_t *in_pos, size_t in_size,
863 uint8_t *out, size_t *out_pos, size_t out_size)
865
866
901extern LZMA_API(lzma_ret) lzma_microlzma_decoder(
902 lzma_stream *strm, uint64_t comp_size,
904 uint32_t dict_size);
Custom functions for memory handling.
Definition base.h:372
Filter options.
Definition filter.h:43
Multithreading options.
Definition container.h:66
Options specific to the LZMA1 and LZMA2 filters.
Definition lzma12.h:185
Passing data to and from liblzma.
Definition base.h:485
#define const
Definition zconf.h:230
lzma_reserved_enum
Type of reserved enumeration variable in structures.
Definition base.h:44
lzma_ret
Return values used by several functions in liblzma.
Definition base.h:57
unsigned char lzma_bool
Boolean.
Definition base.h:29
lzma_check
Type of the integrity check (Check ID)
Definition check.h:27
uint64_t memlimit
Definition container.h:537
lzma_check const lzma_allocator const uint8_t * in
Definition container.h:294
uint32_t preset
Definition container.h:259
uint32_t const lzma_allocator const uint8_t size_t * in_pos
Definition container.h:630
uint32_t lzma_check check lzma_nothrow lzma_attr_warn_unused_result
Definition container.h:260
lzma_check check
Definition container.h:292
const lzma_filter * filters
Definition container.h:315
lzma_check const lzma_allocator const uint8_t size_t uint8_t size_t * out_pos
Definition container.h:295
lzma_check const lzma_allocator * allocator
Definition container.h:293
uint32_t flags
Definition container.h:628
lzma_check const lzma_allocator const uint8_t size_t uint8_t size_t size_t out_size lzma_nothrow
Definition container.h:295
lzma_check const lzma_allocator const uint8_t size_t in_size
Definition container.h:294
lzma_check const lzma_allocator const uint8_t size_t uint8_t * out
Definition container.h:295
#define lzma_attr_pure
Definition lzma.h:265
#define LZMA_API(type)
Definition lzma.h:207
uint64_t uint64_t uncomp_size
Definition container.h:903
uint64_t uint64_t lzma_bool uncomp_size_is_exact
Definition container.h:903
uint64_t uint64_t lzma_bool uint32_t dict_size
Definition container.h:904
const lzma_options_lzma * options
Definition container.h:545
uint64_t comp_size
Definition container.h:902
uint64_t uncompressed_size
Definition list.c:209