Editor/HumanoidRetargeter/Embedded/ZstdSharp/Unsafe/ZSTD_DCtx_s.cs
#nullable enable
using System;
using System.Collections.Generic;
using System.Linq;
namespace HumanoidRetargeterZstd.Unsafe
{
public unsafe struct ZSTD_DCtx_s
{
public ZSTD_seqSymbol* LLTptr;
public ZSTD_seqSymbol* MLTptr;
public ZSTD_seqSymbol* OFTptr;
public uint* HUFptr;
public ZSTD_entropyDTables_t entropy;
/* space needed when building huffman tables */
public fixed uint workspace[640];
/* detect continuity */
public void* previousDstEnd;
/* start of current segment */
public void* prefixStart;
/* virtual start of previous segment if it was just before current one */
public void* virtualStart;
/* end of previous segment */
public void* dictEnd;
public nuint expected;
public ZSTD_frameHeader fParams;
public ulong processedCSize;
public ulong decodedSize;
/* used in ZSTD_decompressContinue(), store blockType between block header decoding and block decompression stages */
public blockType_e bType;
public ZSTD_dStage stage;
public uint litEntropy;
public uint fseEntropy;
public XXH64_state_s xxhState;
public nuint headerSize;
public ZSTD_format_e format;
/* User specified: if == 1, will ignore checksums in compressed frame. Default == 0 */
public ZSTD_forceIgnoreChecksum_e forceIgnoreChecksum;
/* if == 1, will validate checksum. Is == 1 if (fParams.checksumFlag == 1) and (forceIgnoreChecksum == 0). */
public uint validateChecksum;
public byte* litPtr;
public ZSTD_customMem customMem;
public nuint litSize;
public nuint rleSize;
public nuint staticSize;
public int isFrameDecompression;
/* dictionary */
public ZSTD_DDict_s* ddictLocal;
/* set by ZSTD_initDStream_usingDDict(), or ZSTD_DCtx_refDDict() */
public ZSTD_DDict_s* ddict;
public uint dictID;
/* if == 1 : dictionary is "new" for working context, and presumed "cold" (not in cpu cache) */
public int ddictIsCold;
public ZSTD_dictUses_e dictUses;
/* Hash set for multiple ddicts */
public ZSTD_DDictHashSet* ddictSet;
/* User specified: if == 1, will allow references to multiple DDicts. Default == 0 (disabled) */
public ZSTD_refMultipleDDicts_e refMultipleDDicts;
public int disableHufAsm;
public int maxBlockSizeParam;
/* streaming */
public ZSTD_dStreamStage streamStage;
public sbyte* inBuff;
public nuint inBuffSize;
public nuint inPos;
public nuint maxWindowSize;
public sbyte* outBuff;
public nuint outBuffSize;
public nuint outStart;
public nuint outEnd;
public nuint lhSize;
public uint hostageByte;
public int noForwardProgress;
public ZSTD_bufferMode_e outBufferMode;
public ZSTD_outBuffer_s expectedOutBuffer;
/* workspace */
public byte* litBuffer;
public byte* litBufferEnd;
public ZSTD_litLocation_e litBufferLocation;
/* literal buffer can be split between storage within dst and within this scratch buffer */
public fixed byte litExtraBuffer[65568];
public fixed byte headerBuffer[18];
public nuint oversizedDuration;
}
}