2019-06-25 11:12:58 +00:00
|
|
|
/* SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
* Copyright(c) 2017 Intel Corporation
|
2017-04-21 10:43:26 +00:00
|
|
|
*/
|
|
|
|
|
2018-05-15 09:49:22 +00:00
|
|
|
#ifndef _RTE_CRYPTO_SCHEDULER_OPERATIONS_H
|
|
|
|
#define _RTE_CRYPTO_SCHEDULER_OPERATIONS_H
|
|
|
|
|
|
|
|
#include <rte_cryptodev.h>
|
2017-04-21 10:43:26 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2021-02-05 08:48:47 +00:00
|
|
|
typedef int (*rte_cryptodev_scheduler_worker_attach_t)(
|
|
|
|
struct rte_cryptodev *dev, uint8_t worker_id);
|
|
|
|
typedef int (*rte_cryptodev_scheduler_worker_detach_t)(
|
|
|
|
struct rte_cryptodev *dev, uint8_t worker_id);
|
2017-04-21 10:43:26 +00:00
|
|
|
|
2018-05-15 09:49:22 +00:00
|
|
|
typedef int (*rte_cryptodev_scheduler_start_t)(struct rte_cryptodev *dev);
|
|
|
|
typedef int (*rte_cryptodev_scheduler_stop_t)(struct rte_cryptodev *dev);
|
|
|
|
|
|
|
|
typedef int (*rte_cryptodev_scheduler_config_queue_pair)(
|
|
|
|
struct rte_cryptodev *dev, uint16_t qp_id);
|
|
|
|
|
|
|
|
typedef int (*rte_cryptodev_scheduler_create_private_ctx)(
|
|
|
|
struct rte_cryptodev *dev);
|
|
|
|
|
|
|
|
typedef int (*rte_cryptodev_scheduler_config_option_set)(
|
|
|
|
struct rte_cryptodev *dev,
|
|
|
|
uint32_t option_type,
|
|
|
|
void *option);
|
|
|
|
|
|
|
|
typedef int (*rte_cryptodev_scheduler_config_option_get)(
|
|
|
|
struct rte_cryptodev *dev,
|
|
|
|
uint32_t option_type,
|
|
|
|
void *option);
|
2017-04-21 10:43:26 +00:00
|
|
|
|
2018-05-15 09:49:22 +00:00
|
|
|
struct rte_cryptodev_scheduler_ops {
|
2021-02-05 08:48:47 +00:00
|
|
|
rte_cryptodev_scheduler_worker_attach_t worker_attach;
|
|
|
|
rte_cryptodev_scheduler_worker_attach_t worker_detach;
|
2018-05-15 09:49:22 +00:00
|
|
|
|
|
|
|
rte_cryptodev_scheduler_start_t scheduler_start;
|
|
|
|
rte_cryptodev_scheduler_stop_t scheduler_stop;
|
|
|
|
|
|
|
|
rte_cryptodev_scheduler_config_queue_pair config_queue_pair;
|
|
|
|
|
|
|
|
rte_cryptodev_scheduler_create_private_ctx create_private_ctx;
|
|
|
|
|
|
|
|
rte_cryptodev_scheduler_config_option_set option_set;
|
|
|
|
rte_cryptodev_scheduler_config_option_get option_get;
|
|
|
|
};
|
2017-04-21 10:43:26 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
2018-05-15 09:49:22 +00:00
|
|
|
#endif /* _RTE_CRYPTO_SCHEDULER_OPERATIONS_H */
|