12#ifndef CPL_COMPRESSOR_H_INCLUDED
13#define CPL_COMPRESSOR_H_INCLUDED
58 void **output_data,
size_t *output_size,
60 void *compressor_user_data);
94bool CPL_DLL CPLRegisterCompressor(
const CPLCompressor *compressor);
96bool CPL_DLL CPLRegisterDecompressor(
const CPLCompressor *decompressor);
98char CPL_DLL **CPLGetCompressors(
void);
100char CPL_DLL **CPLGetDecompressors(
void);
102const CPLCompressor CPL_DLL *CPLGetCompressor(
const char *pszId);
104const CPLCompressor CPL_DLL *CPLGetDecompressor(
const char *pszId);
107void CPL_DLL CPLDestroyCompressorRegistry(
void);
bool(*) CPLCompressionFunc(const void *input_data, size_t input_size, void **output_data, size_t *output_size, CSLConstList options, void *compressor_user_data)
Callback of a compressor/decompressor.
Definition cpl_compressor.h:57
CPLCompressorType
Type of compressor.
Definition cpl_compressor.h:64
@ CCT_FILTER
Filter.
Definition cpl_compressor.h:68
@ CCT_COMPRESSOR
Compressor.
Definition cpl_compressor.h:66
Core portability definitions for CPL.
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:279
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:275
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1252
Compressor/decompressor description.
Definition cpl_compressor.h:73
void * user_data
User data to provide to the callback.
Definition cpl_compressor.h:91
CPLCompressorType eType
Compressor type.
Definition cpl_compressor.h:79
int nStructVersion
Structure version.
Definition cpl_compressor.h:75
CPLCompressionFunc pfnFunc
Compressor/decompressor callback.
Definition cpl_compressor.h:89
const char * pszId
Id of the compressor/decompressor.
Definition cpl_compressor.h:77
CSLConstList papszMetadata
Metadata, as a NULL terminated list of strings.
Definition cpl_compressor.h:87