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