xref: /dpdk/app/test-crypto-perf/cperf_ops.h (revision 3f3fc3308bd099b304695f30103c21f755c7689c)
1174a1631SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause
2174a1631SBruce Richardson  * Copyright(c) 2016-2017 Intel Corporation
3f8be1786SSlawomir Mrozowicz  */
4f8be1786SSlawomir Mrozowicz 
5f8be1786SSlawomir Mrozowicz #ifndef _CPERF_OPS_
6f8be1786SSlawomir Mrozowicz #define _CPERF_OPS_
7f8be1786SSlawomir Mrozowicz 
8f8be1786SSlawomir Mrozowicz #include <rte_crypto.h>
9f8be1786SSlawomir Mrozowicz 
10f8be1786SSlawomir Mrozowicz #include "cperf.h"
11f8be1786SSlawomir Mrozowicz #include "cperf_options.h"
12f8be1786SSlawomir Mrozowicz #include "cperf_test_vectors.h"
13f8be1786SSlawomir Mrozowicz 
14f8be1786SSlawomir Mrozowicz 
15*2a440d6aSAkhil Goyal typedef void *(*cperf_sessions_create_t)(
16*2a440d6aSAkhil Goyal 		struct rte_mempool *sess_mp,
17f8be1786SSlawomir Mrozowicz 		uint8_t dev_id, const struct cperf_options *options,
180fbd75a9SPablo de Lara 		const struct cperf_test_vector *test_vector,
190fbd75a9SPablo de Lara 		uint16_t iv_offset);
20f8be1786SSlawomir Mrozowicz 
21e7bd6977SAnoob Joseph typedef void (*cperf_populate_ops_t)(struct rte_crypto_op **ops,
22bf9d6702SPablo de Lara 		uint32_t src_buf_offset, uint32_t dst_buf_offset,
23*2a440d6aSAkhil Goyal 		uint16_t nb_ops, void *sess,
24f8be1786SSlawomir Mrozowicz 		const struct cperf_options *options,
25f8b7fdd3SPablo de Lara 		const struct cperf_test_vector *test_vector,
2628dde5daSAkhil Goyal 		uint16_t iv_offset, uint32_t *imix_idx,
2728dde5daSAkhil Goyal 		uint64_t *tsc_start);
28f8be1786SSlawomir Mrozowicz 
29f8be1786SSlawomir Mrozowicz struct cperf_op_fns {
30f8be1786SSlawomir Mrozowicz 	cperf_sessions_create_t sess_create;
31f8be1786SSlawomir Mrozowicz 	cperf_populate_ops_t populate_ops;
32f8be1786SSlawomir Mrozowicz };
33f8be1786SSlawomir Mrozowicz 
34f8be1786SSlawomir Mrozowicz int
35f8be1786SSlawomir Mrozowicz cperf_get_op_functions(const struct cperf_options *options,
36f8be1786SSlawomir Mrozowicz 		struct cperf_op_fns *op_fns);
37f8be1786SSlawomir Mrozowicz 
38f8be1786SSlawomir Mrozowicz #endif /* _CPERF_OPS_ */
39