DPDK  24.11.0-rc0
rte_cryptodev_core.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2021 Marvell.
3  */
4 
5 #ifndef _RTE_CRYPTODEV_CORE_H_
6 #define _RTE_CRYPTODEV_CORE_H_
7 
19 typedef uint16_t (*dequeue_pkt_burst_t)(void *qp,
20  struct rte_crypto_op **ops, uint16_t nb_ops);
23 typedef uint16_t (*enqueue_pkt_burst_t)(void *qp,
24  struct rte_crypto_op **ops, uint16_t nb_ops);
27 typedef uint32_t (*crypto_qp_depth_used_t)(void *qp);
37 struct rte_cryptodev_qpdata {
39  void **data;
41  struct rte_cryptodev_cb_rcu *enq_cb;
43  struct rte_cryptodev_cb_rcu *deq_cb;
44 };
45 
46 struct __rte_cache_aligned rte_crypto_fp_ops {
48  enqueue_pkt_burst_t enqueue_burst;
50  dequeue_pkt_burst_t dequeue_burst;
52  struct rte_cryptodev_qpdata qp;
54  crypto_qp_depth_used_t qp_depth_used;
56  uintptr_t reserved[2];
57 };
58 
59 extern struct rte_crypto_fp_ops rte_crypto_fp_ops[RTE_CRYPTO_MAX_DEVS];
60 
64 extern struct rte_cryptodev *rte_cryptodevs;
65 
66 #endif /* _RTE_CRYPTODEV_CORE_H_ */
uint32_t(* crypto_qp_depth_used_t)(void *qp)
#define __rte_cache_aligned
Definition: rte_common.h:568
struct rte_cryptodev * rte_cryptodevs
uint16_t(* enqueue_pkt_burst_t)(void *qp, struct rte_crypto_op **ops, uint16_t nb_ops)
uint16_t(* dequeue_pkt_burst_t)(void *qp, struct rte_crypto_op **ops, uint16_t nb_ops)