4 * Interface implemented by decompressors for specific formats.
7 #ifndef _WIMLIB_DECOMPRESSOR_OPS_H
8 #define _WIMLIB_DECOMPRESSOR_OPS_H
12 struct decompressor_ops {
14 int (*create_decompressor)(size_t max_block_size,
15 const struct wimlib_decompressor_params_header *extra_params,
18 int (*decompress)(const void *compressed_data,
19 size_t compressed_size,
20 void *uncompressed_data,
21 size_t uncompressed_size,
24 void (*free_decompressor)(void *private);
27 extern const struct decompressor_ops lzx_decompressor_ops;
28 extern const struct decompressor_ops xpress_decompressor_ops;
29 extern const struct decompressor_ops lzms_decompressor_ops;
32 cleanup_decompressor_params(void);
34 #endif /* _WIMLIB_DECOMPRESSOR_OPS_H */