xref: /freebsd/contrib/xz/src/liblzma/delta/delta_private.h (revision b9f654b163bce26de79705e77b872427c9f2afa1)
1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 /// \file       delta_private.h
4 /// \brief      Private common stuff for Delta encoder and decoder
5 //
6 //  Author:     Lasse Collin
7 //
8 //  This file has been put into the public domain.
9 //  You can do whatever you want with this file.
10 //
11 ///////////////////////////////////////////////////////////////////////////////
12 
13 #ifndef LZMA_DELTA_PRIVATE_H
14 #define LZMA_DELTA_PRIVATE_H
15 
16 #include "delta_common.h"
17 
18 typedef struct {
19 	/// Next coder in the chain
20 	lzma_next_coder next;
21 
22 	/// Delta distance
23 	size_t distance;
24 
25 	/// Position in history[]
26 	uint8_t pos;
27 
28 	/// Buffer to hold history of the original data
29 	uint8_t history[LZMA_DELTA_DIST_MAX];
30 } lzma_delta_coder;
31 
32 
33 extern lzma_ret lzma_delta_coder_init(
34 		lzma_next_coder *next, const lzma_allocator *allocator,
35 		const lzma_filter_info *filters);
36 
37 #endif
38