| 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 */ |