NeoMutt
2025-12-11-1039-g550ac6
Teaching an old dog new tricks
DOXYGEN
Toggle main menu visibility
Loading...
Searching...
No Matches
lib.h
Go to the documentation of this file.
1
23
50
51
#ifndef MUTT_COMPRESS_LIB_H
52
#define MUTT_COMPRESS_LIB_H
53
54
#include <stdlib.h>
55
57
typedef
void
ComprHandle
;
58
64
struct
ComprOps
65
{
66
const
char
*
name
;
67
short
min_level
;
68
short
max_level
;
69
79
ComprHandle
*(*open)(
short
level);
80
96
void
*(*compress)(
ComprHandle
*handle,
const
char
*data,
size_t
dlen,
size_t
*clen);
97
113
void
*(*decompress)(
ComprHandle
*handle,
const
char
*cbuf,
size_t
clen,
size_t
*dlen);
114
125
void (*
close
)(
ComprHandle
**ptr);
126
};
127
128
extern
const
struct
ComprOps
compr_lz4_ops
;
129
extern
const
struct
ComprOps
compr_zlib_ops
;
130
extern
const
struct
ComprOps
compr_zstd_ops
;
131
132
const
struct
ComprOps
*
compress_get_ops
(
const
char
*compr);
133
struct
Slist
*
compress_list
(
void
);
134
135
#endif
/* MUTT_COMPRESS_LIB_H */
compr_zlib_ops
const struct ComprOps compr_zlib_ops
ComprHandle
void ComprHandle
Opaque type for compression data.
Definition
lib.h:57
compr_lz4_ops
const struct ComprOps compr_lz4_ops
compr_zstd_ops
const struct ComprOps compr_zstd_ops
compress_get_ops
const struct ComprOps * compress_get_ops(const char *compr)
Get the API functions for a compress backend.
Definition
compress.c:78
compress_list
struct Slist * compress_list(void)
Get a list of compression backend names.
Definition
compress.c:59
ComprOps
Definition
lib.h:65
ComprOps::name
const char * name
Compression name.
Definition
lib.h:66
ComprOps::max_level
short max_level
Maximum compression level.
Definition
lib.h:68
ComprOps::min_level
short min_level
Minimum compression level.
Definition
lib.h:67
ComprOps::close
void(* close)(ComprHandle **ptr)
Definition
lib.h:125
Slist
String list.
Definition
slist.h:37