aboutsummaryrefslogblamecommitdiff
path: root/src/liblzma/lz/lz_encoder_private.h
blob: 638fcb2d601cc3d6e0edc022eaa4ab43f579642b (plain) (tree)







































                                                                               
///////////////////////////////////////////////////////////////////////////////
//
/// \file       lz_encoder_private.h
/// \brief      Private definitions for LZ encoder
//
//  Copyright (C) 1999-2006 Igor Pavlov
//  Copyright (C) 2007 Lasse Collin
//
//  This library is free software; you can redistribute it and/or
//  modify it under the terms of the GNU Lesser General Public
//  License as published by the Free Software Foundation; either
//  version 2.1 of the License, or (at your option) any later version.
//
//  This library is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//  Lesser General Public License for more details.
//
///////////////////////////////////////////////////////////////////////////////

#ifndef LZMA_LZ_ENCODER_PRIVATE_H
#define LZMA_LZ_ENCODER_PRIVATE_H

#include "lz_encoder.h"

/// Value used to indicate unused slot
#define EMPTY_HASH_VALUE 0

/// When the dictionary and hash variables need to be adjusted to prevent
/// integer overflows. Since we use uint32_t to store the offsets, half
/// of it is the biggest safe limit.
#define MAX_VAL_FOR_NORMALIZE (UINT32_MAX / 2)


struct lzma_coder_s {
	lzma_next_coder next;
	lzma_lz_encoder lz;
};

#endif