Files
BinaryObjectScanner/BurnOutSharp/External/libmspack/CAB/DecompressState.cs
Matt Nadareski 394b4e70fb libmspack cleanup
2022-05-23 13:36:19 -07:00

77 lines
2.0 KiB
C#

/* This file is part of libmspack.
* (C) 2003-2018 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
*/
using System;
namespace LibMSPackSharp.CAB
{
public class DecompressState : BaseDecompressState
{
/// <summary>
/// Current folder we're extracting from
/// </summary>
public Folder Folder { get; set; }
/// <summary>
/// Current folder split we're in
/// </summary>
public FolderData Data { get; set; }
/// <summary>
/// Uncompressed offset within folder
/// </summary>
public uint Offset { get; set; }
/// <summary>
/// Which block are we decompressing?
/// </summary>
public uint Block { get; set; }
/// <summary>
/// Cumulative sum of block output sizes
/// </summary>
public long Outlen { get; set; }
/// <summary>
/// Type of compression used by folder
/// </summary>
public CompressionType CompressionType { get; set; }
/// <summary>
/// Decompressor code
/// </summary>
public Func<object, long, Error> Decompress { get; set; }
/// <summary>
/// Decompressor state
/// </summary>
public BaseDecompressState DecompressorState { get; set; }
/// <summary>
/// Cabinet where input data comes from
/// </summary>
public Cabinet InputCabinet { get; set; }
/// <summary>
/// Input data consumed
/// </summary>
public int InputPointer { get; set; }
/// <summary>
/// Input data end
/// </summary>
public int InputEnd { get; set; }
/// <summary>
/// One input block of data
/// </summary>
public byte[] Input { get; set; } = new byte[Constants.CAB_INPUTBUF];
}
}