Editor/HumanoidRetargeter/Embedded/ZstdSharp/Unsafe/ErrorPrivate.cs
#nullable enable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
namespace HumanoidRetargeterZstd.Unsafe
{
public static unsafe partial class Methods
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private static bool ERR_isError(nuint code)
{
return code > unchecked((nuint)(-(int)ZSTD_ErrorCode.ZSTD_error_maxCode));
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private static ZSTD_ErrorCode ERR_getErrorCode(nuint code)
{
if (!ERR_isError(code))
return 0;
return (ZSTD_ErrorCode)(0 - code);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private static string ERR_getErrorName(nuint code)
{
return ERR_getErrorString(ERR_getErrorCode(code));
}
/*-****************************************
* Error Strings
******************************************/
private static string ERR_getErrorString(ZSTD_ErrorCode code)
{
const string notErrorCode = "Unspecified error code";
switch (code)
{
case ZSTD_ErrorCode.ZSTD_error_no_error:
return "No error detected";
case ZSTD_ErrorCode.ZSTD_error_GENERIC:
return "Error (generic)";
case ZSTD_ErrorCode.ZSTD_error_prefix_unknown:
return "Unknown frame descriptor";
case ZSTD_ErrorCode.ZSTD_error_version_unsupported:
return "Version not supported";
case ZSTD_ErrorCode.ZSTD_error_frameParameter_unsupported:
return "Unsupported frame parameter";
case ZSTD_ErrorCode.ZSTD_error_frameParameter_windowTooLarge:
return "Frame requires too much memory for decoding";
case ZSTD_ErrorCode.ZSTD_error_corruption_detected:
return "Data corruption detected";
case ZSTD_ErrorCode.ZSTD_error_checksum_wrong:
return "Restored data doesn't match checksum";
case ZSTD_ErrorCode.ZSTD_error_literals_headerWrong:
return "Header of Literals' block doesn't respect format specification";
case ZSTD_ErrorCode.ZSTD_error_parameter_unsupported:
return "Unsupported parameter";
case ZSTD_ErrorCode.ZSTD_error_parameter_combination_unsupported:
return "Unsupported combination of parameters";
case ZSTD_ErrorCode.ZSTD_error_parameter_outOfBound:
return "Parameter is out of bound";
case ZSTD_ErrorCode.ZSTD_error_init_missing:
return "Context should be init first";
case ZSTD_ErrorCode.ZSTD_error_memory_allocation:
return "Allocation error : not enough memory";
case ZSTD_ErrorCode.ZSTD_error_workSpace_tooSmall:
return "workSpace buffer is not large enough";
case ZSTD_ErrorCode.ZSTD_error_stage_wrong:
return "Operation not authorized at current processing stage";
case ZSTD_ErrorCode.ZSTD_error_tableLog_tooLarge:
return "tableLog requires too much memory : unsupported";
case ZSTD_ErrorCode.ZSTD_error_maxSymbolValue_tooLarge:
return "Unsupported max Symbol Value : too large";
case ZSTD_ErrorCode.ZSTD_error_maxSymbolValue_tooSmall:
return "Specified maxSymbolValue is too small";
case ZSTD_ErrorCode.ZSTD_error_cannotProduce_uncompressedBlock:
return "This mode cannot generate an uncompressed block";
case ZSTD_ErrorCode.ZSTD_error_stabilityCondition_notRespected:
return "pledged buffer stability condition is not respected";
case ZSTD_ErrorCode.ZSTD_error_dictionary_corrupted:
return "Dictionary is corrupted";
case ZSTD_ErrorCode.ZSTD_error_dictionary_wrong:
return "Dictionary mismatch";
case ZSTD_ErrorCode.ZSTD_error_dictionaryCreation_failed:
return "Cannot create Dictionary from provided samples";
case ZSTD_ErrorCode.ZSTD_error_dstSize_tooSmall:
return "Destination buffer is too small";
case ZSTD_ErrorCode.ZSTD_error_srcSize_wrong:
return "Src size is incorrect";
case ZSTD_ErrorCode.ZSTD_error_dstBuffer_null:
return "Operation on NULL destination buffer";
case ZSTD_ErrorCode.ZSTD_error_noForwardProgress_destFull:
return "Operation made no progress over multiple calls, due to output buffer being full";
case ZSTD_ErrorCode.ZSTD_error_noForwardProgress_inputEmpty:
return "Operation made no progress over multiple calls, due to input being empty";
case ZSTD_ErrorCode.ZSTD_error_frameIndex_tooLarge:
return "Frame index is too large";
case ZSTD_ErrorCode.ZSTD_error_seekableIO:
return "An I/O error occurred when reading/seeking";
case ZSTD_ErrorCode.ZSTD_error_dstBuffer_wrong:
return "Destination buffer is wrong";
case ZSTD_ErrorCode.ZSTD_error_srcBuffer_wrong:
return "Source buffer is wrong";
case ZSTD_ErrorCode.ZSTD_error_sequenceProducer_failed:
return "Block-level external sequence producer returned an error code";
case ZSTD_ErrorCode.ZSTD_error_externalSequences_invalid:
return "External sequences are not valid";
case ZSTD_ErrorCode.ZSTD_error_maxCode:
default:
return notErrorCode;
}
}
}
}