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