]> git.proxmox.com Git - mirror_zfs-debian.git/blob - module/zfs/qat_compress.h
New upstream version 0.7.2
[mirror_zfs-debian.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 */