Path: blob/main/sys/contrib/openzfs/module/zstd/lib/zstd_errors.h
178701 views
// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only1/*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 the6* LICENSE file in the root directory of this source tree) and the GPLv2 (found7* 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*/1011#ifndef ZSTD_ERRORS_H_39827342312#define ZSTD_ERRORS_H_3982734231314#if defined (__cplusplus)15extern "C" {16#endif1718/* ===== ZSTDERRORLIB_API : control library symbols visibility ===== */19#ifndef ZSTDERRORLIB_VISIBLE20/* Backwards compatibility with old macro name */21# ifdef ZSTDERRORLIB_VISIBILITY22# define ZSTDERRORLIB_VISIBLE ZSTDERRORLIB_VISIBILITY23# elif defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__)24# define ZSTDERRORLIB_VISIBLE __attribute__ ((visibility ("default")))25# else26# define ZSTDERRORLIB_VISIBLE27# endif28#endif2930#ifndef ZSTDERRORLIB_HIDDEN31# if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__)32# define ZSTDERRORLIB_HIDDEN __attribute__ ((visibility ("hidden")))33# else34# define ZSTDERRORLIB_HIDDEN35# endif36#endif3738#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1)39# define ZSTDERRORLIB_API __declspec(dllexport) ZSTDERRORLIB_VISIBLE40#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)41# define ZSTDERRORLIB_API __declspec(dllimport) ZSTDERRORLIB_VISIBLE /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/42#else43# define ZSTDERRORLIB_API ZSTDERRORLIB_VISIBLE44#endif4546/*-*********************************************47* Error codes list48*-*********************************************49* Error codes _values_ are pinned down since v1.3.1 only.50* Therefore, don't rely on values if you may link to any version < v1.3.1.51*52* Only values < 100 are considered stable.53*54* note 1 : this API shall be used with static linking only.55* dynamic linking is not yet officially supported.56* note 2 : Prefer relying on the enum than on its value whenever possible57* This is the only supported way to use the error list < v1.3.158* note 3 : ZSTD_isError() is always correct, whatever the library version.59**********************************************/60typedef enum {61ZSTD_error_no_error = 0,62ZSTD_error_GENERIC = 1,63ZSTD_error_prefix_unknown = 10,64ZSTD_error_version_unsupported = 12,65ZSTD_error_frameParameter_unsupported = 14,66ZSTD_error_frameParameter_windowTooLarge = 16,67ZSTD_error_corruption_detected = 20,68ZSTD_error_checksum_wrong = 22,69ZSTD_error_literals_headerWrong = 24,70ZSTD_error_dictionary_corrupted = 30,71ZSTD_error_dictionary_wrong = 32,72ZSTD_error_dictionaryCreation_failed = 34,73ZSTD_error_parameter_unsupported = 40,74ZSTD_error_parameter_combination_unsupported = 41,75ZSTD_error_parameter_outOfBound = 42,76ZSTD_error_tableLog_tooLarge = 44,77ZSTD_error_maxSymbolValue_tooLarge = 46,78ZSTD_error_maxSymbolValue_tooSmall = 48,79ZSTD_error_cannotProduce_uncompressedBlock = 49,80ZSTD_error_stabilityCondition_notRespected = 50,81ZSTD_error_stage_wrong = 60,82ZSTD_error_init_missing = 62,83ZSTD_error_memory_allocation = 64,84ZSTD_error_workSpace_tooSmall= 66,85ZSTD_error_dstSize_tooSmall = 70,86ZSTD_error_srcSize_wrong = 72,87ZSTD_error_dstBuffer_null = 74,88ZSTD_error_noForwardProgress_destFull = 80,89ZSTD_error_noForwardProgress_inputEmpty = 82,90/* following error codes are __NOT STABLE__, they can be removed or changed in future versions */91ZSTD_error_frameIndex_tooLarge = 100,92ZSTD_error_seekableIO = 102,93ZSTD_error_dstBuffer_wrong = 104,94ZSTD_error_srcBuffer_wrong = 105,95ZSTD_error_sequenceProducer_failed = 106,96ZSTD_error_externalSequences_invalid = 107,97ZSTD_error_maxCode = 120 /* never EVER use this value directly, it can change in future versions! Use ZSTD_isError() instead */98} ZSTD_ErrorCode;99100ZSTDERRORLIB_API const char* ZSTD_getErrorString(ZSTD_ErrorCode code); /**< Same as ZSTD_getErrorName, but using a `ZSTD_ErrorCode` enum argument */101102103#if defined (__cplusplus)104}105#endif106107#endif /* ZSTD_ERRORS_H_398273423 */108109110