晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/usr/include/mysql/server/private/providers/
Upload File :
Current File : //usr/include/mysql/server/private/providers/lzma.h
/**
  @file lzma.h
  This service provides dynamic access to LZMA.
*/

#ifndef LZMA_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif

#ifndef MYSQL_ABI_CHECK
#include <stdbool.h>
#include <stdint.h>
#include <stddef.h>
#endif

#ifndef MYSQL_DYNAMIC_PLUGIN
#define provider_service_lzma provider_service_lzma_static
#endif

#ifndef LZMA_VERSION
typedef enum
{
    LZMA_OK                 = 0,
    LZMA_STREAM_END         = 1,
    LZMA_NO_CHECK           = 2,
    LZMA_UNSUPPORTED_CHECK  = 3,
    LZMA_GET_CHECK          = 4,
    LZMA_MEM_ERROR          = 5,
    LZMA_MEMLIMIT_ERROR     = 6,
    LZMA_FORMAT_ERROR       = 7,
    LZMA_OPTIONS_ERROR      = 8,
    LZMA_DATA_ERROR         = 9,
    LZMA_BUF_ERROR          = 10,
    LZMA_PROG_ERROR         = 11,
} lzma_ret;

typedef struct
{
    void *(*alloc)(void *opaque, size_t nmemb, size_t size);
    void (*free)(void *opaque, void *ptr);
    void *opaque;
} lzma_allocator;

typedef enum
{
    LZMA_CHECK_NONE     = 0,
    LZMA_CHECK_CRC32    = 1,
    LZMA_CHECK_CRC64    = 4,
    LZMA_CHECK_SHA256   = 10
} lzma_check;

#define lzma_stream_buffer_decode(...) provider_service_lzma->lzma_stream_buffer_decode_ptr (__VA_ARGS__)
#define lzma_easy_buffer_encode(...)   provider_service_lzma->lzma_easy_buffer_encode_ptr   (__VA_ARGS__)
#elif LZMA_VERSION < 50010030
#define lzma_maybe_const
#endif

#ifndef lzma_maybe_const
#define lzma_maybe_const const
#endif

#define DEFINE_lzma_stream_buffer_decode(NAME) NAME( \
    uint64_t *memlimit,                              \
    uint32_t flags,                                  \
    lzma_maybe_const lzma_allocator *allocator,      \
    const uint8_t *in,                               \
    size_t *in_pos,                                  \
    size_t in_size,                                  \
    uint8_t *out,                                    \
    size_t *out_pos,                                 \
    size_t out_size                                  \
)

#define DEFINE_lzma_easy_buffer_encode(NAME) NAME(   \
    uint32_t preset,                                 \
    lzma_check check,                                \
    lzma_maybe_const lzma_allocator *allocator,      \
    const uint8_t *in,                               \
    size_t in_size,                                  \
    uint8_t *out,                                    \
    size_t *out_pos,                                 \
    size_t out_size                                  \
)

struct provider_service_lzma_st
{
  lzma_ret DEFINE_lzma_stream_buffer_decode((*lzma_stream_buffer_decode_ptr));
  lzma_ret DEFINE_lzma_easy_buffer_encode((*lzma_easy_buffer_encode_ptr));

  bool is_loaded;
};

extern struct provider_service_lzma_st *provider_service_lzma;


#ifdef __cplusplus
}
#endif

#define LZMA_INCLUDED
#endif