1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Copyright 2020 IBM Corp.
4  *
5  */
6 #ifndef _NX_H
7 #define _NX_H
8 
9 #include <stdbool.h>
10 
11 #define	NX_FUNC_COMP_842	1
12 #define NX_FUNC_COMP_GZIP	2
13 
14 #ifndef __aligned
15 #define __aligned(x)	__attribute__((aligned(x)))
16 #endif
17 
18 struct nx842_func_args {
19 	bool use_crc;
20 	bool decompress;		/* true decompress; false compress */
21 	bool move_data;
22 	int timeout;			/* seconds */
23 };
24 
25 struct nxbuf_t {
26 	int len;
27 	char *buf;
28 };
29 
30 /* @function should be EFT (aka 842), GZIP etc */
31 void *nx_function_begin(int function, int pri);
32 
33 int nx_function(void *handle, struct nxbuf_t *in, struct nxbuf_t *out,
34 		void *arg);
35 
36 int nx_function_end(void *handle);
37 
38 #endif	/* _NX_H */
39