1*a28cd43dSSascha Wildner /* 2*a28cd43dSSascha Wildner * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc. 3*a28cd43dSSascha Wildner * All rights reserved. 4*a28cd43dSSascha Wildner * 5*a28cd43dSSascha Wildner * This source code is licensed under both the BSD-style license (found in the 6*a28cd43dSSascha Wildner * LICENSE file in the root directory of this source tree) and the GPLv2 (found 7*a28cd43dSSascha Wildner * in the COPYING file in the root directory of this source tree). 8*a28cd43dSSascha Wildner * You may select, at your option, one of the above-listed licenses. 9*a28cd43dSSascha Wildner */ 10*a28cd43dSSascha Wildner 11*a28cd43dSSascha Wildner /* The purpose of this file is to have a single list of error strings embedded in binary */ 12*a28cd43dSSascha Wildner 13*a28cd43dSSascha Wildner #include "error_private.h" 14*a28cd43dSSascha Wildner ERR_getErrorString(ERR_enum code)15*a28cd43dSSascha Wildnerconst char* ERR_getErrorString(ERR_enum code) 16*a28cd43dSSascha Wildner { 17*a28cd43dSSascha Wildner #ifdef ZSTD_STRIP_ERROR_STRINGS 18*a28cd43dSSascha Wildner (void)code; 19*a28cd43dSSascha Wildner return "Error strings stripped"; 20*a28cd43dSSascha Wildner #else 21*a28cd43dSSascha Wildner static const char* const notErrorCode = "Unspecified error code"; 22*a28cd43dSSascha Wildner switch( code ) 23*a28cd43dSSascha Wildner { 24*a28cd43dSSascha Wildner case PREFIX(no_error): return "No error detected"; 25*a28cd43dSSascha Wildner case PREFIX(GENERIC): return "Error (generic)"; 26*a28cd43dSSascha Wildner case PREFIX(prefix_unknown): return "Unknown frame descriptor"; 27*a28cd43dSSascha Wildner case PREFIX(version_unsupported): return "Version not supported"; 28*a28cd43dSSascha Wildner case PREFIX(frameParameter_unsupported): return "Unsupported frame parameter"; 29*a28cd43dSSascha Wildner case PREFIX(frameParameter_windowTooLarge): return "Frame requires too much memory for decoding"; 30*a28cd43dSSascha Wildner case PREFIX(corruption_detected): return "Corrupted block detected"; 31*a28cd43dSSascha Wildner case PREFIX(checksum_wrong): return "Restored data doesn't match checksum"; 32*a28cd43dSSascha Wildner case PREFIX(parameter_unsupported): return "Unsupported parameter"; 33*a28cd43dSSascha Wildner case PREFIX(parameter_outOfBound): return "Parameter is out of bound"; 34*a28cd43dSSascha Wildner case PREFIX(init_missing): return "Context should be init first"; 35*a28cd43dSSascha Wildner case PREFIX(memory_allocation): return "Allocation error : not enough memory"; 36*a28cd43dSSascha Wildner case PREFIX(workSpace_tooSmall): return "workSpace buffer is not large enough"; 37*a28cd43dSSascha Wildner case PREFIX(stage_wrong): return "Operation not authorized at current processing stage"; 38*a28cd43dSSascha Wildner case PREFIX(tableLog_tooLarge): return "tableLog requires too much memory : unsupported"; 39*a28cd43dSSascha Wildner case PREFIX(maxSymbolValue_tooLarge): return "Unsupported max Symbol Value : too large"; 40*a28cd43dSSascha Wildner case PREFIX(maxSymbolValue_tooSmall): return "Specified maxSymbolValue is too small"; 41*a28cd43dSSascha Wildner case PREFIX(dictionary_corrupted): return "Dictionary is corrupted"; 42*a28cd43dSSascha Wildner case PREFIX(dictionary_wrong): return "Dictionary mismatch"; 43*a28cd43dSSascha Wildner case PREFIX(dictionaryCreation_failed): return "Cannot create Dictionary from provided samples"; 44*a28cd43dSSascha Wildner case PREFIX(dstSize_tooSmall): return "Destination buffer is too small"; 45*a28cd43dSSascha Wildner case PREFIX(srcSize_wrong): return "Src size is incorrect"; 46*a28cd43dSSascha Wildner case PREFIX(dstBuffer_null): return "Operation on NULL destination buffer"; 47*a28cd43dSSascha Wildner /* following error codes are not stable and may be removed or changed in a future version */ 48*a28cd43dSSascha Wildner case PREFIX(frameIndex_tooLarge): return "Frame index is too large"; 49*a28cd43dSSascha Wildner case PREFIX(seekableIO): return "An I/O error occurred when reading/seeking"; 50*a28cd43dSSascha Wildner case PREFIX(dstBuffer_wrong): return "Destination buffer is wrong"; 51*a28cd43dSSascha Wildner case PREFIX(srcBuffer_wrong): return "Source buffer is wrong"; 52*a28cd43dSSascha Wildner case PREFIX(maxCode): 53*a28cd43dSSascha Wildner default: return notErrorCode; 54*a28cd43dSSascha Wildner } 55*a28cd43dSSascha Wildner #endif 56*a28cd43dSSascha Wildner } 57