diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:24:36 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:24:36 +0000 |
commit | 06eaf7232e9a920468c0f8d74dcf2fe8b555501c (patch) | |
tree | e2c7b5777f728320e5b5542b6213fd3591ba51e2 /include/providers/bzlib.h | |
parent | Initial commit. (diff) | |
download | mariadb-06eaf7232e9a920468c0f8d74dcf2fe8b555501c.tar.xz mariadb-06eaf7232e9a920468c0f8d74dcf2fe8b555501c.zip |
Adding upstream version 1:10.11.6.upstream/1%10.11.6
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'include/providers/bzlib.h')
-rw-r--r-- | include/providers/bzlib.h | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/include/providers/bzlib.h b/include/providers/bzlib.h new file mode 100644 index 00000000..b48c940b --- /dev/null +++ b/include/providers/bzlib.h @@ -0,0 +1,126 @@ +/** + @file bzlib.h + This service provides dynamic access to BZip2. +*/ + +#ifndef BZIP2_INCLUDED +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef MYSQL_ABI_CHECK +#include <stdbool.h> +#endif + +#ifndef MYSQL_DYNAMIC_PLUGIN +#define provider_service_bzip2 provider_service_bzip2_static +#endif + +#ifndef BZ_RUN +#define BZ_RUN 0 +#define BZ_FINISH 2 + +#define BZ_OK 0 +#define BZ_RUN_OK 1 +#define BZ_FINISH_OK 3 +#define BZ_STREAM_END 4 + +typedef struct +{ + char *next_in; + unsigned int avail_in; + unsigned int total_in_lo32; + unsigned int total_in_hi32; + + char *next_out; + unsigned int avail_out; + unsigned int total_out_lo32; + unsigned int total_out_hi32; + + void *state; + + void *(*bzalloc)(void *, int, int); + void (*bzfree)(void *, void *); + void *opaque; +} bz_stream; + +#define BZ2_bzBuffToBuffCompress(...) provider_service_bzip2->BZ2_bzBuffToBuffCompress_ptr (__VA_ARGS__) +#define BZ2_bzBuffToBuffDecompress(...) provider_service_bzip2->BZ2_bzBuffToBuffDecompress_ptr (__VA_ARGS__) +#define BZ2_bzCompress(...) provider_service_bzip2->BZ2_bzCompress_ptr (__VA_ARGS__) +#define BZ2_bzCompressEnd(...) provider_service_bzip2->BZ2_bzCompressEnd_ptr (__VA_ARGS__) +#define BZ2_bzCompressInit(...) provider_service_bzip2->BZ2_bzCompressInit_ptr (__VA_ARGS__) +#define BZ2_bzDecompress(...) provider_service_bzip2->BZ2_bzDecompress_ptr (__VA_ARGS__) +#define BZ2_bzDecompressEnd(...) provider_service_bzip2->BZ2_bzDecompressEnd_ptr (__VA_ARGS__) +#define BZ2_bzDecompressInit(...) provider_service_bzip2->BZ2_bzDecompressInit_ptr (__VA_ARGS__) +#endif + +#define DEFINE_BZ2_bzBuffToBuffCompress(NAME) NAME( \ + char *dest, \ + unsigned int *destLen, \ + char *source, \ + unsigned int sourceLen, \ + int blockSize100k, \ + int verbosity, \ + int workFactor \ +) + +#define DEFINE_BZ2_bzBuffToBuffDecompress(NAME) NAME( \ + char *dest, \ + unsigned int *destLen, \ + char *source, \ + unsigned int sourceLen, \ + int small, \ + int verbosity \ +) + +#define DEFINE_BZ2_bzCompress(NAME) NAME( \ + bz_stream *strm, \ + int action \ +) + +#define DEFINE_BZ2_bzCompressEnd(NAME) NAME( \ + bz_stream *strm \ +) + +#define DEFINE_BZ2_bzCompressInit(NAME) NAME( \ + bz_stream *strm, \ + int blockSize100k, \ + int verbosity, \ + int workFactor \ +) + +#define DEFINE_BZ2_bzDecompress(NAME) NAME( \ + bz_stream *strm \ +) + +#define DEFINE_BZ2_bzDecompressEnd(NAME) NAME( \ + bz_stream *strm \ +) + +#define DEFINE_BZ2_bzDecompressInit(NAME) NAME( \ + bz_stream *strm, \ + int verbosity, \ + int small \ +) + +struct provider_service_bzip2_st{ + int DEFINE_BZ2_bzBuffToBuffCompress((*BZ2_bzBuffToBuffCompress_ptr)); + int DEFINE_BZ2_bzBuffToBuffDecompress((*BZ2_bzBuffToBuffDecompress_ptr)); + int DEFINE_BZ2_bzCompress((*BZ2_bzCompress_ptr)); + int DEFINE_BZ2_bzCompressEnd((*BZ2_bzCompressEnd_ptr)); + int DEFINE_BZ2_bzCompressInit((*BZ2_bzCompressInit_ptr)); + int DEFINE_BZ2_bzDecompress((*BZ2_bzDecompress_ptr)); + int DEFINE_BZ2_bzDecompressEnd((*BZ2_bzDecompressEnd_ptr)); + int DEFINE_BZ2_bzDecompressInit((*BZ2_bzDecompressInit_ptr)); + + bool is_loaded; +}; + +extern struct provider_service_bzip2_st *provider_service_bzip2; + +#ifdef __cplusplus +} +#endif + +#define BZIP2_INCLUDED +#endif |