xref: /linux/fs/ntfs/lib/lib.h (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * lib.h - Public declarations for the LZX and XPRESS decompressors.
4  *
5  * Adapted for the linux kernel.  These are the low-level decompressor
6  * allocations; WOF (system-compressed) access goes through the
7  * ntfs_codec_ops interface declared in "../ntfs_codec.h".
8  */
9 
10 #ifndef _LINUX_NTFS_LIB_LIB_H
11 #define _LINUX_NTFS_LIB_LIB_H
12 
13 #include <linux/types.h>
14 
15 /* globals from xpress_decompress.c */
16 struct xpress_decompressor *xpress_allocate_decompressor(void);
17 void xpress_free_decompressor(struct xpress_decompressor *d);
18 int xpress_decompress(struct xpress_decompressor *d,
19 		      const void *compressed_data, size_t compressed_size,
20 		      void *uncompressed_data, size_t uncompressed_size);
21 
22 /* globals from lzx_decompress.c */
23 struct lzx_decompressor *lzx_allocate_decompressor(void);
24 void lzx_free_decompressor(struct lzx_decompressor *d);
25 int lzx_decompress(struct lzx_decompressor *d, const void *compressed_data,
26 		   size_t compressed_size, void *uncompressed_data,
27 		   size_t uncompressed_size);
28 
29 #endif /* _LINUX_NTFS_LIB_LIB_H */
30