

#include <openssl/err.h>
#include <openssl/comperr.h>
#include "crypto/comperr.h"

#ifndef OPENSSL_NO_COMP

# ifndef OPENSSL_NO_ERR

static const ERR_STRING_DATA COMP_str_reasons[] = {
    {ERR_PACK(ERR_LIB_COMP, 0, COMP_R_BROTLI_DECODE_ERROR),
    "brotli decode error"},
    {ERR_PACK(ERR_LIB_COMP, 0, COMP_R_BROTLI_ENCODE_ERROR),
    "brotli encode error"},
    {ERR_PACK(ERR_LIB_COMP, 0, COMP_R_BROTLI_NOT_SUPPORTED),
    "brotli not supported"},
    {ERR_PACK(ERR_LIB_COMP, 0, COMP_R_ZLIB_DEFLATE_ERROR),
    "zlib deflate error"},
    {ERR_PACK(ERR_LIB_COMP, 0, COMP_R_ZLIB_INFLATE_ERROR),
    "zlib inflate error"},
    {ERR_PACK(ERR_LIB_COMP, 0, COMP_R_ZLIB_NOT_SUPPORTED),
    "zlib not supported"},
    {ERR_PACK(ERR_LIB_COMP, 0, COMP_R_ZSTD_COMPRESS_ERROR),
    "zstd compress error"},
    {ERR_PACK(ERR_LIB_COMP, 0, COMP_R_ZSTD_DECODE_ERROR), "zstd decode error"},
    {ERR_PACK(ERR_LIB_COMP, 0, COMP_R_ZSTD_DECOMPRESS_ERROR),
    "zstd decompress error"},
    {ERR_PACK(ERR_LIB_COMP, 0, COMP_R_ZSTD_NOT_SUPPORTED),
    "zstd not supported"},
    {0, NULL}
};

# endif

int ossl_err_load_COMP_strings(void)
{
# ifndef OPENSSL_NO_ERR
    if (ERR_reason_error_string(COMP_str_reasons[0].error) == NULL)
        ERR_load_strings_const(COMP_str_reasons);
# endif
    return 1;
}
#else
NON_EMPTY_TRANSLATION_UNIT
#endif
