xref: /dragonfly/contrib/xz/src/liblzma/delta/delta_private.h (revision 46a2189dd86b644c3a76ac281d84b4182fd66b95)
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