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
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
37typedef struct lzma_index_s lzma_index;
38
39
43typedef struct {
44 struct {
52
53 const void *reserved_ptr1;
54 const void *reserved_ptr2;
55 const void *reserved_ptr3;
56
62 lzma_vli number;
63
70 lzma_vli block_count;
71
78 lzma_vli compressed_offset;
79
86 lzma_vli uncompressed_offset;
87
95
100
108 lzma_vli padding;
109
110 lzma_vli reserved_vli1;
111 lzma_vli reserved_vli2;
112 lzma_vli reserved_vli3;
113 lzma_vli reserved_vli4;
114 } stream;
115
116 struct {
122 lzma_vli number_in_file;
123
132 lzma_vli compressed_file_offset;
133
147 lzma_vli uncompressed_file_offset;
148
154 lzma_vli number_in_stream;
155
162 lzma_vli compressed_stream_offset;
163
170 lzma_vli uncompressed_stream_offset;
171
180
189
198
199 lzma_vli reserved_vli1;
200 lzma_vli reserved_vli2;
201 lzma_vli reserved_vli3;
202 lzma_vli reserved_vli4;
203
204 const void *reserved_ptr1;
205 const void *reserved_ptr2;
206 const void *reserved_ptr3;
207 const void *reserved_ptr4;
209
210 /*
211 * Internal data which is used to store the state of the iterator.
212 * The exact format may vary between liblzma versions, so don't
213 * touch these in any way.
214 */
215 union {
216 const void *p;
217 size_t s;
218 lzma_vli v;
219 } internal[6];
221
222
269
270
286extern LZMA_API(uint64_t) lzma_index_memusage(
288
289
296extern LZMA_API(uint64_t) lzma_index_memused(const lzma_index *i)
298
299
306extern LZMA_API(lzma_index *) lzma_index_init(const lzma_allocator *allocator)
308
309
315extern LZMA_API(void) lzma_index_end(
317
318
343extern LZMA_API(lzma_ret) lzma_index_append(
347
348
365extern LZMA_API(lzma_ret) lzma_index_stream_flags(
366 lzma_index *i, const lzma_stream_flags *stream_flags)
368
369
380extern LZMA_API(uint32_t) lzma_index_checks(const lzma_index *i)
382
383
397extern LZMA_API(lzma_ret) lzma_index_stream_padding(
400
401
405extern LZMA_API(lzma_vli) lzma_index_stream_count(const lzma_index *i)
407
408
415extern LZMA_API(lzma_vli) lzma_index_block_count(const lzma_index *i)
417
418
424extern LZMA_API(lzma_vli) lzma_index_size(const lzma_index *i)
426
427
435extern LZMA_API(lzma_vli) lzma_index_stream_size(const lzma_index *i)
437
438
445extern LZMA_API(lzma_vli) lzma_index_total_size(const lzma_index *i)
447
448
457extern LZMA_API(lzma_vli) lzma_index_file_size(const lzma_index *i)
459
460
464extern LZMA_API(lzma_vli) lzma_index_uncompressed_size(const lzma_index *i)
466
467
487extern LZMA_API(void) lzma_index_iter_init(
489
490
497extern LZMA_API(void) lzma_index_iter_rewind(lzma_index_iter *iter)
499
500
514extern LZMA_API(lzma_bool) lzma_index_iter_next(
517
518
542extern LZMA_API(lzma_bool) lzma_index_iter_locate(
544
545
567extern LZMA_API(lzma_ret) lzma_index_cat(lzma_index *dest, lzma_index *src,
570
571
577extern LZMA_API(lzma_index *) lzma_index_dup(
580
581
595extern LZMA_API(lzma_ret) lzma_index_encoder(
598
599
628extern LZMA_API(lzma_ret) lzma_index_decoder(
629 lzma_stream *strm, lzma_index **i, uint64_t memlimit)
631
632
652extern LZMA_API(lzma_ret) lzma_index_buffer_encode(const lzma_index *i,
653 uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow;
654
655
683extern LZMA_API(lzma_ret) lzma_index_buffer_decode(lzma_index **i,
685 const uint8_t *in, size_t *in_pos, size_t in_size)
687
688
749extern LZMA_API(lzma_ret) lzma_file_info_decoder(
751 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