xref: /dpdk/app/test-crypto-perf/cperf.h (revision 76a48d8ac0928d1a0afbd9f7abfe1d2d9f6d9aaf)
1174a1631SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause
2174a1631SBruce Richardson  * Copyright(c) 2016-2017 Intel Corporation
3f8be1786SSlawomir Mrozowicz  */
4f8be1786SSlawomir Mrozowicz 
5f8be1786SSlawomir Mrozowicz #ifndef _CPERF_
6f8be1786SSlawomir Mrozowicz #define _CPERF_
7f8be1786SSlawomir Mrozowicz 
8f8be1786SSlawomir Mrozowicz #include <rte_crypto.h>
9f8be1786SSlawomir Mrozowicz 
10f8be1786SSlawomir Mrozowicz #include "cperf_ops.h"
11f8be1786SSlawomir Mrozowicz 
12f8be1786SSlawomir Mrozowicz struct cperf_options;
13f8be1786SSlawomir Mrozowicz struct cperf_test_vector;
14f8be1786SSlawomir Mrozowicz struct cperf_op_fns;
15f8be1786SSlawomir Mrozowicz 
16b3bbd9e5SSlawomir Mrozowicz typedef void  *(*cperf_constructor_t)(
17b3bbd9e5SSlawomir Mrozowicz 		struct rte_mempool *sess_mp,
18b3bbd9e5SSlawomir Mrozowicz 		uint8_t dev_id,
19b3bbd9e5SSlawomir Mrozowicz 		uint16_t qp_id,
20f8be1786SSlawomir Mrozowicz 		const struct cperf_options *options,
21f8be1786SSlawomir Mrozowicz 		const struct cperf_test_vector *t_vec,
22*76a48d8aSJack Bond-Preston 		const struct cperf_op_fns *op_fns,
23*76a48d8aSJack Bond-Preston 		void **sess);
24f8be1786SSlawomir Mrozowicz 
25f8be1786SSlawomir Mrozowicz typedef int (*cperf_runner_t)(void *test_ctx);
26f8be1786SSlawomir Mrozowicz typedef void (*cperf_destructor_t)(void *test_ctx);
27f8be1786SSlawomir Mrozowicz 
28f8be1786SSlawomir Mrozowicz struct cperf_test {
29f8be1786SSlawomir Mrozowicz 	cperf_constructor_t constructor;
30f8be1786SSlawomir Mrozowicz 	cperf_runner_t runner;
31f8be1786SSlawomir Mrozowicz 	cperf_destructor_t destructor;
32f8be1786SSlawomir Mrozowicz };
33f8be1786SSlawomir Mrozowicz 
34f8be1786SSlawomir Mrozowicz #endif /* _CPERF_ */
35