compress: introduce dlopen_compress() and friends
This commit is contained in:
@@ -424,6 +424,32 @@ int dlopen_bzip2(int log_level) {
|
||||
#endif
|
||||
}
|
||||
|
||||
int dlopen_compress_journal(Compression c, int log_level) {
|
||||
switch (c) {
|
||||
case COMPRESSION_NONE:
|
||||
return 0;
|
||||
case COMPRESSION_XZ:
|
||||
return dlopen_xz(log_level);
|
||||
case COMPRESSION_LZ4:
|
||||
return dlopen_lz4(log_level);
|
||||
case COMPRESSION_ZSTD:
|
||||
return dlopen_zstd(log_level);
|
||||
default:
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
}
|
||||
|
||||
int dlopen_compress(Compression c, int log_level) {
|
||||
switch (c) {
|
||||
case COMPRESSION_GZIP:
|
||||
return dlopen_zlib(log_level);
|
||||
case COMPRESSION_BZIP2:
|
||||
return dlopen_bzip2(log_level);
|
||||
default:
|
||||
return dlopen_compress_journal(c, log_level);
|
||||
}
|
||||
}
|
||||
|
||||
static int compress_blob_xz(
|
||||
const void *src,
|
||||
uint64_t src_size,
|
||||
|
||||
@@ -102,6 +102,12 @@ int dlopen_zstd(int log_level) _dlopen_loader_;
|
||||
int dlopen_zlib(int log_level) _dlopen_loader_;
|
||||
int dlopen_bzip2(int log_level) _dlopen_loader_;
|
||||
|
||||
int dlopen_compress(Compression c, int log_level);
|
||||
int dlopen_compress_journal(Compression c, int log_level);
|
||||
static inline int dlopen_compress_default(int log_level) {
|
||||
return dlopen_compress_journal(DEFAULT_COMPRESSION, log_level);
|
||||
}
|
||||
|
||||
static inline const char* default_compression_extension(void) {
|
||||
return compression_extension_to_string(DEFAULT_COMPRESSION) ?: "";
|
||||
}
|
||||
|
||||
@@ -33,6 +33,9 @@ except ImportError:
|
||||
# Function filter: Maps wrapper/sentinel symbols to real symbols or an empty list (ignore).
|
||||
FUNCTION_FILTER = {
|
||||
# Filtered out (internal helpers, verbose loggers, sentinels)
|
||||
'dlopen_compress': [],
|
||||
'dlopen_compress_journal': [],
|
||||
'dlopen_compress_default': [],
|
||||
'dlopen_safe': [],
|
||||
'dlopen_verbose': [],
|
||||
'dlopen_many_sym_or_warn_sentinel': [],
|
||||
|
||||
Reference in New Issue
Block a user