]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - module/zfs/qat_compress.h
dbuf_cons: deduplicate multilist_link_init()
[FreeBSD/FreeBSD.git] / module / zfs / qat_compress.h
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21
22 #ifndef _SYS_QAT_COMPRESS_H
23 #define _SYS_QAT_COMPRESS_H
24
25 #if defined(_KERNEL) && defined(HAVE_QAT)
26 #include <sys/zio.h>
27 #include "cpa.h"
28 #include "dc/cpa_dc.h"
29
30 typedef enum qat_compress_dir {
31         QAT_COMPRESS = 0,
32         QAT_DECOMPRESS = 1,
33 } qat_compress_dir_t;
34
35 extern int qat_init(void);
36 extern void qat_fini(void);
37 extern boolean_t qat_use_accel(size_t s_len);
38 extern int qat_compress(qat_compress_dir_t dir, char *src, int src_len,
39     char *dst, int dst_len, size_t *c_len);
40 #else
41 #define CPA_STATUS_SUCCESS      0
42 #define qat_init()
43 #define qat_fini()
44 #define qat_use_accel(s_len)    0
45 #define qat_compress(dir, s, sl, d, dl, cl)     0
46 #endif
47
48 #endif /* _SYS_QAT_COMPRESS_H */