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