Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
index.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
35typedef struct lzma_index_s lzma_index;
36
37
41typedef struct {
42 struct {
50
52 const void *reserved_ptr1;
53
55 const void *reserved_ptr2;
56
58 const void *reserved_ptr3;
59
65 lzma_vli number;
66
73 lzma_vli block_count;
74
81 lzma_vli compressed_offset;
82
89 lzma_vli uncompressed_offset;
90
98
103
111 lzma_vli padding;
112
113
115 lzma_vli reserved_vli1;
116
118 lzma_vli reserved_vli2;
119
121 lzma_vli reserved_vli3;
122
124 lzma_vli reserved_vli4;
125 } stream;
126
127 struct {
133 lzma_vli number_in_file;
134
143 lzma_vli compressed_file_offset;
144
158 lzma_vli uncompressed_file_offset;
159
165 lzma_vli number_in_stream;
166
173 lzma_vli compressed_stream_offset;
174
181 lzma_vli uncompressed_stream_offset;
182
191
200
209
211 lzma_vli reserved_vli1;
212
214 lzma_vli reserved_vli2;
215
217 lzma_vli reserved_vli3;
218
220 lzma_vli reserved_vli4;
221
223 const void *reserved_ptr1;
224
226 const void *reserved_ptr2;
227
229 const void *reserved_ptr3;
230
232 const void *reserved_ptr4;
234
242 union {
244 const void *p;
245
247 size_t s;
248
250 lzma_vli v;
251 } internal[6];
253
254
301
302
308#define LZMA_INDEX_CHECK_MASK_NONE (UINT32_C(1) << LZMA_CHECK_NONE)
309
313#define LZMA_INDEX_CHECK_MASK_CRC32 (UINT32_C(1) << LZMA_CHECK_CRC32)
314
318#define LZMA_INDEX_CHECK_MASK_CRC64 (UINT32_C(1) << LZMA_CHECK_CRC64)
319
323#define LZMA_INDEX_CHECK_MASK_SHA256 (UINT32_C(1) << LZMA_CHECK_SHA256)
324
345extern LZMA_API(uint64_t) lzma_index_memusage(
347
348
359extern LZMA_API(uint64_t) lzma_index_memused(const lzma_index *i)
361
362
372extern LZMA_API(lzma_index *) lzma_index_init(const lzma_allocator *allocator)
374
375
385extern LZMA_API(void) lzma_index_end(
387
388
415extern LZMA_API(lzma_ret) lzma_index_append(
419
420
441extern LZMA_API(lzma_ret) lzma_index_stream_flags(
442 lzma_index *i, const lzma_stream_flags *stream_flags)
444
445
461extern LZMA_API(uint32_t) lzma_index_checks(const lzma_index *i)
463
464
479extern LZMA_API(lzma_ret) lzma_index_stream_padding(
482
483
491extern LZMA_API(lzma_vli) lzma_index_stream_count(const lzma_index *i)
493
494
505extern LZMA_API(lzma_vli) lzma_index_block_count(const lzma_index *i)
507
508
518extern LZMA_API(lzma_vli) lzma_index_size(const lzma_index *i)
520
521
534extern LZMA_API(lzma_vli) lzma_index_stream_size(const lzma_index *i)
536
537
548extern LZMA_API(lzma_vli) lzma_index_total_size(const lzma_index *i)
550
551
564extern LZMA_API(lzma_vli) lzma_index_file_size(const lzma_index *i)
566
567
575extern LZMA_API(lzma_vli) lzma_index_uncompressed_size(const lzma_index *i)
577
578
598extern LZMA_API(void) lzma_index_iter_init(
600
601
610extern LZMA_API(void) lzma_index_iter_rewind(lzma_index_iter *iter)
612
613
627extern LZMA_API(lzma_bool) lzma_index_iter_next(
630
631
660extern LZMA_API(lzma_bool) lzma_index_iter_locate(
662
663
686extern LZMA_API(lzma_ret) lzma_index_cat(lzma_index *dest, lzma_index *src,
689
690
700extern LZMA_API(lzma_index *) lzma_index_dup(
703
704
719extern LZMA_API(lzma_ret) lzma_index_encoder(
722
723
753extern LZMA_API(lzma_ret) lzma_index_decoder(
754 lzma_stream *strm, lzma_index **i, uint64_t memlimit)
756
757
779extern LZMA_API(lzma_ret) lzma_index_buffer_encode(const lzma_index *i,
780 uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow;
781
782
812extern LZMA_API(lzma_ret) lzma_index_buffer_decode(lzma_index **i,
814 const uint8_t *in, size_t *in_pos, size_t in_size)
816
817
879extern LZMA_API(lzma_ret) lzma_file_info_decoder(
881 uint64_t memlimit, uint64_t file_size)
char * dest
Definition lz4.h:806
Custom functions for memory handling.
Definition base.h:372
Iterator to get information about Blocks and Streams.
Definition index.h:43
Definition index.c:145
lzma_vli uncompressed_size
Uncompressed size of all the Blocks in the Stream(s)
Definition index.c:152
lzma_vli total_size
Total size of all the Blocks in the Stream(s)
Definition index.c:155
Options for encoding/decoding Stream Header and Stream Footer.
Definition stream_flags.h:33
Passing data to and from liblzma.
Definition base.h:485
Definition tar.h:373
#define const
Definition zconf.h:230
lzma_ret
Return values used by several functions in liblzma.
Definition base.h:57
unsigned char lzma_bool
Boolean.
Definition base.h:29
const lzma_allocator const uint8_t size_t in_size
Definition block.h:527
uint32_t flags
Definition container.h:628
uint64_t const lzma_allocator const uint8_t size_t * in_pos
Definition index.h:685
const lzma_allocator lzma_vli lzma_vli uncompressed_size lzma_nothrow lzma_attr_warn_unused_result
Definition index.h:346
uint8_t size_t * out_pos
Definition index.h:653
lzma_index ** i
Definition index.h:629
lzma_index_iter_mode
Operation mode for lzma_index_iter_next()
Definition index.h:226
@ LZMA_INDEX_ITER_BLOCK
Get the next Block.
Definition index.h:249
@ LZMA_INDEX_ITER_STREAM
Get the next Stream.
Definition index.h:238
@ LZMA_INDEX_ITER_NONEMPTY_BLOCK
Get the next non-empty Block.
Definition index.h:260
@ LZMA_INDEX_ITER_ANY
Get the next Block or Stream.
Definition index.h:227
uint64_t * memlimit
Definition index.h:684
LZMA_API(void) lzma_index_end(lzma_index *i
Deallocate lzma_index.
lzma_vli blocks lzma_nothrow
Definition index.h:287
const lzma_allocator * allocator
Definition index.h:344
const lzma_allocator lzma_vli unpadded_size
Definition index.h:345
uint64_t const lzma_allocator const uint8_t * in
Definition index.h:685
lzma_index * src
Definition index.h:567
uint8_t * out
Definition index.h:653
uint64_t lzma_vli
Variable-length integer type.
Definition vli.h:63
#define lzma_attr_pure
Definition lzma.h:265
lzma_index ** dest_index
Definition index.h:750
uint64_t stream_padding
Definition list.c:210
uint64_t streams
Definition list.c:206
uint64_t compressed_size
Definition list.c:208
uint64_t uncompressed_size
Definition list.c:209
uint64_t blocks
Definition list.c:207