/* This file is part of libmspack.
* (C) 2003-2004 Stuart Caie.
*
* libmspack is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License (LGPL) version 2.1
*
* For further details, see the file COPYING.LIB distributed with libmspack
*/
namespace LibMSPackSharp.Compression
{
public enum InflateErrorCode
{
INF_ERR_OK = 0,
///
/// Unknown block type
///
INF_ERR_BLOCKTYPE = -1,
///
/// Block size complement mismatch
///
INF_ERR_COMPLEMENT = -2,
///
/// Error from flush_window callback
///
INF_ERR_FLUSH = -3,
///
/// Too many bits in bit buffer
///
INF_ERR_BITBUF = -4,
///
/// Too many symbols in blocktype 2 header
///
INF_ERR_SYMLENS = -5,
///
/// Failed to build bitlens huffman table
///
INF_ERR_BITLENTBL = -6,
///
/// Failed to build literals huffman table
///
INF_ERR_LITERALTBL = -7,
///
/// Failed to build distance huffman table
///
INF_ERR_DISTANCETBL = -8,
///
/// Bitlen RLE code goes over table size
///
INF_ERR_BITOVERRUN = -9,
///
/// Invalid bit-length code
///
INF_ERR_BADBITLEN = -10,
///
/// Out-of-range literal code
///
INF_ERR_LITCODE = -11,
///
/// Out-of-range distance code
///
INF_ERR_DISTCODE = -12,
///
/// Somehow, distance is beyond 32k
///
INF_ERR_DISTANCE = -13,
///
/// Out of bits decoding huffman symbol
///
INF_ERR_HUFFSYM = -14,
}
public enum LZSSMode
{
LZSS_MODE_EXPAND = 0,
LZSS_MODE_MSHELP = 1,
LZSS_MODE_QBASIC = 2,
}
public enum LZXBlockType : byte
{
LZX_BLOCKTYPE_INVALID0 = 0,
LZX_BLOCKTYPE_VERBATIM = 1,
LZX_BLOCKTYPE_ALIGNED = 2,
LZX_BLOCKTYPE_UNCOMPRESSED = 3,
LZX_BLOCKTYPE_INVALID4 = 4,
LZX_BLOCKTYPE_INVALID5 = 5,
LZX_BLOCKTYPE_INVALID6 = 6,
LZX_BLOCKTYPE_INVALID7 = 7,
}
}