root/tools/testing/selftests/powerpc/nx-gzip/include/nx.h
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright 2020 IBM Corp.
 *
 */
#ifndef _NX_H
#define _NX_H

#include <stdbool.h>

#define NX_FUNC_COMP_842        1
#define NX_FUNC_COMP_GZIP       2

#ifndef __aligned
#define __aligned(x)    __attribute__((aligned(x)))
#endif

struct nx842_func_args {
        bool use_crc;
        bool decompress;                /* true decompress; false compress */
        bool move_data;
        int timeout;                    /* seconds */
};

struct nxbuf_t {
        int len;
        char *buf;
};

/* @function should be EFT (aka 842), GZIP etc */
void *nx_function_begin(int function, int pri);

int nx_function(void *handle, struct nxbuf_t *in, struct nxbuf_t *out,
                void *arg);

int nx_function_end(void *handle);

#endif  /* _NX_H */