1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Adapted for linux kernel by Alexander Mamaev:
4 * - remove implementations of get_unaligned_
5 * - assume GCC is always defined
6 * - ISO C90
7 * - linux kernel code style
8 */
9
10#ifndef _LINUX_NTFS3_LIB_LIB_H
11#define _LINUX_NTFS3_LIB_LIB_H
12
13#include <linux/types.h>
14
15/* globals from xpress_decompress.c */
16struct xpress_decompressor *xpress_allocate_decompressor(void);
17void xpress_free_decompressor(struct xpress_decompressor *d);
18int xpress_decompress(struct xpress_decompressor *__restrict d,
19		      const void *__restrict compressed_data,
20		      size_t compressed_size,
21		      void *__restrict uncompressed_data,
22		      size_t uncompressed_size);
23
24/* globals from lzx_decompress.c */
25struct lzx_decompressor *lzx_allocate_decompressor(void);
26void lzx_free_decompressor(struct lzx_decompressor *d);
27int lzx_decompress(struct lzx_decompressor *__restrict d,
28		   const void *__restrict compressed_data,
29		   size_t compressed_size, void *__restrict uncompressed_data,
30		   size_t uncompressed_size);
31
32#endif /* _LINUX_NTFS3_LIB_LIB_H */
33