blob: 638fcb2d601cc3d6e0edc022eaa4ab43f579642b [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
//
/// \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