Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
lzma12.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: 0BSD */
2
9/*
10 * Author: Lasse Collin
11 */
12
13#ifndef LZMA_H_INTERNAL
14# error Never include this file directly. Use <lzma.h> instead.
15#endif
16
17
25#define LZMA_FILTER_LZMA1 LZMA_VLI_C(0x4000000000000001)
26
51#define LZMA_FILTER_LZMA1EXT LZMA_VLI_C(0x4000000000000002)
52
61#define LZMA_FILTER_LZMA2 LZMA_VLI_C(0x21)
62
63
79typedef enum {
80 LZMA_MF_HC3 = 0x03,
91 LZMA_MF_HC4 = 0x04,
102 LZMA_MF_BT2 = 0x12,
111 LZMA_MF_BT3 = 0x13,
122 LZMA_MF_BT4 = 0x14
133
134
153extern LZMA_API(lzma_bool) lzma_mf_is_supported(lzma_match_finder match_finder)
155
156
163typedef enum {
164 LZMA_MODE_FAST = 1,
181
182
201extern LZMA_API(lzma_bool) lzma_mode_is_supported(lzma_mode mode)
203
204
216typedef struct {
248 uint32_t dict_size;
249# define LZMA_DICT_SIZE_MIN UINT32_C(4096)
250# define LZMA_DICT_SIZE_DEFAULT (UINT32_C(1) << 23)
251
271 const uint8_t *preset_dict;
272
285 uint32_t preset_dict_size;
286
312 uint32_t lc;
313# define LZMA_LCLP_MIN 0
314# define LZMA_LCLP_MAX 4
315# define LZMA_LC_DEFAULT 3
316
324 uint32_t lp;
325# define LZMA_LP_DEFAULT 0
326
347 uint32_t pb;
348# define LZMA_PB_MIN 0
349# define LZMA_PB_MAX 4
350# define LZMA_PB_DEFAULT 2
351
353 lzma_mode mode;
354
373 uint32_t nice_len;
374
377
406 uint32_t depth;
407
444 uint32_t ext_flags;
445# define LZMA_LZMA1EXT_ALLOW_EOPM UINT32_C(0x01)
446
475 uint32_t ext_size_low;
476
482 uint32_t ext_size_high;
483
484 /*
485 * Reserved space to allow possible future extensions without
486 * breaking the ABI. You should not touch these, because the names
487 * of these variables may change. These are and will never be used
488 * with the currently supported options, so it is safe to leave these
489 * uninitialized.
490 */
491
493 uint32_t reserved_int4;
494
496 uint32_t reserved_int5;
497
499 uint32_t reserved_int6;
500
502 uint32_t reserved_int7;
503
505 uint32_t reserved_int8;
506
508 lzma_reserved_enum reserved_enum1;
509
511 lzma_reserved_enum reserved_enum2;
512
514 lzma_reserved_enum reserved_enum3;
515
517 lzma_reserved_enum reserved_enum4;
518
520 void *reserved_ptr1;
521
523 void *reserved_ptr2;
524
526
527
534#define lzma_set_ext_size(opt_lzma2, u64size) \
535do { \
536 (opt_lzma2).ext_size_low = (uint32_t)(u64size); \
537 (opt_lzma2).ext_size_high = (uint32_t)((uint64_t)(u64size) >> 32); \
538} while (0)
539
540
567extern LZMA_API(lzma_bool) lzma_lzma_preset(
Options specific to the LZMA1 and LZMA2 filters.
Definition lzma12.h:185
lzma_reserved_enum
Type of reserved enumeration variable in structures.
Definition base.h:44
unsigned char lzma_bool
Boolean.
Definition base.h:29
uint32_t preset
Definition container.h:259
lzma_mode
Compression modes.
Definition lzma12.h:138
@ LZMA_MODE_FAST
Fast compression.
Definition lzma12.h:139
@ LZMA_MODE_NORMAL
Normal compression.
Definition lzma12.h:147
lzma_match_finder
Match finders.
Definition lzma12.h:58
@ LZMA_MF_HC4
Hash Chain with 2-, 3-, and 4-byte hashing.
Definition lzma12.h:70
@ LZMA_MF_BT4
Binary Tree with 2-, 3-, and 4-byte hashing.
Definition lzma12.h:101
@ LZMA_MF_HC3
Hash Chain with 2- and 3-byte hashing.
Definition lzma12.h:59
@ LZMA_MF_BT2
Binary Tree with 2-byte hashing.
Definition lzma12.h:81
@ LZMA_MF_BT3
Binary Tree with 2- and 3-byte hashing.
Definition lzma12.h:90
uint32_t preset lzma_nothrow
Definition lzma12.h:420
#define lzma_attr_const
Definition lzma.h:269
#define LZMA_API(type)
Definition lzma.h:207
uint64_t uint64_t lzma_bool uint32_t dict_size
Definition container.h:904
const lzma_options_lzma * options
Definition container.h:545