2016-08-30 10:04:33 -07:00
/**
* Copyright ( c ) 2016 - present , Yann Collet , Facebook , Inc .
* All rights reserved .
*
* This source code is licensed under the BSD - style license found in the
* LICENSE file in the root directory of this source tree . An additional grant
* of patent rights can be found in the PATENTS file in the same directory .
*/
2016-01-21 15:38:47 +01:00
2016-10-11 16:41:09 -07:00
# ifndef ZSTD_ERRORS_H_398273423
# define ZSTD_ERRORS_H_398273423
2016-01-21 15:38:47 +01:00
# if defined (__cplusplus)
extern " C " {
# endif
2016-08-23 16:58:10 +02:00
/*===== dependency =====*/
# include <stddef.h> /* size_t */
2016-01-21 15:38:47 +01:00
2016-12-16 13:27:30 -08:00
/* ===== ZSTDERRORLIB_API : control library symbols visibility ===== */
# if defined(__GNUC__) && (__GNUC__ >= 4)
# define ZSTDERRORLIB_VISIBILITY __attribute__ ((visibility ("default")))
# else
# define ZSTDERRORLIB_VISIBILITY
# endif
# if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1)
# define ZSTDERRORLIB_API __declspec(dllexport) ZSTDERRORLIB_VISIBILITY
# elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)
# 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.*/
# else
# define ZSTDERRORLIB_API ZSTDERRORLIB_VISIBILITY
# endif
2016-08-28 07:43:34 -07:00
/*-****************************************
2016-02-03 12:06:24 +01:00
* error codes list
2016-01-21 15:38:47 +01:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2016-02-03 12:06:24 +01:00
typedef enum {
ZSTD_error_no_error ,
2016-01-21 15:38:47 +01:00
ZSTD_error_GENERIC ,
ZSTD_error_prefix_unknown ,
2016-08-28 07:43:34 -07:00
ZSTD_error_version_unsupported ,
2016-08-23 16:58:10 +02:00
ZSTD_error_parameter_unknown ,
2016-01-21 15:38:47 +01:00
ZSTD_error_frameParameter_unsupported ,
2016-02-03 12:06:24 +01:00
ZSTD_error_frameParameter_unsupportedBy32bits ,
2016-10-12 17:28:59 -07:00
ZSTD_error_frameParameter_windowTooLarge ,
2016-03-30 16:50:44 +02:00
ZSTD_error_compressionParameter_unsupported ,
2016-01-21 15:38:47 +01:00
ZSTD_error_init_missing ,
ZSTD_error_memory_allocation ,
ZSTD_error_stage_wrong ,
ZSTD_error_dstSize_tooSmall ,
ZSTD_error_srcSize_wrong ,
ZSTD_error_corruption_detected ,
2016-06-01 00:18:28 +02:00
ZSTD_error_checksum_wrong ,
2016-01-21 15:38:47 +01:00
ZSTD_error_tableLog_tooLarge ,
ZSTD_error_maxSymbolValue_tooLarge ,
ZSTD_error_maxSymbolValue_tooSmall ,
2016-01-26 03:14:20 +01:00
ZSTD_error_dictionary_corrupted ,
2016-05-29 05:01:04 +02:00
ZSTD_error_dictionary_wrong ,
2017-03-23 16:24:02 -07:00
ZSTD_error_dictionaryCreation_failed ,
2017-04-12 11:06:00 -07:00
ZSTD_error_frameIndex_tooLarge ,
2017-04-18 16:47:28 -07:00
ZSTD_error_seekableIO ,
2016-01-21 15:38:47 +01:00
ZSTD_error_maxCode
2016-02-05 02:33:10 +01:00
} ZSTD_ErrorCode ;
2016-01-21 15:38:47 +01:00
2016-07-07 14:17:40 +02:00
/*! ZSTD_getErrorCode() :
convert a ` size_t ` function result into a ` ZSTD_ErrorCode ` enum type ,
which can be used to compare directly with enum list published into " error_public.h " */
2016-12-16 13:27:30 -08:00
ZSTDERRORLIB_API ZSTD_ErrorCode ZSTD_getErrorCode ( size_t functionResult ) ;
ZSTDERRORLIB_API const char * ZSTD_getErrorString ( ZSTD_ErrorCode code ) ;
2016-01-21 15:38:47 +01:00
# if defined (__cplusplus)
}
# endif
2016-10-11 16:41:09 -07:00
# endif /* ZSTD_ERRORS_H_398273423 */