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