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