/**
* @file rte_ring_rts.h
- * @b EXPERIMENTAL: this API may change without prior notice
* It is not recommended to include this file directly.
* Please include <rte_ring.h> instead.
*
* @return
* The number of objects enqueued, either 0 or n
*/
-__rte_experimental
static __rte_always_inline unsigned int
rte_ring_mp_rts_enqueue_bulk_elem(struct rte_ring *r, const void *obj_table,
unsigned int esize, unsigned int n, unsigned int *free_space)
* @return
* The number of objects dequeued, either 0 or n
*/
-__rte_experimental
static __rte_always_inline unsigned int
rte_ring_mc_rts_dequeue_bulk_elem(struct rte_ring *r, void *obj_table,
unsigned int esize, unsigned int n, unsigned int *available)
* @return
* - n: Actual number of objects enqueued.
*/
-__rte_experimental
static __rte_always_inline unsigned int
rte_ring_mp_rts_enqueue_burst_elem(struct rte_ring *r, const void *obj_table,
unsigned int esize, unsigned int n, unsigned int *free_space)
* @return
* - n: Actual number of objects dequeued, 0 if ring is empty
*/
-__rte_experimental
static __rte_always_inline unsigned int
rte_ring_mc_rts_dequeue_burst_elem(struct rte_ring *r, void *obj_table,
unsigned int esize, unsigned int n, unsigned int *available)
* @return
* The number of objects enqueued, either 0 or n
*/
-__rte_experimental
static __rte_always_inline unsigned int
rte_ring_mp_rts_enqueue_bulk(struct rte_ring *r, void * const *obj_table,
unsigned int n, unsigned int *free_space)
* @return
* The number of objects dequeued, either 0 or n
*/
-__rte_experimental
static __rte_always_inline unsigned int
rte_ring_mc_rts_dequeue_bulk(struct rte_ring *r, void **obj_table,
unsigned int n, unsigned int *available)
* @return
* - n: Actual number of objects enqueued.
*/
-__rte_experimental
static __rte_always_inline unsigned int
rte_ring_mp_rts_enqueue_burst(struct rte_ring *r, void * const *obj_table,
unsigned int n, unsigned int *free_space)
* @return
* - n: Actual number of objects dequeued, 0 if ring is empty
*/
-__rte_experimental
static __rte_always_inline unsigned int
rte_ring_mc_rts_dequeue_burst(struct rte_ring *r, void **obj_table,
unsigned int n, unsigned int *available)
* Producer HTD value, if producer is set in appropriate sync mode,
* or UINT32_MAX otherwise.
*/
-__rte_experimental
static inline uint32_t
rte_ring_get_prod_htd_max(const struct rte_ring *r)
{
* @return
* Zero on success, or negative error code otherwise.
*/
-__rte_experimental
static inline int
rte_ring_set_prod_htd_max(struct rte_ring *r, uint32_t v)
{
* Consumer HTD value, if consumer is set in appropriate sync mode,
* or UINT32_MAX otherwise.
*/
-__rte_experimental
static inline uint32_t
rte_ring_get_cons_htd_max(const struct rte_ring *r)
{
* @return
* Zero on success, or negative error code otherwise.
*/
-__rte_experimental
static inline int
rte_ring_set_cons_htd_max(struct rte_ring *r, uint32_t v)
{