mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	like ==31311==ERROR: AddressSanitizer: odr-violation (0x7f3cda2e1480): [1] size=8 'provider_service_lz4' libservices/provider_service_lz4.c:14:17 [2] size=8 'provider_service_lz4' sql/sql_plugin_services.ic:301:33
		
			
				
	
	
		
			126 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/**
 | 
						|
  @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
 |