1207753Smm///////////////////////////////////////////////////////////////////////////////
2207753Smm//
3207753Smm/// \file       delta_private.h
4207753Smm/// \brief      Private common stuff for Delta encoder and decoder
5207753Smm//
6207753Smm//  Author:     Lasse Collin
7207753Smm//
8207753Smm//  This file has been put into the public domain.
9207753Smm//  You can do whatever you want with this file.
10207753Smm//
11207753Smm///////////////////////////////////////////////////////////////////////////////
12207753Smm
13207753Smm#ifndef LZMA_DELTA_PRIVATE_H
14207753Smm#define LZMA_DELTA_PRIVATE_H
15207753Smm
16207753Smm#include "delta_common.h"
17207753Smm
18207753Smmstruct lzma_coder_s {
19207753Smm	/// Next coder in the chain
20207753Smm	lzma_next_coder next;
21207753Smm
22207753Smm	/// Delta distance
23207753Smm	size_t distance;
24207753Smm
25207753Smm	/// Position in history[]
26207753Smm	uint8_t pos;
27207753Smm
28207753Smm	/// Buffer to hold history of the original data
29207753Smm	uint8_t history[LZMA_DELTA_DIST_MAX];
30207753Smm};
31207753Smm
32207753Smm
33207753Smmextern lzma_ret lzma_delta_coder_init(
34207753Smm		lzma_next_coder *next, lzma_allocator *allocator,
35207753Smm		const lzma_filter_info *filters);
36207753Smm
37207753Smm#endif
38