4 * Interface implemented by compressors for specific formats.
7 #ifndef _WIMLIB_COMPRESSOR_OPS_H
8 #define _WIMLIB_COMPRESSOR_OPS_H
12 struct compressor_ops {
14 int (*create_compressor)(size_t max_block_size,
15 const struct wimlib_compressor_params_header *extra_params,
18 size_t (*compress)(const void *uncompressed_data,
19 size_t uncompressed_size,
20 void *compressed_data,
21 size_t compressed_size_avail,
24 void (*free_compressor)(void *private);
27 extern const struct compressor_ops lzx_compressor_ops;
28 extern const struct compressor_ops xpress_compressor_ops;
29 extern const struct compressor_ops lzms_compressor_ops;
32 cleanup_compressor_params(void);
34 #endif /* _WIMLIB_COMPRESSOR_OPS_H */