]> wimlib.net Git - wimlib/blob - include/wimlib/decompressor_ops.h
Header fixes
[wimlib] / include / wimlib / decompressor_ops.h
1 /*
2  * decompressor_ops.h
3  *
4  * Interface implemented by decompressors for specific formats.
5  */
6
7 #ifndef _WIMLIB_DECOMPRESSOR_OPS_H
8 #define _WIMLIB_DECOMPRESSOR_OPS_H
9
10 #include <stddef.h>
11
12 struct decompressor_ops {
13
14         int (*create_decompressor)(size_t max_block_size, void **private_ret);
15
16         int (*decompress)(const void *compressed_data,
17                           size_t compressed_size,
18                           void *uncompressed_data,
19                           size_t uncompressed_size,
20                           void *private);
21
22         void (*free_decompressor)(void *private);
23 };
24
25 extern const struct decompressor_ops lzx_decompressor_ops;
26 extern const struct decompressor_ops xpress_decompressor_ops;
27 extern const struct decompressor_ops lzms_decompressor_ops;
28
29 #endif /* _WIMLIB_DECOMPRESSOR_OPS_H */