summaryrefslogtreecommitdiff
path: root/fs/ntfs/lib/lib.h
blob: a684d600fd3c8edd2dcc7c63c36c756d3744ed3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * lib.h - Public declarations for the LZX and XPRESS decompressors.
 *
 * Adapted for the linux kernel.  These are the low-level decompressor
 * allocations; WOF (system-compressed) access goes through the
 * ntfs_codec_ops interface declared in "../ntfs_codec.h".
 */

#ifndef _LINUX_NTFS_LIB_LIB_H
#define _LINUX_NTFS_LIB_LIB_H

#include <linux/types.h>

/* globals from xpress_decompress.c */
struct xpress_decompressor *xpress_allocate_decompressor(void);
void xpress_free_decompressor(struct xpress_decompressor *d);
int xpress_decompress(struct xpress_decompressor *d,
		      const void *compressed_data, size_t compressed_size,
		      void *uncompressed_data, size_t uncompressed_size);

/* globals from lzx_decompress.c */
struct lzx_decompressor *lzx_allocate_decompressor(void);
void lzx_free_decompressor(struct lzx_decompressor *d);
int lzx_decompress(struct lzx_decompressor *d, const void *compressed_data,
		   size_t compressed_size, void *uncompressed_data,
		   size_t uncompressed_size);

#endif /* _LINUX_NTFS_LIB_LIB_H */