zstd (1.5.5)

(root)/
include/
zstd_errors.h
       1  /*
       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 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_VISIBLE
      24     /* Backwards compatibility with old macro name */
      25  #  ifdef ZSTDERRORLIB_VISIBILITY
      26  #    define ZSTDERRORLIB_VISIBLE ZSTDERRORLIB_VISIBILITY
      27  #  elif defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__)
      28  #    define ZSTDERRORLIB_VISIBLE __attribute__ ((visibility ("default")))
      29  #  else
      30  #    define ZSTDERRORLIB_VISIBLE
      31  #  endif
      32  #endif
      33  
      34  #ifndef ZSTDERRORLIB_HIDDEN
      35  #  if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__)
      36  #    define ZSTDERRORLIB_HIDDEN __attribute__ ((visibility ("hidden")))
      37  #  else
      38  #    define ZSTDERRORLIB_HIDDEN
      39  #  endif
      40  #endif
      41  
      42  #if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1)
      43  #  define ZSTDERRORLIB_API __declspec(dllexport) ZSTDERRORLIB_VISIBLE
      44  #elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)
      45  #  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.*/
      46  #else
      47  #  define ZSTDERRORLIB_API ZSTDERRORLIB_VISIBLE
      48  #endif
      49  
      50  /*-*********************************************
      51   *  Error codes list
      52   *-*********************************************
      53   *  Error codes _values_ are pinned down since v1.3.1 only.
      54   *  Therefore, don't rely on values if you may link to any version < v1.3.1.
      55   *
      56   *  Only values < 100 are considered stable.
      57   *
      58   *  note 1 : this API shall be used with static linking only.
      59   *           dynamic linking is not yet officially supported.
      60   *  note 2 : Prefer relying on the enum than on its value whenever possible
      61   *           This is the only supported way to use the error list < v1.3.1
      62   *  note 3 : ZSTD_isError() is always correct, whatever the library version.
      63   **********************************************/
      64  typedef enum {
      65    ZSTD_error_no_error = 0,
      66    ZSTD_error_GENERIC  = 1,
      67    ZSTD_error_prefix_unknown                = 10,
      68    ZSTD_error_version_unsupported           = 12,
      69    ZSTD_error_frameParameter_unsupported    = 14,
      70    ZSTD_error_frameParameter_windowTooLarge = 16,
      71    ZSTD_error_corruption_detected = 20,
      72    ZSTD_error_checksum_wrong      = 22,
      73    ZSTD_error_literals_headerWrong = 24,
      74    ZSTD_error_dictionary_corrupted      = 30,
      75    ZSTD_error_dictionary_wrong          = 32,
      76    ZSTD_error_dictionaryCreation_failed = 34,
      77    ZSTD_error_parameter_unsupported   = 40,
      78    ZSTD_error_parameter_combination_unsupported = 41,
      79    ZSTD_error_parameter_outOfBound    = 42,
      80    ZSTD_error_tableLog_tooLarge       = 44,
      81    ZSTD_error_maxSymbolValue_tooLarge = 46,
      82    ZSTD_error_maxSymbolValue_tooSmall = 48,
      83    ZSTD_error_stabilityCondition_notRespected = 50,
      84    ZSTD_error_stage_wrong       = 60,
      85    ZSTD_error_init_missing      = 62,
      86    ZSTD_error_memory_allocation = 64,
      87    ZSTD_error_workSpace_tooSmall= 66,
      88    ZSTD_error_dstSize_tooSmall = 70,
      89    ZSTD_error_srcSize_wrong    = 72,
      90    ZSTD_error_dstBuffer_null   = 74,
      91    ZSTD_error_noForwardProgress_destFull = 80,
      92    ZSTD_error_noForwardProgress_inputEmpty = 82,
      93    /* following error codes are __NOT STABLE__, they can be removed or changed in future versions */
      94    ZSTD_error_frameIndex_tooLarge = 100,
      95    ZSTD_error_seekableIO          = 102,
      96    ZSTD_error_dstBuffer_wrong     = 104,
      97    ZSTD_error_srcBuffer_wrong     = 105,
      98    ZSTD_error_sequenceProducer_failed = 106,
      99    ZSTD_error_externalSequences_invalid = 107,
     100    ZSTD_error_maxCode = 120  /* never EVER use this value directly, it can change in future versions! Use ZSTD_isError() instead */
     101  } ZSTD_ErrorCode;
     102  
     103  /*! ZSTD_getErrorCode() :
     104      convert a `size_t` function result into a `ZSTD_ErrorCode` enum type,
     105      which can be used to compare with enum list published above */
     106  ZSTDERRORLIB_API ZSTD_ErrorCode ZSTD_getErrorCode(size_t functionResult);
     107  ZSTDERRORLIB_API const char* ZSTD_getErrorString(ZSTD_ErrorCode code);   /**< Same as ZSTD_getErrorName, but using a `ZSTD_ErrorCode` enum argument */
     108  
     109  
     110  #if defined (__cplusplus)
     111  }
     112  #endif
     113  
     114  #endif /* ZSTD_ERRORS_H_398273423 */