1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2017 Intel Corporation
5 #ifndef _RTE_CRYPTO_SCHEDULER_OPERATIONS_H
6 #define _RTE_CRYPTO_SCHEDULER_OPERATIONS_H
8 #include <rte_cryptodev.h>
14 typedef int (*rte_cryptodev_scheduler_slave_attach_t)(
15 struct rte_cryptodev *dev, uint8_t slave_id);
16 typedef int (*rte_cryptodev_scheduler_slave_detach_t)(
17 struct rte_cryptodev *dev, uint8_t slave_id);
19 typedef int (*rte_cryptodev_scheduler_start_t)(struct rte_cryptodev *dev);
20 typedef int (*rte_cryptodev_scheduler_stop_t)(struct rte_cryptodev *dev);
22 typedef int (*rte_cryptodev_scheduler_config_queue_pair)(
23 struct rte_cryptodev *dev, uint16_t qp_id);
25 typedef int (*rte_cryptodev_scheduler_create_private_ctx)(
26 struct rte_cryptodev *dev);
28 typedef int (*rte_cryptodev_scheduler_config_option_set)(
29 struct rte_cryptodev *dev,
33 typedef int (*rte_cryptodev_scheduler_config_option_get)(
34 struct rte_cryptodev *dev,
38 struct rte_cryptodev_scheduler_ops {
39 rte_cryptodev_scheduler_slave_attach_t slave_attach;
40 rte_cryptodev_scheduler_slave_attach_t slave_detach;
42 rte_cryptodev_scheduler_start_t scheduler_start;
43 rte_cryptodev_scheduler_stop_t scheduler_stop;
45 rte_cryptodev_scheduler_config_queue_pair config_queue_pair;
47 rte_cryptodev_scheduler_create_private_ctx create_private_ctx;
49 rte_cryptodev_scheduler_config_option_set option_set;
50 rte_cryptodev_scheduler_config_option_get option_get;
56 #endif /* _RTE_CRYPTO_SCHEDULER_OPERATIONS_H */