Home | History | Annotate | Line # | Download | only in common
error_private.c revision 1.1
      1 /*
      2  * Copyright (c) Meta Platforms, Inc. and affiliates.
      3  * All rights reserved.
      4  *
      5  * This source code is licensed under both the BSD-style license (found in the
      6  * LICENSE file in the root directory of this source tree) and the GPLv2 (found
      7  * in the COPYING file in the root directory of this source tree).
      8  * You may select, at your option, one of the above-listed licenses.
      9  */
     10 
     11 /* The purpose of this file is to have a single list of error strings embedded in binary */
     12 
     13 #include "error_private.h"
     14 
     15 const char* ERR_getErrorString(ERR_enum code)
     16 {
     17 #ifdef ZSTD_STRIP_ERROR_STRINGS
     18     (void)code;
     19     return "Error strings stripped";
     20 #else
     21     static const char* const notErrorCode = "Unspecified error code";
     22     switch( code )
     23     {
     24     case PREFIX(no_error): return "No error detected";
     25     case PREFIX(GENERIC):  return "Error (generic)";
     26     case PREFIX(prefix_unknown): return "Unknown frame descriptor";
     27     case PREFIX(version_unsupported): return "Version not supported";
     28     case PREFIX(frameParameter_unsupported): return "Unsupported frame parameter";
     29     case PREFIX(frameParameter_windowTooLarge): return "Frame requires too much memory for decoding";
     30     case PREFIX(corruption_detected): return "Data corruption detected";
     31     case PREFIX(checksum_wrong): return "Restored data doesn't match checksum";
     32     case PREFIX(literals_headerWrong): return "Header of Literals' block doesn't respect format specification";
     33     case PREFIX(parameter_unsupported): return "Unsupported parameter";
     34     case PREFIX(parameter_combination_unsupported): return "Unsupported combination of parameters";
     35     case PREFIX(parameter_outOfBound): return "Parameter is out of bound";
     36     case PREFIX(init_missing): return "Context should be init first";
     37     case PREFIX(memory_allocation): return "Allocation error : not enough memory";
     38     case PREFIX(workSpace_tooSmall): return "workSpace buffer is not large enough";
     39     case PREFIX(stage_wrong): return "Operation not authorized at current processing stage";
     40     case PREFIX(tableLog_tooLarge): return "tableLog requires too much memory : unsupported";
     41     case PREFIX(maxSymbolValue_tooLarge): return "Unsupported max Symbol Value : too large";
     42     case PREFIX(maxSymbolValue_tooSmall): return "Specified maxSymbolValue is too small";
     43     case PREFIX(stabilityCondition_notRespected): return "pledged buffer stability condition is not respected";
     44     case PREFIX(dictionary_corrupted): return "Dictionary is corrupted";
     45     case PREFIX(dictionary_wrong): return "Dictionary mismatch";
     46     case PREFIX(dictionaryCreation_failed): return "Cannot create Dictionary from provided samples";
     47     case PREFIX(dstSize_tooSmall): return "Destination buffer is too small";
     48     case PREFIX(srcSize_wrong): return "Src size is incorrect";
     49     case PREFIX(dstBuffer_null): return "Operation on NULL destination buffer";
     50     case PREFIX(noForwardProgress_destFull): return "Operation made no progress over multiple calls, due to output buffer being full";
     51     case PREFIX(noForwardProgress_inputEmpty): return "Operation made no progress over multiple calls, due to input being empty";
     52         /* following error codes are not stable and may be removed or changed in a future version */
     53     case PREFIX(frameIndex_tooLarge): return "Frame index is too large";
     54     case PREFIX(seekableIO): return "An I/O error occurred when reading/seeking";
     55     case PREFIX(dstBuffer_wrong): return "Destination buffer is wrong";
     56     case PREFIX(srcBuffer_wrong): return "Source buffer is wrong";
     57     case PREFIX(sequenceProducer_failed): return "Block-level external sequence producer returned an error code";
     58     case PREFIX(externalSequences_invalid): return "External sequences are not valid";
     59     case PREFIX(maxCode):
     60     default: return notErrorCode;
     61     }
     62 #endif
     63 }
     64