| [1166] | 1 | /*
 | 
|---|
 | 2 |  * Copyright (c) Yann Collet, Facebook, Inc.
 | 
|---|
 | 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 | #ifndef ZSTD_ERRORS_H_398273423
 | 
|---|
 | 12 | #define ZSTD_ERRORS_H_398273423
 | 
|---|
 | 13 | 
 | 
|---|
 | 14 | #if defined (__cplusplus)
 | 
|---|
 | 15 | extern "C" {
 | 
|---|
 | 16 | #endif
 | 
|---|
 | 17 | 
 | 
|---|
 | 18 | /*===== dependency =====*/
 | 
|---|
 | 19 | #include <stddef.h>   /* size_t */
 | 
|---|
 | 20 | 
 | 
|---|
 | 21 | 
 | 
|---|
 | 22 | /* =====   ZSTDERRORLIB_API : control library symbols visibility   ===== */
 | 
|---|
 | 23 | #ifndef ZSTDERRORLIB_VISIBILITY
 | 
|---|
 | 24 | #  if defined(__GNUC__) && (__GNUC__ >= 4)
 | 
|---|
 | 25 | #    define ZSTDERRORLIB_VISIBILITY __attribute__ ((visibility ("default")))
 | 
|---|
 | 26 | #  else
 | 
|---|
 | 27 | #    define ZSTDERRORLIB_VISIBILITY
 | 
|---|
 | 28 | #  endif
 | 
|---|
 | 29 | #endif
 | 
|---|
 | 30 | #if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1)
 | 
|---|
 | 31 | #  define ZSTDERRORLIB_API __declspec(dllexport) ZSTDERRORLIB_VISIBILITY
 | 
|---|
 | 32 | #elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)
 | 
|---|
 | 33 | #  define ZSTDERRORLIB_API __declspec(dllimport) ZSTDERRORLIB_VISIBILITY /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/
 | 
|---|
 | 34 | #else
 | 
|---|
 | 35 | #  define ZSTDERRORLIB_API ZSTDERRORLIB_VISIBILITY
 | 
|---|
 | 36 | #endif
 | 
|---|
 | 37 | 
 | 
|---|
 | 38 | /*-*********************************************
 | 
|---|
 | 39 |  *  Error codes list
 | 
|---|
 | 40 |  *-*********************************************
 | 
|---|
 | 41 |  *  Error codes _values_ are pinned down since v1.3.1 only.
 | 
|---|
 | 42 |  *  Therefore, don't rely on values if you may link to any version < v1.3.1.
 | 
|---|
 | 43 |  *
 | 
|---|
 | 44 |  *  Only values < 100 are considered stable.
 | 
|---|
 | 45 |  *
 | 
|---|
 | 46 |  *  note 1 : this API shall be used with static linking only.
 | 
|---|
 | 47 |  *           dynamic linking is not yet officially supported.
 | 
|---|
 | 48 |  *  note 2 : Prefer relying on the enum than on its value whenever possible
 | 
|---|
 | 49 |  *           This is the only supported way to use the error list < v1.3.1
 | 
|---|
 | 50 |  *  note 3 : ZSTD_isError() is always correct, whatever the library version.
 | 
|---|
 | 51 |  **********************************************/
 | 
|---|
 | 52 | typedef enum {
 | 
|---|
 | 53 |   ZSTD_error_no_error = 0,
 | 
|---|
 | 54 |   ZSTD_error_GENERIC  = 1,
 | 
|---|
 | 55 |   ZSTD_error_prefix_unknown                = 10,
 | 
|---|
 | 56 |   ZSTD_error_version_unsupported           = 12,
 | 
|---|
 | 57 |   ZSTD_error_frameParameter_unsupported    = 14,
 | 
|---|
 | 58 |   ZSTD_error_frameParameter_windowTooLarge = 16,
 | 
|---|
 | 59 |   ZSTD_error_corruption_detected = 20,
 | 
|---|
 | 60 |   ZSTD_error_checksum_wrong      = 22,
 | 
|---|
 | 61 |   ZSTD_error_dictionary_corrupted      = 30,
 | 
|---|
 | 62 |   ZSTD_error_dictionary_wrong          = 32,
 | 
|---|
 | 63 |   ZSTD_error_dictionaryCreation_failed = 34,
 | 
|---|
 | 64 |   ZSTD_error_parameter_unsupported   = 40,
 | 
|---|
 | 65 |   ZSTD_error_parameter_outOfBound    = 42,
 | 
|---|
 | 66 |   ZSTD_error_tableLog_tooLarge       = 44,
 | 
|---|
 | 67 |   ZSTD_error_maxSymbolValue_tooLarge = 46,
 | 
|---|
 | 68 |   ZSTD_error_maxSymbolValue_tooSmall = 48,
 | 
|---|
 | 69 |   ZSTD_error_stage_wrong       = 60,
 | 
|---|
 | 70 |   ZSTD_error_init_missing      = 62,
 | 
|---|
 | 71 |   ZSTD_error_memory_allocation = 64,
 | 
|---|
 | 72 |   ZSTD_error_workSpace_tooSmall= 66,
 | 
|---|
 | 73 |   ZSTD_error_dstSize_tooSmall = 70,
 | 
|---|
 | 74 |   ZSTD_error_srcSize_wrong    = 72,
 | 
|---|
 | 75 |   ZSTD_error_dstBuffer_null   = 74,
 | 
|---|
 | 76 |   /* following error codes are __NOT STABLE__, they can be removed or changed in future versions */
 | 
|---|
 | 77 |   ZSTD_error_frameIndex_tooLarge = 100,
 | 
|---|
 | 78 |   ZSTD_error_seekableIO          = 102,
 | 
|---|
 | 79 |   ZSTD_error_dstBuffer_wrong     = 104,
 | 
|---|
 | 80 |   ZSTD_error_srcBuffer_wrong     = 105,
 | 
|---|
 | 81 |   ZSTD_error_maxCode = 120  /* never EVER use this value directly, it can change in future versions! Use ZSTD_isError() instead */
 | 
|---|
 | 82 | } ZSTD_ErrorCode;
 | 
|---|
 | 83 | 
 | 
|---|
 | 84 | /*! ZSTD_getErrorCode() :
 | 
|---|
 | 85 |     convert a `size_t` function result into a `ZSTD_ErrorCode` enum type,
 | 
|---|
 | 86 |     which can be used to compare with enum list published above */
 | 
|---|
 | 87 | ZSTDERRORLIB_API ZSTD_ErrorCode ZSTD_getErrorCode(size_t functionResult);
 | 
|---|
 | 88 | ZSTDERRORLIB_API const char* ZSTD_getErrorString(ZSTD_ErrorCode code);   /**< Same as ZSTD_getErrorName, but using a `ZSTD_ErrorCode` enum argument */
 | 
|---|
 | 89 | 
 | 
|---|
 | 90 | 
 | 
|---|
 | 91 | #if defined (__cplusplus)
 | 
|---|
 | 92 | }
 | 
|---|
 | 93 | #endif
 | 
|---|
 | 94 | 
 | 
|---|
 | 95 | #endif /* ZSTD_ERRORS_H_398273423 */
 | 
|---|